starknet 10.2.0 → 10.3.1

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
@@ -1,11 +1,11 @@
1
1
  import * as RPCSPEC0103 from '@starknet-io/starknet-types-0103';
2
- import { PAYMASTER_API, CONTRACT, EDataAvailabilityMode as EDataAvailabilityMode$1, ETransactionType, SUBSCRIPTION_BLOCK_ID, TypedData, CONTRACT_STORAGE_KEYS, StorageProof, CASM_COMPILED_CONTRACT_CLASS, OutsideExecutionTypedData, ETransactionVersion3 as ETransactionVersion3$1, IsType, TransactionReceipt as TransactionReceipt$1, IsSucceeded, IsReverted, PRE_CONFIRMED_BLOCK_WITH_TX_HASHES, BLOCK_WITH_TX_HASHES, TransactionHash, BlockHash, FAILED_TO_RECEIVE_TXN, NO_TRACE_AVAILABLE, CONTRACT_NOT_FOUND, ENTRYPOINT_NOT_FOUND, BLOCK_NOT_FOUND, INVALID_TXN_INDEX, CLASS_HASH_NOT_FOUND, TXN_HASH_NOT_FOUND, PAGE_SIZE_TOO_BIG, NO_BLOCKS, INVALID_CONTINUATION_TOKEN, TOO_MANY_KEYS_IN_FILTER, CONTRACT_ERROR, TRANSACTION_EXECUTION_ERROR, STORAGE_PROOF_NOT_SUPPORTED, CLASS_ALREADY_DECLARED, INVALID_TRANSACTION_NONCE, INSUFFICIENT_RESOURCES_FOR_VALIDATE, INSUFFICIENT_ACCOUNT_BALANCE, VALIDATION_FAILURE, COMPILATION_FAILED, CONTRACT_CLASS_SIZE_IS_TOO_LARGE, NON_ACCOUNT, DUPLICATE_TX, COMPILED_CLASS_HASH_MISMATCH, UNSUPPORTED_TX_VERSION, UNSUPPORTED_CONTRACT_CLASS_VERSION, UNEXPECTED_ERROR, REPLACEMENT_TRANSACTION_UNDERPRICED, FEE_BELOW_MINIMUM, INVALID_SUBSCRIPTION_ID, TOO_MANY_ADDRESSES_IN_FILTER, TOO_MANY_BLOCKS_BACK, COMPILATION_ERROR, ETransactionVersion as ETransactionVersion$1, SUBSCRIPTION_ID, TXN_FINALITY_STATUS, STATUS_ACCEPTED_ON_L1, TXN_STATUS_WITHOUT_L1, StarknetEventsEvent, TransactionsStatusEvent, NewTransactionReceiptsEvent, NewTransactionEvent, NewHeadsEvent, STORAGE_RESULT, StarknetWindowObject, AccountChangeEventHandler, NetworkChangeEventHandler, WatchAssetParameters, AddStarknetChainParameters, Signature as Signature$1, EDAMode as EDAMode$1, StarknetType, StarknetMerkleType, TypedDataRevision, OutsideCallV1, OutsideCallV2, EmittedEvent as EmittedEvent$1, Event as Event$2, Address, Permission, ChainId, AccountDeploymentData, AddInvokeTransactionParameters, AddInvokeTransactionResult, AddDeclareTransactionParameters, AddDeclareTransactionResult, SpecVersion } from '@starknet-io/starknet-types-0103';
2
+ import { PAYMASTER_API, CONTRACT, EDataAvailabilityMode as EDataAvailabilityMode$1, ETransactionType, SUBSCRIPTION_BLOCK_ID, TypedData, CONTRACT_STORAGE_KEYS, StorageProof, CASM_COMPILED_CONTRACT_CLASS, OutsideExecutionTypedData, ETransactionVersion3 as ETransactionVersion3$1, IsType, TransactionReceipt as TransactionReceipt$1, IsSucceeded, IsReverted, PRE_CONFIRMED_BLOCK_WITH_TX_HASHES, BLOCK_WITH_TX_HASHES, TransactionHash, BlockHash, FAILED_TO_RECEIVE_TXN, NO_TRACE_AVAILABLE, CONTRACT_NOT_FOUND, ENTRYPOINT_NOT_FOUND, BLOCK_NOT_FOUND, INVALID_TXN_INDEX, CLASS_HASH_NOT_FOUND, TXN_HASH_NOT_FOUND, PAGE_SIZE_TOO_BIG, NO_BLOCKS, INVALID_CONTINUATION_TOKEN, TOO_MANY_KEYS_IN_FILTER, CONTRACT_ERROR, TRANSACTION_EXECUTION_ERROR, STORAGE_PROOF_NOT_SUPPORTED, CLASS_ALREADY_DECLARED, INVALID_TRANSACTION_NONCE, INSUFFICIENT_RESOURCES_FOR_VALIDATE, INSUFFICIENT_ACCOUNT_BALANCE, VALIDATION_FAILURE, COMPILATION_FAILED, CONTRACT_CLASS_SIZE_IS_TOO_LARGE, NON_ACCOUNT, DUPLICATE_TX, COMPILED_CLASS_HASH_MISMATCH, UNSUPPORTED_TX_VERSION, UNSUPPORTED_CONTRACT_CLASS_VERSION, UNEXPECTED_ERROR, REPLACEMENT_TRANSACTION_UNDERPRICED, FEE_BELOW_MINIMUM, INVALID_SUBSCRIPTION_ID, TOO_MANY_ADDRESSES_IN_FILTER, TOO_MANY_BLOCKS_BACK, COMPILATION_ERROR, ETransactionVersion as ETransactionVersion$1, SUBSCRIPTION_ID, TXN_FINALITY_STATUS, STATUS_ACCEPTED_ON_L1, TXN_STATUS_WITHOUT_L1, StarknetEventsEvent, TransactionsStatusEvent, NewTransactionReceiptsEvent, NewTransactionEvent, NewHeadsEvent, STORAGE_RESULT, INVOKE_TXN_V3, StarknetWindowObject, AccountChangeEventHandler, NetworkChangeEventHandler, WatchAssetParameters, AddStarknetChainParameters, Signature as Signature$1, EDAMode as EDAMode$1, StarknetType, StarknetMerkleType, TypedDataRevision, OutsideCallV1, OutsideCallV2, EmittedEvent as EmittedEvent$1, Event as Event$2, Address, Permission, ChainId, AccountDeploymentData, AddInvokeTransactionParameters, AddInvokeTransactionResult, AddDeclareTransactionParameters, AddDeclareTransactionResult, SpecVersion } from '@starknet-io/starknet-types-0103';
3
3
  export { StarknetDomain, StarknetEnumType, StarknetMerkleType, StarknetType, TypedData, TypedDataRevision } from '@starknet-io/starknet-types-0103';
4
- import * as RPC from '@starknet-io/starknet-types-0101';
4
+ import * as RPC$1 from '@starknet-io/starknet-types-0101';
5
5
  import { WatchAssetParameters as WatchAssetParameters$1, AddStarknetChainParameters as AddStarknetChainParameters$1, Signature as Signature$2, Address as Address$1, Permission as Permission$1, ChainId as ChainId$1, AccountDeploymentData as AccountDeploymentData$1, AddInvokeTransactionParameters as AddInvokeTransactionParameters$1, AddInvokeTransactionResult as AddInvokeTransactionResult$1, AddDeclareTransactionParameters as AddDeclareTransactionParameters$1, AddDeclareTransactionResult as AddDeclareTransactionResult$1, TypedData as TypedData$1, SpecVersion as SpecVersion$1 } from '@starknet-io/starknet-types-0101';
6
6
  import * as weierstrass from '@noble/curves/abstract/weierstrass';
7
7
  import { RecoveredSignatureType } from '@noble/curves/abstract/weierstrass';
8
- import * as RPCSPEC09 from '@starknet-io/starknet-types-09';
8
+ import * as RPC from '@starknet-io/starknet-types-09';
9
9
  import { Abi as Abi$1, TypedContract } from 'abi-wan-kanabi';
10
10
  import { WalletWithStarknetFeatures, StandardEventsChangeProperties } from '@starknet-io/get-starknet-wallet-standard/features';
11
11
  import * as poseidon from '@noble/curves/abstract/poseidon';
@@ -54,9 +54,8 @@ declare namespace jsonrpc {
54
54
 
55
55
  declare const index$4_PAYMASTER_API: typeof PAYMASTER_API;
56
56
  declare const index$4_RPCSPEC0103: typeof RPCSPEC0103;
57
- declare const index$4_RPCSPEC09: typeof RPCSPEC09;
58
57
  declare namespace index$4 {
59
- export { jsonrpc as JRPC, index$4_PAYMASTER_API as PAYMASTER_API, index$4_RPCSPEC0103 as RPCSPEC0103, index$4_RPCSPEC09 as RPCSPEC09 };
58
+ export { jsonrpc as JRPC, index$4_PAYMASTER_API as PAYMASTER_API, index$4_RPCSPEC0103 as RPCSPEC0103, RPC as RPCSPEC09 };
60
59
  }
61
60
 
62
61
  type CairoEnumRaw = Record<string, any>;
@@ -466,7 +465,7 @@ type MergeProperties<T1 extends Record<any, any>, T2 extends Record<any, any>> =
466
465
  currently supported RPC specifications
467
466
  */
468
467
  type Merge<T1, T2> = Simplify<T1 extends Array<any> ? T2 extends Array<any> ? Array<Merge<ArrayElement<T1>, ArrayElement<T2>>> : T1 : T2 extends Array<any> ? T2 : T1 extends object ? T2 extends object ? MergeProperties<T1, T2> : T1 : T2 extends object ? T2 : T1 | T2>;
469
- type ETransactionVersion = RPCSPEC09.ETransactionVersion;
468
+ type ETransactionVersion = RPC.ETransactionVersion;
470
469
  declare const ETransactionVersion: {
471
470
  readonly V0: "0x0";
472
471
  readonly V1: "0x1";
@@ -477,7 +476,7 @@ declare const ETransactionVersion: {
477
476
  readonly F2: "0x100000000000000000000000000000002";
478
477
  readonly F3: "0x100000000000000000000000000000003";
479
478
  };
480
- type ETransactionVersion2 = RPCSPEC09.ETransactionVersion2;
479
+ type ETransactionVersion2 = RPC.ETransactionVersion2;
481
480
  declare const ETransactionVersion2: {
482
481
  readonly V0: "0x0";
483
482
  readonly V1: "0x1";
@@ -486,25 +485,25 @@ declare const ETransactionVersion2: {
486
485
  readonly F1: "0x100000000000000000000000000000001";
487
486
  readonly F2: "0x100000000000000000000000000000002";
488
487
  };
489
- type ETransactionVersion3 = RPCSPEC09.ETransactionVersion3;
488
+ type ETransactionVersion3 = RPC.ETransactionVersion3;
490
489
  declare const ETransactionVersion3: {
491
490
  readonly V3: "0x3";
492
491
  readonly F3: "0x100000000000000000000000000000003";
493
492
  };
494
- type BLOCK_HASH = Merge<RPCSPEC0103.BLOCK_HASH, RPCSPEC09.BLOCK_HASH>;
495
- type BLOCK_NUMBER = Merge<RPCSPEC0103.BLOCK_NUMBER, RPCSPEC09.BLOCK_NUMBER>;
496
- type FELT = Merge<RPCSPEC0103.FELT, RPCSPEC09.FELT>;
497
- type TXN_HASH = Merge<RPCSPEC0103.TXN_HASH, RPCSPEC09.TXN_HASH>;
498
- type PRICE_UNIT = Merge<RPCSPEC0103.PRICE_UNIT, RPCSPEC09.PRICE_UNIT>;
499
- type RESOURCE_PRICE = Merge<RPCSPEC0103.RESOURCE_PRICE, RPCSPEC09.RESOURCE_PRICE>;
500
- type SIMULATION_FLAG = Merge<RPCSPEC0103.SIMULATION_FLAG, RPCSPEC09.SIMULATION_FLAG>;
501
- type STATE_UPDATE = Merge<RPCSPEC0103.STATE_UPDATE, RPCSPEC09.STATE_UPDATE>;
502
- type PRE_CONFIRMED_STATE_UPDATE = Merge<RPCSPEC0103.PRE_CONFIRMED_STATE_UPDATE, RPCSPEC09.PRE_CONFIRMED_STATE_UPDATE>;
503
- type BlockWithTxHashes = Merge<RPCSPEC0103.BlockWithTxHashes, RPCSPEC09.BlockWithTxHashes>;
504
- type ContractClassPayload = Merge<RPCSPEC0103.ContractClass, RPCSPEC09.ContractClass>;
505
- type DeclaredTransaction = Merge<RPCSPEC0103.DeclaredTransaction, RPCSPEC09.DeclaredTransaction>;
506
- type InvokedTransaction = Merge<RPCSPEC0103.InvokedTransaction, RPCSPEC09.InvokedTransaction>;
507
- type DeployedAccountTransaction = Merge<RPCSPEC0103.DeployedAccountTransaction, RPCSPEC09.DeployedAccountTransaction>;
493
+ type BLOCK_HASH = Merge<RPCSPEC0103.BLOCK_HASH, RPC.BLOCK_HASH>;
494
+ type BLOCK_NUMBER = Merge<RPCSPEC0103.BLOCK_NUMBER, RPC.BLOCK_NUMBER>;
495
+ type FELT = Merge<RPCSPEC0103.FELT, RPC.FELT>;
496
+ type TXN_HASH = Merge<RPCSPEC0103.TXN_HASH, RPC.TXN_HASH>;
497
+ type PRICE_UNIT = Merge<RPCSPEC0103.PRICE_UNIT, RPC.PRICE_UNIT>;
498
+ type RESOURCE_PRICE = Merge<RPCSPEC0103.RESOURCE_PRICE, RPC.RESOURCE_PRICE>;
499
+ type SIMULATION_FLAG = Merge<RPCSPEC0103.SIMULATION_FLAG, RPC.SIMULATION_FLAG>;
500
+ type STATE_UPDATE = Merge<RPCSPEC0103.STATE_UPDATE, RPC.STATE_UPDATE>;
501
+ type PRE_CONFIRMED_STATE_UPDATE = Merge<RPCSPEC0103.PRE_CONFIRMED_STATE_UPDATE, RPC.PRE_CONFIRMED_STATE_UPDATE>;
502
+ type BlockWithTxHashes = Merge<RPCSPEC0103.BlockWithTxHashes, RPC.BlockWithTxHashes>;
503
+ type ContractClassPayload = Merge<RPCSPEC0103.ContractClass, RPC.ContractClass>;
504
+ type DeclaredTransaction = Merge<RPCSPEC0103.DeclaredTransaction, RPC.DeclaredTransaction>;
505
+ type InvokedTransaction = Merge<RPCSPEC0103.InvokedTransaction, RPC.InvokedTransaction>;
506
+ type DeployedAccountTransaction = Merge<RPCSPEC0103.DeployedAccountTransaction, RPC.DeployedAccountTransaction>;
508
507
  type L1_HANDLER_TXN = RPCSPEC0103.L1_HANDLER_TXN;
509
508
  type EDataAvailabilityMode = RPCSPEC0103.EDataAvailabilityMode;
510
509
  declare const EDataAvailabilityMode: {
@@ -516,18 +515,18 @@ declare const EDAMode: {
516
515
  readonly L1: 0;
517
516
  readonly L2: 1;
518
517
  };
519
- type EmittedEvent = Merge<RPCSPEC0103.EmittedEvent, RPCSPEC09.EmittedEvent>;
520
- type Event$1 = Merge<RPCSPEC0103.Event, RPCSPEC09.Event>;
521
- type Receipt = Merge<RPCSPEC0103.TransactionReceiptProductionBlock, RPCSPEC09.TransactionReceiptProductionBlock>;
518
+ type EmittedEvent = Merge<RPCSPEC0103.EmittedEvent, RPC.EmittedEvent>;
519
+ type Event$1 = Merge<RPCSPEC0103.Event, RPC.Event>;
520
+ type Receipt = Merge<RPCSPEC0103.TransactionReceiptProductionBlock, RPC.TransactionReceiptProductionBlock>;
522
521
  /**
523
522
  * original response from estimate fee without parsing
524
523
  */
525
- type FeeEstimate = Merge<RPCSPEC0103.FEE_ESTIMATE, RPCSPEC09.FEE_ESTIMATE>;
524
+ type FeeEstimate = Merge<RPCSPEC0103.FEE_ESTIMATE, RPC.FEE_ESTIMATE>;
526
525
  type ApiEstimateFeeResponse = FeeEstimate[];
527
526
  declare function isRPC08Plus_ResourceBounds(entry: ResourceBounds): entry is RPCSPEC0103.ResourceBounds;
528
527
  declare function isRPC08Plus_ResourceBoundsBN(entry: ResourceBoundsBN): entry is ResourceBoundsBN;
529
- type ResourceBounds = Merge<RPCSPEC0103.ResourceBounds, RPCSPEC09.ResourceBounds>;
530
- type EventFilter = RPCSPEC09.EventFilter;
528
+ type ResourceBounds = Merge<RPCSPEC0103.ResourceBounds, RPC.ResourceBounds>;
529
+ type EventFilter = RPC.EventFilter;
531
530
  /**
532
531
  * Represents percentage overhead for each resource bound
533
532
  * numerical 50 means 50% overhead
@@ -545,8 +544,8 @@ type ResourceBoundsBN = {
545
544
  [P in keyof ResourceBounds[K]]: bigint;
546
545
  } : number;
547
546
  };
548
- type SimulateTransaction = SimpleOneOf<RPCSPEC09.SimulateTransaction, RPCSPEC0103.SimulateTransaction>;
549
- type SimulateTransactionResponse = RPCSPEC09.SimulateTransactionResponse | RPCSPEC0103.SimulateTransactionResponse;
547
+ type SimulateTransaction = SimpleOneOf<RPC.SimulateTransaction, RPCSPEC0103.SimulateTransaction>;
548
+ type SimulateTransactionResponse = RPC.SimulateTransactionResponse | RPCSPEC0103.SimulateTransactionResponse;
550
549
  type INITIAL_READS = RPCSPEC0103.INITIAL_READS;
551
550
  /** Flags to request additional fields in transaction responses (RPC 0.10.1+) */
552
551
  type ETxnResponseFlag = RPCSPEC0103.ETxnResponseFlag;
@@ -567,13 +566,13 @@ declare const ESubscriptionTag: {
567
566
  type BlockTransactionTrace = RPCSPEC0103.BlockTransactionTrace;
568
567
  /** Block transaction traces with optional initial storage reads (RPC 0.10.1+) */
569
568
  type BlockTransactionsTracesWithInitialReads = RPCSPEC0103.BlockTransactionsTracesWithInitialReads;
570
- type TransactionTrace = SimpleOneOf<RPCSPEC09.TRANSACTION_TRACE, RPCSPEC0103.TRANSACTION_TRACE>;
571
- type TransactionWithHash = Merge<RPCSPEC0103.TransactionWithHash, RPCSPEC09.TransactionWithHash>;
572
- type TransactionReceipt = Merge<RPCSPEC0103.TransactionReceipt, RPCSPEC09.TransactionReceipt>;
569
+ type TransactionTrace = SimpleOneOf<RPC.TRANSACTION_TRACE, RPCSPEC0103.TRANSACTION_TRACE>;
570
+ type TransactionWithHash = Merge<RPCSPEC0103.TransactionWithHash, RPC.TransactionWithHash>;
571
+ type TransactionReceipt = Merge<RPCSPEC0103.TransactionReceipt, RPC.TransactionReceipt>;
573
572
  type Methods = RPCSPEC0103.Methods;
574
- type TXN_STATUS = Merge<RPCSPEC0103.TXN_STATUS, RPCSPEC09.TXN_STATUS>;
575
- type TXN_EXECUTION_STATUS = Merge<RPCSPEC0103.TXN_EXECUTION_STATUS, RPCSPEC09.TXN_EXECUTION_STATUS>;
576
- type TransactionStatus = Merge<RPCSPEC0103.TransactionStatus, RPCSPEC09.TransactionStatus>;
573
+ type TXN_STATUS = Merge<RPCSPEC0103.TXN_STATUS, RPC.TXN_STATUS>;
574
+ type TXN_EXECUTION_STATUS = Merge<RPCSPEC0103.TXN_EXECUTION_STATUS, RPC.TXN_EXECUTION_STATUS>;
575
+ type TransactionStatus = Merge<RPCSPEC0103.TransactionStatus, RPC.TransactionStatus>;
577
576
  type ETransactionStatus = RPCSPEC0103.ETransactionStatus;
578
577
  declare const ETransactionStatus: {
579
578
  readonly RECEIVED: "RECEIVED";
@@ -587,9 +586,9 @@ declare const ETransactionExecutionStatus: {
587
586
  readonly SUCCEEDED: "SUCCEEDED";
588
587
  readonly REVERTED: "REVERTED";
589
588
  };
590
- type FEE_ESTIMATE = Merge<RPCSPEC0103.FEE_ESTIMATE, RPCSPEC09.FEE_ESTIMATE>;
591
- type EVENTS_CHUNK = Merge<RPCSPEC0103.EVENTS_CHUNK, RPCSPEC09.EVENTS_CHUNK>;
592
- type TransactionType = RPCSPEC09.ETransactionType;
589
+ type FEE_ESTIMATE = Merge<RPCSPEC0103.FEE_ESTIMATE, RPC.FEE_ESTIMATE>;
590
+ type EVENTS_CHUNK = Merge<RPCSPEC0103.EVENTS_CHUNK, RPC.EVENTS_CHUNK>;
591
+ type TransactionType = RPC.ETransactionType;
593
592
  declare const TransactionType: {
594
593
  readonly DECLARE: "DECLARE";
595
594
  readonly DEPLOY: "DEPLOY";
@@ -597,24 +596,24 @@ declare const TransactionType: {
597
596
  readonly INVOKE: "INVOKE";
598
597
  readonly L1_HANDLER: "L1_HANDLER";
599
598
  };
600
- type BlockStatus = RPCSPEC09.EBlockStatus;
599
+ type BlockStatus = RPC.EBlockStatus;
601
600
  declare const BlockStatus: {
602
601
  readonly PRE_CONFIRMED: "PRE_CONFIRMED";
603
602
  readonly ACCEPTED_ON_L2: "ACCEPTED_ON_L2";
604
603
  readonly ACCEPTED_ON_L1: "ACCEPTED_ON_L1";
605
604
  };
606
- type TransactionFinalityStatus = RPCSPEC09.ETransactionFinalityStatus;
605
+ type TransactionFinalityStatus = RPC.ETransactionFinalityStatus;
607
606
  declare const TransactionFinalityStatus: {
608
607
  readonly PRE_CONFIRMED: "PRE_CONFIRMED";
609
608
  readonly ACCEPTED_ON_L2: "ACCEPTED_ON_L2";
610
609
  readonly ACCEPTED_ON_L1: "ACCEPTED_ON_L1";
611
610
  };
612
- type TransactionExecutionStatus = RPCSPEC09.ETransactionExecutionStatus;
611
+ type TransactionExecutionStatus = RPC.ETransactionExecutionStatus;
613
612
  declare const TransactionExecutionStatus: {
614
613
  readonly SUCCEEDED: "SUCCEEDED";
615
614
  readonly REVERTED: "REVERTED";
616
615
  };
617
- type BlockTag = RPCSPEC09.EBlockTag;
616
+ type BlockTag = RPC.EBlockTag;
618
617
  declare const BlockTag: {
619
618
  readonly LATEST: "latest";
620
619
  readonly PRE_CONFIRMED: "pre_confirmed";
@@ -1360,7 +1359,7 @@ declare abstract class ProviderInterface {
1360
1359
  * @param txHash - transaction hash
1361
1360
  * @returns Transaction trace
1362
1361
  */
1363
- abstract getTransactionTrace(txHash: BigNumberish): Promise<RPCSPEC0103.TRANSACTION_TRACE | RPCSPEC09.TRANSACTION_TRACE>;
1362
+ abstract getTransactionTrace(txHash: BigNumberish): Promise<RPCSPEC0103.TRANSACTION_TRACE | RPC.TRANSACTION_TRACE>;
1364
1363
  /**
1365
1364
  * Get the status of a transaction
1366
1365
  * @param transactionHash - transaction hash
@@ -1403,7 +1402,7 @@ declare abstract class ProviderInterface {
1403
1402
  * @param blockIdentifier - block identifier
1404
1403
  * @returns Fee estimate
1405
1404
  */
1406
- abstract estimateMessageFee(message: RPCSPEC09.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPCSPEC0103.FEE_ESTIMATE | RPCSPEC09.MESSAGE_FEE_ESTIMATE>;
1405
+ abstract estimateMessageFee(message: RPC.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPCSPEC0103.FEE_ESTIMATE | RPC.MESSAGE_FEE_ESTIMATE>;
1407
1406
  /**
1408
1407
  * Get node synchronization status
1409
1408
  * @returns Sync status or false if not syncing
@@ -1414,7 +1413,7 @@ declare abstract class ProviderInterface {
1414
1413
  * @param eventFilter - event filter
1415
1414
  * @returns Events and pagination info
1416
1415
  */
1417
- abstract getEvents(eventFilter: RPCSPEC0103.EventFilter | RPCSPEC09.EventFilter): Promise<RPCSPEC0103.EVENTS_CHUNK | RPCSPEC09.EVENTS_CHUNK>;
1416
+ abstract getEvents(eventFilter: RPCSPEC0103.EventFilter | RPC.EventFilter): Promise<RPCSPEC0103.EVENTS_CHUNK | RPC.EVENTS_CHUNK>;
1418
1417
  /**
1419
1418
  * Verify in Starknet a signature of a TypedData object or of a given hash.
1420
1419
  * @param {BigNumberish | TypedData} message TypedData object to be verified, or message hash to be verified.
@@ -1456,7 +1455,7 @@ declare abstract class ProviderInterface {
1456
1455
  * @param transactionHash - L1 transaction hash
1457
1456
  * @returns L1 message status
1458
1457
  */
1459
- abstract getL1MessagesStatus(transactionHash: BigNumberish): Promise<RPCSPEC0103.L1L2MessagesStatus | RPCSPEC09.L1L2MessagesStatus>;
1458
+ abstract getL1MessagesStatus(transactionHash: BigNumberish): Promise<RPCSPEC0103.L1L2MessagesStatus | RPC.L1L2MessagesStatus>;
1460
1459
  /**
1461
1460
  * Get Merkle paths in state tries
1462
1461
  * @param classHashes - class hashes
@@ -4497,7 +4496,7 @@ declare class RpcChannel$2 {
4497
4496
  setChainId(chainId: _StarknetChainId): void;
4498
4497
  fetch(method: string, params?: object, id?: string | number): Promise<Response>;
4499
4498
  protected errorHandler(method: string, params: any, rpcError?: Error$1, otherError?: any): void;
4500
- protected fetchEndpoint<T extends keyof RPCSPEC09.Methods>(method: T, params?: RPCSPEC09.Methods[T]['params']): Promise<RPCSPEC09.Methods[T]['result']>;
4499
+ protected fetchEndpoint<T extends keyof RPC.Methods>(method: T, params?: RPC.Methods[T]['params']): Promise<RPC.Methods[T]['result']>;
4501
4500
  getChainId(): Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">;
4502
4501
  /**
4503
4502
  * fetch rpc node specVersion
@@ -4512,10 +4511,10 @@ declare class RpcChannel$2 {
4512
4511
  /**
4513
4512
  * Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order
4514
4513
  */
4515
- getMessagesStatus(txHash: BigNumberish): Promise<RPCSPEC09.L1L2MessagesStatus>;
4516
- getStorageProof(classHashes?: BigNumberish[], contractAddresses?: BigNumberish[], contractsStorageKeys?: RPCSPEC09.CONTRACT_STORAGE_KEYS[], // TODO: allow BigNUmberish[] and fix formatting before request
4517
- blockIdentifier?: BlockIdentifier): Promise<RPCSPEC09.StorageProof>;
4518
- getCompiledCasm(classHash: BigNumberish): Promise<RPCSPEC09.CASM_COMPILED_CONTRACT_CLASS>;
4514
+ getMessagesStatus(txHash: BigNumberish): Promise<RPC.L1L2MessagesStatus>;
4515
+ getStorageProof(classHashes?: BigNumberish[], contractAddresses?: BigNumberish[], contractsStorageKeys?: RPC.CONTRACT_STORAGE_KEYS[], // TODO: allow BigNUmberish[] and fix formatting before request
4516
+ blockIdentifier?: BlockIdentifier): Promise<RPC.StorageProof>;
4517
+ getCompiledCasm(classHash: BigNumberish): Promise<RPC.CASM_COMPILED_CONTRACT_CLASS>;
4519
4518
  getNonceForAddress(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<string>;
4520
4519
  /**
4521
4520
  * Helper method to get the starknet version from the block, default latest block
@@ -4525,7 +4524,7 @@ declare class RpcChannel$2 {
4525
4524
  /**
4526
4525
  * Get the most recent accepted block hash and number
4527
4526
  */
4528
- getBlockLatestAccepted(): Promise<RPCSPEC09.BlockHashAndNumber>;
4527
+ getBlockLatestAccepted(): Promise<RPC.BlockHashAndNumber>;
4529
4528
  /**
4530
4529
  * Get the most recent accepted block number
4531
4530
  * redundant use getBlockLatestAccepted();
@@ -4533,42 +4532,42 @@ declare class RpcChannel$2 {
4533
4532
  */
4534
4533
  getBlockNumber(): Promise<number>;
4535
4534
  getBlockWithTxHashes(blockIdentifier?: BlockIdentifier): Promise<({
4536
- status: RPCSPEC09.BLOCK_STATUS;
4537
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPCSPEC09.BLOCK_BODY_WITH_TX_HASHES & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
4535
+ status: RPC.BLOCK_STATUS;
4536
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPC.BLOCK_BODY_WITH_TX_HASHES & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4538
4537
  block_hash?: undefined;
4539
4538
  new_root?: undefined;
4540
4539
  status?: undefined;
4541
4540
  parent_hash?: undefined;
4542
4541
  })>;
4543
4542
  getBlockWithTxs(blockIdentifier?: BlockIdentifier): Promise<({
4544
- status: RPCSPEC09.BLOCK_STATUS;
4545
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_TXS & {}) | (RPCSPEC09.BLOCK_BODY_WITH_TXS & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
4543
+ status: RPC.BLOCK_STATUS;
4544
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TXS & {}) | (RPC.BLOCK_BODY_WITH_TXS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4546
4545
  block_hash?: undefined;
4547
4546
  new_root?: undefined;
4548
4547
  status?: undefined;
4549
4548
  parent_hash?: undefined;
4550
4549
  })>;
4551
4550
  getBlockWithReceipts(blockIdentifier?: BlockIdentifier): Promise<({
4552
- status: RPCSPEC09.BLOCK_STATUS;
4553
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPCSPEC09.BLOCK_BODY_WITH_RECEIPTS & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
4551
+ status: RPC.BLOCK_STATUS;
4552
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPC.BLOCK_BODY_WITH_RECEIPTS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4554
4553
  block_hash?: undefined;
4555
4554
  new_root?: undefined;
4556
4555
  status?: undefined;
4557
4556
  parent_hash?: undefined;
4558
4557
  })>;
4559
- getBlockStateUpdate(blockIdentifier?: BlockIdentifier): Promise<(RPCSPEC09.STATE_UPDATE & {}) | (RPCSPEC09.PRE_CONFIRMED_STATE_UPDATE & {
4558
+ getBlockStateUpdate(blockIdentifier?: BlockIdentifier): Promise<(RPC.STATE_UPDATE & {}) | (RPC.PRE_CONFIRMED_STATE_UPDATE & {
4560
4559
  new_root?: undefined;
4561
4560
  })>;
4562
- getBlockTransactionsTraces(blockIdentifier?: BlockIdentifier): Promise<RPCSPEC09.BlockTransactionsTraces>;
4561
+ getBlockTransactionsTraces(blockIdentifier?: BlockIdentifier): Promise<RPC.BlockTransactionsTraces>;
4563
4562
  getBlockTransactionCount(blockIdentifier?: BlockIdentifier): Promise<number>;
4564
- getTransactionByHash(txHash: BigNumberish): Promise<RPCSPEC09.TXN_WITH_HASH>;
4565
- getTransactionByBlockIdAndIndex(blockIdentifier: BlockIdentifier, index: number): Promise<RPCSPEC09.TXN_WITH_HASH>;
4566
- getTransactionReceipt(txHash: BigNumberish): Promise<RPCSPEC09.TXN_RECEIPT_WITH_BLOCK_INFO>;
4567
- getTransactionTrace(txHash: BigNumberish): Promise<RPCSPEC09.TRANSACTION_TRACE>;
4563
+ getTransactionByHash(txHash: BigNumberish): Promise<RPC.TXN_WITH_HASH>;
4564
+ getTransactionByBlockIdAndIndex(blockIdentifier: BlockIdentifier, index: number): Promise<RPC.TXN_WITH_HASH>;
4565
+ getTransactionReceipt(txHash: BigNumberish): Promise<RPC.TXN_RECEIPT_WITH_BLOCK_INFO>;
4566
+ getTransactionTrace(txHash: BigNumberish): Promise<RPC.TRANSACTION_TRACE>;
4568
4567
  /**
4569
4568
  * Get the status of a transaction
4570
4569
  */
4571
- getTransactionStatus(transactionHash: BigNumberish): Promise<RPCSPEC09.TXN_STATUS_RESULT>;
4570
+ getTransactionStatus(transactionHash: BigNumberish): Promise<RPC.TXN_STATUS_RESULT>;
4572
4571
  /**
4573
4572
  * @param invocations AccountInvocations
4574
4573
  * @param simulateTransactionOptions blockIdentifier and flags to skip validation and fee charge<br/>
@@ -4576,49 +4575,50 @@ declare class RpcChannel$2 {
4576
4575
  * - skipValidate (default true)<br/>
4577
4576
  * - skipFeeCharge (default true)<br/>
4578
4577
  */
4579
- simulateTransaction(invocations: AccountInvocations, simulateTransactionOptions?: getSimulateTransactionOptions): Promise<RPCSPEC09.SimulateTransactionResponse>;
4580
- waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions): Promise<RPCSPEC09.TXN_RECEIPT>;
4578
+ simulateTransaction(invocations: AccountInvocations, simulateTransactionOptions?: getSimulateTransactionOptions): Promise<RPC.SimulateTransactionResponse>;
4579
+ waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions): Promise<RPC.TXN_RECEIPT>;
4581
4580
  getStorageAt(contractAddress: BigNumberish, key: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<string>;
4582
4581
  getClassHashAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<string>;
4583
- getClass(classHash: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPCSPEC09.CONTRACT_CLASS & {
4582
+ getClass(classHash: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC.CONTRACT_CLASS & {
4584
4583
  program?: undefined;
4585
- }) | (RPCSPEC09.DEPRECATED_CONTRACT_CLASS & {
4584
+ }) | (RPC.DEPRECATED_CONTRACT_CLASS & {
4586
4585
  sierra_program?: undefined;
4587
4586
  contract_class_version?: undefined;
4588
4587
  })>;
4589
- getClassAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPCSPEC09.CONTRACT_CLASS & {
4588
+ getClassAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC.CONTRACT_CLASS & {
4590
4589
  program?: undefined;
4591
- }) | (RPCSPEC09.DEPRECATED_CONTRACT_CLASS & {
4590
+ }) | (RPC.DEPRECATED_CONTRACT_CLASS & {
4592
4591
  sierra_program?: undefined;
4593
4592
  contract_class_version?: undefined;
4594
4593
  })>;
4595
- getEstimateFee(invocations: AccountInvocations, options?: getEstimateFeeBulkOptions): Promise<RPCSPEC09.FEE_ESTIMATE[]>;
4596
- invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce): Promise<RPCSPEC09.InvokedTransaction>;
4597
- declare(declareTransaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPCSPEC09.DeclaredTransaction | RPCSPEC09.TXN_RECEIPT>;
4598
- deployAccount(deployAccountTransaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPCSPEC09.DeployedAccountTransaction | RPCSPEC09.TXN_RECEIPT>;
4594
+ getEstimateFee(invocations: AccountInvocations, options?: getEstimateFeeBulkOptions): Promise<RPC.FEE_ESTIMATE[]>;
4595
+ invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce): Promise<RPC.InvokedTransaction>;
4596
+ invokeSignedTx(transaction: RPC.INVOKE_TXN_V3): Promise<RPC.InvokedTransaction>;
4597
+ declare(declareTransaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC.DeclaredTransaction | RPC.TXN_RECEIPT>;
4598
+ deployAccount(deployAccountTransaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC.DeployedAccountTransaction | RPC.TXN_RECEIPT>;
4599
4599
  callContract(call: Call, blockIdentifier?: BlockIdentifier): Promise<string[]>;
4600
4600
  /**
4601
4601
  * NEW: Estimate the fee for a message from L1
4602
4602
  * @param message Message From L1
4603
4603
  */
4604
- estimateMessageFee(message: RPCSPEC09.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPCSPEC09.MESSAGE_FEE_ESTIMATE>;
4604
+ estimateMessageFee(message: RPC.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPC.MESSAGE_FEE_ESTIMATE>;
4605
4605
  /**
4606
4606
  * Returns an object about the sync status, or false if the node is not synching
4607
4607
  * @returns Object with the stats data
4608
4608
  */
4609
- getSyncingStats(): Promise<RPCSPEC09.Syncing>;
4609
+ getSyncingStats(): Promise<RPC.Syncing>;
4610
4610
  /**
4611
4611
  * Returns all events matching the given filter
4612
4612
  * @returns events and the pagination of the events
4613
4613
  */
4614
- getEvents(eventFilter: RPCSPEC09.EventFilter): Promise<RPCSPEC09.EVENTS_CHUNK>;
4614
+ getEvents(eventFilter: RPC.EventFilter): Promise<RPC.EVENTS_CHUNK>;
4615
4615
  buildTransaction<T extends AccountInvocationItem>(invocation: T, versionType?: 'fee' | 'transaction'): Promise<T extends {
4616
4616
  type: typeof ETransactionType.INVOKE;
4617
- } ? RPCSPEC09.INVOKE_TXN_V3 : T extends {
4617
+ } ? RPC.INVOKE_TXN_V3 : T extends {
4618
4618
  type: typeof ETransactionType.DECLARE;
4619
- } ? RPCSPEC09.BROADCASTED_DECLARE_TXN_V3 : T extends {
4619
+ } ? RPC.BROADCASTED_DECLARE_TXN_V3 : T extends {
4620
4620
  type: typeof ETransactionType.DEPLOY_ACCOUNT;
4621
- } ? RPCSPEC09.DEPLOY_ACCOUNT_TXN_V3 : never>;
4621
+ } ? RPC.DEPLOY_ACCOUNT_TXN_V3 : never>;
4622
4622
  }
4623
4623
 
4624
4624
  declare namespace rpc_0_9_0 {
@@ -4651,7 +4651,7 @@ declare class RpcChannel$1 {
4651
4651
  setChainId(chainId: _StarknetChainId): void;
4652
4652
  fetch(method: string, params?: object, id?: string | number): Promise<Response>;
4653
4653
  protected errorHandler(method: string, params: any, rpcError?: Error$1, otherError?: any): void;
4654
- protected fetchEndpoint<T extends keyof RPC.Methods>(method: T, params?: RPC.Methods[T]['params']): Promise<RPC.Methods[T]['result']>;
4654
+ protected fetchEndpoint<T extends keyof RPC$1.Methods>(method: T, params?: RPC$1.Methods[T]['params']): Promise<RPC$1.Methods[T]['result']>;
4655
4655
  getChainId(): Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">;
4656
4656
  /**
4657
4657
  * fetch rpc node specVersion
@@ -4666,10 +4666,10 @@ declare class RpcChannel$1 {
4666
4666
  /**
4667
4667
  * Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order
4668
4668
  */
4669
- getMessagesStatus(txHash: BigNumberish): Promise<RPC.L1L2MessagesStatus>;
4670
- getStorageProof(classHashes?: BigNumberish[], contractAddresses?: BigNumberish[], contractsStorageKeys?: RPC.CONTRACT_STORAGE_KEYS[], // TODO: allow BigNUmberish[] and fix formatting before request
4671
- blockIdentifier?: BlockIdentifier): Promise<RPC.StorageProof>;
4672
- getCompiledCasm(classHash: BigNumberish): Promise<RPC.CASM_COMPILED_CONTRACT_CLASS>;
4669
+ getMessagesStatus(txHash: BigNumberish): Promise<RPC$1.L1L2MessagesStatus>;
4670
+ getStorageProof(classHashes?: BigNumberish[], contractAddresses?: BigNumberish[], contractsStorageKeys?: RPC$1.CONTRACT_STORAGE_KEYS[], // TODO: allow BigNUmberish[] and fix formatting before request
4671
+ blockIdentifier?: BlockIdentifier): Promise<RPC$1.StorageProof>;
4672
+ getCompiledCasm(classHash: BigNumberish): Promise<RPC$1.CASM_COMPILED_CONTRACT_CLASS>;
4673
4673
  getNonceForAddress(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<string>;
4674
4674
  /**
4675
4675
  * Helper method to get the starknet version from the block, default latest block
@@ -4679,7 +4679,7 @@ declare class RpcChannel$1 {
4679
4679
  /**
4680
4680
  * Get the most recent accepted block hash and number
4681
4681
  */
4682
- getBlockLatestAccepted(): Promise<RPC.BlockHashAndNumber>;
4682
+ getBlockLatestAccepted(): Promise<RPC$1.BlockHashAndNumber>;
4683
4683
  /**
4684
4684
  * Get the most recent accepted block number
4685
4685
  * redundant use getBlockLatestAccepted();
@@ -4687,8 +4687,8 @@ declare class RpcChannel$1 {
4687
4687
  */
4688
4688
  getBlockNumber(): Promise<number>;
4689
4689
  getBlockWithTxHashes(blockIdentifier?: BlockIdentifier): Promise<({
4690
- status: RPC.BLOCK_STATUS;
4691
- } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPC.BLOCK_BODY_WITH_TX_HASHES & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4690
+ status: RPC$1.BLOCK_STATUS;
4691
+ } & RPC$1.BLOCK_HEADER & RPC$1.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPC$1.BLOCK_BODY_WITH_TX_HASHES & RPC$1.PRE_CONFIRMED_BLOCK_HEADER & {
4692
4692
  block_hash?: undefined;
4693
4693
  new_root?: undefined;
4694
4694
  status?: undefined;
@@ -4710,8 +4710,8 @@ declare class RpcChannel$1 {
4710
4710
  getBlockWithTxs(blockIdentifier?: BlockIdentifier, options?: {
4711
4711
  includeProofFacts?: boolean;
4712
4712
  }): Promise<({
4713
- status: RPC.BLOCK_STATUS;
4714
- } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TXS & {}) | (RPC.BLOCK_BODY_WITH_TXS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4713
+ status: RPC$1.BLOCK_STATUS;
4714
+ } & RPC$1.BLOCK_HEADER & RPC$1.BLOCK_BODY_WITH_TXS & {}) | (RPC$1.BLOCK_BODY_WITH_TXS & RPC$1.PRE_CONFIRMED_BLOCK_HEADER & {
4715
4715
  block_hash?: undefined;
4716
4716
  new_root?: undefined;
4717
4717
  status?: undefined;
@@ -4733,8 +4733,8 @@ declare class RpcChannel$1 {
4733
4733
  getBlockWithReceipts(blockIdentifier?: BlockIdentifier, options?: {
4734
4734
  includeProofFacts?: boolean;
4735
4735
  }): Promise<({
4736
- status: RPC.BLOCK_STATUS;
4737
- } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPC.BLOCK_BODY_WITH_RECEIPTS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
4736
+ status: RPC$1.BLOCK_STATUS;
4737
+ } & RPC$1.BLOCK_HEADER & RPC$1.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPC$1.BLOCK_BODY_WITH_RECEIPTS & RPC$1.PRE_CONFIRMED_BLOCK_HEADER & {
4738
4738
  block_hash?: undefined;
4739
4739
  new_root?: undefined;
4740
4740
  status?: undefined;
@@ -4747,7 +4747,7 @@ declare class RpcChannel$1 {
4747
4747
  transaction_count?: undefined;
4748
4748
  state_diff_length?: undefined;
4749
4749
  })>;
4750
- getBlockStateUpdate(blockIdentifier?: BlockIdentifier, contractAddresses?: BigNumberish[]): Promise<(RPC.STATE_UPDATE & {}) | (RPC.PRE_CONFIRMED_STATE_UPDATE & {
4750
+ getBlockStateUpdate(blockIdentifier?: BlockIdentifier, contractAddresses?: BigNumberish[]): Promise<(RPC$1.STATE_UPDATE & {}) | (RPC$1.PRE_CONFIRMED_STATE_UPDATE & {
4751
4751
  new_root?: undefined;
4752
4752
  })>;
4753
4753
  /**
@@ -4758,7 +4758,7 @@ declare class RpcChannel$1 {
4758
4758
  */
4759
4759
  getBlockTransactionsTraces(blockIdentifier?: BlockIdentifier, options?: {
4760
4760
  returnInitialReads?: boolean;
4761
- }): Promise<RPC.BlockTransactionsTraces>;
4761
+ }): Promise<RPC$1.BlockTransactionsTraces>;
4762
4762
  getBlockTransactionCount(blockIdentifier?: BlockIdentifier): Promise<number>;
4763
4763
  /**
4764
4764
  * Get transaction by hash
@@ -4768,7 +4768,7 @@ declare class RpcChannel$1 {
4768
4768
  */
4769
4769
  getTransactionByHash(txHash: BigNumberish, options?: {
4770
4770
  includeProofFacts?: boolean;
4771
- }): Promise<RPC.TXN_WITH_HASH>;
4771
+ }): Promise<RPC$1.TXN_WITH_HASH>;
4772
4772
  /**
4773
4773
  * Get transaction by block identifier and index
4774
4774
  * @param blockIdentifier - block identifier
@@ -4778,13 +4778,13 @@ declare class RpcChannel$1 {
4778
4778
  */
4779
4779
  getTransactionByBlockIdAndIndex(blockIdentifier: BlockIdentifier, index: number, options?: {
4780
4780
  includeProofFacts?: boolean;
4781
- }): Promise<RPC.TXN_WITH_HASH>;
4782
- getTransactionReceipt(txHash: BigNumberish): Promise<RPC.TXN_RECEIPT_WITH_BLOCK_INFO>;
4783
- getTransactionTrace(txHash: BigNumberish): Promise<RPC.TRANSACTION_TRACE>;
4781
+ }): Promise<RPC$1.TXN_WITH_HASH>;
4782
+ getTransactionReceipt(txHash: BigNumberish): Promise<RPC$1.TXN_RECEIPT_WITH_BLOCK_INFO>;
4783
+ getTransactionTrace(txHash: BigNumberish): Promise<RPC$1.TRANSACTION_TRACE>;
4784
4784
  /**
4785
4785
  * Get the status of a transaction
4786
4786
  */
4787
- getTransactionStatus(transactionHash: BigNumberish): Promise<RPC.TXN_STATUS_RESULT>;
4787
+ getTransactionStatus(transactionHash: BigNumberish): Promise<RPC$1.TXN_STATUS_RESULT>;
4788
4788
  /**
4789
4789
  * @param invocations AccountInvocations
4790
4790
  * @param simulateTransactionOptions blockIdentifier and flags to skip validation and fee charge<br/>
@@ -4793,49 +4793,50 @@ declare class RpcChannel$1 {
4793
4793
  * - skipFeeCharge (default true)<br/>
4794
4794
  * - returnInitialReads (default false) - include initial storage reads in trace (RPC 0.10.1+)<br/>
4795
4795
  */
4796
- simulateTransaction(invocations: AccountInvocations, simulateTransactionOptions?: getSimulateTransactionOptions): Promise<RPC.SimulateTransactionResponse>;
4797
- waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions): Promise<RPC.TXN_RECEIPT>;
4798
- getStorageAt(contractAddress: BigNumberish, key: BigNumberish, blockIdentifier?: BlockIdentifier, responseFlags?: RPC.STORAGE_RESPONSE_FLAG[]): Promise<string | RPC.STORAGE_RESULT>;
4796
+ simulateTransaction(invocations: AccountInvocations, simulateTransactionOptions?: getSimulateTransactionOptions): Promise<RPC$1.SimulateTransactionResponse>;
4797
+ waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions): Promise<RPC$1.TXN_RECEIPT>;
4798
+ getStorageAt(contractAddress: BigNumberish, key: BigNumberish, blockIdentifier?: BlockIdentifier, responseFlags?: RPC$1.STORAGE_RESPONSE_FLAG[]): Promise<string | RPC$1.STORAGE_RESULT>;
4799
4799
  getClassHashAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<string>;
4800
- getClass(classHash: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC.CONTRACT_CLASS & {
4800
+ getClass(classHash: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC$1.CONTRACT_CLASS & {
4801
4801
  program?: undefined;
4802
- }) | (RPC.DEPRECATED_CONTRACT_CLASS & {
4802
+ }) | (RPC$1.DEPRECATED_CONTRACT_CLASS & {
4803
4803
  sierra_program?: undefined;
4804
4804
  contract_class_version?: undefined;
4805
4805
  })>;
4806
- getClassAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC.CONTRACT_CLASS & {
4806
+ getClassAt(contractAddress: BigNumberish, blockIdentifier?: BlockIdentifier): Promise<(RPC$1.CONTRACT_CLASS & {
4807
4807
  program?: undefined;
4808
- }) | (RPC.DEPRECATED_CONTRACT_CLASS & {
4808
+ }) | (RPC$1.DEPRECATED_CONTRACT_CLASS & {
4809
4809
  sierra_program?: undefined;
4810
4810
  contract_class_version?: undefined;
4811
4811
  })>;
4812
- getEstimateFee(invocations: AccountInvocations, options?: getEstimateFeeBulkOptions): Promise<RPC.FEE_ESTIMATE[]>;
4813
- invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce): Promise<RPC.InvokedTransaction>;
4814
- declare(declareTransaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC.TXN_RECEIPT | RPC.DeclaredTransaction>;
4815
- deployAccount(deployAccountTransaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC.TXN_RECEIPT | RPC.DeployedAccountTransaction>;
4812
+ getEstimateFee(invocations: AccountInvocations, options?: getEstimateFeeBulkOptions): Promise<RPC$1.FEE_ESTIMATE[]>;
4813
+ invoke(functionInvocation: Invocation, details: InvocationsDetailsWithNonce): Promise<RPC$1.InvokedTransaction>;
4814
+ invokeSignedTx(transaction: RPC$1.INVOKE_TXN_V3): Promise<RPC$1.InvokedTransaction>;
4815
+ declare(declareTransaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC$1.TXN_RECEIPT | RPC$1.DeclaredTransaction>;
4816
+ deployAccount(deployAccountTransaction: DeployAccountContractTransaction, details: InvocationsDetailsWithNonce): Promise<RPC$1.TXN_RECEIPT | RPC$1.DeployedAccountTransaction>;
4816
4817
  callContract(call: Call, blockIdentifier?: BlockIdentifier): Promise<string[]>;
4817
4818
  /**
4818
4819
  * NEW: Estimate the fee for a message from L1
4819
4820
  * @param message Message From L1
4820
4821
  */
4821
- estimateMessageFee(message: RPC.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPC.MESSAGE_FEE_ESTIMATE>;
4822
+ estimateMessageFee(message: RPC$1.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPC$1.MESSAGE_FEE_ESTIMATE>;
4822
4823
  /**
4823
4824
  * Returns an object about the sync status, or false if the node is not synching
4824
4825
  * @returns Object with the stats data
4825
4826
  */
4826
- getSyncingStats(): Promise<RPC.Syncing>;
4827
+ getSyncingStats(): Promise<RPC$1.Syncing>;
4827
4828
  /**
4828
4829
  * Returns all events matching the given filter
4829
4830
  * @returns events and the pagination of the events
4830
4831
  */
4831
- getEvents(eventFilter: RPC.EventFilter): Promise<RPC.EVENTS_CHUNK>;
4832
+ getEvents(eventFilter: RPC$1.EventFilter): Promise<RPC$1.EVENTS_CHUNK>;
4832
4833
  buildTransaction<T extends AccountInvocationItem>(invocation: T, versionType?: 'fee' | 'transaction'): Promise<T extends {
4833
4834
  type: typeof ETransactionType.INVOKE;
4834
- } ? RPC.BROADCASTED_INVOKE_TXN : T extends {
4835
+ } ? RPC$1.BROADCASTED_INVOKE_TXN : T extends {
4835
4836
  type: typeof ETransactionType.DECLARE;
4836
- } ? RPC.BROADCASTED_DECLARE_TXN_V3 : T extends {
4837
+ } ? RPC$1.BROADCASTED_DECLARE_TXN_V3 : T extends {
4837
4838
  type: typeof ETransactionType.DEPLOY_ACCOUNT;
4838
- } ? RPC.DEPLOY_ACCOUNT_TXN_V3 : never>;
4839
+ } ? RPC$1.DEPLOY_ACCOUNT_TXN_V3 : never>;
4839
4840
  }
4840
4841
 
4841
4842
  declare namespace rpc_0_10_2 {
@@ -5318,6 +5319,198 @@ declare class PluginManager {
5318
5319
  hasPlugin(name: string): boolean;
5319
5320
  }
5320
5321
 
5322
+ interface StarknetIdProviderMethods {
5323
+ getStarkName(address: BigNumberish, StarknetIdContract?: string): Promise<string>;
5324
+ getAddressFromStarkName(name: string, StarknetIdContract?: string): Promise<string>;
5325
+ getStarkProfile(address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
5326
+ }
5327
+ interface StarknetIdAccountMethods {
5328
+ getStarkName(address?: BigNumberish, StarknetIdContract?: string): Promise<string>;
5329
+ getAddressFromStarkName(name: string, StarknetIdContract?: string): Promise<string>;
5330
+ getStarkProfile(address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
5331
+ }
5332
+ declare class StarknetIdImpl {
5333
+ static getStarkName(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string): Promise<string>;
5334
+ static getAddressFromStarkName(provider: ProviderInterface, name: string, StarknetIdContract?: string): Promise<string>;
5335
+ static getStarkProfile(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
5336
+ }
5337
+
5338
+ interface BrotherProfile {
5339
+ name: string;
5340
+ resolver: string;
5341
+ tokenId: string;
5342
+ expiryDate: number;
5343
+ lastTransferTime: number;
5344
+ }
5345
+ interface BrotherIdProviderMethods {
5346
+ getBrotherName(address: BigNumberish, BrotherIdContract?: string): Promise<string>;
5347
+ getAddressFromBrotherName(name: string, BrotherIdContract?: string): Promise<string>;
5348
+ getBrotherProfile(address: BigNumberish, BrotherIdContract?: string): Promise<BrotherProfile>;
5349
+ }
5350
+ declare class BrotherIdImpl {
5351
+ static getBrotherName(provider: ProviderInterface, address: BigNumberish, BrotherIdContract?: string): Promise<string>;
5352
+ static getAddressFromBrotherName(provider: ProviderInterface, name: string, BrotherIdContract?: string): Promise<string>;
5353
+ static getBrotherProfile(provider: ProviderInterface, address: BigNumberish, BrotherIdContract?: string): Promise<BrotherProfile>;
5354
+ }
5355
+ /**
5356
+ * BrotherId plugin - adds .brother domain resolution methods.
5357
+ *
5358
+ * @example
5359
+ * ```typescript
5360
+ * import { RpcProvider, brotherId } from 'starknet';
5361
+ * const provider = new RpcProvider({ plugins: [brotherId()] });
5362
+ * const name = await provider.getBrotherName('0x123...');
5363
+ * ```
5364
+ */
5365
+ declare function brotherId(): StarknetPlugin<BrotherIdProviderMethods>;
5366
+
5367
+ /**
5368
+ * Options for controlling fastWaitForTransaction polling behavior
5369
+ */
5370
+ type FastWaitForTransactionOptions = {
5371
+ /** Number of retry attempts (default: 50) */
5372
+ retries?: number;
5373
+ /** Milliseconds to wait between retries (default: 500) */
5374
+ retryInterval?: number;
5375
+ };
5376
+ /**
5377
+ * Response from fastExecute() containing transaction result and readiness status
5378
+ */
5379
+ type FastExecuteResponse = {
5380
+ /** The transaction invoke response with transaction hash */
5381
+ txResult: InvokeFunctionResponse;
5382
+ /** Whether the next transaction can be executed immediately */
5383
+ isReady: boolean;
5384
+ };
5385
+ /**
5386
+ * Provider methods added by the FastExecute plugin
5387
+ */
5388
+ interface FastExecuteProviderMethods {
5389
+ /**
5390
+ * Wait for transaction confirmation with polling optimization for gaming.
5391
+ *
5392
+ * This method is fast but Events and transaction reports are not yet available.
5393
+ * Useful for gaming activity and rapid-fire transaction scenarios.
5394
+ *
5395
+ * Only available on RPC 0.9 and onwards.
5396
+ *
5397
+ * @param {BigNumberish} txHash - Transaction hash to monitor
5398
+ * @param {string} address - Address of the account (used to track nonce changes)
5399
+ * @param {BigNumberish} initNonce - Initial nonce of the account (before the transaction)
5400
+ * @param {FastWaitForTransactionOptions} [options={retries: 50, retryInterval: 500}] - Polling configuration
5401
+ * options. `retries` is the number of times to retry (default: 50), `retryInterval` is the time in ms
5402
+ * between retries (default: 500).
5403
+ * @returns {Promise<boolean>} Returns true if the next transaction is possible (nonce increment detected),
5404
+ * false if the timeout has been reached, or throws an error in case of provider communication failure
5405
+ * or transaction reversion.
5406
+ *
5407
+ * @example
5408
+ * ```typescript
5409
+ * const isReady = await provider.fastWaitForTransaction(
5410
+ * '0x123abc...',
5411
+ * '0x456def...',
5412
+ * 10,
5413
+ * { retries: 30, retryInterval: 500 }
5414
+ * );
5415
+ *
5416
+ * if (isReady) {
5417
+ * // Next transaction can be sent
5418
+ * }
5419
+ * ```
5420
+ */
5421
+ fastWaitForTransaction(txHash: BigNumberish, address: string, initNonce: BigNumberish, options?: FastWaitForTransactionOptions): Promise<boolean>;
5422
+ }
5423
+ /**
5424
+ * Account methods added by the FastExecute plugin
5425
+ */
5426
+ interface FastExecuteAccountMethods {
5427
+ /**
5428
+ * Execute one or multiple calls through the account contract,
5429
+ * responding as soon as a new transaction is possible with the same account.
5430
+ * Useful for gaming usage where rapid consecutive transactions are needed.
5431
+ *
5432
+ * This method requires the provider to be initialized with `pre_confirmed` blockIdentifier option.
5433
+ * RPC 0.9 minimum.
5434
+ *
5435
+ * In a normal `account.execute()` call followed by `provider.waitForTransaction()`, you have immediate access
5436
+ * to the events and transaction report. Here, we process consecutive transactions faster, but events and
5437
+ * transaction reports are not available immediately.
5438
+ *
5439
+ * As a consequence of the above, do not use contract/account deployment with this method.
5440
+ *
5441
+ * @param {AllowArray<Call>} transactions - Single call or array of calls to execute
5442
+ * @param {UniversalDetails} [transactionsDetail] - Transaction execution options
5443
+ * @param {FastWaitForTransactionOptions} [waitDetail={retries: 50, retryInterval: 500}] - Options to scan the
5444
+ * network for the next possible transaction. `retries` is the number of times to retry (default: 50),
5445
+ * `retryInterval` is the time in ms between retries (default: 500).
5446
+ * @returns {Promise<FastExecuteResponse>} Response containing the transaction result and status for the next
5447
+ * transaction. If `isReady` is true, you can execute the next transaction immediately. If false,
5448
+ * timeout has been reached before the next transaction was possible.
5449
+ *
5450
+ * @example
5451
+ * ```typescript
5452
+ * const myProvider = new RpcProvider({
5453
+ * nodeUrl: url,
5454
+ * blockIdentifier: BlockTag.PRE_CONFIRMED
5455
+ * });
5456
+ * const myAccount = new Account({
5457
+ * provider: myProvider,
5458
+ * address: accountAddress0,
5459
+ * signer: privateKey0
5460
+ * });
5461
+ *
5462
+ * const resp = await myAccount.fastExecute(
5463
+ * call,
5464
+ * { tip: recommendedTip },
5465
+ * { retries: 30, retryInterval: 500 }
5466
+ * );
5467
+ *
5468
+ * // if resp.isReady is true, you can launch immediately a new tx
5469
+ * if (resp.isReady) {
5470
+ * // send next transaction
5471
+ * }
5472
+ * ```
5473
+ */
5474
+ fastExecute(transactions: any, transactionsDetail?: any, waitDetail?: FastWaitForTransactionOptions): Promise<FastExecuteResponse>;
5475
+ }
5476
+
5477
+ /**
5478
+ * FastExecute plugin - adds gaming-optimized transaction execution
5479
+ *
5480
+ * Provides fastExecute() on accounts and fastWaitForTransaction() on providers
5481
+ * for rapid successive transaction execution with minimal confirmation latency.
5482
+ *
5483
+ * Requires:
5484
+ * - RPC 0.9 or later
5485
+ * - Provider initialized with BlockTag.PRE_CONFIRMED
5486
+ *
5487
+ * @example
5488
+ * ```typescript
5489
+ * import { RpcProvider, Account } from 'starknet';
5490
+ * import { fastExecute } from 'starknet/plugins';
5491
+ *
5492
+ * const provider = new RpcProvider({
5493
+ * nodeUrl: url,
5494
+ * blockIdentifier: BlockTag.PRE_CONFIRMED,
5495
+ * });
5496
+ *
5497
+ * const account = new Account({ provider, address, signer });
5498
+ *
5499
+ * const resp = await account.fastExecute(
5500
+ * call,
5501
+ * { tip: recommendedTip },
5502
+ * { retries: 30, retryInterval: 500 }
5503
+ * );
5504
+ *
5505
+ * if (resp.isReady) {
5506
+ * // Next transaction can be sent immediately
5507
+ * }
5508
+ * ```
5509
+ */
5510
+ declare function fastExecute(): StarknetPlugin<FastExecuteProviderMethods, FastExecuteAccountMethods>;
5511
+
5512
+ interface RpcProvider extends StarknetIdProviderMethods, BrotherIdProviderMethods, FastExecuteProviderMethods {
5513
+ }
5321
5514
  declare class RpcProvider implements ProviderInterface {
5322
5515
  responseParser: RPCResponseParser;
5323
5516
  channel: RpcChannel$2 | RpcChannel$1 | RpcChannel;
@@ -5353,11 +5546,11 @@ declare class RpcProvider implements ProviderInterface {
5353
5546
  getBlock(blockIdentifier: 'pre_confirmed'): Promise<PreConfirmedBlock>;
5354
5547
  getBlock(blockIdentifier: 'latest'): Promise<Block$1>;
5355
5548
  getBlock(blockIdentifier: BlockIdentifier): Promise<GetBlockResponse>;
5356
- getBlockLatestAccepted(): Promise<RPCSPEC09.BlockHashAndNumber>;
5549
+ getBlockLatestAccepted(): Promise<RPC.BlockHashAndNumber>;
5357
5550
  getBlockNumber(): Promise<number>;
5358
5551
  getBlockWithTxHashes(blockIdentifier?: BlockIdentifier): Promise<({
5359
- status: RPCSPEC09.BLOCK_STATUS;
5360
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPCSPEC09.BLOCK_BODY_WITH_TX_HASHES & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
5552
+ status: RPC.BLOCK_STATUS;
5553
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TX_HASHES & {}) | (RPC.BLOCK_BODY_WITH_TX_HASHES & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
5361
5554
  block_hash?: undefined;
5362
5555
  new_root?: undefined;
5363
5556
  status?: undefined;
@@ -5366,8 +5559,8 @@ declare class RpcProvider implements ProviderInterface {
5366
5559
  getBlockWithTxs(blockIdentifier?: BlockIdentifier, options?: {
5367
5560
  includeProofFacts?: boolean;
5368
5561
  }): Promise<({
5369
- status: RPCSPEC09.BLOCK_STATUS;
5370
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_TXS & {}) | (RPCSPEC09.BLOCK_BODY_WITH_TXS & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
5562
+ status: RPC.BLOCK_STATUS;
5563
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_TXS & {}) | (RPC.BLOCK_BODY_WITH_TXS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
5371
5564
  block_hash?: undefined;
5372
5565
  new_root?: undefined;
5373
5566
  status?: undefined;
@@ -5390,8 +5583,8 @@ declare class RpcProvider implements ProviderInterface {
5390
5583
  getBlockWithReceipts(blockIdentifier?: BlockIdentifier, options?: {
5391
5584
  includeProofFacts?: boolean;
5392
5585
  }): Promise<({
5393
- status: RPCSPEC09.BLOCK_STATUS;
5394
- } & RPCSPEC09.BLOCK_HEADER & RPCSPEC09.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPCSPEC09.BLOCK_BODY_WITH_RECEIPTS & RPCSPEC09.PRE_CONFIRMED_BLOCK_HEADER & {
5586
+ status: RPC.BLOCK_STATUS;
5587
+ } & RPC.BLOCK_HEADER & RPC.BLOCK_BODY_WITH_RECEIPTS & {}) | (RPC.BLOCK_BODY_WITH_RECEIPTS & RPC.PRE_CONFIRMED_BLOCK_HEADER & {
5395
5588
  block_hash?: undefined;
5396
5589
  new_root?: undefined;
5397
5590
  status?: undefined;
@@ -5409,99 +5602,99 @@ declare class RpcProvider implements ProviderInterface {
5409
5602
  getBlockStateUpdate(blockIdentifier?: BlockIdentifier, contractAddresses?: BigNumberish[]): Promise<StateUpdateResponse>;
5410
5603
  getBlockTransactionsTraces(blockIdentifier?: BlockIdentifier, options?: {
5411
5604
  returnInitialReads?: boolean;
5412
- }): Promise<RPCSPEC09.BlockTransactionsTraces | RPC.BlockTransactionsTracesWithInitialReads>;
5605
+ }): Promise<RPC.BlockTransactionsTraces | RPC$1.BlockTransactionsTracesWithInitialReads>;
5413
5606
  getBlockTransactionCount(blockIdentifier?: BlockIdentifier): Promise<number>;
5414
5607
  getTransaction(txHash: BigNumberish, options?: {
5415
5608
  includeProofFacts?: boolean;
5416
- }): Promise<(RPCSPEC09.INVOKE_TXN_V0 & {
5417
- transaction_hash: RPCSPEC09.TXN_HASH;
5418
- }) | (RPCSPEC09.INVOKE_TXN_V1 & {
5419
- transaction_hash: RPCSPEC09.TXN_HASH;
5420
- }) | (RPCSPEC09.INVOKE_TXN_V3 & {
5421
- transaction_hash: RPCSPEC09.TXN_HASH;
5609
+ }): Promise<(RPC.INVOKE_TXN_V0 & {
5610
+ transaction_hash: RPC.TXN_HASH;
5611
+ }) | (RPC.INVOKE_TXN_V1 & {
5612
+ transaction_hash: RPC.TXN_HASH;
5613
+ }) | (RPC.INVOKE_TXN_V3 & {
5614
+ transaction_hash: RPC.TXN_HASH;
5422
5615
  }) | ({
5423
5616
  version: "0x0";
5424
- type: Uppercase<RPCSPEC09.ABI_TYPE_L1_HANDLER>;
5425
- nonce: RPCSPEC09.NUM_AS_HEX;
5426
- } & RPCSPEC09.FUNCTION_CALL & {
5427
- transaction_hash: RPCSPEC09.TXN_HASH;
5428
- }) | (RPCSPEC09.DECLARE_TXN_V0 & {
5429
- transaction_hash: RPCSPEC09.TXN_HASH;
5430
- }) | (RPCSPEC09.DECLARE_TXN_V1 & {
5431
- transaction_hash: RPCSPEC09.TXN_HASH;
5432
- }) | (RPCSPEC09.DECLARE_TXN_V2 & {
5433
- transaction_hash: RPCSPEC09.TXN_HASH;
5434
- }) | (RPCSPEC09.DECLARE_TXN_V3 & {
5435
- transaction_hash: RPCSPEC09.TXN_HASH;
5436
- }) | (RPCSPEC09.DEPLOY_TXN & {
5437
- transaction_hash: RPCSPEC09.TXN_HASH;
5438
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V1 & {
5439
- transaction_hash: RPCSPEC09.TXN_HASH;
5440
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V3 & {
5441
- transaction_hash: RPCSPEC09.TXN_HASH;
5617
+ type: Uppercase<RPC.ABI_TYPE_L1_HANDLER>;
5618
+ nonce: RPC.NUM_AS_HEX;
5619
+ } & RPC.FUNCTION_CALL & {
5620
+ transaction_hash: RPC.TXN_HASH;
5621
+ }) | (RPC.DECLARE_TXN_V0 & {
5622
+ transaction_hash: RPC.TXN_HASH;
5623
+ }) | (RPC.DECLARE_TXN_V1 & {
5624
+ transaction_hash: RPC.TXN_HASH;
5625
+ }) | (RPC.DECLARE_TXN_V2 & {
5626
+ transaction_hash: RPC.TXN_HASH;
5627
+ }) | (RPC.DECLARE_TXN_V3 & {
5628
+ transaction_hash: RPC.TXN_HASH;
5629
+ }) | (RPC.DEPLOY_TXN & {
5630
+ transaction_hash: RPC.TXN_HASH;
5631
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V1 & {
5632
+ transaction_hash: RPC.TXN_HASH;
5633
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V3 & {
5634
+ transaction_hash: RPC.TXN_HASH;
5442
5635
  })>;
5443
5636
  getTransactionByHash(txHash: BigNumberish, options?: {
5444
5637
  includeProofFacts?: boolean;
5445
- }): Promise<(RPCSPEC09.INVOKE_TXN_V0 & {
5446
- transaction_hash: RPCSPEC09.TXN_HASH;
5447
- }) | (RPCSPEC09.INVOKE_TXN_V1 & {
5448
- transaction_hash: RPCSPEC09.TXN_HASH;
5449
- }) | (RPCSPEC09.INVOKE_TXN_V3 & {
5450
- transaction_hash: RPCSPEC09.TXN_HASH;
5638
+ }): Promise<(RPC.INVOKE_TXN_V0 & {
5639
+ transaction_hash: RPC.TXN_HASH;
5640
+ }) | (RPC.INVOKE_TXN_V1 & {
5641
+ transaction_hash: RPC.TXN_HASH;
5642
+ }) | (RPC.INVOKE_TXN_V3 & {
5643
+ transaction_hash: RPC.TXN_HASH;
5451
5644
  }) | ({
5452
5645
  version: "0x0";
5453
- type: Uppercase<RPCSPEC09.ABI_TYPE_L1_HANDLER>;
5454
- nonce: RPCSPEC09.NUM_AS_HEX;
5455
- } & RPCSPEC09.FUNCTION_CALL & {
5456
- transaction_hash: RPCSPEC09.TXN_HASH;
5457
- }) | (RPCSPEC09.DECLARE_TXN_V0 & {
5458
- transaction_hash: RPCSPEC09.TXN_HASH;
5459
- }) | (RPCSPEC09.DECLARE_TXN_V1 & {
5460
- transaction_hash: RPCSPEC09.TXN_HASH;
5461
- }) | (RPCSPEC09.DECLARE_TXN_V2 & {
5462
- transaction_hash: RPCSPEC09.TXN_HASH;
5463
- }) | (RPCSPEC09.DECLARE_TXN_V3 & {
5464
- transaction_hash: RPCSPEC09.TXN_HASH;
5465
- }) | (RPCSPEC09.DEPLOY_TXN & {
5466
- transaction_hash: RPCSPEC09.TXN_HASH;
5467
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V1 & {
5468
- transaction_hash: RPCSPEC09.TXN_HASH;
5469
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V3 & {
5470
- transaction_hash: RPCSPEC09.TXN_HASH;
5646
+ type: Uppercase<RPC.ABI_TYPE_L1_HANDLER>;
5647
+ nonce: RPC.NUM_AS_HEX;
5648
+ } & RPC.FUNCTION_CALL & {
5649
+ transaction_hash: RPC.TXN_HASH;
5650
+ }) | (RPC.DECLARE_TXN_V0 & {
5651
+ transaction_hash: RPC.TXN_HASH;
5652
+ }) | (RPC.DECLARE_TXN_V1 & {
5653
+ transaction_hash: RPC.TXN_HASH;
5654
+ }) | (RPC.DECLARE_TXN_V2 & {
5655
+ transaction_hash: RPC.TXN_HASH;
5656
+ }) | (RPC.DECLARE_TXN_V3 & {
5657
+ transaction_hash: RPC.TXN_HASH;
5658
+ }) | (RPC.DEPLOY_TXN & {
5659
+ transaction_hash: RPC.TXN_HASH;
5660
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V1 & {
5661
+ transaction_hash: RPC.TXN_HASH;
5662
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V3 & {
5663
+ transaction_hash: RPC.TXN_HASH;
5471
5664
  })>;
5472
5665
  getTransactionByBlockIdAndIndex(blockIdentifier: BlockIdentifier, index: number, options?: {
5473
5666
  includeProofFacts?: boolean;
5474
- }): Promise<(RPCSPEC09.INVOKE_TXN_V0 & {
5475
- transaction_hash: RPCSPEC09.TXN_HASH;
5476
- }) | (RPCSPEC09.INVOKE_TXN_V1 & {
5477
- transaction_hash: RPCSPEC09.TXN_HASH;
5478
- }) | (RPCSPEC09.INVOKE_TXN_V3 & {
5479
- transaction_hash: RPCSPEC09.TXN_HASH;
5667
+ }): Promise<(RPC.INVOKE_TXN_V0 & {
5668
+ transaction_hash: RPC.TXN_HASH;
5669
+ }) | (RPC.INVOKE_TXN_V1 & {
5670
+ transaction_hash: RPC.TXN_HASH;
5671
+ }) | (RPC.INVOKE_TXN_V3 & {
5672
+ transaction_hash: RPC.TXN_HASH;
5480
5673
  }) | ({
5481
5674
  version: "0x0";
5482
- type: Uppercase<RPCSPEC09.ABI_TYPE_L1_HANDLER>;
5483
- nonce: RPCSPEC09.NUM_AS_HEX;
5484
- } & RPCSPEC09.FUNCTION_CALL & {
5485
- transaction_hash: RPCSPEC09.TXN_HASH;
5486
- }) | (RPCSPEC09.DECLARE_TXN_V0 & {
5487
- transaction_hash: RPCSPEC09.TXN_HASH;
5488
- }) | (RPCSPEC09.DECLARE_TXN_V1 & {
5489
- transaction_hash: RPCSPEC09.TXN_HASH;
5490
- }) | (RPCSPEC09.DECLARE_TXN_V2 & {
5491
- transaction_hash: RPCSPEC09.TXN_HASH;
5492
- }) | (RPCSPEC09.DECLARE_TXN_V3 & {
5493
- transaction_hash: RPCSPEC09.TXN_HASH;
5494
- }) | (RPCSPEC09.DEPLOY_TXN & {
5495
- transaction_hash: RPCSPEC09.TXN_HASH;
5496
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V1 & {
5497
- transaction_hash: RPCSPEC09.TXN_HASH;
5498
- }) | (RPCSPEC09.DEPLOY_ACCOUNT_TXN_V3 & {
5499
- transaction_hash: RPCSPEC09.TXN_HASH;
5675
+ type: Uppercase<RPC.ABI_TYPE_L1_HANDLER>;
5676
+ nonce: RPC.NUM_AS_HEX;
5677
+ } & RPC.FUNCTION_CALL & {
5678
+ transaction_hash: RPC.TXN_HASH;
5679
+ }) | (RPC.DECLARE_TXN_V0 & {
5680
+ transaction_hash: RPC.TXN_HASH;
5681
+ }) | (RPC.DECLARE_TXN_V1 & {
5682
+ transaction_hash: RPC.TXN_HASH;
5683
+ }) | (RPC.DECLARE_TXN_V2 & {
5684
+ transaction_hash: RPC.TXN_HASH;
5685
+ }) | (RPC.DECLARE_TXN_V3 & {
5686
+ transaction_hash: RPC.TXN_HASH;
5687
+ }) | (RPC.DEPLOY_TXN & {
5688
+ transaction_hash: RPC.TXN_HASH;
5689
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V1 & {
5690
+ transaction_hash: RPC.TXN_HASH;
5691
+ }) | (RPC.DEPLOY_ACCOUNT_TXN_V3 & {
5692
+ transaction_hash: RPC.TXN_HASH;
5500
5693
  })>;
5501
5694
  getTransactionReceipt(txHash: BigNumberish): Promise<GetTransactionReceiptResponse>;
5502
- getTransactionTrace<V extends _SupportedRpcVersion = _SupportedRpcVersion>(txHash: BigNumberish): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.TRANSACTION_TRACE : RPCSPEC09.TRANSACTION_TRACE>;
5503
- getTransactionTrace(txHash: BigNumberish): Promise<RPCSPEC0103.TRANSACTION_TRACE | RPCSPEC09.TRANSACTION_TRACE>;
5504
- getTransactionStatus(transactionHash: BigNumberish): Promise<RPCSPEC09.TXN_STATUS_RESULT>;
5695
+ getTransactionTrace<V extends _SupportedRpcVersion = _SupportedRpcVersion>(txHash: BigNumberish): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.TRANSACTION_TRACE : RPC.TRANSACTION_TRACE>;
5696
+ getTransactionTrace(txHash: BigNumberish): Promise<RPCSPEC0103.TRANSACTION_TRACE | RPC.TRANSACTION_TRACE>;
5697
+ getTransactionStatus(transactionHash: BigNumberish): Promise<RPC.TXN_STATUS_RESULT>;
5505
5698
  getSimulateTransaction(invocations: AccountInvocations, options?: getSimulateTransactionOptions): Promise<SimulateTransactionOverheadResponse>;
5506
5699
  waitForTransaction(txHash: BigNumberish, options?: waitForTransactionOptions): Promise<GetTransactionReceiptResponse>;
5507
5700
  getStorageAt(contractAddress: BigNumberish, key: BigNumberish, blockIdentifier?: BlockIdentifier, responseFlags?: RPCSPEC0103.STORAGE_RESPONSE_FLAG[]): Promise<STORAGE_RESULT>;
@@ -5518,6 +5711,34 @@ declare class RpcProvider implements ProviderInterface {
5518
5711
  invokeFunction(functionInvocation: Invocation, details: InvocationsDetailsWithNonce): Promise<{
5519
5712
  transaction_hash: string;
5520
5713
  }>;
5714
+ /**
5715
+ * Submit a pre-signed INVOKE_TXN_V3 transaction to the network.
5716
+ *
5717
+ * Broadcasts a transaction previously built and signed by `Account.getSignedTransaction()`.
5718
+ * Fees are already included in the signed transaction and will not be re-estimated.
5719
+ *
5720
+ * @param transaction - A fully signed `RPC.INVOKE_TXN_V3` object, as returned by `Account.getSignedTransaction()`
5721
+ *
5722
+ * @returns The transaction hash if `waitMode` is disabled (default), or the transaction receipt if `waitMode` is enabled.
5723
+ *
5724
+ * @remarks
5725
+ * - The transaction must be signed before calling this method ; use `Account.getSignedTransaction()` to produce it.
5726
+ * - Resubmitting the same signed transaction (same nonce) will be rejected by the network.
5727
+ * - If `waitMode` is enabled on the provider, this method waits for the transaction to be included in a block before returning.
5728
+ *
5729
+ * @example
5730
+ * ```typescript
5731
+ * const signedTx = await account.getSignedTransaction([
5732
+ * { contractAddress: erc20Address, entrypoint: 'transfer', calldata: [recipient, amount, 0] }
5733
+ * ]);
5734
+ * // inspect or store signedTx, then submit when ready:
5735
+ * const { transaction_hash } = await provider.invokeSignedTx(signedTx);
5736
+ * await provider.waitForTransaction(transaction_hash);
5737
+ * ```
5738
+ */
5739
+ invokeSignedTx(transaction: INVOKE_TXN_V3): Promise<{
5740
+ transaction_hash: string;
5741
+ }>;
5521
5742
  declareContract(transaction: DeclareContractTransaction, details: InvocationsDetailsWithNonce): Promise<{
5522
5743
  class_hash: string;
5523
5744
  transaction_hash: string;
@@ -5527,11 +5748,11 @@ declare class RpcProvider implements ProviderInterface {
5527
5748
  transaction_hash: string;
5528
5749
  }>;
5529
5750
  callContract(call: Call, blockIdentifier?: BlockIdentifier): Promise<string[]>;
5530
- estimateMessageFee<V extends _SupportedRpcVersion = _SupportedRpcVersion>(message: RPCSPEC09.L1Message, blockIdentifier?: BlockIdentifier): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.FEE_ESTIMATE : RPCSPEC09.MESSAGE_FEE_ESTIMATE>;
5531
- estimateMessageFee(message: RPCSPEC09.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPCSPEC0103.FEE_ESTIMATE | RPCSPEC09.MESSAGE_FEE_ESTIMATE>;
5532
- getSyncingStats(): Promise<RPCSPEC09.Syncing>;
5533
- getEvents<V extends _SupportedRpcVersion = _SupportedRpcVersion>(eventFilter: V extends SupportedRpcVersion0_10 ? RPCSPEC0103.EventFilter : RPCSPEC09.EventFilter): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.EVENTS_CHUNK : RPCSPEC09.EVENTS_CHUNK>;
5534
- getEvents(eventFilter: RPCSPEC0103.EventFilter | RPCSPEC09.EventFilter): Promise<RPCSPEC0103.EVENTS_CHUNK | RPCSPEC09.EVENTS_CHUNK>;
5751
+ estimateMessageFee<V extends _SupportedRpcVersion = _SupportedRpcVersion>(message: RPC.L1Message, blockIdentifier?: BlockIdentifier): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.FEE_ESTIMATE : RPC.MESSAGE_FEE_ESTIMATE>;
5752
+ estimateMessageFee(message: RPC.L1Message, blockIdentifier?: BlockIdentifier): Promise<RPCSPEC0103.FEE_ESTIMATE | RPC.MESSAGE_FEE_ESTIMATE>;
5753
+ getSyncingStats(): Promise<RPC.Syncing>;
5754
+ getEvents<V extends _SupportedRpcVersion = _SupportedRpcVersion>(eventFilter: V extends SupportedRpcVersion0_10 ? RPCSPEC0103.EventFilter : RPC.EventFilter): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.EVENTS_CHUNK : RPC.EVENTS_CHUNK>;
5755
+ getEvents(eventFilter: RPCSPEC0103.EventFilter | RPC.EventFilter): Promise<RPCSPEC0103.EVENTS_CHUNK | RPC.EVENTS_CHUNK>;
5535
5756
  verifyMessageInStarknet(message: BigNumberish | TypedData, signature: Signature, accountAddress: BigNumberish, signatureVerificationFunctionName?: string, signatureVerificationResponse?: {
5536
5757
  okResponse: string[];
5537
5758
  nokResponse: string[];
@@ -5539,8 +5760,8 @@ declare class RpcProvider implements ProviderInterface {
5539
5760
  }): Promise<boolean>;
5540
5761
  isClassDeclared(contractClassIdentifier: ContractClassIdentifier, blockIdentifier?: BlockIdentifier): Promise<boolean>;
5541
5762
  prepareInvocations(invocations: Invocations): Promise<Invocations>;
5542
- getL1MessagesStatus<V extends _SupportedRpcVersion = _SupportedRpcVersion>(transactionHash: BigNumberish): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.L1L2MessagesStatus : RPCSPEC09.L1L2MessagesStatus>;
5543
- getL1MessagesStatus(transactionHash: BigNumberish): Promise<RPCSPEC0103.L1L2MessagesStatus | RPCSPEC09.L1L2MessagesStatus>;
5763
+ getL1MessagesStatus<V extends _SupportedRpcVersion = _SupportedRpcVersion>(transactionHash: BigNumberish): Promise<V extends SupportedRpcVersion0_10 ? RPCSPEC0103.L1L2MessagesStatus : RPC.L1L2MessagesStatus>;
5764
+ getL1MessagesStatus(transactionHash: BigNumberish): Promise<RPCSPEC0103.L1L2MessagesStatus | RPC.L1L2MessagesStatus>;
5544
5765
  getStorageProof(classHashes: BigNumberish[], contractAddresses: BigNumberish[], contractsStorageKeys: CONTRACT_STORAGE_KEYS[], blockIdentifier?: BlockIdentifier): Promise<StorageProof>;
5545
5766
  getCompiledCasm(classHash: BigNumberish): Promise<CASM_COMPILED_CONTRACT_CLASS>;
5546
5767
  getEstimateTip(blockIdentifier?: BlockIdentifier, options?: TipAnalysisOptions): Promise<TipEstimate>;
@@ -5573,6 +5794,8 @@ declare function verifyMessageInStarknet(provider: ProviderInterface, message: B
5573
5794
 
5574
5795
  declare function getGasPrices(channel: RpcChannel$2 | RpcChannel$1, blockIdentifier?: BlockIdentifier): Promise<GasPrices>;
5575
5796
 
5797
+ interface Account extends StarknetIdAccountMethods, BrotherIdProviderMethods, FastExecuteAccountMethods {
5798
+ }
5576
5799
  declare class Account implements AccountInterface {
5577
5800
  provider: RpcProvider;
5578
5801
  signer: SignerInterface;
@@ -5598,7 +5821,38 @@ declare class Account implements AccountInterface {
5598
5821
  estimateDeployFee(payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[], details?: UniversalDetails): Promise<EstimateFeeResponseOverhead>;
5599
5822
  estimateFeeBulk(invocations: Invocations, details?: UniversalDetails): Promise<EstimateFeeBulk>;
5600
5823
  simulateTransaction(invocations: Invocations, details?: SimulateTransactionDetails): Promise<SimulateTransactionOverheadResponse>;
5824
+ /**
5825
+ * Shared preparation logic for execute() and buildExecute().
5826
+ * Runs hooks, estimates fees, and builds accountInvocations.
5827
+ * @private
5828
+ */
5829
+ private prepareInvoke;
5601
5830
  execute(transactions: AllowArray<Call>, transactionsDetail?: UniversalDetails): Promise<InvokeFunctionResponse>;
5831
+ /**
5832
+ * Build a signed INVOKE_TXN_V3 transaction without submitting it to the network.
5833
+ *
5834
+ * Produces a fully signed transaction object that can be inspected, stored,
5835
+ * or submitted later via `provider.channel.sendTransaction()`.
5836
+ * Main usage is to send a virtual transaction to a proof server.
5837
+ * Fees are estimated automatically if not provided.
5838
+ *
5839
+ * @param transactions - Single call or array of calls to include in the transaction
5840
+ * @param transactionsDetail - Transaction execution options
5841
+ * @returns A fully signed `RPC.INVOKE_TXN_V3` object, ready to broadcast
5842
+ *
5843
+ * @remarks
5844
+ * - Unlike `execute()`, this method does **not** submit the transaction ; the account nonce is unchanged after the call.
5845
+ * - The `afterExecute` plugin hook is intentionally **not** triggered.
5846
+ * - The returned object can be broadcast with `provider.channel.sendTransaction()`.
5847
+ *
5848
+ * @example
5849
+ * ```typescript
5850
+ * const signedTx = await account.getSignedTransaction(
5851
+ * { contractAddress: erc20Address, entrypoint: 'transfer', calldata: [recipient, amount, 0] }
5852
+ * );
5853
+ * ```
5854
+ */
5855
+ getSignedTransaction(transactions: AllowArray<Call>, transactionsDetail?: UniversalDetails): Promise<INVOKE_TXN_V3>;
5602
5856
  /**
5603
5857
  * First check if contract is already declared, if not declare it
5604
5858
  * If contract already declared returned transaction_hash is ''.
@@ -5815,8 +6069,8 @@ declare class WalletAccountV5 extends Account {
5815
6069
  /**
5816
6070
  * ACCOUNT METHODS
5817
6071
  */
5818
- execute(calls: AllowArray<Call>): Promise<RPC.AddInvokeTransactionResult>;
5819
- declare(payload: DeclareContractPayload): Promise<RPC.AddDeclareTransactionResult>;
6072
+ execute(calls: AllowArray<Call>): Promise<RPC$1.AddInvokeTransactionResult>;
6073
+ declare(payload: DeclareContractPayload): Promise<RPC$1.AddDeclareTransactionResult>;
5820
6074
  deploy(payload: UniversalDeployerContractPayload | UniversalDeployerContractPayload[]): Promise<MultiDeployContractResponse>;
5821
6075
  signMessage(typedData: TypedData): Promise<Signature$2>;
5822
6076
  static connect(provider: ProviderOptions | ProviderInterface, walletProvider: WalletWithStarknetFeatures, cairoVersion?: CairoVersion, paymaster?: PaymasterOptions | PaymasterInterface, silentMode?: boolean): Promise<WalletAccountV5>;
@@ -6176,205 +6430,6 @@ declare class Contract implements ContractInterface {
6176
6430
  static factory(params: FactoryParams, details?: UniversalDetails): Promise<Contract>;
6177
6431
  }
6178
6432
 
6179
- interface StarknetIdProviderMethods {
6180
- getStarkName(address: BigNumberish, StarknetIdContract?: string): Promise<string>;
6181
- getAddressFromStarkName(name: string, StarknetIdContract?: string): Promise<string>;
6182
- getStarkProfile(address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
6183
- }
6184
- interface StarknetIdAccountMethods {
6185
- getStarkName(address?: BigNumberish, StarknetIdContract?: string): Promise<string>;
6186
- getAddressFromStarkName(name: string, StarknetIdContract?: string): Promise<string>;
6187
- getStarkProfile(address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
6188
- }
6189
- declare class StarknetIdImpl {
6190
- static getStarkName(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string): Promise<string>;
6191
- static getAddressFromStarkName(provider: ProviderInterface, name: string, StarknetIdContract?: string): Promise<string>;
6192
- static getStarkProfile(provider: ProviderInterface, address: BigNumberish, StarknetIdContract?: string, StarknetIdIdentityContract?: string, StarknetIdVerifierContract?: string, StarknetIdPfpContract?: string, StarknetIdPopContract?: string, StarknetIdMulticallContract?: string): Promise<StarkProfile>;
6193
- }
6194
-
6195
- interface BrotherProfile {
6196
- name: string;
6197
- resolver: string;
6198
- tokenId: string;
6199
- expiryDate: number;
6200
- lastTransferTime: number;
6201
- }
6202
- interface BrotherIdProviderMethods {
6203
- getBrotherName(address: BigNumberish, BrotherIdContract?: string): Promise<string>;
6204
- getAddressFromBrotherName(name: string, BrotherIdContract?: string): Promise<string>;
6205
- getBrotherProfile(address: BigNumberish, BrotherIdContract?: string): Promise<BrotherProfile>;
6206
- }
6207
- declare class BrotherIdImpl {
6208
- static getBrotherName(provider: ProviderInterface, address: BigNumberish, BrotherIdContract?: string): Promise<string>;
6209
- static getAddressFromBrotherName(provider: ProviderInterface, name: string, BrotherIdContract?: string): Promise<string>;
6210
- static getBrotherProfile(provider: ProviderInterface, address: BigNumberish, BrotherIdContract?: string): Promise<BrotherProfile>;
6211
- }
6212
- /**
6213
- * BrotherId plugin - adds .brother domain resolution methods.
6214
- *
6215
- * @example
6216
- * ```typescript
6217
- * import { RpcProvider, brotherId } from 'starknet';
6218
- * const provider = new RpcProvider({ plugins: [brotherId()] });
6219
- * const name = await provider.getBrotherName('0x123...');
6220
- * ```
6221
- */
6222
- declare function brotherId(): StarknetPlugin<BrotherIdProviderMethods>;
6223
-
6224
- declare module '../provider/rpc' {
6225
- interface RpcProvider extends StarknetIdProviderMethods, BrotherIdProviderMethods {
6226
- }
6227
- }
6228
- declare module '../account/default' {
6229
- interface Account extends StarknetIdAccountMethods, BrotherIdProviderMethods {
6230
- }
6231
- }
6232
-
6233
- /**
6234
- * Options for controlling fastWaitForTransaction polling behavior
6235
- */
6236
- type FastWaitForTransactionOptions = {
6237
- /** Number of retry attempts (default: 50) */
6238
- retries?: number;
6239
- /** Milliseconds to wait between retries (default: 500) */
6240
- retryInterval?: number;
6241
- };
6242
- /**
6243
- * Response from fastExecute() containing transaction result and readiness status
6244
- */
6245
- type FastExecuteResponse = {
6246
- /** The transaction invoke response with transaction hash */
6247
- txResult: InvokeFunctionResponse;
6248
- /** Whether the next transaction can be executed immediately */
6249
- isReady: boolean;
6250
- };
6251
- /**
6252
- * Provider methods added by the FastExecute plugin
6253
- */
6254
- interface FastExecuteProviderMethods {
6255
- /**
6256
- * Wait for transaction confirmation with polling optimization for gaming.
6257
- *
6258
- * This method is fast but Events and transaction reports are not yet available.
6259
- * Useful for gaming activity and rapid-fire transaction scenarios.
6260
- *
6261
- * Only available on RPC 0.9 and onwards.
6262
- *
6263
- * @param {BigNumberish} txHash - Transaction hash to monitor
6264
- * @param {string} address - Address of the account (used to track nonce changes)
6265
- * @param {BigNumberish} initNonce - Initial nonce of the account (before the transaction)
6266
- * @param {FastWaitForTransactionOptions} [options={retries: 50, retryInterval: 500}] - Polling configuration
6267
- * options. `retries` is the number of times to retry (default: 50), `retryInterval` is the time in ms
6268
- * between retries (default: 500).
6269
- * @returns {Promise<boolean>} Returns true if the next transaction is possible (nonce increment detected),
6270
- * false if the timeout has been reached, or throws an error in case of provider communication failure
6271
- * or transaction reversion.
6272
- *
6273
- * @example
6274
- * ```typescript
6275
- * const isReady = await provider.fastWaitForTransaction(
6276
- * '0x123abc...',
6277
- * '0x456def...',
6278
- * 10,
6279
- * { retries: 30, retryInterval: 500 }
6280
- * );
6281
- *
6282
- * if (isReady) {
6283
- * // Next transaction can be sent
6284
- * }
6285
- * ```
6286
- */
6287
- fastWaitForTransaction(txHash: BigNumberish, address: string, initNonce: BigNumberish, options?: FastWaitForTransactionOptions): Promise<boolean>;
6288
- }
6289
- /**
6290
- * Account methods added by the FastExecute plugin
6291
- */
6292
- interface FastExecuteAccountMethods {
6293
- /**
6294
- * Execute one or multiple calls through the account contract,
6295
- * responding as soon as a new transaction is possible with the same account.
6296
- * Useful for gaming usage where rapid consecutive transactions are needed.
6297
- *
6298
- * This method requires the provider to be initialized with `pre_confirmed` blockIdentifier option.
6299
- * RPC 0.9 minimum.
6300
- *
6301
- * In a normal `account.execute()` call followed by `provider.waitForTransaction()`, you have immediate access
6302
- * to the events and transaction report. Here, we process consecutive transactions faster, but events and
6303
- * transaction reports are not available immediately.
6304
- *
6305
- * As a consequence of the above, do not use contract/account deployment with this method.
6306
- *
6307
- * @param {AllowArray<Call>} transactions - Single call or array of calls to execute
6308
- * @param {UniversalDetails} [transactionsDetail] - Transaction execution options
6309
- * @param {FastWaitForTransactionOptions} [waitDetail={retries: 50, retryInterval: 500}] - Options to scan the
6310
- * network for the next possible transaction. `retries` is the number of times to retry (default: 50),
6311
- * `retryInterval` is the time in ms between retries (default: 500).
6312
- * @returns {Promise<FastExecuteResponse>} Response containing the transaction result and status for the next
6313
- * transaction. If `isReady` is true, you can execute the next transaction immediately. If false,
6314
- * timeout has been reached before the next transaction was possible.
6315
- *
6316
- * @example
6317
- * ```typescript
6318
- * const myProvider = new RpcProvider({
6319
- * nodeUrl: url,
6320
- * blockIdentifier: BlockTag.PRE_CONFIRMED
6321
- * });
6322
- * const myAccount = new Account({
6323
- * provider: myProvider,
6324
- * address: accountAddress0,
6325
- * signer: privateKey0
6326
- * });
6327
- *
6328
- * const resp = await myAccount.fastExecute(
6329
- * call,
6330
- * { tip: recommendedTip },
6331
- * { retries: 30, retryInterval: 500 }
6332
- * );
6333
- *
6334
- * // if resp.isReady is true, you can launch immediately a new tx
6335
- * if (resp.isReady) {
6336
- * // send next transaction
6337
- * }
6338
- * ```
6339
- */
6340
- fastExecute(transactions: any, transactionsDetail?: any, waitDetail?: FastWaitForTransactionOptions): Promise<FastExecuteResponse>;
6341
- }
6342
-
6343
- /**
6344
- * FastExecute plugin - adds gaming-optimized transaction execution
6345
- *
6346
- * Provides fastExecute() on accounts and fastWaitForTransaction() on providers
6347
- * for rapid successive transaction execution with minimal confirmation latency.
6348
- *
6349
- * Requires:
6350
- * - RPC 0.9 or later
6351
- * - Provider initialized with BlockTag.PRE_CONFIRMED
6352
- *
6353
- * @example
6354
- * ```typescript
6355
- * import { RpcProvider, Account } from 'starknet';
6356
- * import { fastExecute } from 'starknet/plugins';
6357
- *
6358
- * const provider = new RpcProvider({
6359
- * nodeUrl: url,
6360
- * blockIdentifier: BlockTag.PRE_CONFIRMED,
6361
- * });
6362
- *
6363
- * const account = new Account({ provider, address, signer });
6364
- *
6365
- * const resp = await account.fastExecute(
6366
- * call,
6367
- * { tip: recommendedTip },
6368
- * { retries: 30, retryInterval: 500 }
6369
- * );
6370
- *
6371
- * if (resp.isReady) {
6372
- * // Next transaction can be sent immediately
6373
- * }
6374
- * ```
6375
- */
6376
- declare function fastExecute(): StarknetPlugin<FastExecuteProviderMethods, FastExecuteAccountMethods>;
6377
-
6378
6433
  /** Default plugins shipped with the SDK */
6379
6434
  declare const defaultPlugins: StarknetPlugin<any, any>[];
6380
6435
 
@@ -9233,6 +9288,7 @@ declare class CairoFixedArray {
9233
9288
  * Cairo fixed array type.
9234
9289
  */
9235
9290
  readonly arrayType: string;
9291
+ private static parseFixedArrayType;
9236
9292
  /**
9237
9293
  * Create an instance representing a Cairo fixed Array.
9238
9294
  * @param {any[]} content JS array representing a Cairo fixed array.