Documentation
¶
Index ¶
- Constants
- func JunoAddExecutionSteps(readerHandle C.uintptr_t, execSteps C.ulonglong)
- func JunoAppendActualFee(readerHandle C.uintptr_t, ptr unsafe.Pointer)
- func JunoAppendDAGas(readerHandle C.uintptr_t, ptr, ptr2 unsafe.Pointer)
- func JunoAppendGasConsumed(readerHandle C.uintptr_t, ptr, ptr2, ptr3 unsafe.Pointer)
- func JunoAppendReceipt(readerHandle C.uintptr_t, jsonBytes *C.void, bytesLen C.size_t)
- func JunoAppendResponse(readerHandle C.uintptr_t, ptr unsafe.Pointer)
- func JunoAppendStateDiff(readerHandle C.uintptr_t, jsonBytes *C.void, bytesLen C.size_t)
- func JunoAppendTrace(readerHandle C.uintptr_t, jsonBytes *C.void, bytesLen C.size_t)
- func JunoFree(ptr unsafe.Pointer)
- func JunoReportError(readerHandle C.uintptr_t, txnIndex C.long, str *C.char, ...)
- func JunoStateGetClassHashAt(readerHandle C.uintptr_t, contractAddress, buffer unsafe.Pointer) C.int
- func JunoStateGetCompiledClass(readerHandle C.uintptr_t, classHash unsafe.Pointer) unsafe.Pointer
- func JunoStateGetCompiledClassHash(readerHandle C.uintptr_t, classHash, buffer unsafe.Pointer) C.int
- func JunoStateGetCompiledClassHashV2(readerHandle C.uintptr_t, classHash, buffer unsafe.Pointer) C.int
- func JunoStateGetNonceAt(readerHandle C.uintptr_t, contractAddress, buffer unsafe.Pointer) C.int
- func JunoStateGetStorageAt(readerHandle C.uintptr_t, ...) C.int
- func SetVersionedConstants(filename string) error
- type BlockInfo
- type CallInfo
- type CallResult
- type ChainInfo
- type ComputationResources
- type DataAvailability
- type DataAvailabilityMode
- type DeclaredClass
- type DeployedContract
- type Entry
- type ExecuteInvocation
- type ExecutionResources
- type ExecutionResults
- type FunctionInvocation
- type GasConsumed
- type MigratedCompiledClass
- type Nonce
- type OrderedEvent
- type OrderedL2toL1Message
- type ReplacedClass
- type Resource
- type ResourceBounds
- type StateDiff
- type StorageDiff
- type Transaction
- type TransactionExecutionError
- type TransactionReceipt
- type TransactionTrace
- type TransactionType
- type VM
Constants ¶
View Source
const ( DefaultMaxSteps = 4_000_000 DefaultMaxGas = 100_000_000 )
Variables ¶
This section is empty.
Functions ¶
func JunoAddExecutionSteps ¶ added in v0.12.1
func JunoAppendActualFee ¶ added in v0.6.0
func JunoAppendDAGas ¶ added in v0.13.0
func JunoAppendGasConsumed ¶
func JunoAppendReceipt ¶ added in v0.14.3
func JunoAppendStateDiff ¶ added in v0.14.3
func JunoAppendTrace ¶ added in v0.6.0
func JunoReportError ¶
func JunoStateGetClassHashAt ¶
func JunoStateGetCompiledClassHash ¶ added in v0.15.11
func JunoStateGetCompiledClassHashV2 ¶ added in v0.15.11
func JunoStateGetNonceAt ¶
func JunoStateGetStorageAt ¶
func SetVersionedConstants ¶ added in v0.12.0
Types ¶
type CallResult ¶ added in v0.13.0
type ChainInfo ¶ added in v0.15.7
type ChainInfo struct {
ChainID string
FeeTokenAddresses starknet.FeeTokenAddresses
}
type ComputationResources ¶ added in v0.11.0
type ComputationResources struct {
Steps uint64 `json:"steps"`
MemoryHoles uint64 `json:"memory_holes,omitempty"`
Pedersen uint64 `json:"pedersen_builtin_applications,omitempty"`
RangeCheck uint64 `json:"range_check_builtin_applications,omitempty"`
Bitwise uint64 `json:"bitwise_builtin_applications,omitempty"`
Ecdsa uint64 `json:"ecdsa_builtin_applications,omitempty"`
EcOp uint64 `json:"ec_op_builtin_applications,omitempty"`
Keccak uint64 `json:"keccak_builtin_applications,omitempty"`
Poseidon uint64 `json:"poseidon_builtin_applications,omitempty"`
SegmentArena uint64 `json:"segment_arena_builtin,omitempty"`
AddMod uint64 `json:"add_mod_builtin,omitempty"`
MulMod uint64 `json:"mul_mod_builtin,omitempty"`
RangeCheck96 uint64 `json:"range_check_96_builtin,omitempty"`
Output uint64 `json:"output_builtin,omitempty"`
}
type DataAvailability ¶ added in v0.11.0
func NewDataAvailability ¶ added in v0.11.1
func NewDataAvailability(gasConsumed, dataGasConsumed *felt.Felt, mode core.L1DAMode) DataAvailability
type DataAvailabilityMode ¶ added in v0.8.0
type DataAvailabilityMode uint32
const ( DAModeL1 DataAvailabilityMode = iota DAModeL2 )
func (DataAvailabilityMode) MarshalText ¶ added in v0.11.0
func (m DataAvailabilityMode) MarshalText() ([]byte, error)
type DeclaredClass ¶ added in v0.9.3
type DeployedContract ¶ added in v0.9.3
type ExecuteInvocation ¶ added in v0.9.3
type ExecuteInvocation struct {
RevertReason string `json:"revert_reason"`
*FunctionInvocation `json:",omitempty"`
}
func (ExecuteInvocation) MarshalJSON ¶ added in v0.9.3
func (e ExecuteInvocation) MarshalJSON() ([]byte, error)
type ExecutionResources ¶ added in v0.9.3
type ExecutionResources struct {
L1Gas uint64 `json:"l1_gas"`
L1DataGas uint64 `json:"l1_data_gas"`
L2Gas uint64 `json:"l2_gas"`
ComputationResources
DataAvailability *DataAvailability `json:"data_availability,omitempty"`
}
type ExecutionResults ¶ added in v0.13.0
type ExecutionResults struct {
OverallFees []*felt.Felt
DataAvailability []core.DataAvailability
GasConsumed []core.GasConsumed
Traces []TransactionTrace
NumSteps uint64
Receipts []TransactionReceipt
}
type FunctionInvocation ¶ added in v0.9.3
type FunctionInvocation struct {
ContractAddress felt.Felt `json:"contract_address"`
EntryPointSelector *felt.Felt `json:"entry_point_selector,omitempty"`
Calldata []felt.Felt `json:"calldata"`
CallerAddress felt.Felt `json:"caller_address"`
ClassHash *felt.Felt `json:"class_hash,omitempty"`
EntryPointType string `json:"entry_point_type,omitempty"`
CallType string `json:"call_type,omitempty"`
Result []felt.Felt `json:"result"`
Calls []FunctionInvocation `json:"calls"`
Events []OrderedEvent `json:"events"`
Messages []OrderedL2toL1Message `json:"messages"`
ExecutionResources *ExecutionResources `json:"execution_resources,omitempty"`
IsReverted bool `json:"is_reverted,omitempty"`
}
type GasConsumed ¶ added in v0.14.3
type MigratedCompiledClass ¶ added in v0.15.10
type MigratedCompiledClass struct {
ClassHash felt.SierraClassHash `json:"class_hash"`
CompiledClassHash felt.CasmClassHash `json:"compiled_class_hash"`
}
type OrderedEvent ¶ added in v0.9.3
type OrderedL2toL1Message ¶ added in v0.9.3
type ReplacedClass ¶ added in v0.9.3
type ResourceBounds ¶ added in v0.8.0
type StateDiff ¶ added in v0.9.3
type StateDiff struct {
StorageDiffs []StorageDiff `json:"storage_diffs"`
Nonces []Nonce `json:"nonces"`
DeployedContracts []DeployedContract `json:"deployed_contracts"`
DeprecatedDeclaredClasses []*felt.Felt `json:"deprecated_declared_classes"`
DeclaredClasses []DeclaredClass `json:"declared_classes"`
ReplacedClasses []ReplacedClass `json:"replaced_classes"`
MigratedCompiledClasses []MigratedCompiledClass `json:"migrated_compiled_classes"`
}
type StorageDiff ¶ added in v0.9.3
type Transaction ¶ added in v0.8.0
type Transaction struct {
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"`
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"`
}
type TransactionExecutionError ¶ added in v0.8.0
type TransactionExecutionError struct {
Index uint64
Cause json.RawMessage
}
func (TransactionExecutionError) Error ¶ added in v0.8.0
func (e TransactionExecutionError) Error() string
type TransactionReceipt ¶ added in v0.14.3
type TransactionReceipt struct {
Fee *felt.Felt
Gas GasConsumed
DAGas DataAvailability
}
type TransactionTrace ¶ added in v0.9.3
type TransactionTrace struct {
Type TransactionType `json:"type,omitempty"`
ValidateInvocation *FunctionInvocation `json:"validate_invocation,omitempty"`
ExecuteInvocation *ExecuteInvocation `json:"execute_invocation,omitempty"`
FeeTransferInvocation *FunctionInvocation `json:"fee_transfer_invocation,omitempty"`
ConstructorInvocation *FunctionInvocation `json:"constructor_invocation,omitempty"`
FunctionInvocation *ExecuteInvocation `json:"function_invocation,omitempty"`
StateDiff *StateDiff `json:"state_diff,omitempty"`
ExecutionResources *ExecutionResources `json:"execution_resources,omitempty"`
}
func (*TransactionTrace) AllEvents ¶ added in v0.9.3
func (t *TransactionTrace) AllEvents() []OrderedEvent
func (*TransactionTrace) AllMessages ¶ added in v0.9.3
func (t *TransactionTrace) AllMessages() []OrderedL2toL1Message
func (*TransactionTrace) RevertReason ¶ added in v0.9.3
func (t *TransactionTrace) RevertReason() string
func (*TransactionTrace) TotalExecutionResources ¶ added in v0.9.3
func (t *TransactionTrace) TotalExecutionResources() *ExecutionResources
Todo: this was deleted during RP refactoring. However, the builder pkg needs it. Think about if we can handle this more elegantly.
type TransactionType ¶ added in v0.9.3
type TransactionType uint8
const ( Invalid TransactionType = iota TxnDeclare TxnDeploy TxnDeployAccount TxnInvoke TxnL1Handler )
func (TransactionType) MarshalText ¶ added in v0.11.0
func (t TransactionType) MarshalText() ([]byte, error)
func (TransactionType) String ¶ added in v0.9.3
func (t TransactionType) String() string
func (*TransactionType) UnmarshalJSON ¶ added in v0.9.3
func (t *TransactionType) UnmarshalJSON(data []byte) error
type VM ¶ added in v0.5.0
type VM interface {
Call(
callInfo *CallInfo,
blockInfo *BlockInfo,
state core.StateReader,
maxSteps uint64,
maxGas uint64,
structuredErrStack,
returnStateDiff bool,
) (CallResult, error)
Execute(
txns []core.Transaction,
declaredClasses []core.ClassDefinition,
paidFeesOnL1 []*felt.Felt,
blockInfo *BlockInfo,
state core.StateReader,
skipChargeFee,
skipValidate,
errOnRevert,
errStack,
allowBinarySearch bool,
isEstimateFee bool,
) (ExecutionResults, error)
}
Click to show internal directories.
Click to hide internal directories.