UNPKG

starknet

Version:
1,383 lines (1,355 loc) 774 kB
"use strict"; var starknet = (() => { var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); // src/index.ts var index_exports = {}; __export(index_exports, { AbiParser1: () => AbiParser1, AbiParser2: () => AbiParser2, AbiParserInterface: () => AbiParserInterface, Account: () => Account, AccountInterface: () => AccountInterface, BatchClient: () => BatchClient, BlockStatus: () => BlockStatus, BlockTag: () => BlockTag, CairoByteArray: () => CairoByteArray, CairoBytes31: () => CairoBytes31, CairoCustomEnum: () => CairoCustomEnum, CairoFelt: () => CairoFelt, CairoFelt252: () => CairoFelt252, CairoFixedArray: () => CairoFixedArray, CairoInt128: () => CairoInt128, CairoInt16: () => CairoInt16, CairoInt32: () => CairoInt32, CairoInt64: () => CairoInt64, CairoInt8: () => CairoInt8, CairoOption: () => CairoOption, CairoOptionVariant: () => CairoOptionVariant, CairoResult: () => CairoResult, CairoResultVariant: () => CairoResultVariant, CairoUint128: () => CairoUint128, CairoUint16: () => CairoUint16, CairoUint256: () => CairoUint256, CairoUint32: () => CairoUint32, CairoUint512: () => CairoUint512, CairoUint64: () => CairoUint64, CairoUint8: () => CairoUint8, CairoUint96: () => CairoUint96, CallData: () => CallData, Contract: () => Contract, ContractInterface: () => ContractInterface, Deployer: () => Deployer, DeployerInterface: () => DeployerInterface, EDAMode: () => EDAMode3, EDataAvailabilityMode: () => EDataAvailabilityMode3, ETH_ADDRESS: () => ETH_ADDRESS, ETransactionExecutionStatus: () => ETransactionExecutionStatus3, ETransactionStatus: () => ETransactionStatus3, ETransactionVersion: () => ETransactionVersion5, ETransactionVersion2: () => ETransactionVersion23, ETransactionVersion3: () => ETransactionVersion33, EntryPointType: () => EntryPointType, EthSigner: () => EthSigner, Int: () => Int, LedgerSigner: () => LedgerSigner111, LedgerSigner111: () => LedgerSigner111, LedgerSigner221: () => LedgerSigner221, LedgerSigner231: () => LedgerSigner231, LibraryError: () => LibraryError, Literal: () => Literal, LogLevelIndex: () => LogLevelIndex, NON_ZERO_PREFIX: () => NON_ZERO_PREFIX, OutsideExecutionTypesV1: () => OutsideExecutionTypesV1, OutsideExecutionTypesV2: () => OutsideExecutionTypesV2, OutsideExecutionVersion: () => OutsideExecutionVersion, PaymasterInterface: () => PaymasterInterface, PaymasterRpc: () => PaymasterRpc, Provider: () => RpcProvider2, ProviderInterface: () => ProviderInterface, RPC: () => api_exports3, RPC010: () => rpc_0_10_0_exports, RPC09: () => rpc_0_9_0_exports, RPCResponseParser: () => RPCResponseParser, ReceiptTx: () => ReceiptTx, ResponseParser: () => ResponseParser, RpcChannel: () => RpcChannel2, RpcError: () => RpcError, RpcProvider: () => RpcProvider2, Signer: () => Signer, SignerInterface: () => SignerInterface, Subscription: () => Subscription, TimeoutError: () => TimeoutError, TransactionExecutionStatus: () => TransactionExecutionStatus, TransactionFinalityStatus: () => TransactionFinalityStatus, TransactionType: () => TransactionType, TypedDataRevision: () => TypedDataRevision2, UINT_128_MAX: () => UINT_128_MAX, UINT_128_MIN: () => UINT_128_MIN, UINT_256_HIGH_MAX: () => UINT_256_HIGH_MAX, UINT_256_HIGH_MIN: () => UINT_256_HIGH_MIN, UINT_256_LOW_MAX: () => UINT_256_LOW_MAX, UINT_256_LOW_MIN: () => UINT_256_LOW_MIN, UINT_256_MAX: () => UINT_256_MAX, UINT_256_MIN: () => UINT_256_MIN, UINT_512_MAX: () => UINT_512_MAX, UINT_512_MIN: () => UINT_512_MIN, Uint: () => Uint, ValidateType: () => ValidateType, WalletAccount: () => WalletAccount, WalletAccountV5: () => WalletAccountV5, WebSocketChannel: () => WebSocketChannel, WebSocketNotConnectedError: () => WebSocketNotConnectedError, addAddressPadding: () => addAddressPadding, byteArray: () => byteArray_exports, cairo: () => cairo_exports, compareVersions: () => compareVersions, config: () => config, constants: () => constants_exports, contractClassResponseToLegacyCompiledContract: () => contractClassResponseToLegacyCompiledContract, createAbiParser: () => createAbiParser, createTransactionReceipt: () => createTransactionReceipt, defaultDeployer: () => defaultDeployer, defaultPaymaster: () => defaultPaymaster, defaultProvider: () => defaultProvider, ec: () => ec_exports, encode: () => encode_exports, eth: () => eth_exports, events: () => events_exports, extractContractHashes: () => extractContractHashes, fastParsingStrategy: () => fastParsingStrategy, getAbiVersion: () => getAbiVersion, getChecksumAddress: () => getChecksumAddress, getGasPrices: () => getGasPrices, getLedgerPathBuffer: () => getLedgerPathBuffer111, getLedgerPathBuffer111: () => getLedgerPathBuffer111, getLedgerPathBuffer221: () => getLedgerPathBuffer221, getTipStatsFromBlocks: () => getTipStatsFromBlocks, hash: () => hash_exports, hdParsingStrategy: () => hdParsingStrategy, isAccount: () => isAccount, isNoConstructorValid: () => isNoConstructorValid, isPreConfirmedBlock: () => isPreConfirmedBlock, isPreConfirmedStateUpdate: () => isPreConfirmedStateUpdate, isPreConfirmedTransaction: () => isPreConfirmedTransaction, isRPC08Plus_ResourceBounds: () => isRPC08Plus_ResourceBounds, isRPC08Plus_ResourceBoundsBN: () => isRPC08Plus_ResourceBoundsBN, isSierra: () => isSierra, isSupportedSpecVersion: () => isSupportedSpecVersion, isV3Tx: () => isV3Tx, isVersion: () => isVersion, json: () => json_exports, legacyDeployer: () => legacyDeployer, logger: () => logger, merkle: () => merkle_exports, num: () => num_exports, outsideExecution: () => outsideExecution_exports, parseCalldataField: () => parseCalldataField, paymaster: () => paymaster_exports, provider: () => provider_exports, selector: () => selector_exports, shortString: () => shortString_exports, src5: () => src5_exports, stark: () => stark_exports, starknetId: () => starknetId_exports, toAnyPatchVersion: () => toAnyPatchVersion, toApiVersion: () => toApiVersion, transaction: () => transaction_exports, typedData: () => typedData_exports, uint256: () => uint256_exports, units: () => units, v2hash: () => v2_exports, v3hash: () => v3_exports, validateAndParseAddress: () => validateAndParseAddress, validateChecksumAddress: () => validateChecksumAddress, verifyMessageInStarknet: () => verifyMessageInStarknet, wallet: () => connect_exports, walletV5: () => connectV5_exports }); // src/global/constants.ts var constants_exports = {}; __export(constants_exports, { ADDR_BOUND: () => ADDR_BOUND, API_VERSION: () => API_VERSION, BaseUrl: () => _BaseUrl, DEFAULT_GLOBAL_CONFIG: () => DEFAULT_GLOBAL_CONFIG, HARDENING_4BYTES: () => HARDENING_4BYTES, HARDENING_BYTE: () => HARDENING_BYTE, IS_BROWSER: () => IS_BROWSER, LegacyUDC: () => LegacyUDC, MASK_250: () => MASK_250, MASK_31: () => MASK_31, MAX_STORAGE_ITEM_SIZE: () => MAX_STORAGE_ITEM_SIZE, NetworkName: () => _NetworkName, OutsideExecutionCallerAny: () => OutsideExecutionCallerAny, PAYMASTER_RPC_NODES: () => PAYMASTER_RPC_NODES, PRIME: () => PRIME, RANGE_FELT: () => RANGE_FELT, RANGE_I128: () => RANGE_I128, RANGE_I16: () => RANGE_I16, RANGE_I32: () => RANGE_I32, RANGE_I64: () => RANGE_I64, RANGE_I8: () => RANGE_I8, RANGE_U128: () => RANGE_U128, RANGE_U16: () => RANGE_U16, RANGE_U32: () => RANGE_U32, RANGE_U64: () => RANGE_U64, RANGE_U8: () => RANGE_U8, RANGE_U96: () => RANGE_U96, RPC_DEFAULT_NODES: () => RPC_DEFAULT_NODES, SNIP9_V1_INTERFACE_ID: () => SNIP9_V1_INTERFACE_ID, SNIP9_V2_INTERFACE_ID: () => SNIP9_V2_INTERFACE_ID, SN_VERSION_IMPLEMENTING_BLAKE_FOR_COMPILED_CLASS: () => SN_VERSION_IMPLEMENTING_BLAKE_FOR_COMPILED_CLASS, SYSTEM_MESSAGES: () => SYSTEM_MESSAGES, StarknetChainId: () => _StarknetChainId, SupportedRpcVersion: () => _SupportedRpcVersion, TEXT_TO_FELT_MAX_LEN: () => TEXT_TO_FELT_MAX_LEN, TransactionHashPrefix: () => _TransactionHashPrefix, UDC: () => UDC, ZERO: () => ZERO }); // src/types/api/index.ts var api_exports3 = {}; __export(api_exports3, { ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR2, ABI_TYPE_ENUM: () => ABI_TYPE_ENUM2, ABI_TYPE_FUNCTION: () => ABI_TYPE_FUNCTION2, ABI_TYPE_L1_HANDLER: () => ABI_TYPE_L1_HANDLER2, API: () => api_exports2, CALL_TYPE: () => CALL_TYPE2, CONTRACT: () => contract_exports2, EBlockStatus: () => EBlockStatus2, EBlockTag: () => EBlockTag2, EDAMode: () => EDAMode2, EDataAvailabilityMode: () => EDataAvailabilityMode2, ESimulationFlag: () => ESimulationFlag2, ETransactionExecutionStatus: () => ETransactionExecutionStatus2, ETransactionFinalityStatus: () => ETransactionFinalityStatus2, ETransactionStatus: () => ETransactionStatus2, ETransactionType: () => ETransactionType2, ETransactionVersion: () => ETransactionVersion4, ETransactionVersion2: () => ETransactionVersion22, ETransactionVersion3: () => ETransactionVersion32, EVENT_ABI_TYPE: () => EVENT_ABI_TYPE2, JRPC: () => jsonrpc_exports, L1_DA_MODE: () => L1_DA_MODE2, PAYMASTER_API: () => snip_29_exports2, PRICE_UNIT_FRI: () => PRICE_UNIT_FRI2, PRICE_UNIT_WEI: () => PRICE_UNIT_WEI2, Permission: () => Permission2, RPCSPEC010: () => esm_exports2, RPCSPEC09: () => esm_exports, STATE_MUTABILITY_EXTERNAL: () => STATE_MUTABILITY_EXTERNAL2, STATE_MUTABILITY_VIEW: () => STATE_MUTABILITY_VIEW2, STATUS_ACCEPTED_ON_L1: () => STATUS_ACCEPTED_ON_L12, STATUS_ACCEPTED_ON_L2: () => STATUS_ACCEPTED_ON_L22, STATUS_CANDIDATE: () => STATUS_CANDIDATE2, STATUS_PRE_CONFIRMED: () => STATUS_PRE_CONFIRMED2, STATUS_PRE_CONFIRMED_LOWERCASE: () => STATUS_PRE_CONFIRMED_LOWERCASE2, STATUS_RECEIVED: () => STATUS_RECEIVED2, STATUS_REVERTED: () => STATUS_REVERTED2, STATUS_SUCCEEDED: () => STATUS_SUCCEEDED2, STRUCT_ABI_TYPE: () => STRUCT_ABI_TYPE2, TXN_TYPE_DECLARE: () => TXN_TYPE_DECLARE2, TXN_TYPE_DEPLOY: () => TXN_TYPE_DEPLOY2, TXN_TYPE_DEPLOY_ACCOUNT: () => TXN_TYPE_DEPLOY_ACCOUNT2, TXN_TYPE_INVOKE: () => TXN_TYPE_INVOKE2, TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER2, TypedDataRevision: () => TypedDataRevision2, WALLET_API: () => wallet_api_exports2 }); // src/types/api/jsonrpc.ts var jsonrpc_exports = {}; // node_modules/@starknet-io/starknet-types-09/dist/esm/index.js var esm_exports = {}; __export(esm_exports, { ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR, ABI_TYPE_ENUM: () => ABI_TYPE_ENUM, ABI_TYPE_FUNCTION: () => ABI_TYPE_FUNCTION, ABI_TYPE_L1_HANDLER: () => ABI_TYPE_L1_HANDLER, API: () => api_exports, CALL_TYPE: () => CALL_TYPE, CONTRACT: () => contract_exports, EBlockStatus: () => EBlockStatus, EBlockTag: () => EBlockTag, EDAMode: () => EDAMode, EDataAvailabilityMode: () => EDataAvailabilityMode, ESimulationFlag: () => ESimulationFlag, ETransactionExecutionStatus: () => ETransactionExecutionStatus, ETransactionFinalityStatus: () => ETransactionFinalityStatus, ETransactionStatus: () => ETransactionStatus, ETransactionType: () => ETransactionType, ETransactionVersion: () => ETransactionVersion, ETransactionVersion2: () => ETransactionVersion2, ETransactionVersion3: () => ETransactionVersion3, EVENT_ABI_TYPE: () => EVENT_ABI_TYPE, L1_DA_MODE: () => L1_DA_MODE, PAYMASTER_API: () => snip_29_exports, PRICE_UNIT_FRI: () => PRICE_UNIT_FRI, PRICE_UNIT_WEI: () => PRICE_UNIT_WEI, Permission: () => Permission, STATE_MUTABILITY_EXTERNAL: () => STATE_MUTABILITY_EXTERNAL, STATE_MUTABILITY_VIEW: () => STATE_MUTABILITY_VIEW, STATUS_ACCEPTED_ON_L1: () => STATUS_ACCEPTED_ON_L1, STATUS_ACCEPTED_ON_L2: () => STATUS_ACCEPTED_ON_L2, STATUS_CANDIDATE: () => STATUS_CANDIDATE, STATUS_PRE_CONFIRMED: () => STATUS_PRE_CONFIRMED, STATUS_PRE_CONFIRMED_LOWERCASE: () => STATUS_PRE_CONFIRMED_LOWERCASE, STATUS_RECEIVED: () => STATUS_RECEIVED, STATUS_REVERTED: () => STATUS_REVERTED, STATUS_SUCCEEDED: () => STATUS_SUCCEEDED, STRUCT_ABI_TYPE: () => STRUCT_ABI_TYPE, TXN_TYPE_DECLARE: () => TXN_TYPE_DECLARE, TXN_TYPE_DEPLOY: () => TXN_TYPE_DEPLOY, TXN_TYPE_DEPLOY_ACCOUNT: () => TXN_TYPE_DEPLOY_ACCOUNT, TXN_TYPE_INVOKE: () => TXN_TYPE_INVOKE, TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER, TypedDataRevision: () => TypedDataRevision, WALLET_API: () => wallet_api_exports }); // node_modules/@starknet-io/starknet-types-09/dist/esm/api/index.js var api_exports = {}; __export(api_exports, { ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR, ABI_TYPE_ENUM: () => ABI_TYPE_ENUM, ABI_TYPE_FUNCTION: () => ABI_TYPE_FUNCTION, ABI_TYPE_L1_HANDLER: () => ABI_TYPE_L1_HANDLER, CALL_TYPE: () => CALL_TYPE, CONTRACT: () => contract_exports, EBlockStatus: () => EBlockStatus, EBlockTag: () => EBlockTag, EDAMode: () => EDAMode, EDataAvailabilityMode: () => EDataAvailabilityMode, ESimulationFlag: () => ESimulationFlag, ETransactionExecutionStatus: () => ETransactionExecutionStatus, ETransactionFinalityStatus: () => ETransactionFinalityStatus, ETransactionStatus: () => ETransactionStatus, ETransactionType: () => ETransactionType, ETransactionVersion: () => ETransactionVersion, ETransactionVersion2: () => ETransactionVersion2, ETransactionVersion3: () => ETransactionVersion3, EVENT_ABI_TYPE: () => EVENT_ABI_TYPE, L1_DA_MODE: () => L1_DA_MODE, PRICE_UNIT_FRI: () => PRICE_UNIT_FRI, PRICE_UNIT_WEI: () => PRICE_UNIT_WEI, STATE_MUTABILITY_EXTERNAL: () => STATE_MUTABILITY_EXTERNAL, STATE_MUTABILITY_VIEW: () => STATE_MUTABILITY_VIEW, STATUS_ACCEPTED_ON_L1: () => STATUS_ACCEPTED_ON_L1, STATUS_ACCEPTED_ON_L2: () => STATUS_ACCEPTED_ON_L2, STATUS_CANDIDATE: () => STATUS_CANDIDATE, STATUS_PRE_CONFIRMED: () => STATUS_PRE_CONFIRMED, STATUS_PRE_CONFIRMED_LOWERCASE: () => STATUS_PRE_CONFIRMED_LOWERCASE, STATUS_RECEIVED: () => STATUS_RECEIVED, STATUS_REVERTED: () => STATUS_REVERTED, STATUS_SUCCEEDED: () => STATUS_SUCCEEDED, STRUCT_ABI_TYPE: () => STRUCT_ABI_TYPE, TXN_TYPE_DECLARE: () => TXN_TYPE_DECLARE, TXN_TYPE_DEPLOY: () => TXN_TYPE_DEPLOY, TXN_TYPE_DEPLOY_ACCOUNT: () => TXN_TYPE_DEPLOY_ACCOUNT, TXN_TYPE_INVOKE: () => TXN_TYPE_INVOKE, TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER }); // node_modules/@starknet-io/starknet-types-09/dist/esm/api/contract.js var contract_exports = {}; // node_modules/@starknet-io/starknet-types-09/dist/esm/api/constants.js var STATUS_ACCEPTED_ON_L2 = "ACCEPTED_ON_L2"; var STATUS_ACCEPTED_ON_L1 = "ACCEPTED_ON_L1"; var STATUS_SUCCEEDED = "SUCCEEDED"; var STATUS_REVERTED = "REVERTED"; var STATUS_RECEIVED = "RECEIVED"; var STATUS_CANDIDATE = "CANDIDATE"; var STATUS_PRE_CONFIRMED = "PRE_CONFIRMED"; var STATUS_PRE_CONFIRMED_LOWERCASE = STATUS_PRE_CONFIRMED.toLowerCase(); var TXN_TYPE_DECLARE = "DECLARE"; var TXN_TYPE_DEPLOY = "DEPLOY"; var TXN_TYPE_DEPLOY_ACCOUNT = "DEPLOY_ACCOUNT"; var TXN_TYPE_INVOKE = "INVOKE"; var TXN_TYPE_L1_HANDLER = "L1_HANDLER"; var STRUCT_ABI_TYPE = "struct"; var EVENT_ABI_TYPE = "event"; var ABI_TYPE_FUNCTION = "function"; var ABI_TYPE_CONSTRUCTOR = "constructor"; var ABI_TYPE_L1_HANDLER = "l1_handler"; var ABI_TYPE_ENUM = "enum"; var STATE_MUTABILITY_VIEW = "view"; var STATE_MUTABILITY_EXTERNAL = "external"; var PRICE_UNIT_WEI = "WEI"; var PRICE_UNIT_FRI = "FRI"; var L1_DA_MODE = { BLOB: "BLOB", CALLDATA: "CALLDATA" }; var CALL_TYPE = { DELEGATE: "DELEGATE", LIBRARY_CALL: "LIBRARY_CALL", CALL: "CALL" }; var ETransactionType = { DECLARE: TXN_TYPE_DECLARE, DEPLOY: TXN_TYPE_DEPLOY, DEPLOY_ACCOUNT: TXN_TYPE_DEPLOY_ACCOUNT, INVOKE: TXN_TYPE_INVOKE, L1_HANDLER: TXN_TYPE_L1_HANDLER }; var ESimulationFlag = { SKIP_VALIDATE: "SKIP_VALIDATE", SKIP_FEE_CHARGE: "SKIP_FEE_CHARGE" }; var ETransactionStatus = { RECEIVED: STATUS_RECEIVED, CANDIDATE: STATUS_CANDIDATE, PRE_CONFIRMED: STATUS_PRE_CONFIRMED, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L2, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L1 }; var ETransactionFinalityStatus = { PRE_CONFIRMED: STATUS_PRE_CONFIRMED, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L2, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L1 }; var ETransactionExecutionStatus = { SUCCEEDED: STATUS_SUCCEEDED, REVERTED: STATUS_REVERTED }; var EBlockTag = { /** * Tag `latest` refers to the latest Starknet block finalized by the consensus on L2. */ LATEST: "latest", /** * Tag `pre_confirmed` refers to the block which is currently being built by the block proposer in height `latest` + 1. */ PRE_CONFIRMED: STATUS_PRE_CONFIRMED_LOWERCASE, /** * Tag `l1_accepted` refers to the latest Starknet block which was included in a state update on L1 and finalized by the consensus on L1. */ L1_ACCEPTED: "l1_accepted" }; var EBlockStatus = { PRE_CONFIRMED: STATUS_PRE_CONFIRMED, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L2, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L1 }; var EDataAvailabilityMode = { L1: "L1", L2: "L2" }; var EDAMode = { L1: 0, L2: 1 }; var ETransactionVersion = { /** * @deprecated Starknet 0.14 will not support this transaction */ V0: "0x0", /** * @deprecated Starknet 0.14 will not support this transaction */ V1: "0x1", /** * @deprecated Starknet 0.14 will not support this transaction */ V2: "0x2", V3: "0x3", /** * @deprecated Starknet 0.14 will not support this transaction */ F0: "0x100000000000000000000000000000000", /** * @deprecated Starknet 0.14 will not support this transaction */ F1: "0x100000000000000000000000000000001", /** * @deprecated Starknet 0.14 will not support this transaction */ F2: "0x100000000000000000000000000000002", F3: "0x100000000000000000000000000000003" }; var ETransactionVersion2 = { V0: ETransactionVersion.V0, V1: ETransactionVersion.V1, V2: ETransactionVersion.V2, F0: ETransactionVersion.F0, F1: ETransactionVersion.F1, F2: ETransactionVersion.F2 }; var ETransactionVersion3 = { V3: ETransactionVersion.V3, F3: ETransactionVersion.F3 }; // node_modules/@starknet-io/starknet-types-09/dist/esm/wallet-api/index.js var wallet_api_exports = {}; __export(wallet_api_exports, { Permission: () => Permission, TypedDataRevision: () => TypedDataRevision }); // node_modules/@starknet-io/starknet-types-09/dist/esm/wallet-api/constants.js var Permission = { ACCOUNTS: "accounts" }; // node_modules/@starknet-io/starknet-types-09/dist/esm/wallet-api/typedData.js var TypedDataRevision = { ACTIVE: "1", LEGACY: "0" }; // node_modules/@starknet-io/starknet-types-09/dist/esm/snip-29/index.js var snip_29_exports = {}; // node_modules/@starknet-io/starknet-types-010/dist/esm/index.js var esm_exports2 = {}; __export(esm_exports2, { ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR2, ABI_TYPE_ENUM: () => ABI_TYPE_ENUM2, ABI_TYPE_FUNCTION: () => ABI_TYPE_FUNCTION2, ABI_TYPE_L1_HANDLER: () => ABI_TYPE_L1_HANDLER2, API: () => api_exports2, CALL_TYPE: () => CALL_TYPE2, CONTRACT: () => contract_exports2, EBlockStatus: () => EBlockStatus2, EBlockTag: () => EBlockTag2, EDAMode: () => EDAMode2, EDataAvailabilityMode: () => EDataAvailabilityMode2, ESimulationFlag: () => ESimulationFlag2, ETransactionExecutionStatus: () => ETransactionExecutionStatus2, ETransactionFinalityStatus: () => ETransactionFinalityStatus2, ETransactionStatus: () => ETransactionStatus2, ETransactionType: () => ETransactionType2, ETransactionVersion: () => ETransactionVersion4, ETransactionVersion2: () => ETransactionVersion22, ETransactionVersion3: () => ETransactionVersion32, EVENT_ABI_TYPE: () => EVENT_ABI_TYPE2, L1_DA_MODE: () => L1_DA_MODE2, PAYMASTER_API: () => snip_29_exports2, PRICE_UNIT_FRI: () => PRICE_UNIT_FRI2, PRICE_UNIT_WEI: () => PRICE_UNIT_WEI2, Permission: () => Permission2, STATE_MUTABILITY_EXTERNAL: () => STATE_MUTABILITY_EXTERNAL2, STATE_MUTABILITY_VIEW: () => STATE_MUTABILITY_VIEW2, STATUS_ACCEPTED_ON_L1: () => STATUS_ACCEPTED_ON_L12, STATUS_ACCEPTED_ON_L2: () => STATUS_ACCEPTED_ON_L22, STATUS_CANDIDATE: () => STATUS_CANDIDATE2, STATUS_PRE_CONFIRMED: () => STATUS_PRE_CONFIRMED2, STATUS_PRE_CONFIRMED_LOWERCASE: () => STATUS_PRE_CONFIRMED_LOWERCASE2, STATUS_RECEIVED: () => STATUS_RECEIVED2, STATUS_REVERTED: () => STATUS_REVERTED2, STATUS_SUCCEEDED: () => STATUS_SUCCEEDED2, STRUCT_ABI_TYPE: () => STRUCT_ABI_TYPE2, TXN_TYPE_DECLARE: () => TXN_TYPE_DECLARE2, TXN_TYPE_DEPLOY: () => TXN_TYPE_DEPLOY2, TXN_TYPE_DEPLOY_ACCOUNT: () => TXN_TYPE_DEPLOY_ACCOUNT2, TXN_TYPE_INVOKE: () => TXN_TYPE_INVOKE2, TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER2, TypedDataRevision: () => TypedDataRevision2, WALLET_API: () => wallet_api_exports2 }); // node_modules/@starknet-io/starknet-types-010/dist/esm/api/index.js var api_exports2 = {}; __export(api_exports2, { ABI_TYPE_CONSTRUCTOR: () => ABI_TYPE_CONSTRUCTOR2, ABI_TYPE_ENUM: () => ABI_TYPE_ENUM2, ABI_TYPE_FUNCTION: () => ABI_TYPE_FUNCTION2, ABI_TYPE_L1_HANDLER: () => ABI_TYPE_L1_HANDLER2, CALL_TYPE: () => CALL_TYPE2, CONTRACT: () => contract_exports2, EBlockStatus: () => EBlockStatus2, EBlockTag: () => EBlockTag2, EDAMode: () => EDAMode2, EDataAvailabilityMode: () => EDataAvailabilityMode2, ESimulationFlag: () => ESimulationFlag2, ETransactionExecutionStatus: () => ETransactionExecutionStatus2, ETransactionFinalityStatus: () => ETransactionFinalityStatus2, ETransactionStatus: () => ETransactionStatus2, ETransactionType: () => ETransactionType2, ETransactionVersion: () => ETransactionVersion4, ETransactionVersion2: () => ETransactionVersion22, ETransactionVersion3: () => ETransactionVersion32, EVENT_ABI_TYPE: () => EVENT_ABI_TYPE2, L1_DA_MODE: () => L1_DA_MODE2, PRICE_UNIT_FRI: () => PRICE_UNIT_FRI2, PRICE_UNIT_WEI: () => PRICE_UNIT_WEI2, STATE_MUTABILITY_EXTERNAL: () => STATE_MUTABILITY_EXTERNAL2, STATE_MUTABILITY_VIEW: () => STATE_MUTABILITY_VIEW2, STATUS_ACCEPTED_ON_L1: () => STATUS_ACCEPTED_ON_L12, STATUS_ACCEPTED_ON_L2: () => STATUS_ACCEPTED_ON_L22, STATUS_CANDIDATE: () => STATUS_CANDIDATE2, STATUS_PRE_CONFIRMED: () => STATUS_PRE_CONFIRMED2, STATUS_PRE_CONFIRMED_LOWERCASE: () => STATUS_PRE_CONFIRMED_LOWERCASE2, STATUS_RECEIVED: () => STATUS_RECEIVED2, STATUS_REVERTED: () => STATUS_REVERTED2, STATUS_SUCCEEDED: () => STATUS_SUCCEEDED2, STRUCT_ABI_TYPE: () => STRUCT_ABI_TYPE2, TXN_TYPE_DECLARE: () => TXN_TYPE_DECLARE2, TXN_TYPE_DEPLOY: () => TXN_TYPE_DEPLOY2, TXN_TYPE_DEPLOY_ACCOUNT: () => TXN_TYPE_DEPLOY_ACCOUNT2, TXN_TYPE_INVOKE: () => TXN_TYPE_INVOKE2, TXN_TYPE_L1_HANDLER: () => TXN_TYPE_L1_HANDLER2 }); // node_modules/@starknet-io/starknet-types-010/dist/esm/api/constants.js var STATUS_ACCEPTED_ON_L22 = "ACCEPTED_ON_L2"; var STATUS_ACCEPTED_ON_L12 = "ACCEPTED_ON_L1"; var STATUS_SUCCEEDED2 = "SUCCEEDED"; var STATUS_REVERTED2 = "REVERTED"; var STATUS_RECEIVED2 = "RECEIVED"; var STATUS_CANDIDATE2 = "CANDIDATE"; var STATUS_PRE_CONFIRMED2 = "PRE_CONFIRMED"; var STATUS_PRE_CONFIRMED_LOWERCASE2 = STATUS_PRE_CONFIRMED2.toLowerCase(); var TXN_TYPE_DECLARE2 = "DECLARE"; var TXN_TYPE_DEPLOY2 = "DEPLOY"; var TXN_TYPE_DEPLOY_ACCOUNT2 = "DEPLOY_ACCOUNT"; var TXN_TYPE_INVOKE2 = "INVOKE"; var TXN_TYPE_L1_HANDLER2 = "L1_HANDLER"; var STRUCT_ABI_TYPE2 = "struct"; var EVENT_ABI_TYPE2 = "event"; var ABI_TYPE_FUNCTION2 = "function"; var ABI_TYPE_CONSTRUCTOR2 = "constructor"; var ABI_TYPE_L1_HANDLER2 = "l1_handler"; var ABI_TYPE_ENUM2 = "enum"; var STATE_MUTABILITY_VIEW2 = "view"; var STATE_MUTABILITY_EXTERNAL2 = "external"; var PRICE_UNIT_WEI2 = "WEI"; var PRICE_UNIT_FRI2 = "FRI"; var L1_DA_MODE2 = { BLOB: "BLOB", CALLDATA: "CALLDATA" }; var CALL_TYPE2 = { DELEGATE: "DELEGATE", LIBRARY_CALL: "LIBRARY_CALL", CALL: "CALL" }; var ETransactionType2 = { DECLARE: TXN_TYPE_DECLARE2, DEPLOY: TXN_TYPE_DEPLOY2, DEPLOY_ACCOUNT: TXN_TYPE_DEPLOY_ACCOUNT2, INVOKE: TXN_TYPE_INVOKE2, L1_HANDLER: TXN_TYPE_L1_HANDLER2 }; var ESimulationFlag2 = { SKIP_VALIDATE: "SKIP_VALIDATE", SKIP_FEE_CHARGE: "SKIP_FEE_CHARGE" }; var ETransactionStatus2 = { RECEIVED: STATUS_RECEIVED2, CANDIDATE: STATUS_CANDIDATE2, PRE_CONFIRMED: STATUS_PRE_CONFIRMED2, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L22, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L12 }; var ETransactionFinalityStatus2 = { PRE_CONFIRMED: STATUS_PRE_CONFIRMED2, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L22, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L12 }; var ETransactionExecutionStatus2 = { SUCCEEDED: STATUS_SUCCEEDED2, REVERTED: STATUS_REVERTED2 }; var EBlockTag2 = { /** * Tag `latest` refers to the latest Starknet block finalized by the consensus on L2. */ LATEST: "latest", /** * Tag `pre_confirmed` refers to the block which is currently being built by the block proposer in height `latest` + 1. */ PRE_CONFIRMED: STATUS_PRE_CONFIRMED_LOWERCASE2, /** * Tag `l1_accepted` refers to the latest Starknet block which was included in a state update on L1 and finalized by the consensus on L1. */ L1_ACCEPTED: "l1_accepted" }; var EBlockStatus2 = { PRE_CONFIRMED: STATUS_PRE_CONFIRMED2, ACCEPTED_ON_L2: STATUS_ACCEPTED_ON_L22, ACCEPTED_ON_L1: STATUS_ACCEPTED_ON_L12 }; var EDataAvailabilityMode2 = { L1: "L1", L2: "L2" }; var EDAMode2 = { L1: 0, L2: 1 }; var ETransactionVersion4 = { /** * @deprecated Starknet 0.14 will not support this transaction */ V0: "0x0", /** * @deprecated Starknet 0.14 will not support this transaction */ V1: "0x1", /** * @deprecated Starknet 0.14 will not support this transaction */ V2: "0x2", V3: "0x3", /** * @deprecated Starknet 0.14 will not support this transaction */ F0: "0x100000000000000000000000000000000", /** * @deprecated Starknet 0.14 will not support this transaction */ F1: "0x100000000000000000000000000000001", /** * @deprecated Starknet 0.14 will not support this transaction */ F2: "0x100000000000000000000000000000002", F3: "0x100000000000000000000000000000003" }; var ETransactionVersion22 = { V0: ETransactionVersion4.V0, V1: ETransactionVersion4.V1, V2: ETransactionVersion4.V2, F0: ETransactionVersion4.F0, F1: ETransactionVersion4.F1, F2: ETransactionVersion4.F2 }; var ETransactionVersion32 = { V3: ETransactionVersion4.V3, F3: ETransactionVersion4.F3 }; // node_modules/@starknet-io/starknet-types-010/dist/esm/api/contract.js var contract_exports2 = {}; // node_modules/@starknet-io/starknet-types-010/dist/esm/snip-29/index.js var snip_29_exports2 = {}; // node_modules/@starknet-io/starknet-types-010/dist/esm/wallet-api/index.js var wallet_api_exports2 = {}; __export(wallet_api_exports2, { Permission: () => Permission2, TypedDataRevision: () => TypedDataRevision2 }); // node_modules/@starknet-io/starknet-types-010/dist/esm/wallet-api/constants.js var Permission2 = { ACCOUNTS: "accounts" }; // node_modules/@starknet-io/starknet-types-010/dist/esm/wallet-api/typedData.js var TypedDataRevision2 = { ACTIVE: "1", LEGACY: "0" }; // src/provider/types/spec.type.ts var { ETransactionVersion: ETransactionVersion5 } = esm_exports; var { ETransactionVersion2: ETransactionVersion23 } = esm_exports; var { ETransactionVersion3: ETransactionVersion33 } = esm_exports; var { EDataAvailabilityMode: EDataAvailabilityMode3 } = esm_exports2; var { EDAMode: EDAMode3 } = esm_exports2; function isRPC08Plus_ResourceBounds(entry) { return "l1_data_gas" in entry; } function isRPC08Plus_ResourceBoundsBN(entry) { return "l1_data_gas" in entry; } var { ETransactionStatus: ETransactionStatus3 } = esm_exports2; var { ETransactionExecutionStatus: ETransactionExecutionStatus3 } = esm_exports2; var { ETransactionType: TransactionType } = esm_exports; var { EBlockStatus: BlockStatus } = esm_exports; var { ETransactionFinalityStatus: TransactionFinalityStatus } = esm_exports; var { ETransactionExecutionStatus: TransactionExecutionStatus } = esm_exports; var { EBlockTag: BlockTag } = esm_exports; // src/utils/encode.ts var encode_exports = {}; __export(encode_exports, { IS_BROWSER: () => IS_BROWSER, addHexPrefix: () => addHexPrefix, arrayBufferToString: () => arrayBufferToString, atobUniversal: () => atobUniversal, bigIntToUint8Array: () => bigIntToUint8Array, btoaUniversal: () => btoaUniversal, buf2hex: () => buf2hex, calcByteLength: () => calcByteLength, concatenateArrayBuffer: () => concatenateArrayBuffer, hexStringToUint8Array: () => hexStringToUint8Array, padLeft: () => padLeft, pascalToSnake: () => pascalToSnake, removeHexPrefix: () => removeHexPrefix, sanitizeBytes: () => sanitizeBytes, sanitizeHex: () => sanitizeHex, stringToUint8Array: () => stringToUint8Array, uint8ArrayToBigInt: () => uint8ArrayToBigInt, utf8ToArray: () => utf8ToArray, utf8ToBigInt: () => utf8ToBigInt, utf8ToUint8Array: () => utf8ToUint8Array }); // node_modules/@scure/base/lib/esm/index.js function isBytes(a) { return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array"; } function abytes(b, ...lengths) { if (!isBytes(b)) throw new Error("Uint8Array expected"); if (lengths.length > 0 && !lengths.includes(b.length)) throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length); } function isArrayOf(isString2, arr) { if (!Array.isArray(arr)) return false; if (arr.length === 0) return true; if (isString2) { return arr.every((item) => typeof item === "string"); } else { return arr.every((item) => Number.isSafeInteger(item)); } } function astr(label, input) { if (typeof input !== "string") throw new Error(`${label}: string expected`); return true; } function anumber(n) { if (!Number.isSafeInteger(n)) throw new Error(`invalid integer: ${n}`); } function aArr(input) { if (!Array.isArray(input)) throw new Error("array expected"); } function astrArr(label, input) { if (!isArrayOf(true, input)) throw new Error(`${label}: array of strings expected`); } function anumArr(label, input) { if (!isArrayOf(false, input)) throw new Error(`${label}: array of numbers expected`); } // @__NO_SIDE_EFFECTS__ function chain(...args) { const id = (a) => a; const wrap = (a, b) => (c) => a(b(c)); const encode = args.map((x) => x.encode).reduceRight(wrap, id); const decode = args.map((x) => x.decode).reduce(wrap, id); return { encode, decode }; } // @__NO_SIDE_EFFECTS__ function alphabet(letters) { const lettersA = typeof letters === "string" ? letters.split("") : letters; const len = lettersA.length; astrArr("alphabet", lettersA); const indexes = new Map(lettersA.map((l, i) => [l, i])); return { encode: (digits) => { aArr(digits); return digits.map((i) => { if (!Number.isSafeInteger(i) || i < 0 || i >= len) throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${letters}`); return lettersA[i]; }); }, decode: (input) => { aArr(input); return input.map((letter) => { astr("alphabet.decode", letter); const i = indexes.get(letter); if (i === void 0) throw new Error(`Unknown letter: "${letter}". Allowed: ${letters}`); return i; }); } }; } // @__NO_SIDE_EFFECTS__ function join(separator = "") { astr("join", separator); return { encode: (from) => { astrArr("join.decode", from); return from.join(separator); }, decode: (to) => { astr("join.decode", to); return to.split(separator); } }; } // @__NO_SIDE_EFFECTS__ function padding(bits, chr = "=") { anumber(bits); astr("padding", chr); return { encode(data) { astrArr("padding.encode", data); while (data.length * bits % 8) data.push(chr); return data; }, decode(input) { astrArr("padding.decode", input); let end = input.length; if (end * bits % 8) throw new Error("padding: invalid, string should have whole number of bytes"); for (; end > 0 && input[end - 1] === chr; end--) { const last = end - 1; const byte = last * bits; if (byte % 8 === 0) throw new Error("padding: invalid, string has too much padding"); } return input.slice(0, end); } }; } var gcd = (a, b) => b === 0 ? a : gcd(b, a % b); var radix2carry = /* @__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to)); var powers = /* @__PURE__ */ (() => { let res = []; for (let i = 0; i < 40; i++) res.push(2 ** i); return res; })(); function convertRadix2(data, from, to, padding2) { aArr(data); if (from <= 0 || from > 32) throw new Error(`convertRadix2: wrong from=${from}`); if (to <= 0 || to > 32) throw new Error(`convertRadix2: wrong to=${to}`); if (/* @__PURE__ */ radix2carry(from, to) > 32) { throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${/* @__PURE__ */ radix2carry(from, to)}`); } let carry = 0; let pos = 0; const max = powers[from]; const mask = powers[to] - 1; const res = []; for (const n of data) { anumber(n); if (n >= max) throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); carry = carry << from | n; if (pos + from > 32) throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); pos += from; for (; pos >= to; pos -= to) res.push((carry >> pos - to & mask) >>> 0); const pow3 = powers[pos]; if (pow3 === void 0) throw new Error("invalid carry"); carry &= pow3 - 1; } carry = carry << to - pos & mask; if (!padding2 && pos >= from) throw new Error("Excess padding"); if (!padding2 && carry > 0) throw new Error(`Non-zero padding: ${carry}`); if (padding2 && pos > 0) res.push(carry >>> 0); return res; } // @__NO_SIDE_EFFECTS__ function radix2(bits, revPadding = false) { anumber(bits); if (bits <= 0 || bits > 32) throw new Error("radix2: bits should be in (0..32]"); if (/* @__PURE__ */ radix2carry(8, bits) > 32 || /* @__PURE__ */ radix2carry(bits, 8) > 32) throw new Error("radix2: carry overflow"); return { encode: (bytes) => { if (!isBytes(bytes)) throw new Error("radix2.encode input should be Uint8Array"); return convertRadix2(Array.from(bytes), 8, bits, !revPadding); }, decode: (digits) => { anumArr("radix2.decode", digits); return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding)); } }; } var hasBase64Builtin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toBase64 === "function" && typeof Uint8Array.fromBase64 === "function")(); var decodeBase64Builtin = (s, isUrl) => { astr("base64", s); const re = isUrl ? /^[A-Za-z0-9=_-]+$/ : /^[A-Za-z0-9=+/]+$/; const alphabet2 = isUrl ? "base64url" : "base64"; if (s.length > 0 && !re.test(s)) throw new Error("invalid base64"); return Uint8Array.fromBase64(s, { alphabet: alphabet2, lastChunkHandling: "strict" }); }; var base64 = hasBase64Builtin ? { encode(b) { abytes(b); return b.toBase64(); }, decode(s) { return decodeBase64Builtin(s, false); } } : /* @__PURE__ */ chain(/* @__PURE__ */ radix2(6), /* @__PURE__ */ alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), /* @__PURE__ */ padding(6), /* @__PURE__ */ join("")); // src/utils/encode.ts var IS_BROWSER = typeof window !== "undefined"; var STRING_ZERO = "0"; function arrayBufferToString(array) { return new Uint8Array(array).reduce((data, byte) => data + String.fromCharCode(byte), ""); } function utf8ToUint8Array(str) { return new TextEncoder().encode(str); } var utf8ToArray = utf8ToUint8Array; function utf8ToBigInt(str) { return uint8ArrayToBigInt(utf8ToUint8Array(str)); } function atobUniversal(a) { return base64.decode(a); } function btoaUniversal(b) { return base64.encode(new Uint8Array(b)); } function buf2hex(buffer) { return buffer.reduce((r, x) => r + x.toString(16).padStart(2, "0"), ""); } function removeHexPrefix(hex) { return hex.startsWith("0x") || hex.startsWith("0X") ? hex.slice(2) : hex; } function addHexPrefix(hex) { return `0x${removeHexPrefix(hex)}`; } function padString(str, length, left, padding2 = STRING_ZERO) { const diff = length - str.length; let result = str; if (diff > 0) { const pad = padding2.repeat(diff); result = left ? pad + str : str + pad; } return result; } function padLeft(str, length, padding2 = STRING_ZERO) { return padString(str, length, true, padding2); } function calcByteLength(str, byteSize = 8) { const { length } = str; const remainder = length % byteSize; return remainder ? (length - remainder) / byteSize * byteSize + byteSize : length; } function sanitizeBytes(str, byteSize = 8, padding2 = STRING_ZERO) { return padLeft(str, calcByteLength(str, byteSize), padding2); } function sanitizeHex(hex) { const hexWithoutPrefix = removeHexPrefix(hex); const sanitizedHex = sanitizeBytes(hexWithoutPrefix, 2); return sanitizedHex ? addHexPrefix(sanitizedHex) : sanitizedHex; } var pascalToSnake = (text) => /[a-z]/.test(text) ? text.split(/(?=[A-Z])/).join("_").toUpperCase() : text; function concatenateArrayBuffer(uint8arrays) { const totalLength = uint8arrays.reduce((total, uint8array) => total + uint8array.byteLength, 0); const result = new Uint8Array(totalLength); let offset = 0; uint8arrays.forEach((uint8array) => { result.set(uint8array, offset); offset += uint8array.byteLength; }); return result; } function hexStringToUint8Array(hex) { if (!isHexString(addHexPrefix(hex))) { throw new Error(`Invalid hex string: "${hex}"`); } const paddedHex = removeHexPrefix(sanitizeHex(hex)); const bytes = new Uint8Array(paddedHex.length / 2); for (let i = 0; i < paddedHex.length; i += 2) { bytes[i / 2] = parseInt(paddedHex.substring(i, i + 2), 16); } return bytes; } function isHexString(hex) { return /^0[xX][0-9a-fA-F]*$/.test(hex); } function isDecimalString(str) { return /^[0-9]+$/.test(str); } function stringToUint8Array(str) { if (isHexString(str)) { return hexStringToUint8Array(str); } if (isDecimalString(str)) { const value = BigInt(str); return bigIntToUint8Array(value); } return utf8ToUint8Array(str); } function bigIntToUint8Array(value) { if (value < 0n) { throw new Error(`Cannot convert negative bigint ${value} to Uint8Array`); } if (value === 0n) { return new Uint8Array([0]); } let hex = value.toString(16); if (hex.length % 2 !== 0) { hex = `0${hex}`; } const bytes = new Uint8Array(hex.length / 2); for (let i = 0; i < hex.length; i += 2) { bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16); } return bytes; } function uint8ArrayToBigInt(data) { if (!data || data.length === 0) { return 0n; } let hex = "0x"; for (let i = 0; i < data.length; i += 1) { hex += data[i].toString(16).padStart(2, "0"); } return BigInt(hex); } // src/global/constants.ts var TEXT_TO_FELT_MAX_LEN = 31; var ZERO = 0n; var MASK_250 = 2n ** 250n - 1n; var MASK_31 = 2n ** 31n - 1n; var API_VERSION = ZERO; var PRIME = 2n ** 251n + 17n * 2n ** 192n + 1n; var MAX_STORAGE_ITEM_SIZE = 256n; var ADDR_BOUND = 2n ** 251n - MAX_STORAGE_ITEM_SIZE; var range = (min, max) => ({ min, max }); var RANGE_FELT = range(ZERO, PRIME - 1n); var RANGE_U8 = range(ZERO, 2n ** 8n - 1n); var RANGE_U16 = range(ZERO, 2n ** 16n - 1n); var RANGE_U32 = range(ZERO, 2n ** 32n - 1n); var RANGE_U64 = range(ZERO, 2n ** 64n - 1n); var RANGE_U96 = range(ZERO, 2n ** 96n - 1n); var RANGE_U128 = range(ZERO, 2n ** 128n - 1n); var RANGE_I8 = range(-(2n ** 7n), 2n ** 7n - 1n); var RANGE_I16 = range(-(2n ** 15n), 2n ** 15n - 1n); var RANGE_I32 = range(-(2n ** 31n), 2n ** 31n - 1n); var RANGE_I64 = range(-(2n ** 63n), 2n ** 63n - 1n); var RANGE_I128 = range(-(2n ** 127n), 2n ** 127n - 1n); var LegacyUDC = { ADDRESS: "0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf", ENTRYPOINT: "deployContract" }; var UDC = { ADDRESS: "0x02ceed65a4bd731034c01113685c831b01c15d7d432f71afb1cf1634b53a2125", ENTRYPOINT: "deploy_contract" }; var OutsideExecutionCallerAny = "0x414e595f43414c4c4552"; var SNIP9_V1_INTERFACE_ID = "0x68cfd18b92d1907b8ba3cc324900277f5a3622099431ea85dd8089255e4181"; var SNIP9_V2_INTERFACE_ID = "0x1d1144bb2138366ff28d8e9ab57456b1d332ac42196230c3a602003c89872"; var HARDENING_BYTE = 128; var HARDENING_4BYTES = 2147483648n; var _BaseUrl = { SN_MAIN: "https://alpha-mainnet.starknet.io", SN_SEPOLIA: "https://alpha-sepolia.starknet.io" }; var _NetworkName = { SN_MAIN: "SN_MAIN", SN_SEPOLIA: "SN_SEPOLIA" }; var _StarknetChainId = { SN_MAIN: "0x534e5f4d41494e", // encodeShortString('SN_MAIN'), SN_SEPOLIA: "0x534e5f5345504f4c4941" // encodeShortString('SN_SEPOLIA') }; var _TransactionHashPrefix = { DECLARE: "0x6465636c617265", // encodeShortString('declare'), DEPLOY: "0x6465706c6f79", // encodeShortString('deploy'), DEPLOY_ACCOUNT: "0x6465706c6f795f6163636f756e74", // encodeShortString('deploy_account'), INVOKE: "0x696e766f6b65", // encodeShortString('invoke'), L1_HANDLER: "0x6c315f68616e646c6572" // encodeShortString('l1_handler'), }; var _SupportedRpcVersion = { "0.9.0": "0.9.0", "0.10.0": "0.10.0", v0_9_0: "0.9.0", v0_10_0: "0.10.0" }; var DEFAULT_GLOBAL_CONFIG = { rpcVersion: "0.10.0", transactionVersion: ETransactionVersion4.V3, // Starknet 0.14.0 only V3 transactions logLevel: "INFO", resourceBoundsOverhead: { l1_gas: { max_amount: 50, max_price_per_unit: 50 }, l1_data_gas: { max_amount: 50, max_price_per_unit: 50 }, l2_gas: { max_amount: 50, max_price_per_unit: 50 } }, defaultTipType: "recommendedTip", channelDefaults: { options: { headers: { "Content-Type": "application/json" }, blockIdentifier: BlockTag.LATEST, retries: 200 }, methods: { simulateTransaction: { skipValidate: true, skipFeeCharge: true }, getEstimateFee: { skipValidate: true } } }, fetch: void 0, websocket: void 0, buffer: void 0, blake: void 0 }; var RPC_DEFAULT_NODES = { SN_MAIN: [`https://api.zan.top/public/starknet-mainnet/rpc/`], SN_SEPOLIA: [`https://api.zan.top/public/starknet-sepolia/rpc/`] }; var PAYMASTER_RPC_NODES = { SN_MAIN: [`https://starknet.paymaster.avnu.fi`], SN_SEPOLIA: [`https://sepolia.paymaster.avnu.fi`] }; var SYSTEM_MESSAGES = { legacyTxWarningMessage: "You are using a deprecated transaction version (V0,V1,V2)!\nUpdate to the latest V3 transactions!", legacyTxRPC08Message: "RPC 0.8+ do not support legacy transactions, use RPC 0.8+ v3 transactions!", SWOldV3: "RPC 0.7 V3 tx (improper resource bounds) not supported in RPC 0.8+", channelVersionMismatch: "Channel specification version is not compatible with the connected node Specification Version", unsupportedSpecVersion: "The connected node specification version is not supported by this library", maxFeeInV3: "maxFee is not supported in V3 transactions, use resourceBounds instead", declareNonSierra: "Declaring non Sierra (Cairo0)contract using RPC 0.8+", unsupportedMethodForRpcVersion: "Unsupported method for RPC version", txEvictedFromMempool: "Transaction TTL, evicted from the mempool, try to increase the tip", consensusFailed: "Consensus failed to finalize the block proposal", txFailsBlockBuildingValidation: "Transaction fails block building validation" }; var SN_VERSION_IMPLEMENTING_BLAKE_FOR_COMPILED_CLASS = "0.14.1"; // src/global/config.ts var Configuration = class _Configuration { static instance; config; constructor() { this.initialize(); } initialize() { this.config = { ...DEFAULT_GLOBAL_CONFIG }; } static getInstance() { if (!_Configuration.instance) { _Configuration.instance = new _Configuration(); } return _Configuration.instance; } /** * Get a nested value from an object using a dot-notation path * @param obj - The object to traverse * @param path - The dot-notation path (e.g., 'a.b.c') * @returns The value at the path, or undefined if not found */ getNestedValue(obj, path) { const keys = path.split("."); return keys.reduce((current, key) => { if (current === null || current === void 0) { return void 0; } return current[key]; }, obj); } /** * Set a nested value in an object using a dot-notation path * @param obj - The object to modify * @param path - The dot-notation path (e.g., 'a.b.c') * @param value - The value to set */ setNestedValue(obj, path, value) { const keys = path.split("."); const lastKey = keys.pop(); const target = keys.reduce((current, key) => { if (!(key in current) || typeof current[key] !== "object" || current[key] === null) { current[key] = {}; } return current[key]; }, obj); target[lastKey] = value; } get(key, defaultValue) { if (key.includes(".")) { const value = this.getNestedValue(this.config, key); return value ?? defaultValue; } return this.config[key] ?? defaultValue; } set(key, value) { if (key.includes(".")) { this.setNestedValue(this.config, key, value); } else { this.config[key] = value; } } update(configData) { this.config = { ...this.config, ...configData }; } getAll() { return { ...this.config }; } reset() { this.initialize(); } delete(key) { delete this.config[key]; } hasKey(key) { return key in this.config; } }; var config = Configuration.getInstance(); // src/global/logger.type.ts var LogLevelIndex = { DEBUG: 5, INFO: 4, WARN: 3, ERROR: 2, FATAL: 1, OFF: 0 }; // src/global/logger.ts var Logger = class _Logger { static instance; config; constructor() { this.config = config; } static getInstance() { if (!_Logger.instance) { _Logger.instance = new _Logger(); } return _Logger.instance; } getTimestamp() { return (/* @__PURE__ */ new Date()).toISOString(); } shouldLog(messageLevel) { const configLevel = this.config.get("logLevel", "INFO"); return messageLevel <= LogLevelIndex[configLevel]; } formatMessage(logMessage) { const { level, message, timestamp, data } = logMessage; let formattedMessage = `[${timestamp}] ${level}: ${message}`; if (data) { try { formatte