Starknet.js API - v8.0.0
Namespaces
- constants
- encode
- hash
- v3hash
- v2hash
- json
- num
- transaction
- stark
- eth
- merkle
- uint256
- shortString
- typedData
- ec
- starknetId
- paymaster
- provider
- selector
- events
- outsideExecution
- src5
- wallet
- RPC08
- RPC09
- RPC
- cairo
- byteArray
Classes
- WalletAccount
- Account
- AccountInterface
- Deployer
- DeployerInterface
- Contract
- ContractInterface
- PaymasterRpc
- PaymasterInterface
- Provider
- LibraryError
- RpcError
- ProviderInterface
- LedgerSigner111
- LedgerSigner221
- LedgerSigner231
- SignerInterface
- Signer
- EthSigner
- WebSocketChannel
- Subscription
- TimeoutError
- WebSocketNotConnectedError
- BatchClient
- ResponseParser
- RPCResponseParser
- CairoUint256
- CairoUint512
- CairoFixedArray
- CallData
- CairoCustomEnum
- CairoOption
- CairoResult
- ReceiptTx
Interfaces
- Uint256
- Uint512
- Program
- ProviderOptions
- UniversalDetails
- PaymasterDetails
- EstimateFeeDetails
- DeployContractResponse
- OutsideExecutionOptions
- OutsideCall
- OutsideExecution
- OutsideTransaction
- PaymasterOptions
- TokenData
- PaymasterTimeBounds
References
RpcProvider
Renames and re-exports Provider
LedgerSigner
Renames and re-exports LedgerSigner111
getLedgerPathBuffer
Renames and re-exports getLedgerPathBuffer111
RpcChannel
Re-exports RpcChannel
TypedDataRevision
Re-exports TypedDataRevision
StarknetEnumType
Re-exports StarknetEnumType
StarknetMerkleType
Re-exports StarknetMerkleType
StarknetType
Re-exports StarknetType
StarknetDomain
Re-exports StarknetDomain
TypedData
Re-exports TypedData
Type Aliases
TypedContractV2
Ƭ TypedContractV2<TAbi
>: AbiWanTypedContract
<TAbi
> & Contract
Type parameters
Name | Type |
---|---|
TAbi | extends AbiKanabi |
Defined in
TipEstimate
Ƭ TipEstimate: Object
Result of provider.getTipStatsFromBlocks().
Param
minimum tip encountered in the analyzed blocks.
Param
maximum tip encountered in the analyzed blocks.
Param
average tip encountered in the analyzed blocks.
Param
median (middle value) tip encountered in the analyzed blocks.
Param
mode (most frequent) tip encountered in the analyzed blocks.
Param
suggested tip amount (median tip) for optimal inclusion probability.
Param
90th percentile tip (90% of tips are below this value).
Param
95th percentile tip (95% of tips are below this value).
Param
Optional performance metrics for the analysis.
Type declaration
Name | Type |
---|---|
minTip | bigint |
maxTip | bigint |
averageTip | bigint |
medianTip | bigint |
modeTip | bigint |
recommendedTip | bigint |
p90Tip | bigint |
p95Tip | bigint |
metrics? | { blocksAnalyzed : number ; transactionsTipsFound : bigint [] } |
metrics.blocksAnalyzed | number |
metrics.transactionsTipsFound | bigint [] |
Defined in
src/provider/modules/tip.ts:22
TipType
Ƭ TipType: Exclude
<keyof TipEstimate
, "metrics"
>
Defined in
src/provider/modules/tip.ts:37
TipAnalysisOptions
Ƭ TipAnalysisOptions: Object
Options for customizing tip analysis behavior.
Type declaration
Name | Type | Description |
---|---|---|
maxBlocks? | number | Maximum number of blocks to analyze going backwards from the starting block. Default ts 3 |
minTxsNecessary? | number | Minimum number of transactions required to generate reliable statistics. Default ts 10 |
includeZeroTips? | boolean | Whether to include transactions with zero tips in the analysis. Default ts true |
Defined in
src/provider/modules/tip.ts:42
WebSocketOptions
Ƭ WebSocketOptions: Object
Options for configuring the WebSocketChannel.
Type declaration
Name | Type | Description |
---|---|---|
nodeUrl | string | The URL of the WebSocket endpoint of the Starknet node. Example ts 'ws://localhost:9545' |
websocket? | typeof WebSocket | This parameter can be used to provide a custom WebSocket implementation. This is useful in environments where the global WebSocket object is not available (e.g., Node.js). Example typescript import WebSocket from 'ws'; const channel = new WebSocketChannel({ nodeUrl: '...', websocket: WebSocket }); |
maxBufferSize? | number | The maximum number of events to buffer per subscription when no handler is attached. Default ts 1000 |
autoReconnect? | boolean | Whether to automatically reconnect when the connection is lost. Default ts true |
reconnectOptions? | ReconnectOptions | Options for the automatic reconnection behavior. |
requestTimeout? | number | The timeout in milliseconds for a sendReceive call. Default ts 60000 |
Defined in
WeierstrassSignatureType
Ƭ WeierstrassSignatureType: SignatureType
Defined in
ArraySignatureType
Ƭ ArraySignatureType: string
[]
Defined in
Signature
Ƭ Signature: ArraySignatureType
| WeierstrassSignatureType
Defined in
BigNumberish
Ƭ BigNumberish: string
| number
| bigint
Defined in
ByteArray
Ƭ ByteArray: Object
Type declaration
Name | Type |
---|---|
data | BigNumberish [] |
pending_word | BigNumberish |
pending_word_len | BigNumberish |
Defined in
Calldata
Ƭ Calldata: string
[] & { __compiled__?
: true
}
Compiled calldata ready to be sent
decimal-string array
Defined in
RawCalldata
Ƭ RawCalldata: BigNumberish
[]
BigNumberish array
use CallData.compile() to convert to Calldata
Defined in
HexCalldata
Ƭ HexCalldata: string
[]
Hexadecimal-string array
Defined in
AllowArray
Ƭ AllowArray<T
>: T
| T
[]
Type parameters
Name |
---|
T |
Defined in
OptionalPayload
Ƭ OptionalPayload<T
>: { payload
: T
} | T
Type parameters
Name |
---|
T |
Defined in
RawArgs
Ƭ RawArgs: RawArgsObject
| RawArgsArray
Defined in
RawArgsObject
Ƭ RawArgsObject: Object
Index signature
▪ [inputName: string
]: MultiType
| MultiType
[] | RawArgs
Defined in
RawArgsArray
Ƭ RawArgsArray: (MultiType
| MultiType
[] | RawArgs
)[]
Defined in
MultiType
Ƭ MultiType: BigNumberish
| Uint256
| object
| boolean
| CairoEnum
Defined in
UniversalDeployerContractPayload
Ƭ UniversalDeployerContractPayload: Object
Type declaration
Name | Type |
---|---|
classHash | BigNumberish |
salt? | string |
unique? | boolean |
constructorCalldata? | RawArgs |
abi? | Abi |
Defined in
DeployAccountContractPayload
Ƭ DeployAccountContractPayload: Object
Type declaration
Name | Type |
---|---|
classHash | string |
constructorCalldata? | RawArgs |
addressSalt? | BigNumberish |
contractAddress? | string |
Defined in
DeployAccountContractTransaction
Ƭ DeployAccountContractTransaction: Omit
<DeployAccountContractPayload
, "contractAddress"
> & { signature?
: Signature
}
Defined in
DeclareContractPayload
Ƭ DeclareContractPayload: DeclareWithCasm
| DeclareWithCompiledClassHash
Payload for declaring a contract on Starknet. Either provide CASM code, or a pre-computed compiledClassHash for optimization.
Defined in
ContractClassIdentifier
Ƭ ContractClassIdentifier: DeclareContractPayload
| { classHash
: string
}
DeclareContractPayload with classHash or contract defined
Defined in
CompleteDeclareContractPayload
Ƭ CompleteDeclareContractPayload: Object
Type declaration
Name | Type |
---|---|
contract | CompiledContract | string |
classHash | string |
casm? | CompiledSierraCasm |
compiledClassHash | string |
Defined in
DeclareAndDeployContractPayload
Ƭ DeclareAndDeployContractPayload: Omit
<UniversalDeployerContractPayload
, "classHash"
> & DeclareContractPayload
Defined in
DeclareContractTransaction
Ƭ DeclareContractTransaction: Object
Type declaration
Name | Type |
---|---|
contract | ContractClass |
senderAddress | string |
signature? | Signature |
compiledClassHash? | string |
Defined in
CallDetails
Ƭ CallDetails: Object
Type declaration
Name | Type |
---|---|
contractAddress | string |
calldata? | RawArgs | Calldata |
Defined in
Invocation
Ƭ Invocation: CallDetails
& { signature?
: Signature
}
Defined in
Call
Ƭ Call: CallDetails
& { entrypoint
: string
}
Defined in
CairoVersion
Ƭ CairoVersion: "0"
| "1"
| undefined
Defined in
CompilerVersion
Ƭ CompilerVersion: "0"
| "1"
| "2"
| undefined
Defined in
InvocationsDetails
Ƭ InvocationsDetails: { nonce?
: BigNumberish
; maxFee?
: BigNumberish
; version?
: BigNumberish
} & Partial
<V3TransactionDetails
>
Defined in
V3TransactionDetails
Ƭ V3TransactionDetails: Object
Type declaration
Name | Type |
---|---|
nonce | BigNumberish |
version | BigNumberish |
resourceBounds | ResourceBoundsBN |
tip | BigNumberish |
paymasterData | BigNumberish [] |
accountDeploymentData | BigNumberish [] |
nonceDataAvailabilityMode | EDataAvailabilityMode |
feeDataAvailabilityMode | EDataAvailabilityMode |
Defined in
Details
Ƭ Details: Object
Contain all additional details params
Type declaration
Name | Type |
---|---|
nonce | BigNumberish |
maxFee | BigNumberish |
version | BigNumberish |
chainId | StarknetChainId |
Defined in
InvocationsDetailsWithNonce
Ƭ InvocationsDetailsWithNonce: InvocationsDetails
& { nonce
: BigNumberish
} | V3TransactionDetails
Defined in
BlockNumber
Ƭ BlockNumber: BlockTag
| null
| number
new statuses are defined by props: finality_status and execution_status to be #deprecated
Defined in
BlockIdentifier
Ƭ BlockIdentifier: BlockNumber
| BigNumberish
hex string and BigInt are detected as block hashes
decimal string and number are detected as block numbers
text string are detected as block tag
null return 'pending' block tag
Defined in
SubscriptionBlockIdentifier
Ƭ SubscriptionBlockIdentifier: SUBSCRIPTION_BLOCK_TAG
| string
& {} | number
| bigint
Defined in
AccountInvocationItem
Ƭ AccountInvocationItem: { type
: typeof DECLARE
} & DeclareContractTransaction
| { type
: typeof DEPLOY_ACCOUNT
} & DeployAccountContractTransaction
| { type
: typeof INVOKE
} & Invocation
& InvocationsDetailsWithNonce
items used by AccountInvocations
Defined in
AccountInvocations
Ƭ AccountInvocations: AccountInvocationItem
[]
Complete invocations array with account details (internal type from account -> provider)
Defined in
Invocations
Ƭ Invocations: ({ type
: typeof DECLARE
} & OptionalPayload
<DeclareContractPayload
> | { type
: typeof DEPLOY
} & OptionalPayload
<AllowArray
<UniversalDeployerContractPayload
>> | { type
: typeof DEPLOY_ACCOUNT
} & OptionalPayload
<DeployAccountContractPayload
> | { type
: typeof INVOKE
} & OptionalPayload
<AllowArray
<Call
>>)[]
Invocations array user provide to bulk method (simulate)
Defined in
Tupled
Ƭ Tupled: Object
Type declaration
Name | Type |
---|---|
element | any |
type | string |
Defined in
Args
Ƭ Args: Object
Index signature
▪ [inputName: string
]: BigNumberish
| BigNumberish
[] | ParsedStruct
| ParsedStruct
[]
Defined in
ParsedStruct
Ƭ ParsedStruct: Object
Index signature
▪ [key: string
]: BigNumberish
| BigNumberish
[] | ParsedStruct
| Uint256
Defined in
waitForTransactionOptions
Ƭ waitForTransactionOptions: Object
Type declaration
Name | Type |
---|---|
retryInterval? | number |
successStates? | (TransactionFinalityStatus | TransactionExecutionStatus )[] |
errorStates? | (TransactionFinalityStatus | TransactionExecutionStatus )[] |
Defined in
getSimulateTransactionOptions
Ƭ getSimulateTransactionOptions: Object
Type declaration
Name | Type |
---|---|
blockIdentifier? | BlockIdentifier |
skipValidate? | boolean |
skipExecute? | boolean |
skipFeeCharge? | boolean |
Defined in
getContractVersionOptions
Ƭ getContractVersionOptions: Object
Type declaration
Name | Type |
---|---|
blockIdentifier? | BlockIdentifier |
compiler? | boolean |
Defined in
getEstimateFeeBulkOptions
Ƭ getEstimateFeeBulkOptions: Object
Type declaration
Name | Type |
---|---|
blockIdentifier? | BlockIdentifier |
skipValidate? | boolean |
Defined in
ContractVersion
Ƭ ContractVersion: Object
Represent Contract version
Type declaration
Name | Type | Description |
---|---|---|
cairo | CairoVersion | version of the cairo language |
compiler | CompilerVersion | version of the cairo compiler used to compile the contract |
Defined in
ContractClass
Ƭ ContractClass: LegacyContractClass
| SierraContractClass
format produced after compressing compiled contract
CompressedCompiledContract
Defined in
src/types/lib/contract/index.ts:11
CompiledContract
Ƭ CompiledContract: LegacyCompiledContract
| CompiledSierra
format produced after compile .cairo to .json
Defined in
src/types/lib/contract/index.ts:16
CairoContract
Ƭ CairoContract: ContractClass
| CompiledContract
Compressed or decompressed Cairo0 or Cairo1 Contract
Defined in
src/types/lib/contract/index.ts:21
EntryPointType
Ƭ EntryPointType: ValuesType
<typeof EntryPointType
>
Defined in
src/types/lib/contract/index.ts:24
src/types/lib/contract/index.ts:30
Abi
Ƭ Abi: ReadonlyArray
<FunctionAbi
| AbiEvent
| AbiStruct
| InterfaceAbi
| any
>
ABI
Defined in
src/types/lib/contract/abi.ts:6
AbiEntry
Ƭ AbiEntry: Object
Type declaration
Name | Type |
---|---|
name | string |
type | "felt" | "felt*" | "event" | string |
Defined in
src/types/lib/contract/abi.ts:9
EventEntry
Ƭ EventEntry: Object
Type declaration
Name | Type |
---|---|
name | string |
type | "felt" | "felt*" | string |
kind | "key" | "data" |
Defined in
src/types/lib/contract/abi.ts:11
FunctionAbi
Ƭ FunctionAbi: Object
Type declaration
Name | Type |
---|---|
inputs | AbiEntry [] |
name | string |
outputs | AbiEntry [] |
stateMutability? | "view" |
state_mutability? | string |
type | FunctionAbiType |
Defined in
src/types/lib/contract/abi.ts:16
AbiStructs
Ƭ AbiStructs: Object
Index signature
▪ [name: string
]: AbiStruct
Defined in
src/types/lib/contract/abi.ts:25
AbiStruct
Ƭ AbiStruct: Object
Type declaration
Name | Type |
---|---|
members | AbiEntry & { offset : number }[] |
name | string |
size | number |
type | "struct" |
Defined in
src/types/lib/contract/abi.ts:27
AbiInterfaces
Ƭ AbiInterfaces: Object
Index signature
▪ [name: string
]: InterfaceAbi
Defined in
src/types/lib/contract/abi.ts:34
InterfaceAbi
Ƭ InterfaceAbi: Object
Type declaration
Name | Type |
---|---|
items | FunctionAbi [] |
name | string |
type | "interface" |
Defined in
src/types/lib/contract/abi.ts:35
AbiEnums
Ƭ AbiEnums: Object
Index signature
▪ [name: string
]: AbiEnum
Defined in
src/types/lib/contract/abi.ts:41
AbiEnum
Ƭ AbiEnum: Object
Type declaration
Name | Type |
---|---|
variants | AbiEntry & { offset : number }[] |
name | string |
size | number |
type | "enum" |
Defined in
src/types/lib/contract/abi.ts:42
AbiEvents
Ƭ AbiEvents: Object
Index signature
▪ [hash: string
]: AbiEvent
Defined in
src/types/lib/contract/abi.ts:55
AbiEvent
Ƭ AbiEvent: CairoEvent
| LegacyEvent
Defined in
src/types/lib/contract/abi.ts:59
CairoEvent
Ƭ CairoEvent: CairoEventDefinition
| AbiEvents
Defined in
src/types/lib/contract/abi.ts:62
CairoEventDefinition
Ƭ CairoEventDefinition: STRUCT_EVENT
& { name
: string
; type
: "event"
}
Defined in
src/types/lib/contract/abi.ts:64
CairoEventVariant
Ƭ CairoEventVariant: ENUM_EVENT
& { name
: string
; type
: string
}
Defined in
src/types/lib/contract/abi.ts:69
LegacyEvent
Ƭ LegacyEvent: Object
Type declaration
Name | Type |
---|---|
name | string |
type | "event" |
data | EVENT_FIELD [] |
keys | EVENT_FIELD [] |
Defined in
src/types/lib/contract/abi.ts:74
LegacyContractClass
Ƭ LegacyContractClass: Object
format produced after compressing 'program' property
Type declaration
Name | Type |
---|---|
program | CompressedProgram |
entry_points_by_type | EntryPointsByType |
abi | Abi |
Defined in
src/types/lib/contract/legacy.ts:7
LegacyCompiledContract
Ƭ LegacyCompiledContract: Omit
<LegacyContractClass
, "program"
> & { program
: Program
}
format produced after compiling .cairo to .json
Defined in
src/types/lib/contract/legacy.ts:16
Builtins
Ƭ Builtins: string
[]
SUBTYPES
Defined in
src/types/lib/contract/legacy.ts:21
CompressedProgram
Ƭ CompressedProgram: string
Defined in
src/types/lib/contract/legacy.ts:22
Hint
Ƭ Hint: Record
<string
, unknown
>
Defined in
src/types/lib/contract/legacy.ts:23
EntryPointsByType
Ƭ EntryPointsByType: Object
Type declaration
Name | Type |
---|---|
CONSTRUCTOR | ContractEntryPointFields [] |
EXTERNAL | ContractEntryPointFields [] |
L1_HANDLER | ContractEntryPointFields [] |
Defined in
src/types/lib/contract/legacy.ts:25
ContractEntryPointFields
Ƭ ContractEntryPointFields: Object
Type declaration
Name | Type |
---|---|
selector | string |
offset | string | number |
builtins? | Builtins |
Defined in
src/types/lib/contract/legacy.ts:31
CairoAssembly
Ƭ CairoAssembly: Object
SYSTEM TYPES
Type declaration
Name | Type |
---|---|
prime | string |
compiler_version | string |
bytecode | ByteCode |
hints | any [] |
pythonic_hints? | PythonicHints |
bytecode_segment_lengths? | number [] |
entry_points_by_type | EntryPointsByType |
Defined in
src/types/lib/contract/sierra.ts:5
CompiledSierra
Ƭ CompiledSierra: Object
format produced after starknet-compile .cairo to .json
sierra_program is hex array
Type declaration
Name | Type |
---|---|
sierra_program | ByteCode |
sierra_program_debug_info? | SierraProgramDebugInfo |
contract_class_version | string |
entry_points_by_type | SierraEntryPointsByType |
abi | Abi |
Defined in
src/types/lib/contract/sierra.ts:21
SierraContractClass
Ƭ SierraContractClass: Omit
<CompiledSierra
, "abi"
| "sierra_program"
| "sierra_program_debug_info"
> & { sierra_program
: string
; abi
: string
}
format produced after compressing 'sierra_program', stringifies 'abi' property and omit sierra_program_debug_info
CompressedCompiledSierra
Defined in
src/types/lib/contract/sierra.ts:34
CompiledSierraCasm
Ƭ CompiledSierraCasm: CairoAssembly
Defined in
src/types/lib/contract/sierra.ts:42
ByteCode
Ƭ ByteCode: string
[]
SUBTYPES
Defined in
src/types/lib/contract/sierra.ts:45
PythonicHints
Ƭ PythonicHints: [number
, string
[]][]
Defined in
src/types/lib/contract/sierra.ts:46
SierraProgramDebugInfo
Ƭ SierraProgramDebugInfo: Object
Type declaration
Name | Type |
---|---|
type_names | [number , string ][] |
libfunc_names | [number , string ][] |
user_func_names | [number , string ][] |
Defined in
src/types/lib/contract/sierra.ts:48
SierraEntryPointsByType
Ƭ SierraEntryPointsByType: Object
Type declaration
Name | Type |
---|---|
CONSTRUCTOR | SierraContractEntryPointFields [] |
EXTERNAL | SierraContractEntryPointFields [] |
L1_HANDLER | SierraContractEntryPointFields [] |
Defined in
src/types/lib/contract/sierra.ts:54
SierraContractEntryPointFields
Ƭ SierraContractEntryPointFields: Object
Type declaration
Name | Type |
---|---|
selector | string |
function_idx | number |
Defined in
src/types/lib/contract/sierra.ts:60
RpcProviderOptions
Ƭ RpcProviderOptions: Object
Type declaration
Name | Type |
---|---|
nodeUrl? | string | NetworkName |
retries? | number |
transactionRetryIntervalFallback? | number |
headers? | object |
blockIdentifier? | BlockIdentifier |
chainId? | StarknetChainId |
specVersion? | SupportedRpcVersion |
default? | boolean |
waitMode? | boolean |
baseFetch? | WindowOrWorkerGlobalScope ["fetch" ] |
resourceBoundsOverhead? | ResourceBoundsOverhead |
batch? | false | number |
Defined in
src/provider/types/configuration.type.ts:7
Block
Ƭ Block: Simplify
<BLOCK_WITH_TX_HASHES
>
Defined in
src/provider/types/response.type.ts:32
PendingBlock
Ƭ PendingBlock: Simplify
<PENDING_BLOCK_WITH_TX_HASHES
>
Defined in
src/provider/types/response.type.ts:33
GetBlockResponse
Ƭ GetBlockResponse: Simplify
<BlockWithTxHashes
>
Defined in
src/provider/types/response.type.ts:34
GetTxReceiptResponseWithoutHelper
Ƭ GetTxReceiptResponseWithoutHelper: TransactionReceipt
Defined in
src/provider/types/response.type.ts:36
SuccessfulTransactionReceiptResponse
Ƭ SuccessfulTransactionReceiptResponse: IsSucceeded
<TransactionReceipt
>
Defined in
src/provider/types/response.type.ts:38
RevertedTransactionReceiptResponse
Ƭ RevertedTransactionReceiptResponse: IsReverted
<TransactionReceipt
>
Defined in
src/provider/types/response.type.ts:39
InvokeTransactionReceiptResponse
Ƭ InvokeTransactionReceiptResponse: IsType
<TransactionReceipt
, "INVOKE"
>
Defined in
src/provider/types/response.type.ts:40
DeployTransactionReceiptResponse
Ƭ DeployTransactionReceiptResponse: InvokeTransactionReceiptResponse
Defined in
src/provider/types/response.type.ts:41
DeclareTransactionReceiptResponse
Ƭ DeclareTransactionReceiptResponse: IsType
<TransactionReceipt
, "DECLARE"
>
Defined in
src/provider/types/response.type.ts:42
DeployAccountTransactionReceiptResponse
Ƭ DeployAccountTransactionReceiptResponse: IsType
<TransactionReceipt
, "DEPLOY_ACCOUNT"
>
Defined in
src/provider/types/response.type.ts:43
L1HandlerTransactionReceiptResponse
Ƭ L1HandlerTransactionReceiptResponse: IsType
<TransactionReceipt
, "L1_HANDLER"
>
Defined in
src/provider/types/response.type.ts:44
GetTransactionResponse
Ƭ GetTransactionResponse: TransactionWithHash
Defined in
src/provider/types/response.type.ts:46
EstimateFeeResponseOverhead
Ƭ EstimateFeeResponseOverhead: Object
Estimate fee response with overhead
Type declaration
Name | Type |
---|---|
resourceBounds | ResourceBoundsBN |
overall_fee | bigint |
unit | PRICE_UNIT |
Defined in
src/provider/types/response.type.ts:51
EstimateFeeResponse
Ƭ EstimateFeeResponse: EstimateFeeResponseOverhead
same type as EstimateFeeResponseOverhead but without overhead
Defined in
src/provider/types/response.type.ts:60
EstimateFeeResponseBulkOverhead
Ƭ EstimateFeeResponseBulkOverhead: EstimateFeeResponseOverhead
[]
Defined in
src/provider/types/response.type.ts:62
InvokeFunctionResponse
Ƭ InvokeFunctionResponse: InvokedTransaction
Defined in
src/provider/types/response.type.ts:64
DeclareContractResponse
Ƭ DeclareContractResponse: DeclaredTransaction
Defined in
src/provider/types/response.type.ts:66
CallContractResponse
Ƭ CallContractResponse: string
[]
Defined in
src/provider/types/response.type.ts:68
Storage
Ƭ Storage: FELT
Defined in
src/provider/types/response.type.ts:70
Nonce
Ƭ Nonce: string
Defined in
src/provider/types/response.type.ts:72
SimulationFlags
Ƭ SimulationFlags: SIMULATION_FLAG
[]
Defined in
src/provider/types/response.type.ts:75
SimulateTransactionOverhead
Ƭ SimulateTransactionOverhead: { transaction_trace
: TransactionTrace
} & EstimateFeeResponseOverhead
Defined in
src/provider/types/response.type.ts:77
SimulateTransactionOverheadResponse
Ƭ SimulateTransactionOverheadResponse: SimulateTransactionOverhead
[]
Defined in
src/provider/types/response.type.ts:81
PreConfirmedStateUpdate
Ƭ PreConfirmedStateUpdate: PRE_CONFIRMED_STATE_UPDATE
Defined in
src/provider/types/response.type.ts:83
StateUpdate
Ƭ StateUpdate: STATE_UPDATE
Defined in
src/provider/types/response.type.ts:84
StateUpdateResponse
Ƭ StateUpdateResponse: StateUpdate
| PreConfirmedStateUpdate
Defined in
src/provider/types/response.type.ts:85
PendingStateUpdate
Ƭ PendingStateUpdate: PENDING_STATE_UPDATE
PreConfirmedStateUpdate but left old name
Defined in
src/provider/types/response.type.ts:89
ContractClassResponse
Ƭ ContractClassResponse: LegacyContractClass
| Omit
<CompiledSierra
, "sierra_program_debug_info"
>
Standardized type
Cairo0 program compressed and Cairo1 sierra_program decompressed
abi Abi
CompiledSierra without '.sierra_program_debug_info'
Defined in
src/provider/types/response.type.ts:100
Simplify
Ƭ Simplify<T
>: { [K in keyof T]: T[K] } & {}
Type parameters
Name |
---|
T |
Defined in
src/provider/types/spec.type.ts:7
RequiredKeysOf
Ƭ RequiredKeysOf<T
>: Exclude
<{ [K in keyof T]: T extends Record<K, T[K]> ? K : never }[keyof T
], undefined
>
Type parameters
Name | Type |
---|---|
T | extends object |
Defined in
src/provider/types/spec.type.ts:10
ETransactionVersion
Ƭ ETransactionVersion: ETransactionVersion
Defined in
src/provider/types/spec.type.ts:55
src/provider/types/spec.type.ts:56
ETransactionVersion2
Ƭ ETransactionVersion2: ETransactionVersion2
Defined in
src/provider/types/spec.type.ts:58
src/provider/types/spec.type.ts:59
ETransactionVersion3
Ƭ ETransactionVersion3: ETransactionVersion3
Defined in
src/provider/types/spec.type.ts:61
src/provider/types/spec.type.ts:62
BLOCK_HASH
Ƭ BLOCK_HASH: Merge
<BLOCK_HASH
, BLOCK_HASH
>
Defined in
src/provider/types/spec.type.ts:65
BLOCK_NUMBER
Ƭ BLOCK_NUMBER: Merge
<BLOCK_NUMBER
, BLOCK_NUMBER
>
Defined in
src/provider/types/spec.type.ts:66
FELT
Defined in
src/provider/types/spec.type.ts:67
TXN_HASH
Ƭ TXN_HASH: Merge
<TXN_HASH
, TXN_HASH
>
Defined in
src/provider/types/spec.type.ts:68
PRICE_UNIT
Ƭ PRICE_UNIT: Merge
<PRICE_UNIT
, PRICE_UNIT
>
Defined in
src/provider/types/spec.type.ts:70
RESOURCE_PRICE
Ƭ RESOURCE_PRICE: Merge
<RESOURCE_PRICE
, RESOURCE_PRICE
>
Defined in
src/provider/types/spec.type.ts:71
SIMULATION_FLAG
Ƭ SIMULATION_FLAG: Merge
<SIMULATION_FLAG
, SIMULATION_FLAG
>
Defined in
src/provider/types/spec.type.ts:72
STATE_UPDATE
Ƭ STATE_UPDATE: Merge
<STATE_UPDATE
, STATE_UPDATE
>
Defined in
src/provider/types/spec.type.ts:74
PENDING_STATE_UPDATE
Ƭ PENDING_STATE_UPDATE: Merge
<PENDING_STATE_UPDATE
, PRE_CONFIRMED_STATE_UPDATE
>
Defined in
src/provider/types/spec.type.ts:75
PRE_CONFIRMED_STATE_UPDATE
Ƭ PRE_CONFIRMED_STATE_UPDATE: PRE_CONFIRMED_STATE_UPDATE
Defined in
src/provider/types/spec.type.ts:79
PENDING_INVOKE_TXN_RECEIPT
Ƭ PENDING_INVOKE_TXN_RECEIPT: IsPending
<IsType
<TransactionReceipt
, "INVOKE"
>>
Defined in
src/provider/types/spec.type.ts:89
PENDING_DECLARE_TXN_RECEIPT
Ƭ PENDING_DECLARE_TXN_RECEIPT: IsPending
<IsType
<TransactionReceipt
, "DECLARE"
>>
Defined in
src/provider/types/spec.type.ts:92
PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT
Ƭ PENDING_DEPLOY_ACCOUNT_TXN_RECEIPT: IsPending
<IsType
<TransactionReceipt
, "DEPLOY_ACCOUNT"
>>
Defined in
src/provider/types/spec.type.ts:95
PENDING_L1_HANDLER_TXN_RECEIPT
Ƭ PENDING_L1_HANDLER_TXN_RECEIPT: IsPending
<IsType
<TransactionReceipt
, "L1_HANDLER"
>>
Defined in
src/provider/types/spec.type.ts:98
BlockWithTxHashes
Ƭ BlockWithTxHashes: Merge
<BlockWithTxHashes
, BlockWithTxHashes
>
Defined in
src/provider/types/spec.type.ts:103
ContractClassPayload
Ƭ ContractClassPayload: Merge
<ContractClass
, ContractClass
>
Defined in
src/provider/types/spec.type.ts:104
DeclaredTransaction
Ƭ DeclaredTransaction: Merge
<DeclaredTransaction
, DeclaredTransaction
>
Defined in
src/provider/types/spec.type.ts:105
InvokedTransaction
Ƭ InvokedTransaction: Merge
<InvokedTransaction
, InvokedTransaction
>
Defined in
src/provider/types/spec.type.ts:109
DeployedAccountTransaction
Ƭ DeployedAccountTransaction: Merge
<DeployedAccountTransaction
, DeployedAccountTransaction
>
Defined in
src/provider/types/spec.type.ts:110
L1_HANDLER_TXN
Ƭ L1_HANDLER_TXN: L1_HANDLER_TXN
Defined in
src/provider/types/spec.type.ts:115
EDataAvailabilityMode
Ƭ EDataAvailabilityMode: EDataAvailabilityMode
Defined in
src/provider/types/spec.type.ts:116
src/provider/types/spec.type.ts:117
EDAMode
Ƭ EDAMode: EDAMode
Defined in
src/provider/types/spec.type.ts:118
src/provider/types/spec.type.ts:119
EmittedEvent
Ƭ EmittedEvent: Merge
<EmittedEvent
, EmittedEvent
>
Defined in
src/provider/types/spec.type.ts:120
Event
Defined in
src/provider/types/spec.type.ts:121
PendingReceipt
Ƭ PendingReceipt: Merge
<TransactionReceiptPendingBlock
, TransactionReceiptPreConfirmedBlock
>
Defined in
src/provider/types/spec.type.ts:123
Receipt
Ƭ Receipt: Merge
<TransactionReceiptProductionBlock
, TransactionReceiptProductionBlock
>
Defined in
src/provider/types/spec.type.ts:127
FeeEstimate
Ƭ FeeEstimate: Merge
<FEE_ESTIMATE
, FEE_ESTIMATE
>
original response from estimate fee without parsing
Defined in
src/provider/types/spec.type.ts:135
ApiEstimateFeeResponse
Ƭ ApiEstimateFeeResponse: FeeEstimate
[]
Defined in
src/provider/types/spec.type.ts:136
ResourceBounds
Ƭ ResourceBounds: Merge
<ResourceBounds
, ResourceBounds
>
Defined in
src/provider/types/spec.type.ts:148
ResourceBoundsOverhead
Ƭ ResourceBoundsOverhead: { [K in keyof ResourceBounds]: ResourceBounds[K] extends object ? { [P in keyof ResourceBounds[K]]: number } : number }
Represents percentage overhead for each resource bound numerical 50 means 50% overhead
Defined in
src/provider/types/spec.type.ts:154
ResourceBoundsBN
Ƭ ResourceBoundsBN: { [K in keyof ResourceBounds]: ResourceBounds[K] extends object ? { [P in keyof ResourceBounds[K]]: bigint } : number }
Resource bounds in big number format
Defined in
src/provider/types/spec.type.ts:165
SimulateTransaction
Ƭ SimulateTransaction: SimpleOneOf
<SimulateTransaction
, SimulateTransaction
>
Defined in
src/provider/types/spec.type.ts:173
SimulateTransactionResponse
Ƭ SimulateTransactionResponse: SimpleOneOf
<SimulateTransactionResponse
, SimulateTransactionResponse
>
Defined in
src/provider/types/spec.type.ts:177
TransactionTrace
Ƭ TransactionTrace: SimpleOneOf
<TRANSACTION_TRACE
, TRANSACTION_TRACE
>
Defined in
src/provider/types/spec.type.ts:182
TransactionWithHash
Ƭ TransactionWithHash: Merge
<TransactionWithHash
, TransactionWithHash
>
Defined in
src/provider/types/spec.type.ts:187
TransactionReceipt
Ƭ TransactionReceipt: Merge
<TransactionReceipt
, TransactionReceipt
>
Defined in
src/provider/types/spec.type.ts:192
Methods
Ƭ Methods: Methods
Defined in
src/provider/types/spec.type.ts:193
TXN_STATUS
Ƭ TXN_STATUS: Merge
<TXN_STATUS
, TXN_STATUS
>
Defined in
src/provider/types/spec.type.ts:194
TXN_EXECUTION_STATUS
Ƭ TXN_EXECUTION_STATUS: Merge
<TXN_EXECUTION_STATUS
, TXN_EXECUTION_STATUS
>
Defined in
src/provider/types/spec.type.ts:195
TransactionStatus
Ƭ TransactionStatus: Merge
<TransactionStatus
, TransactionStatus
>
Defined in
src/provider/types/spec.type.ts:199
ETransactionStatus
Ƭ ETransactionStatus: ETransactionStatus
Defined in
src/provider/types/spec.type.ts:200
src/provider/types/spec.type.ts:201
ETransactionExecutionStatus
Ƭ ETransactionExecutionStatus: ETransactionExecutionStatus
Defined in
src/provider/types/spec.type.ts:202
src/provider/types/spec.type.ts:203
FEE_ESTIMATE
Ƭ FEE_ESTIMATE: Merge
<FEE_ESTIMATE
, FEE_ESTIMATE
>
Defined in
src/provider/types/spec.type.ts:205
EVENTS_CHUNK
Ƭ EVENTS_CHUNK: Merge
<EVENTS_CHUNK
, EVENTS_CHUNK
>
Defined in
src/provider/types/spec.type.ts:206
TransactionType
Ƭ TransactionType: ETransactionType
Defined in
src/provider/types/spec.type.ts:208
src/provider/types/spec.type.ts:209
BlockStatus
Ƭ BlockStatus: EBlockStatus
Defined in
src/provider/types/spec.type.ts:211
src/provider/types/spec.type.ts:212
TransactionFinalityStatus
Ƭ TransactionFinalityStatus: ETransactionFinalityStatus
Defined in
src/provider/types/spec.type.ts:214
src/provider/types/spec.type.ts:215
TransactionExecutionStatus
Ƭ TransactionExecutionStatus: ETransactionExecutionStatus
Defined in
src/provider/types/spec.type.ts:217
src/provider/types/spec.type.ts:218
BlockTag
Ƭ BlockTag: EBlockTag
Defined in
src/provider/types/spec.type.ts:220
src/provider/types/spec.type.ts:221
AccountOptions
Ƭ AccountOptions: Object
Configuration options for creating an Account instance
Type declaration
Name | Type | Description |
---|---|---|
provider | ProviderOptions | ProviderInterface | Provider instance or configuration for blockchain interaction |
address | string | Account address on the Starknet network |
signer | Uint8Array | string | SignerInterface | Private key or Signer Class instance for signing transactions |
cairoVersion? | CairoVersion | Cairo version to use for this account (optional, auto-detected if not provided) |
transactionVersion? | SupportedTransactionVersion | Transaction version to use for sending transactions (optional) |
paymaster? | PaymasterOptions | PaymasterInterface | Paymaster configuration for sponsored transactions (optional) |
deployer? | DeployerInterface | Use of a custom account deployer contract (optional) |
defaultTipType? | TipType | Default tip type to use for sending transactions (optional) Default ts 'recommendedTip' |
Defined in
src/account/types/index.type.ts:30
EstimateFeeBulk
Ƭ EstimateFeeBulk: EstimateFeeResponseOverhead
[]
Defined in
src/account/types/index.type.ts:52
AccountInvocationsFactoryDetails
Ƭ AccountInvocationsFactoryDetails: { versions
: `${ETransactionVersion3}`[] ; nonce?
: BigNumberish
; blockIdentifier?
: BlockIdentifier
; skipValidate?
: boolean
} & Partial
<V3TransactionDetails
>
Defined in
src/account/types/index.type.ts:55
MultiDeployContractResponse
Ƭ MultiDeployContractResponse: Object
Type declaration
Name | Type |
---|---|
contract_address | string [] |
transaction_hash | string |
Defined in
src/account/types/index.type.ts:88
DeclareDeployUDCResponse
Ƭ DeclareDeployUDCResponse: Object
Type declaration
Name | Type |
---|---|
declare | { class_hash : BigNumberish } & Partial <DeclareTransactionReceiptResponse > |
deploy | DeployContractUDCResponse |
Defined in
src/account/types/index.type.ts:93
SimulateTransactionDetails
Ƭ SimulateTransactionDetails: { nonce?
: BigNumberish
; blockIdentifier?
: BlockIdentifier
; skipValidate?
: boolean
; skipExecute?
: boolean
} & Partial
<V3TransactionDetails
>
Defined in
src/account/types/index.type.ts:100
StarkProfile
Ƭ StarkProfile: Object
Type declaration
Name | Type |
---|---|
name? | string |
profilePicture? | string |
discord? | string |
twitter? | string |
github? | string |
proofOfPersonhood? | boolean |
Defined in
src/account/types/index.type.ts:107
CairoEnum
Ƭ CairoEnum: CairoCustomEnum
| CairoOption
<any
> | CairoResult
<any
, any
>
Defined in
ValidateType
Ƭ ValidateType: ValuesType
<typeof ValidateType
>
Defined in
Uint
Ƭ Uint: ValuesType
<typeof Uint
>
Defined in
Literal
Ƭ Literal: ValuesType
<typeof Literal
>
Defined in
AsyncContractFunction
Ƭ AsyncContractFunction<T
>: (...args
: ArgsOrCalldataWithOptions
) => Promise
<T
>
Type parameters
Name | Type |
---|---|
T | any |
Type declaration
▸ (...args
): Promise
<T
>
Parameters
Name | Type |
---|---|
...args | ArgsOrCalldataWithOptions |
Returns
Promise
<T
>
Defined in
src/contract/types/index.type.ts:16
ContractFunction
Ƭ ContractFunction: (...args
: ArgsOrCalldataWithOptions
) => any
Type declaration
▸ (...args
): any
Parameters
Name | Type |
---|---|
...args | ArgsOrCalldataWithOptions |
Returns
any
Defined in
src/contract/types/index.type.ts:17
CallResult
Ƭ CallResult: { [key: string]
: any
; } | CallResult
[] | bigint
| string
| boolean
| CairoEnum
Defined in
src/contract/types/index.type.ts:19
ArgsOrCalldata
Ƭ ArgsOrCalldata: RawArgsArray
| [Calldata
] | Calldata
Defined in
src/contract/types/index.type.ts:33
ArgsOrCalldataWithOptions
Ƭ ArgsOrCalldataWithOptions: [...RawArgsArray] | [...RawArgsArray, ContractOptions
] | [Calldata
] | [Calldata
, ContractOptions
] | [...Calldata] | [...Calldata, ContractOptions
]
Defined in
src/contract/types/index.type.ts:44
CommonContractOptions
Ƭ CommonContractOptions: Object
Type declaration
Name | Type | Description |
---|---|---|
parseRequest? | boolean | compile and validate arguments Default ts true |
parseResponse? | boolean | Parse elements of the response array and structuring them into response object Default ts true |
Defined in
src/contract/types/index.type.ts:60
ContractOptions
Ƭ ContractOptions: { abi
: Abi
; address
: string
; providerOrAccount?
: ProviderOrAccount
; classHash?
: string
} & CommonContractOptions
Defined in
src/contract/types/index.type.ts:73
ExecuteOptions
Ƭ ExecuteOptions: Pick
<CommonContractOptions
, "parseRequest"
> & { signature?
: Signature
; salt?
: string
} & Partial
<UniversalDetails
>
Defined in
src/contract/types/index.type.ts:89
CallOptions
Ƭ CallOptions: CommonContractOptions
& { formatResponse?
: FormatResponse
} & Pick
<UniversalDetails
, "blockIdentifier"
| "version"
>
Defined in
src/contract/types/index.type.ts:100
WithOptions
Ƭ WithOptions: ExecuteOptions
& CallOptions
Defined in
src/contract/types/index.type.ts:104
ParsedEvent
Ƭ ParsedEvent: { [name: string]
: ParsedStruct
; } & { block_hash?
: BlockHash
; block_number?
: BlockNumber
; transaction_hash?
: TransactionHash
}
Defined in
src/contract/types/index.type.ts:106
ParsedEvents
Ƭ ParsedEvents: ParsedEvent
[]
Defined in
src/contract/types/index.type.ts:112
FormatResponse
Ƭ FormatResponse: Object
Advance formatting used to get js types data as result
Description
https://starknetjs.com/docs/guides/define_call_message/#formatresponse
Example
// assign custom or existing method to resulting data
formatResponse: { balance: uint256ToBN },
Example
// define resulting data js types
const formatAnswer = { id: 'number', description: 'string' };
Index signature
▪ [key: string
]: any
Defined in
src/contract/types/index.type.ts:129
ProviderOrAccount
Ƭ ProviderOrAccount: ProviderInterface
| AccountInterface
Defined in
src/contract/types/index.type.ts:131
FactoryParams
Ƭ FactoryParams: DeclareAndDeployContractPayload
& { account
: AccountInterface
; parseRequest?
: boolean
}
Defined in
src/contract/types/index.type.ts:144
RPC_ERROR_SET
Ƭ RPC_ERROR_SET: Object
Type declaration
Name | Type |
---|---|
FAILED_TO_RECEIVE_TXN | FAILED_TO_RECEIVE_TXN |
NO_TRACE_AVAILABLE | NO_TRACE_AVAILABLE |
CONTRACT_NOT_FOUND | CONTRACT_NOT_FOUND |
ENTRYPOINT_NOT_FOUND | ENTRYPOINT_NOT_FOUND |
BLOCK_NOT_FOUND | BLOCK_NOT_FOUND |
INVALID_TXN_INDEX | INVALID_TXN_INDEX |
CLASS_HASH_NOT_FOUND | CLASS_HASH_NOT_FOUND |
TXN_HASH_NOT_FOUND | TXN_HASH_NOT_FOUND |
PAGE_SIZE_TOO_BIG | PAGE_SIZE_TOO_BIG |
NO_BLOCKS | NO_BLOCKS |
INVALID_CONTINUATION_TOKEN | INVALID_CONTINUATION_TOKEN |
TOO_MANY_KEYS_IN_FILTER | TOO_MANY_KEYS_IN_FILTER |
CONTRACT_ERROR | CONTRACT_ERROR |
TRANSACTION_EXECUTION_ERROR | TRANSACTION_EXECUTION_ERROR |
STORAGE_PROOF_NOT_SUPPORTED | STORAGE_PROOF_NOT_SUPPORTED |
CLASS_ALREADY_DECLARED | CLASS_ALREADY_DECLARED |
INVALID_TRANSACTION_NONCE | INVALID_TRANSACTION_NONCE |
INSUFFICIENT_RESOURCES_FOR_VALIDATE | INSUFFICIENT_RESOURCES_FOR_VALIDATE |
INSUFFICIENT_ACCOUNT_BALANCE | INSUFFICIENT_ACCOUNT_BALANCE |
VALIDATION_FAILURE | VALIDATION_FAILURE |
COMPILATION_FAILED | COMPILATION_FAILED |
CONTRACT_CLASS_SIZE_IS_TOO_LARGE | CONTRACT_CLASS_SIZE_IS_TOO_LARGE |
NON_ACCOUNT | NON_ACCOUNT |
DUPLICATE_TX | DUPLICATE_TX |
COMPILED_CLASS_HASH_MISMATCH | COMPILED_CLASS_HASH_MISMATCH |
UNSUPPORTED_TX_VERSION | UNSUPPORTED_TX_VERSION |
UNSUPPORTED_CONTRACT_CLASS_VERSION | UNSUPPORTED_CONTRACT_CLASS_VERSION |
UNEXPECTED_ERROR | UNEXPECTED_ERROR |
INVALID_SUBSCRIPTION_ID | INVALID_SUBSCRIPTION_ID |
TOO_MANY_ADDRESSES_IN_FILTER | TOO_MANY_ADDRESSES_IN_FILTER |
TOO_MANY_BLOCKS_BACK | TOO_MANY_BLOCKS_BACK |
COMPILATION_ERROR | COMPILATION_ERROR |
INVALID_ADDRESS | INVALID_ADDRESS |
TOKEN_NOT_SUPPORTED | TOKEN_NOT_SUPPORTED |
INVALID_SIGNATURE | INVALID_SIGNATURE |
MAX_AMOUNT_TOO_LOW | MAX_AMOUNT_TOO_LOW |
CLASS_HASH_NOT_SUPPORTED | CLASS_HASH_NOT_SUPPORTED |
PAYMASTER_TRANSACTION_EXECUTION_ERROR | TRANSACTION_EXECUTION_ERROR |
INVALID_TIME_BOUNDS | INVALID_TIME_BOUNDS |
INVALID_DEPLOYMENT_DATA | INVALID_DEPLOYMENT_DATA |
INVALID_CLASS_HASH | INVALID_CLASS_HASH |
INVALID_ID | INVALID_ID |
UNKNOWN_ERROR | UNKNOWN_ERROR |
Defined in
RPC_ERROR
Ƭ RPC_ERROR: RPC_ERROR_SET
[keyof RPC_ERROR_SET
]
Defined in
OutsideExecutionVersion
Ƭ OutsideExecutionVersion: ValuesType
<typeof OutsideExecutionVersion
>
Defined in
src/types/outsideExecution.ts:78
src/types/outsideExecution.ts:83
InvocationsSignerDetails
Ƭ InvocationsSignerDetails: V3InvocationsSignerDetails
& { version
: `${ETransactionVersion}` ; skipValidate?
: boolean
}
Defined in
V3InvocationsSignerDetails
Ƭ V3InvocationsSignerDetails: V3TransactionDetails
& { walletAddress
: string
; cairoVersion
: CairoVersion
; chainId
: StarknetChainId
; version
: `${ETransactionVersion3}` }
Defined in
DeclareSignerDetails
Ƭ DeclareSignerDetails: V3DeclareSignerDetails
& { version
: `${ETransactionVersion}` }
Defined in
V3DeclareSignerDetails
Ƭ V3DeclareSignerDetails: V3TransactionDetails
& { classHash
: string
; compiledClassHash
: string
; senderAddress
: string
; chainId
: StarknetChainId
; version
: `${ETransactionVersion3}` }
Defined in
DeployAccountSignerDetails
Ƭ DeployAccountSignerDetails: V3DeployAccountSignerDetails
Defined in
V3DeployAccountSignerDetails
Ƭ V3DeployAccountSignerDetails: Required
<DeployAccountContractPayload
> & V3TransactionDetails
& { contractAddress
: BigNumberish
; chainId
: StarknetChainId
; version
: `${ETransactionVersion3}` }
Defined in
LedgerPathCalculation
Ƭ LedgerPathCalculation: (accountId
: number
, applicationName
: string
) => Uint8Array
Type declaration
▸ (accountId
, applicationName
): Uint8Array
Parameters
Name | Type |
---|---|
accountId | number |
applicationName | string |
Returns
Uint8Array
Defined in
TransactionStatusReceiptSets
Ƭ TransactionStatusReceiptSets: Object
Type declaration
Name | Type |
---|---|
success | SuccessfulTransactionReceiptResponse |
reverted | RevertedTransactionReceiptResponse |
error | Error |
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:6
TransactionReceiptStatus
Ƭ TransactionReceiptStatus: keyof TransactionStatusReceiptSets
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:12
TransactionReceiptValue
Ƭ TransactionReceiptValue: TransactionStatusReceiptSets
[TransactionReceiptStatus
]
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:13
TransactionReceiptCallbacksDefined
Ƭ TransactionReceiptCallbacksDefined: { [key in TransactionReceiptStatus]: Function }
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:15
TransactionReceiptCallbacksDefault
Ƭ TransactionReceiptCallbacksDefault: Partial
<TransactionReceiptCallbacksDefined
> & { _
: () => void
}
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:18
TransactionReceiptCallbacks
Ƭ TransactionReceiptCallbacks: TransactionReceiptCallbacksDefined
| TransactionReceiptCallbacksDefault
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:21
GetTransactionReceiptResponse
Ƭ GetTransactionReceiptResponse<T
>: { statusReceipt
: T
; value
: TransactionStatusReceiptSets
[T
] ; match
: (callbacks
: TransactionReceiptCallbacks
) => void
} & { [key in `is${Capitalize<TransactionReceiptStatus>}`]: Function }
Type parameters
Name | Type |
---|---|
T | extends TransactionReceiptStatus = TransactionReceiptStatus |
Defined in
src/utils/transactionReceipt/transactionReceipt.type.ts:28
PaymasterRpcOptions
Ƭ PaymasterRpcOptions: Object
Type declaration
Name | Type |
---|---|
nodeUrl? | string | NetworkName |
default? | boolean |
headers? | object |
baseFetch? | WindowOrWorkerGlobalScope ["fetch" ] |
Defined in
src/paymaster/types/configuration.type.ts:5
PaymasterFeeEstimate
Ƭ PaymasterFeeEstimate: Object
Type declaration
Name | Type |
---|---|
gas_token_price_in_strk | BigNumberish |
estimated_fee_in_strk | BigNumberish |
estimated_fee_in_gas_token | BigNumberish |
suggested_max_fee_in_strk | BigNumberish |
suggested_max_fee_in_gas_token | BigNumberish |
Defined in
src/paymaster/types/response.type.ts:9
PreparedDeployTransaction
Ƭ PreparedDeployTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
parameters | ExecutionParameters |
fee | PaymasterFeeEstimate |
Defined in
src/paymaster/types/response.type.ts:17
PreparedInvokeTransaction
Ƭ PreparedInvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "invoke" |
typed_data | OutsideExecutionTypedData |
parameters | ExecutionParameters |
fee | PaymasterFeeEstimate |
Defined in
src/paymaster/types/response.type.ts:23
PreparedDeployAndInvokeTransaction
Ƭ PreparedDeployAndInvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy_and_invoke" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
typed_data | OutsideExecutionTypedData |
parameters | ExecutionParameters |
fee | PaymasterFeeEstimate |
Defined in
src/paymaster/types/response.type.ts:29
PreparedTransaction
Ƭ PreparedTransaction: PreparedDeployTransaction
| PreparedInvokeTransaction
| PreparedDeployAndInvokeTransaction
Defined in
src/paymaster/types/response.type.ts:36
DeployTransaction
Ƭ DeployTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
Defined in
src/paymaster/types/response.type.ts:47
InvokeTransaction
Ƭ InvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "invoke" |
invoke | UserInvoke |
Defined in
src/paymaster/types/response.type.ts:51
UserInvoke
Ƭ UserInvoke: Object
Type declaration
Name | Type |
---|---|
userAddress | string |
calls | Call [] |
Defined in
src/paymaster/types/response.type.ts:55
DeployAndInvokeTransaction
Ƭ DeployAndInvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy_and_invoke" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
invoke | UserInvoke |
Defined in
src/paymaster/types/response.type.ts:59
UserTransaction
Ƭ UserTransaction: DeployTransaction
| InvokeTransaction
| DeployAndInvokeTransaction
Defined in
src/paymaster/types/response.type.ts:64
ExecutableDeployTransaction
Ƭ ExecutableDeployTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
Defined in
src/paymaster/types/response.type.ts:66
ExecutableInvokeTransaction
Ƭ ExecutableInvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "invoke" |
invoke | ExecutableUserInvoke |
Defined in
src/paymaster/types/response.type.ts:70
ExecutableUserInvoke
Ƭ ExecutableUserInvoke: Object
Type declaration
Name | Type |
---|---|
userAddress | string |
typedData | OutsideExecutionTypedData |
signature | string [] |
Defined in
src/paymaster/types/response.type.ts:74
ExecutableDeployAndInvokeTransaction
Ƭ ExecutableDeployAndInvokeTransaction: Object
Type declaration
Name | Type |
---|---|
type | "deploy_and_invoke" |
deployment | ACCOUNT_DEPLOYMENT_DATA |
invoke | ExecutableUserInvoke |
Defined in
src/paymaster/types/response.type.ts:79
ExecutableUserTransaction
Ƭ ExecutableUserTransaction: ExecutableDeployTransaction
| ExecutableInvokeTransaction
| ExecutableDeployAndInvokeTransaction
Defined in
src/paymaster/types/response.type.ts:84
FeeMode
Ƭ FeeMode: { mode
: "sponsored"
} | { mode
: "default"
; gasToken
: string
}
Defined in
src/paymaster/types/response.type.ts:89
ExecutionParameters
Ƭ ExecutionParameters: Object
Type declaration
Name | Type |
---|---|
version | "0x1" |
feeMode | FeeMode |
timeBounds? | PaymasterTimeBounds |
Defined in
src/paymaster/types/response.type.ts:90
DeployerCall
Ƭ DeployerCall: Object
Interface for Deployer contract payload
Type declaration
Name | Type | Description |
---|---|---|
calls | Call [] | an array of Call |
addresses | string [] | an array of addresses made of hex string |
Defined in
src/deployer/types/index.type.ts:6
DeployContractUDCResponse
Ƭ DeployContractUDCResponse: Object
Type declaration
Name | Type |
---|---|
contract_address | string |
transaction_hash | string |
address | string |
deployer | string |
unique | string |
classHash | string |
calldata_len | string |
calldata | string [] |
salt | string |
Defined in
src/deployer/types/index.type.ts:13
BatchClientOptions
Ƭ BatchClientOptions<T
>: Object
Type parameters
Name | Type |
---|---|
T | extends Object |
Type declaration
Name | Type |
---|---|
nodeUrl | string |
headers | object |
interval | number |
baseFetch | NonNullable <RpcProviderOptions ["baseFetch" ]> |
rpcMethods | T |
Defined in
CairoEnumRaw
Ƭ CairoEnumRaw: Record
<string
, any
>
Defined in
src/utils/calldata/enum/CairoCustomEnum.ts:3
CairoOptionVariant
Ƭ CairoOptionVariant: ValuesType
<typeof CairoOptionVariant
>
Defined in
src/utils/calldata/enum/CairoOption.ts:4
src/utils/calldata/enum/CairoOption.ts:9
CairoResultVariant
Ƭ CairoResultVariant: ValuesType
<typeof CairoResultVariant
>
Defined in
src/utils/calldata/enum/CairoResult.ts:4
src/utils/calldata/enum/CairoResult.ts:9
LogLevelIndex
Ƭ LogLevelIndex: ValuesType
<typeof LogLevelIndex
>
Defined in
LogLevel
Ƭ LogLevel: keyof typeof LogLevelIndex
Defined in
Variables
defaultDeployer
• Const
defaultDeployer: Deployer
Defined in
legacyDeployer
• Const
legacyDeployer: Deployer
Defined in
defaultPaymaster
• Const
defaultPaymaster: PaymasterRpc
Defined in
defaultProvider
• Const
defaultProvider: RpcProvider
Defined in
EntryPointType
• Const
EntryPointType: Object
Type declaration
Name | Type |
---|---|
EXTERNAL | "EXTERNAL" |
L1_HANDLER | "L1_HANDLER" |
CONSTRUCTOR | "CONSTRUCTOR" |
Defined in
src/types/lib/contract/index.ts:24
src/types/lib/contract/index.ts:30
ETransactionVersion
• ETransactionVersion: Object
Type declaration
Name | Type | Description |
---|---|---|
V0 | "0x0" | Deprecated Starknet 0.14 will not support this transaction |
V1 | "0x1" | Deprecated Starknet 0.14 will not support this transaction |
V2 | "0x2" | Deprecated Starknet 0.14 will not support this transaction |
V3 | "0x3" | - |
F0 | "0x100000000000000000000000000000000" | Deprecated Starknet 0.14 will not support this transaction |
F1 | "0x100000000000000000000000000000001" | Deprecated Starknet 0.14 will not support this transaction |
F2 | "0x100000000000000000000000000000002" | Deprecated Starknet 0.14 will not support this transaction |
F3 | "0x100000000000000000000000000000003" | - |
Defined in
src/provider/types/spec.type.ts:55
src/provider/types/spec.type.ts:56
ETransactionVersion2
• ETransactionVersion2: Object
Type declaration
Name | Type |
---|---|
V0 | "0x0" |
V1 | "0x1" |
V2 | "0x2" |
F0 | "0x100000000000000000000000000000000" |
F1 | "0x100000000000000000000000000000001" |
F2 | "0x100000000000000000000000000000002" |
Defined in
src/provider/types/spec.type.ts:58
src/provider/types/spec.type.ts:59
ETransactionVersion3
• ETransactionVersion3: Object
Type declaration
Name | Type |
---|---|
V3 | "0x3" |
F3 | "0x100000000000000000000000000000003" |
Defined in
src/provider/types/spec.type.ts:61
src/provider/types/spec.type.ts:62
EDataAvailabilityMode
• EDataAvailabilityMode: Object
Type declaration
Name | Type |
---|---|
L1 | "L1" |
L2 | "L2" |
Defined in
src/provider/types/spec.type.ts:116
src/provider/types/spec.type.ts:117
EDAMode
• EDAMode: Object
Type declaration
Name | Type |
---|---|
L1 | 0 |
L2 | 1 |
Defined in
src/provider/types/spec.type.ts:118
src/provider/types/spec.type.ts:119
ETransactionStatus
• ETransactionStatus: Object
Type declaration
Name | Type |
---|---|
RECEIVED | "RECEIVED" |
REJECTED | "REJECTED" |
ACCEPTED_ON_L2 | "ACCEPTED_ON_L2" |
ACCEPTED_ON_L1 | "ACCEPTED_ON_L1" |
Defined in
src/provider/types/spec.type.ts:200
src/provider/types/spec.type.ts:201
ETransactionExecutionStatus
• ETransactionExecutionStatus: Object
Type declaration
Name | Type |
---|---|
SUCCEEDED | "SUCCEEDED" |
REVERTED | "REVERTED" |
Defined in
src/provider/types/spec.type.ts:202
src/provider/types/spec.type.ts:203
TransactionType
• TransactionType: Object
Type declaration
Name | Type |
---|---|
DECLARE | "DECLARE" |
DEPLOY | "DEPLOY" |
DEPLOY_ACCOUNT | "DEPLOY_ACCOUNT" |
INVOKE | "INVOKE" |
L1_HANDLER | "L1_HANDLER" |
Defined in
src/provider/types/spec.type.ts:208
src/provider/types/spec.type.ts:209
BlockStatus
• BlockStatus: Object
Type declaration
Name | Type |
---|---|
PRE_CONFIRMED | "PRE_CONFIRMED" |
ACCEPTED_ON_L2 | "ACCEPTED_ON_L2" |
ACCEPTED_ON_L1 | "ACCEPTED_ON_L1" |
Defined in
src/provider/types/spec.type.ts:211
src/provider/types/spec.type.ts:212
TransactionFinalityStatus
• TransactionFinalityStatus: Object
Type declaration
Name | Type |
---|---|
PRE_CONFIRMED | "PRE_CONFIRMED" |
ACCEPTED_ON_L2 | "ACCEPTED_ON_L2" |
ACCEPTED_ON_L1 | "ACCEPTED_ON_L1" |
Defined in
src/provider/types/spec.type.ts:214
src/provider/types/spec.type.ts:215
TransactionExecutionStatus
• TransactionExecutionStatus: Object
Type declaration
Name | Type |
---|---|
SUCCEEDED | "SUCCEEDED" |
REVERTED | "REVERTED" |
Defined in
src/provider/types/spec.type.ts:217
src/provider/types/spec.type.ts:218
BlockTag
• BlockTag: Object
Type declaration
Name | Type | Description |
---|---|---|
LATEST | "latest" | Tag latest refers to the latest Starknet block finalized by the consensus on L2. |
PRE_CONFIRMED | "pre_confirmed" | Tag pre_confirmed refers to the block which is currently being built by the block proposer in height latest + 1. |
L1_ACCEPTED | "l1_accepted" | 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. |
Defined in
src/provider/types/spec.type.ts:220
src/provider/types/spec.type.ts:221
ValidateType
• Const
ValidateType: Object
Type declaration
Name | Type |
---|---|
DEPLOY | "DEPLOY" |
CALL | "CALL" |
INVOKE | "INVOKE" |
Defined in
Uint
• Const
Uint: Object
Type declaration
Name | Type |
---|---|
u8 | "core::integer::u8" |
u16 | "core::integer::u16" |
u32 | "core::integer::u32" |
u64 | "core::integer::u64" |
u128 | "core::integer::u128" |
u256 | "core::integer::u256" |
u512 | "core::integer::u512" |
Defined in
Literal
• Const
Literal: Object
Type declaration
Name | Type |
---|---|
ClassHash | "core::starknet::class_hash::ClassHash" |
ContractAddress | "core::starknet::contract_address::ContractAddress" |
Secp256k1Point | "core::starknet::secp256k1::Secp256k1Point" |
U96 | "core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>" |
Defined in
ETH_ADDRESS
• Const
ETH_ADDRESS: "core::starknet::eth_address::EthAddress"
Defined in
NON_ZERO_PREFIX
• Const
NON_ZERO_PREFIX: "core::zeroable::NonZero::"
Defined in
OutsideExecutionTypesV1
• Const
OutsideExecutionTypesV1: Object
Type declaration
Name | Type |
---|---|
StarkNetDomain | { name : string = 'name'; type : string = 'felt' }[] |
OutsideExecution | { name : string = 'caller'; type : string = 'felt' }[] |
OutsideCall | { name : string = 'to'; type : string = 'felt' }[] |
Defined in
src/types/outsideExecution.ts:34
OutsideExecutionTypesV2
• Const
OutsideExecutionTypesV2: Object
Type declaration
Name | Type |
---|---|
StarknetDomain | { name : string = 'name'; type : string = 'shortstring' }[] |
OutsideExecution | { name : string = 'Caller'; type : string = 'ContractAddress' }[] |
Call | { name : string = 'To'; type : string = 'ContractAddress' }[] |
Defined in
src/types/outsideExecution.ts:56
OutsideExecutionVersion
• Const
OutsideExecutionVersion: Object
Type declaration
Name | Type |
---|---|
UNSUPPORTED | "0" |
V1 | "1" |
V2 | "2" |
Defined in
src/types/outsideExecution.ts:78
src/types/outsideExecution.ts:83
UINT_128_MAX
• Const
UINT_128_MAX: bigint
Defined in
src/utils/cairoDataTypes/uint256.ts:11
UINT_256_MAX
• Const
UINT_256_MAX: bigint
Defined in
src/utils/cairoDataTypes/uint256.ts:12
UINT_256_MIN
• Const
UINT_256_MIN: 0n
Defined in
src/utils/cairoDataTypes/uint256.ts:13
UINT_256_LOW_MAX
• Const
UINT_256_LOW_MAX: 340282366920938463463374607431768211455n
Defined in
src/utils/cairoDataTypes/uint256.ts:14
UINT_256_HIGH_MAX
• Const
UINT_256_HIGH_MAX: 340282366920938463463374607431768211455n
Defined in
src/utils/cairoDataTypes/uint256.ts:15
UINT_256_LOW_MIN
• Const
UINT_256_LOW_MIN: 0n
Defined in
src/utils/cairoDataTypes/uint256.ts:16
UINT_256_HIGH_MIN
• Const
UINT_256_HIGH_MIN: 0n
Defined in
src/utils/cairoDataTypes/uint256.ts:17
UINT_512_MAX
• Const
UINT_512_MAX: bigint
Defined in
src/utils/cairoDataTypes/uint512.ts:12
UINT_512_MIN
• Const
UINT_512_MIN: 0n
Defined in
src/utils/cairoDataTypes/uint512.ts:13
UINT_128_MIN
• Const
UINT_128_MIN: 0n
Defined in
src/utils/cairoDataTypes/uint512.ts:14
CairoOptionVariant
• Const
CairoOptionVariant: Object
Type declaration
Name | Type |
---|---|
Some | 0 |
None | 1 |
Defined in
src/utils/calldata/enum/CairoOption.ts:4
src/utils/calldata/enum/CairoOption.ts:9
CairoResultVariant
• Const
CairoResultVariant: Object
Type declaration
Name | Type |
---|---|
Ok | 0 |
Err | 1 |
Defined in
src/utils/calldata/enum/CairoResult.ts:4
src/utils/calldata/enum/CairoResult.ts:9
config
• Const
config: Configuration
Defined in
logger
• Const
logger: Logger
Logger instance, use for the system logging. Higher the logger level index, higher the LogLevel required to display log. Default should be INFO
DEBUG: 5, INFO: 4, WARN: 3, ERROR: 2, FATAL: 1,
Defined in
LogLevelIndex
• Const
LogLevelIndex: Object
Type declaration
Name | Type |
---|---|
DEBUG | number |
INFO | number |
WARN | number |
ERROR | number |
FATAL | number |
OFF | number |
Defined in
Functions
getTipStatsFromBlocks
▸ getTipStatsFromBlocks(provider
, blockIdentifier?
, options?
): Promise
<TipEstimate
>
Analyzes tip statistics from recent blocks to help determine optimal tip amounts.
This function examines V3 invoke transactions across multiple recent blocks to calculate minimum, maximum, and average tip amounts. This data can be used to determine an appropriate tip for new transactions.
Performance Notes:
- Automatically detects if your provider has batching enabled
- When batching is enabled, all block requests are made in parallel and automatically batched into a single HTTP request for maximum efficiency
- When batching is not enabled, requests are made sequentially with early exit capability
Parameters
Name | Type | Default value | Description |
---|---|---|---|
provider | ProviderInterface | undefined | RPC provider for blockchain communication |
blockIdentifier | BlockIdentifier | BlockTag.LATEST | Starting block for analysis (goes backwards from this block) |
options | TipAnalysisOptions | {} | Configuration options for the analysis |
Returns
Promise
<TipEstimate
>
Promise resolving to TipEstimate object
Throws
When invalid parameters are provided
Throws
When RPC calls fail, data is invalid, or insufficient transaction data is found
Example
import { RpcProvider } from 'starknet';
// Create provider with batching for optimal performance
const provider = new RpcProvider({
nodeUrl: 'your_node_url',
batch: 50 // 50ms batch interval - automatically detected and used
});
// Basic usage - automatically uses best strategy
const tipStats = await getTipStatsFromBlocks(provider, 'latest');
console.log(`Recommended tip (median): ${tipStats.recommendedTip}`);
console.log(`90th percentile tip: ${tipStats.p90Tip}`);
console.log(`95th percentile tip: ${tipStats.p95Tip}`);
// Advanced usage with custom options
const tipStats = await getTipStatsFromBlocks(
provider,
'latest',
{
maxBlocks: 10,
minTxsNecessary: 5,
includeZeroTips: true
}
);
// Check if we have sufficient data
if (tipStats.recommendedTip === 0n) {
console.log('Insufficient transaction data for reliable tip estimation');
} else {
console.log(`Recommended tip: ${tipStats.recommendedTip}`);
console.log(`Average tip: ${tipStats.averageTip}`);
console.log(`Median tip: ${tipStats.medianTip}`);
console.log(`Mode tip: ${tipStats.modeTip}`);
console.log(`Min tip: ${tipStats.minTip}, Max tip: ${tipStats.maxTip}`);
console.log(`P90 tip: ${tipStats.p90Tip} (90% of tips are below this)`);
console.log(`P95 tip: ${tipStats.p95Tip} (95% of tips are below this)`);
// Access performance metrics if available
if (tipStats.metrics) {
console.log(`Analyzed ${tipStats.metrics.transactionsFound} transactions`);
console.log(`Across ${tipStats.metrics.blocksAnalyzed} blocks`);
}
}
// Using specific block number
const blockNumber = 650000;
const historicalTips = await getTipStatsFromBlocks(provider, blockNumber);
Defined in
src/provider/modules/tip.ts:482
verifyMessageInStarknet
▸ verifyMessageInStarknet(provider
, message
, signature
, accountAddress
, signatureVerificationFunctionName?
, signatureVerificationResponse?
): Promise
<boolean
>
Verify in Starknet a signature of a TypedData object or of a given hash.
Parameters
Name | Type | Description |
---|---|---|
provider | ProviderInterface | The provider to use for the verification. |
message | TypedData | BigNumberish | TypedData object to be verified, or message hash to be verified. |
signature | Signature | signature of the message. |
accountAddress | BigNumberish | address of the account that has signed the message. |
signatureVerificationFunctionName? | string | if account contract with non standard account verification function name. |
signatureVerificationResponse? | Object | if account contract with non standard response of verification function. |
signatureVerificationResponse.okResponse | string [] | - |
signatureVerificationResponse.nokResponse | string [] | - |
signatureVerificationResponse.error | string [] | - |
Returns
Promise
<boolean
>
const myTypedMessage: TypedMessage = .... ;
const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress);
const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey);
const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535";
const result1 = await myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress);
const result2 = await myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress);
// result1 = result2 = true
Defined in
src/provider/modules/verifyMessageInStarknet.ts:27
getLedgerPathBuffer111
▸ getLedgerPathBuffer111(accountId
, applicationName?
): Uint8Array
Format the Ledger wallet path to an Uint8Array for a Ledger Starknet DAPP v1.1.1.
EIP2645 path = 2645'/starknet/application/0/accountId/0
Parameters
Name | Type | Default value | Description |
---|---|---|---|
accountId | number | undefined | Id of account. < 2**31. |
applicationName? | string | 'LedgerW' | utf8 string of application name. |
Returns
Uint8Array
an Uint8array of 24 bytes.
Example
const result = getLedgerPathBuffer111(0);
// result = Uint8Array(24) [
128, 0, 10, 85, 71, 65, 233, 201,
43, 206, 231, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
]
Defined in
src/signer/ledgerSigner111.ts:336
getLedgerPathBuffer221
▸ getLedgerPathBuffer221(accountId
, applicationName?
): Uint8Array
Format the Ledger wallet path to an Uint8Array. for a Ledger Starknet DAPP v2.2.0 EIP2645 path = 2645'/starknet'/application'/0'/accountId'/0
Parameters
Name | Type | Default value | Description |
---|---|---|---|
accountId | number | undefined | Id of account. < 2**31. |
applicationName? | string | 'LedgerW' | utf8 string of application name. |
Returns
Uint8Array
an Uint8array of 24 bytes.
Example
const result = getLedgerPathBuffer211(0);
// result = Uint8Array(24) [
128, 0, 10, 85, 199, 65, 233, 201,
171, 206, 231, 219, 128, 0, 0, 0,
128, 0, 0, 0, 0, 0, 0, 0
]
Defined in
src/signer/ledgerSigner221.ts:459
isRPC08Plus_ResourceBounds
▸ isRPC08Plus_ResourceBounds(entry
): entry is RESOURCE_BOUNDS_MAPPING
Parameters
Name | Type |
---|---|
entry | Object |
entry.l1_gas | { max_amount: string; max_price_per_unit: string; } |
entry.l1_data_gas | { max_amount: string; max_price_per_unit: string; } |
entry.l2_gas | { max_amount: string; max_price_per_unit: string; } |
Returns
entry is RESOURCE_BOUNDS_MAPPING
Defined in
src/provider/types/spec.type.ts:138
isRPC08Plus_ResourceBoundsBN
▸ isRPC08Plus_ResourceBoundsBN(entry
): entry is ResourceBoundsBN
Parameters
Name | Type |
---|---|
entry | ResourceBoundsBN |
Returns
entry is ResourceBoundsBN
Defined in
src/provider/types/spec.type.ts:144
isAccount
▸ isAccount(providerOrAccount
): providerOrAccount is AccountInterface
Type guard to narrow ProviderOrAccount to AccountInterface
Parameters
Name | Type | Description |
---|---|---|
providerOrAccount | ProviderOrAccount | The object to check |
Returns
providerOrAccount is AccountInterface
true if the object is an AccountInterface
Defined in
src/contract/types/index.type.ts:138
isV3Tx
▸ isV3Tx(details
): details is V3TransactionDetails
Check if the given transaction details is a V3 transaction.
Parameters
Name | Type | Description |
---|---|---|
details | InvocationsDetailsWithNonce | The transaction details to be checked. |
Returns
details is V3TransactionDetails
Returns true if the transaction is a V3 transaction, otherwise false.
Example
const invocation: InvocationsDetailsWithNonce = {
nonce: 1,
version: 3,
maxFee: 10 ** 15,
feeDataAvailabilityMode: RPC.EDataAvailabilityMode.L1,
tip: 10 ** 13,
paymasterData: [],
resourceBounds: {
l1_gas: { max_amount: num.toHex(10 ** 14), max_price_per_unit: num.toHex(50) },
l2_gas: { max_amount: num.toHex(0), max_price_per_unit: num.toHex(0) }}};
const result = provider.isV3Tx(invocation);
// result = true
Defined in
isVersion
▸ isVersion(expected
, provided
): boolean
Determines if the provided version matches the specified version. Version must be formatted "major.minor.patch" using dot delimiters. Use wildcard or unspecified to match 'any' value on the position. ex. 7.3. == 7.3.15, * == 1.1.1, 0.8 == 0.8.5. '' != 0.8.5
Parameters
Name | Type | Description |
---|---|---|
expected | string | version. |
provided | string | to check against the expected version. |
Returns
boolean
True if the response matches the version, false otherwise.
Example
const result = provider.isVersion("0.7","0.7.1");
// result = true
Defined in
isSupportedSpecVersion
▸ isSupportedSpecVersion(version
, options?
): version is "0.8.1" | "0.9.0"
Define if provided version is SDK supported rpc specification version
Parameters
Name | Type |
---|---|
version | string |
options | Object |
options.allowAnyPatchVersion | boolean |
Returns
version is "0.8.1" | "0.9.0"
Defined in
toAnyPatchVersion
▸ toAnyPatchVersion(version
): string
Convert fixed version to any patch version. ex. 0.8.1 -> 0.8.*
Parameters
Name | Type |
---|---|
version | string |
Returns
string
Defined in
toApiVersion
▸ toApiVersion(version
): string
Convert version to API format. ex. '0.8.1' -> 'v0_8', '0.8' -> 'v0_8'
Parameters
Name | Type |
---|---|
version | string |
Returns
string
Defined in
isPendingBlock
▸ isPendingBlock(response
): response is Object
Guard Pending Block
Parameters
Name | Type | Description |
---|---|---|
response | GetBlockResponse | answer of myProvider.getBlock() |
Returns
response is Object
true if block is the pending block
Example
const block = await myProvider.getBlock("pending");
const result = provider.isPendingBlock(block);
// result = true
Defined in
isPendingTransaction
▸ isPendingTransaction(response
): boolean
Guard Pending Transaction
Parameters
Name | Type | Description |
---|---|---|
response | GetTransactionReceiptResponse | transaction Receipt |
Returns
boolean
true if the transaction is part of the pending block
Example
const block = await myProvider.getBlockWithTxs("pending");
const txR = await myProvider.getTransactionReceipt(block.transactions[0].transaction_hash);
const result = provider.isPendingTransaction(txR);
// result = true
Defined in
isPendingStateUpdate
▸ isPendingStateUpdate(response
): response is Object
Guard Pending State Update
Parameters
Name | Type | Description |
---|---|---|
response | StateUpdateResponse | State of a block |
Returns
response is Object
true if the block is pending
Example
const state: StateUpdateResponse = await myProvider.getStateUpdate("pending");
const result = provider.isPendingStateUpdate(state);
// result = true
Defined in
addAddressPadding
▸ addAddressPadding(address
): string
Format a hex number to '0x' and 64 characters, adding leading zeros if necessary.
Parameters
Name | Type |
---|---|
address | BigNumberish |
Returns
string
Hex string: 0x followed by 64 characters. No upper case characters in the response.
Example
const result = [31, 0x1f, '31', '0x1f', '0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf'].map(addAddressPadding);
// result = [
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x0000000000000000000000000000000000000000000000000000000000000031',
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x0000090591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf'
// ]
Defined in
validateAndParseAddress
▸ validateAndParseAddress(address
): string
Check the validity of a Starknet address, and format it as a hex number: '0x' and 64 characters, adding leading zeros if necessary.
Parameters
Name | Type |
---|---|
address | BigNumberish |
Returns
string
Hex string: 0x followed by 64 characters. No upper case characters in the response.
Throws
address argument must be a valid address inside the address range bound
Example
const result = [31, 0x1f, '31', '0x1f', '0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf'].map(addAddressPadding);
// result = [
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x0000000000000000000000000000000000000000000000000000000000000031',
// '0x000000000000000000000000000000000000000000000000000000000000001f',
// '0x0000090591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf'
// ]
Defined in
getChecksumAddress
▸ getChecksumAddress(address
): string
Convert an address to her checksum representation which uses a specific pattern of uppercase and lowercase letters within a given address to reduce the risk of errors introduced from typing an address or cut and paste issues.
Parameters
Name | Type |
---|---|
address | BigNumberish |
Returns
string
Hex string : 0x followed by 64 characters. Mix of uppercase and lowercase
Example
const address = "0x90591d9fa3efc87067d95a643f8455e0b8190eb8cb7bfd39e4fb7571fdf";
const result = getChecksumAddress(address);
// result = "0x0000090591D9fA3EfC87067d95a643f8455E0b8190eb8Cb7bFd39e4fb7571fDF"
Defined in
validateChecksumAddress
▸ validateChecksumAddress(address
): boolean
If the casing of an address is mixed, it is a Checksum Address, which uses a specific pattern of uppercase and lowercase letters within a given address to reduce the risk of errors introduced from typing an address or cut and paste issues.
Parameters
Name | Type | Description |
---|---|---|
address | string | string |
Returns
boolean
true if the ChecksumAddress is valid
Example
const address = "0x0000090591D9fA3EfC87067d95a643f8455E0b8190eb8Cb7bFd39e4fb7571fDF";
const result = validateChecksumAddress(address);
// result = true
Defined in
parseCalldataField
▸ parseCalldataField(argsIterator
, input
, structs
, enums
): string
| string
[]
Parse one field of the calldata by using input field from the abi for that method
Parameters
Name | Type | Description |
---|---|---|
argsIterator | Iterator <any , any , undefined > | Iterator for value of the field |
input | AbiEntry | input(field) information from the abi that will be used to parse the data |
structs | AbiStructs | structs from abi |
enums | AbiEnums | enums from abi |
Returns
string
| string
[]
- parsed arguments in format that contract is expecting
Example
const abiEntry = { name: 'test', type: 'struct' };
const abiStructs: AbiStructs = {
struct: {
members: [
{
name: 'test_name',
type: 'test_type',
offset: 1,
},
],
size: 2,
name: 'cairo__struct',
type: 'struct',
},
};
const abiEnums: AbiEnums = {
enum: {
variants: [
{
name: 'test_name',
type: 'cairo_struct_variant',
offset: 1,
},
],
size: 2,
name: 'test_cairo',
type: 'enum',
},
};
const args = [{ test_name: 'test' }];
const argsIterator = args[Symbol.iterator]();
const parsedField = parseCalldataField(
argsIterator,
abiEntry,
abiStructs,
abiEnums
);
// parsedField === ['1952805748']
Defined in
src/utils/calldata/requestParser.ts:352
isSierra
▸ isSierra(contract
): contract is CompiledSierra | SierraContractClass
Checks if a given contract is in Sierra (Safe Intermediate Representation) format.
Parameters
Name | Type | Description |
---|---|---|
contract | string | CairoContract | The contract to check. Can be either a CairoContract object or a string representation of the contract. |
Returns
contract is CompiledSierra | SierraContractClass
- Returns true if the contract is a Sierra contract, otherwise false.
Example
const result = isSierra(contract);
// result = true | false
Defined in
extractContractHashes
▸ extractContractHashes(payload
): CompleteDeclareContractPayload
Extracts contract hashes from DeclareContractPayload
.
Parameters
Name | Type | Description |
---|---|---|
payload | DeclareContractPayload | The payload containing contract information. |
Returns
CompleteDeclareContractPayload
- The
CompleteDeclareContractPayload
with extracted contract hashes.
Throws
- If extraction of compiledClassHash or classHash fails.
Example
const result = extractContractHashes(contract);
// result = {
// contract: ...,
// classHash: ...,
// casm: ...,
// compiledClassHash: ...,
// }
Defined in
contractClassResponseToLegacyCompiledContract
▸ contractClassResponseToLegacyCompiledContract(ccr
): LegacyCompiledContract
Helper to redeclare response Cairo0 contract
Parameters
Name | Type |
---|---|
ccr | ContractClassResponse |
Returns
Defined in
units
▸ units(amount
, simbol?
): string
Convert strk to fri or fri to strk
Parameters
Name | Type | Default value |
---|---|---|
amount | string | bigint | undefined |
simbol | "fri" | "strk" | 'fri' |
Returns
string
Example
units(1000n, 'fri') // '0.000000000000001' strk
units('1', 'strk') // '1000000000000000000' fri