Package-level declarations

Data classes representing Starknet objects.

Types

Link copied to clipboard
@Serializable
sealed class AbiElement
Link copied to clipboard
@Serializable
data class AbiEntry(val name: String, val type: String)
Link copied to clipboard
@Serializable
enum AbiEntryType : Enum<AbiEntryType>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface Block
Link copied to clipboard
@Serializable(with = BlockIdSerializer::class)
sealed class BlockId
Link copied to clipboard
@Serializable
enum BlockStatus : Enum<BlockStatus>
Link copied to clipboard
@Serializable
enum BlockTag : Enum<BlockTag>
Link copied to clipboard
@Serializable
sealed class BlockWithReceipts : Block
Link copied to clipboard
@Serializable
sealed class BlockWithTransactionHashes : Block
Link copied to clipboard
@Serializable
sealed class BlockWithTransactions : Block
Link copied to clipboard
@Serializable
data class Cairo0ContractDefinition(contract: String)
Link copied to clipboard
@Serializable
data class Cairo1ContractDefinition @JvmOverloads constructor(contract: String, ignoreUnknownJsonKeys: Boolean = false)
Link copied to clipboard
@Serializable
data class Call(val contractAddress: Felt, val entrypoint: Felt, val calldata: Calldata)
Link copied to clipboard
Link copied to clipboard
@Serializable
data class CallContractResponse(val result: List<Felt>)
Link copied to clipboard
typealias Calldata = List<Felt>
Link copied to clipboard
@Serializable
data class CasmContractClass(val casmClassVersion: String = "COMPILED_CLASS_V1", val prime: String, val hints: List<String>, val compilerVersion: String, val entryPointsByType: CasmContractClass.EntryPointsByType, val bytecode: List<Felt>, val bytecodeSegmentLengths: List<Int>? = null)
Link copied to clipboard
@Serializable
data class CasmContractDefinition @JvmOverloads constructor(contract: String, ignoreUnknownJsonKeys: Boolean = false)
Link copied to clipboard
@Serializable
data class CasmEntryPoint(val selector: Felt, val offset: Int, val builtins: List<String>? = null)
Link copied to clipboard
@Serializable
data class ContractClass(val sierraProgram: List<Felt>, val entryPointsByType: EntryPointsByType, val contractClassVersion: String, val abi: String? = null) : ContractClassBase
Link copied to clipboard
sealed class ContractClassBase
Link copied to clipboard
@Serializable
data class DeclaredClassItem(val classHash: Felt, val compiledClassHash: Felt)
Link copied to clipboard

Params used for signing and sending v3 declare transactions.

Link copied to clipboard
@Serializable
data class DeclareResponse(val transactionHash: Felt, val classHash: Felt)
Link copied to clipboard

Params used for signing and sending v3 deploy account transactions.

Link copied to clipboard
@Serializable
data class DeployAccountResponse(val transactionHash: Felt, val address: Felt? = null)
Link copied to clipboard
@Serializable
data class DeployedContractItem(val address: Felt, val classHash: Felt)
Link copied to clipboard
@Serializable(with = DeprecatedCairoEntryPointSerializer::class)
data class DeprecatedCairoEntryPoint(val offset: NumAsHex, val selector: Felt)
Link copied to clipboard
@Serializable
data class DeprecatedContractClass(val program: String, val entryPointsByType: DeprecatedEntryPointsByType, val abi: List<AbiElement>? = null) : ContractClassBase
Link copied to clipboard
@Serializable
data class DeprecatedEntryPointsByType(val constructor: List<DeprecatedCairoEntryPoint>, val external: List<DeprecatedCairoEntryPoint>, val l1Handler: List<DeprecatedCairoEntryPoint>)
Link copied to clipboard
@Serializable
data class EmittedEvent(val address: Felt, val keys: List<Felt>, val data: List<Felt>, val blockHash: Felt? = null, val blockNumber: Int? = null, val transactionHash: Felt)
Link copied to clipboard
@Serializable
data class EntryPointsByType(val constructor: List<SierraEntryPoint>, val external: List<SierraEntryPoint>, val l1Handler: List<SierraEntryPoint>)
Link copied to clipboard
@Serializable
data class EstimateFeeResponse(val gasConsumed: Felt, val gasPrice: Felt, val dataGasConsumed: Felt, val dataGasPrice: Felt, val overallFee: Felt, val feeUnit: PriceUnit? = null)
Link copied to clipboard
@Serializable
data class Event(val address: Felt, val keys: List<Felt>, val data: List<Felt>)
Link copied to clipboard
@Serializable
data class EventAbiEntry(val name: String, val keys: List<AbiEntry>, val data: List<AbiEntry>) : AbiElement
Link copied to clipboard
@Serializable
data class EventContent(val keys: List<Felt>, val data: List<Felt>)
Link copied to clipboard
data class ExecutionParams(val nonce: Felt, val maxFee: Felt) : ParamsBase

Params used for signing and sending v1 and v2 transactions.

Link copied to clipboard
@Serializable
data class FeePayment(val amount: Felt, val unit: PriceUnit)
Link copied to clipboard
@Serializable(with = FeltSerializer::class)
data class Felt(val value: BigInteger) : NumAsHexBase, ConvertibleToCalldata
Link copied to clipboard
Link copied to clipboard
@Serializable
data class FunctionAbiEntry(val name: String, val inputs: List<AbiEntry>, val outputs: List<AbiEntry>, val type: AbiEntryType, val stateMutability: StateMutabilityType? = null) : AbiElement
Link copied to clipboard
@Serializable
data class GetBlockHashAndNumberResponse(val blockHash: Felt, val blockNumber: Int)
Link copied to clipboard
@Serializable
data class GetClassAtPayload(val blockId: BlockId, val contractAddress: Felt)
Link copied to clipboard
@Serializable
data class GetClassPayload(val classHash: Felt, var blockId: BlockId)
Link copied to clipboard
@Serializable
data class GetEventsPayload(val fromBlockId: BlockId, val toBlockId: BlockId, val address: Felt, val keys: List<List<Felt>>, val chunkSize: Int, val continuationToken: String? = "0")
Link copied to clipboard
@Serializable
data class GetEventsResult(val events: List<EmittedEvent>, val continuationToken: String? = "0")
Link copied to clipboard
@Serializable
data class GetTransactionStatusResponse(val finalityStatus: TransactionStatus, val executionStatus: TransactionExecutionStatus? = null)
Link copied to clipboard
@Serializable
data class InvokeFunctionResponse(val transactionHash: Felt)
Link copied to clipboard

Params used for signing and sending v3 invoke transactions.

Link copied to clipboard
@Serializable
enum L1DAMode : Enum<L1DAMode>
Link copied to clipboard
data class MerkleTree(val leafHashes: List<Felt>, val hashFunction: HashMethod)
Link copied to clipboard
@Serializable
data class MessageL1ToL2(val fromAddress: Felt, val toAddress: Felt, val selector: Felt, val nonce: Felt? = null, val payload: List<Felt>)
Link copied to clipboard
@Serializable
data class MessageL2ToL1(val fromAddress: Felt, val toAddress: Felt, val payload: List<Felt>)
Link copied to clipboard
@Serializable
data class NonceItem(val contractAddress: Felt, val nonce: Felt)
Link copied to clipboard
@Serializable
data class NotSyncingResponse(val status: Boolean, val startingBlockHash: Felt = Felt.ZERO, val startingBlockNumber: Int = 0, val currentBlockHash: Felt = Felt.ZERO, val currentBlockNumber: Int = 0, val highestBlockHash: Felt = Felt.ZERO, val highestBlockNumber: Int = 0) : Syncing
Link copied to clipboard
@Serializable(with = NumAsHexSerializer::class)
data class NumAsHex(val value: BigInteger) : NumAsHexBase
Link copied to clipboard
Link copied to clipboard
@Serializable
data class OrderedEvent(val order: Int, val keys: List<Felt>, val data: List<Felt>)
Link copied to clipboard
@Serializable
data class OrderedMessageL2ToL1(val order: Int, val fromAddress: Felt, val toAddress: Felt, val payload: List<Felt>)
Link copied to clipboard
sealed class ParamsBase

Params used for signing and sending transactions.

Link copied to clipboard
sealed class ParamsV3 : ParamsBase
Link copied to clipboard
typealias PaymasterData = List<Felt>
Link copied to clipboard
interface PendingBlock : Block

Represents a pending block.

Link copied to clipboard
@Serializable
data class PendingBlockWithReceipts(val transactionsWithReceipts: List<TransactionWithReceipt>, val timestamp: Int, val sequencerAddress: Felt, val parentHash: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithReceipts, PendingBlock
Link copied to clipboard
@Serializable
data class PendingBlockWithTransactionHashes(val transactionHashes: List<Felt>, val timestamp: Int, val sequencerAddress: Felt, val parentHash: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithTransactionHashes, PendingBlock
Link copied to clipboard
@Serializable
data class PendingBlockWithTransactions(val transactions: List<@Serializable(with = TransactionPolymorphicSerializer::class) Transaction>, val timestamp: Int, val sequencerAddress: Felt, val parentHash: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithTransactions, PendingBlock
Link copied to clipboard
@Serializable
data class PendingStateUpdateResponse(val oldRoot: Felt, val stateDiff: StateDiff) : StateUpdate
Link copied to clipboard
@Serializable
enum PriceUnit : Enum<PriceUnit>
Link copied to clipboard
interface ProcessedBlock : Block

Represents a processed block.

Link copied to clipboard
@Serializable
data class ProcessedBlockWithReceipts(val status: BlockStatus, val transactionsWithReceipts: List<TransactionWithReceipt>, val blockHash: Felt, val blockNumber: Int, val newRoot: Felt, val timestamp: Int, val sequencerAddress: Felt, val parentHash: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithReceipts, ProcessedBlock
Link copied to clipboard
@Serializable
data class ProcessedBlockWithTransactionHashes(val status: BlockStatus, val transactionHashes: List<Felt>, val blockHash: Felt, val blockNumber: Int, val newRoot: Felt, val timestamp: Int, val sequencerAddress: Felt, val parentHash: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithTransactionHashes, ProcessedBlock
Link copied to clipboard
@Serializable
data class ProcessedBlockWithTransactions(val status: BlockStatus, val transactions: List<@Serializable(with = TransactionPolymorphicSerializer::class) Transaction>, val parentHash: Felt, val blockHash: Felt, val blockNumber: Int, val newRoot: Felt, val timestamp: Int, val sequencerAddress: Felt, val l1GasPrice: ResourcePrice, val l1DataGasPrice: ResourcePrice, val l1DataAvailabilityMode: L1DAMode, val starknetVersion: String) : BlockWithTransactions, ProcessedBlock
Link copied to clipboard
@Serializable
data class ReplacedClassItem(val address: Felt, val classHash: Felt)
Link copied to clipboard
@Serializable
data class ResourceBounds(val maxAmount: Uint64, val maxPricePerUnit: Uint128)
Link copied to clipboard
@Serializable
data class ResourceBoundsMapping
Link copied to clipboard
@Serializable
data class ResourcePrice(val priceInWei: Felt? = null, val priceInFri: Felt)
Link copied to clipboard
@Serializable
data class SierraEntryPoint(val functionIdx: Int, val selector: Felt)
Link copied to clipboard
typealias Signature = List<Felt>
Link copied to clipboard
data class StarknetByteArray(val data: List<Felt>, val pendingWord: Felt, val pendingWordLen: Int) : ConvertibleToCalldata

Represents a ByteArray struct from Cairo.

Link copied to clipboard
@Serializable(with = StarknetChainIdSerializer::class)
data class StarknetChainId(val value: Felt)
Link copied to clipboard
@Serializable
data class StateDiff(val storageDiffs: List<StorageDiffItem>, val deprecatedDeclaredClasses: List<Felt>, val declaredClasses: List<DeclaredClassItem>, val deployedContracts: List<DeployedContractItem>, val replacedClasses: List<ReplacedClassItem>, val nonces: List<NonceItem>)
Link copied to clipboard
Link copied to clipboard
@Serializable
sealed class StateUpdate
Link copied to clipboard
@Serializable
data class StateUpdateResponse(val blockHash: Felt, val newRoot: Felt, val oldRoot: Felt, val stateDiff: StateDiff) : StateUpdate
Link copied to clipboard
@Serializable
data class StorageDiffItem(val address: Felt, val storageEntries: List<StorageEntries>)
Link copied to clipboard
@Serializable
data class StorageEntries(val key: Felt, val value: Felt)
Link copied to clipboard
@Serializable
data class StructAbiEntry(val name: String, val size: Int, val members: List<StructMember>) : AbiElement
Link copied to clipboard
@Serializable
data class StructMember(val name: String, val type: String, val offset: Int)
Link copied to clipboard
@Serializable
sealed class Syncing
Link copied to clipboard
@Serializable
data class SyncingResponse(val status: Boolean = true, val startingBlockHash: Felt, val startingBlockNumber: Int, val currentBlockHash: Felt, val currentBlockNumber: Int, val highestBlockHash: Felt, val highestBlockNumber: Int) : Syncing
Link copied to clipboard
@Serializable
data class TransactionWithReceipt(val transaction: Transaction, val receipt: TransactionReceipt)
Link copied to clipboard
@Serializable(with = Uint128Serializer::class)
data class Uint128(val value: BigInteger) : NumAsHexBase, ConvertibleToCalldata
Link copied to clipboard
Link copied to clipboard
@Serializable(with = Uint64Serializer::class)
data class Uint64(val value: BigInteger) : NumAsHexBase, ConvertibleToCalldata