Documentation
¶
Index ¶
- func IsDeprecatedCompiledClassDefinition(definition json.RawMessage) (bool, error)
- type Block
- type BlockTrace
- type BuiltinInstanceCounter
- type Cairo0Definition
- type ClassDefinition
- type CompiledClass
- type CompiledEntryPoint
- type DataAvailability
- type DataAvailabilityMode
- type EntryPoint
- type EntryPoints
- type Event
- type ExecutionResources
- type ExecutionStatus
- type FinalityStatus
- type FunctionInvocation
- type GasPrice
- type L1DAMode
- type L1ToL2Message
- type L2ToL1Message
- type OrderedEvent
- type OrderedL2toL1Message
- type Resource
- type ResourceBounds
- type SegmentLengths
- type SierraDefinition
- type SierraEntryPoint
- type SierraEntryPoints
- type Signature
- type StateUpdate
- type StateUpdateWithBlock
- type Transaction
- type TransactionReceipt
- type TransactionStatus
- type TransactionTrace
- type TransactionType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsDeprecatedCompiledClassDefinition ¶ added in v0.9.3
func IsDeprecatedCompiledClassDefinition(definition json.RawMessage) (bool, error)
Types ¶
type Block ¶
type Block struct {
Hash *felt.Felt `json:"block_hash"`
ParentHash *felt.Felt `json:"parent_block_hash"`
Number uint64 `json:"block_number"`
StateRoot *felt.Felt `json:"state_root"`
TransactionCommitment *felt.Felt `json:"transaction_commitment"`
EventCommitment *felt.Felt `json:"event_commitment"`
Status string `json:"status"`
Transactions []*Transaction `json:"transactions"`
Timestamp uint64 `json:"timestamp"`
Version string `json:"starknet_version"`
Receipts []*TransactionReceipt `json:"transaction_receipts"`
SequencerAddress *felt.Felt `json:"sequencer_address"`
L1GasPrice *GasPrice `json:"l1_gas_price"`
L1DAMode L1DAMode `json:"l1_da_mode"`
L1DataGasPrice *GasPrice `json:"l1_data_gas_price"`
// TODO we can remove the GasPrice method and the GasPriceLegacy field
// once v0.13 lands on mainnet. In the meantime, we include both to support
// pre-v0.13 jsons, where `eth_l1_gas_price` was called `gas_price`.
GasPriceLegacy *felt.Felt `json:"gas_price"`
// TODO these fields were replaced by `l1_gas_price` in v0.13.1
GasPriceWEI *felt.Felt `json:"eth_l1_gas_price"`
GasPriceFRI *felt.Felt `json:"strk_l1_gas_price"`
}
Block object returned by the feeder in JSON format for "get_block" endpoint
func (*Block) GasPriceETH ¶ added in v0.8.0
func (*Block) GasPriceSTRK ¶ added in v0.8.0
type BlockTrace ¶
type BlockTrace struct {
Traces []TransactionTrace `json:"traces"`
}
type BuiltinInstanceCounter ¶
type BuiltinInstanceCounter struct {
Pedersen uint64 `json:"pedersen_builtin"`
RangeCheck uint64 `json:"range_check_builtin"`
Bitwise uint64 `json:"bitwise_builtin"`
Output uint64 `json:"output_builtin"`
Ecsda uint64 `json:"ecdsa_builtin"`
EcOp uint64 `json:"ec_op_builtin"`
Keccak uint64 `json:"keccak_builtin"`
Poseidon uint64 `json:"poseidon_builtin"`
SegmentArena uint64 `json:"segment_arena_builtin"`
}
type Cairo0Definition ¶
type Cairo0Definition struct {
Abi json.RawMessage `json:"abi"`
EntryPoints EntryPoints `json:"entry_points_by_type"`
Program json.RawMessage `json:"program"`
}
type ClassDefinition ¶
type ClassDefinition struct {
V0 *Cairo0Definition
V1 *SierraDefinition
}
func (*ClassDefinition) UnmarshalJSON ¶
func (c *ClassDefinition) UnmarshalJSON(data []byte) error
type CompiledClass ¶ added in v0.9.3
type CompiledClass struct {
Prime string `json:"prime"`
Bytecode []*felt.Felt `json:"bytecode"`
Hints json.RawMessage `json:"hints"`
PythonicHints json.RawMessage `json:"pythonic_hints"`
CompilerVersion string `json:"compiler_version"`
BytecodeSegmentLengths SegmentLengths `json:"bytecode_segment_lengths"`
EntryPoints struct {
External []CompiledEntryPoint `json:"EXTERNAL"`
L1Handler []CompiledEntryPoint `json:"L1_HANDLER"`
Constructor []CompiledEntryPoint `json:"CONSTRUCTOR"`
} `json:"entry_points_by_type"`
}
func Compile ¶ added in v0.9.3
func Compile(sierra *SierraDefinition) (*CompiledClass, error)
type CompiledEntryPoint ¶ added in v0.9.3
type DataAvailability ¶ added in v0.11.0
type DataAvailabilityMode ¶ added in v0.8.0
type DataAvailabilityMode uint32
const ( DAModeL1 DataAvailabilityMode = iota DAModeL2 )
type EntryPoint ¶
type EntryPoints ¶
type EntryPoints struct {
Constructor []EntryPoint `json:"CONSTRUCTOR"`
External []EntryPoint `json:"EXTERNAL"`
L1Handler []EntryPoint `json:"L1_HANDLER"`
}
type ExecutionResources ¶
type ExecutionResources struct {
Steps uint64 `json:"n_steps"`
BuiltinInstanceCounter BuiltinInstanceCounter `json:"builtin_instance_counter"`
MemoryHoles uint64 `json:"n_memory_holes"`
DataAvailability *DataAvailability `json:"data_availability"`
}
type ExecutionStatus ¶
type ExecutionStatus uint8
const ( Succeeded ExecutionStatus = iota + 1 Reverted Rejected )
func (*ExecutionStatus) UnmarshalJSON ¶
func (es *ExecutionStatus) UnmarshalJSON(data []byte) error
type FinalityStatus ¶
type FinalityStatus uint8
const ( AcceptedOnL2 FinalityStatus = iota + 1 AcceptedOnL1 NotReceived Received )
func (*FinalityStatus) UnmarshalJSON ¶
func (fs *FinalityStatus) UnmarshalJSON(data []byte) error
type FunctionInvocation ¶
type FunctionInvocation struct {
CallerAddress felt.Felt `json:"caller_address"`
ContractAddress felt.Felt `json:"contract_address"`
Calldata []felt.Felt `json:"calldata"`
CallType string `json:"call_type"`
ClassHash *felt.Felt `json:"class_hash"`
Selector *felt.Felt `json:"selector"`
EntryPointType string `json:"entry_point_type"`
Result []felt.Felt `json:"result"`
ExecutionResources ExecutionResources `json:"execution_resources"`
InternalCalls []FunctionInvocation `json:"internal_calls"`
Events []OrderedEvent `json:"events"`
Messages []OrderedL2toL1Message `json:"messages"`
}
type L1DAMode ¶ added in v0.11.0
type L1DAMode uint
func (*L1DAMode) UnmarshalJSON ¶ added in v0.11.0
type L1ToL2Message ¶
type L2ToL1Message ¶
type OrderedEvent ¶
type OrderedL2toL1Message ¶
type Resource ¶ added in v0.8.0
type Resource uint32
func (Resource) MarshalJSON ¶ added in v0.8.0
func (Resource) MarshalText ¶ added in v0.8.0
func (*Resource) UnmarshalJSON ¶ added in v0.8.0
func (*Resource) UnmarshalText ¶ added in v0.8.0
type ResourceBounds ¶ added in v0.8.0
type SegmentLengths ¶ added in v0.11.0
type SegmentLengths struct {
Children []SegmentLengths
Length uint64
}
func (SegmentLengths) MarshalJSON ¶ added in v0.11.0
func (n SegmentLengths) MarshalJSON() ([]byte, error)
func (*SegmentLengths) UnmarshalJSON ¶ added in v0.11.0
func (n *SegmentLengths) UnmarshalJSON(data []byte) error
type SierraDefinition ¶
type SierraDefinition struct {
Abi string `json:"abi,omitempty"`
EntryPoints SierraEntryPoints `json:"entry_points_by_type"`
Program []*felt.Felt `json:"sierra_program"`
Version string `json:"contract_class_version"`
}
type SierraEntryPoint ¶
type SierraEntryPoints ¶
type SierraEntryPoints struct {
Constructor []SierraEntryPoint `json:"CONSTRUCTOR"`
External []SierraEntryPoint `json:"EXTERNAL"`
L1Handler []SierraEntryPoint `json:"L1_HANDLER"`
}
type Signature ¶
type Signature struct {
BlockNumber uint64 `json:"block_number"`
Signature []*felt.Felt `json:"signature"`
SignatureInput struct {
BlockHash *felt.Felt `json:"block_hash"`
StateDiffCommitment *felt.Felt `json:"state_diff_commitment"`
} `json:"signature_input"`
}
Signature object returned by the feeder in JSON format for "get_signature" endpoint
type StateUpdate ¶
type StateUpdate struct {
BlockHash *felt.Felt `json:"block_hash"`
NewRoot *felt.Felt `json:"new_root"`
OldRoot *felt.Felt `json:"old_root"`
StateDiff struct {
StorageDiffs map[string][]struct {
Key *felt.Felt `json:"key"`
Value *felt.Felt `json:"value"`
} `json:"storage_diffs"`
Nonces map[string]*felt.Felt `json:"nonces"`
DeployedContracts []struct {
Address *felt.Felt `json:"address"`
ClassHash *felt.Felt `json:"class_hash"`
} `json:"deployed_contracts"`
// v0.11.0
OldDeclaredContracts []*felt.Felt `json:"old_declared_contracts"`
DeclaredClasses []struct {
ClassHash *felt.Felt `json:"class_hash"`
CompiledClassHash *felt.Felt `json:"compiled_class_hash"`
} `json:"declared_classes"`
ReplacedClasses []struct {
Address *felt.Felt `json:"address"`
ClassHash *felt.Felt `json:"class_hash"`
} `json:"replaced_classes"`
} `json:"state_diff"`
}
StateUpdate object returned by the feeder in JSON format for "get_state_update" endpoint
type StateUpdateWithBlock ¶
type StateUpdateWithBlock struct {
Block *Block `json:"block"`
StateUpdate *StateUpdate `json:"state_update"`
}
StateUpdateWithBlock object returned by the feeder in JSON format for "get_state_update" endpoint with includingBlock arg
type Transaction ¶
type Transaction struct {
Hash *felt.Felt `json:"transaction_hash,omitempty" copier:"must,nopanic"`
Version *felt.Felt `json:"version,omitempty"`
ContractAddress *felt.Felt `json:"contract_address,omitempty"`
ContractAddressSalt *felt.Felt `json:"contract_address_salt,omitempty"`
ClassHash *felt.Felt `json:"class_hash,omitempty"`
ConstructorCallData *[]*felt.Felt `json:"constructor_calldata,omitempty"`
Type TransactionType `json:"type,omitempty"`
SenderAddress *felt.Felt `json:"sender_address,omitempty"`
MaxFee *felt.Felt `json:"max_fee,omitempty"`
Signature *[]*felt.Felt `json:"signature,omitempty"`
CallData *[]*felt.Felt `json:"calldata,omitempty"`
EntryPointSelector *felt.Felt `json:"entry_point_selector,omitempty"`
Nonce *felt.Felt `json:"nonce,omitempty"`
CompiledClassHash *felt.Felt `json:"compiled_class_hash,omitempty"`
ResourceBounds *map[Resource]ResourceBounds `json:"resource_bounds,omitempty"`
Tip *felt.Felt `json:"tip,omitempty"`
NonceDAMode *DataAvailabilityMode `json:"nonce_data_availability_mode,omitempty"`
FeeDAMode *DataAvailabilityMode `json:"fee_data_availability_mode,omitempty"`
AccountDeploymentData *[]*felt.Felt `json:"account_deployment_data,omitempty"`
PaymasterData *[]*felt.Felt `json:"paymaster_data,omitempty"`
}
Transaction object returned by the feeder in JSON format for multiple endpoints
type TransactionReceipt ¶
type TransactionReceipt struct {
ActualFee *felt.Felt `json:"actual_fee"`
Events []*Event `json:"events"`
ExecutionStatus ExecutionStatus `json:"execution_status"`
ExecutionResources *ExecutionResources `json:"execution_resources"`
L1ToL2Message *L1ToL2Message `json:"l1_to_l2_consumed_message"`
L2ToL1Message []*L2ToL1Message `json:"l2_to_l1_messages"`
TransactionHash *felt.Felt `json:"transaction_hash"`
TransactionIndex uint64 `json:"transaction_index"`
RevertError string `json:"revert_error"`
}
type TransactionStatus ¶
type TransactionStatus struct {
Status string `json:"status"`
FinalityStatus FinalityStatus `json:"finality_status"`
ExecutionStatus ExecutionStatus `json:"execution_status"`
BlockHash *felt.Felt `json:"block_hash"`
BlockNumber uint64 `json:"block_number"`
TransactionIndex uint64 `json:"transaction_index"`
Transaction *Transaction `json:"transaction"`
RevertError string `json:"revert_error"`
}
type TransactionTrace ¶
type TransactionTrace struct {
TransactionHash felt.Felt `json:"transaction_hash"`
RevertError string `json:"revert_error"`
ValidateInvocation *FunctionInvocation `json:"validate_invocation"`
FunctionInvocation *FunctionInvocation `json:"function_invocation"`
FeeTransferInvocation *FunctionInvocation `json:"fee_transfer_invocation"`
Signature []felt.Felt `json:"signature"`
}
type TransactionType ¶
type TransactionType uint8
const ( Invalid TransactionType = iota TxnDeclare TxnDeploy TxnDeployAccount TxnInvoke TxnL1Handler )
func (TransactionType) MarshalJSON ¶
func (t TransactionType) MarshalJSON() ([]byte, error)
func (TransactionType) String ¶
func (t TransactionType) String() string
func (*TransactionType) UnmarshalJSON ¶
func (t *TransactionType) UnmarshalJSON(data []byte) error
Click to show internal directories.
Click to hide internal directories.