rpcv10

package
v0.15.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2026 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const ExecutionStepsHeader string = "X-Cairo-Steps"

Variables

View Source
var ErrTransactionNotFound = errors.New("transaction not found")

Functions

func AdaptBroadcastedTransaction added in v0.15.20

func AdaptBroadcastedTransaction(
	ctx context.Context,
	compiler compiler.Compiler,
	broadcastedTxn *BroadcastedTransaction,
	network *utils.Network,
) (core.Transaction, core.ClassDefinition, *felt.Felt, error)

func AdaptRPCTxToFeederTx added in v0.15.20

func AdaptRPCTxToFeederTx(rpcTx *Transaction) starknet.Transaction

func AdaptToFeederDAMode added in v0.15.20

func AdaptToFeederDAMode(mode *DataAvailabilityMode) starknet.DataAvailabilityMode

func AdaptToFeederResourceBounds added in v0.15.20

func AdaptToFeederResourceBounds(
	rb *ResourceBoundsMap,
) map[starknet.Resource]starknet.ResourceBounds

func MakeContractError added in v0.15.20

func MakeContractError(err json.RawMessage) *jsonrpc.Error

func MakeJSONErrorFromGatewayError added in v0.15.20

func MakeJSONErrorFromGatewayError(err error) *jsonrpc.Error

func MakeTransactionExecutionError added in v0.15.20

func MakeTransactionExecutionError(err *vm.TransactionExecutionError) *jsonrpc.Error

Types

type AddTxGatewayPayload added in v0.15.20

type AddTxGatewayPayload struct {
	starknet.Transaction
	ContractClass json.RawMessage `json:"contract_class,omitempty"`
	Proof         utils.Base64    `json:"proof,omitempty"`
}

AddTxGatewayPayload embeds a starknet.Transaction along with an optional ContractClass.

func AdaptRPCTxToAddTxGatewayPayload added in v0.15.20

func AdaptRPCTxToAddTxGatewayPayload(rpcTx *BroadcastedTransaction) AddTxGatewayPayload

type AddTxResponse added in v0.15.20

type AddTxResponse struct {
	TransactionHash felt.TransactionHash `json:"transaction_hash"`
	ContractAddress *felt.Address        `json:"contract_address,omitempty"`
	ClassHash       *felt.ClassHash      `json:"class_hash,omitempty"`
}

type AddressList added in v0.15.20

type AddressList []felt.Address

AddressList is a list of addresses, that can be unmarshalled from a single address or a list of addresses. It also removes duplicates from the list.

func (AddressList) Contains added in v0.15.20

func (a AddressList) Contains(addr *felt.Address) bool

func (*AddressList) UnmarshalJSON added in v0.15.20

func (a *AddressList) UnmarshalJSON(data []byte) error

type BlockHeader added in v0.15.13

type BlockHeader struct {
	Hash                  *felt.Felt     `json:"block_hash,omitempty"`
	ParentHash            *felt.Felt     `json:"parent_hash,omitempty"`
	Number                *uint64        `json:"block_number,omitempty"`
	NewRoot               *felt.Felt     `json:"new_root,omitempty"`
	Timestamp             uint64         `json:"timestamp"`
	SequencerAddress      *felt.Felt     `json:"sequencer_address,omitempty"`
	L1GasPrice            *ResourcePrice `json:"l1_gas_price"`
	L1DataGasPrice        *ResourcePrice `json:"l1_data_gas_price,omitempty"`
	L1DAMode              *L1DAMode      `json:"l1_da_mode,omitempty"`
	StarknetVersion       string         `json:"starknet_version"`
	L2GasPrice            *ResourcePrice `json:"l2_gas_price"`
	TransactionCommitment *felt.Hash     `json:"transaction_commitment,omitempty"`
	EventCommitment       *felt.Hash     `json:"event_commitment,omitempty"`
	ReceiptCommitment     *felt.Hash     `json:"receipt_commitment,omitempty"`
	StateDiffCommitment   *felt.Hash     `json:"state_diff_commitment,omitempty"`
	EventCount            *uint64        `json:"event_count,omitempty"`
	TransactionCount      *uint64        `json:"transaction_count,omitempty"`
	StateDiffLength       *uint64        `json:"state_diff_length,omitempty"`
}

BLOCK_HEADER https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L1591 PRE_CONFIRMED_BLOCK_HEADER https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L1711

func AdaptBlockHeader added in v0.15.13

func AdaptBlockHeader(
	header *core.Header,
	commitments *core.BlockCommitments,
	stateDiff *core.StateDiff,
) BlockHeader

type BlockID added in v0.15.20

type BlockID struct {
	// contains filtered or unexported fields
}

BlockID represents a block identifier (by hash, number, or tag).

func BlockIDFromHash added in v0.15.20

func BlockIDFromHash(blockHash *felt.Felt) BlockID

func BlockIDFromNumber added in v0.15.20

func BlockIDFromNumber(num uint64) BlockID

func BlockIDL1Accepted added in v0.15.20

func BlockIDL1Accepted() BlockID

func BlockIDLatest added in v0.15.20

func BlockIDLatest() BlockID

func BlockIDPreConfirmed added in v0.15.20

func BlockIDPreConfirmed() BlockID

func (*BlockID) Hash added in v0.15.20

func (b *BlockID) Hash() *felt.Felt

func (*BlockID) IsHash added in v0.15.20

func (b *BlockID) IsHash() bool

func (*BlockID) IsL1Accepted added in v0.15.20

func (b *BlockID) IsL1Accepted() bool

func (*BlockID) IsLatest added in v0.15.20

func (b *BlockID) IsLatest() bool

func (*BlockID) IsNumber added in v0.15.20

func (b *BlockID) IsNumber() bool

func (*BlockID) IsPreConfirmed added in v0.15.20

func (b *BlockID) IsPreConfirmed() bool

func (*BlockID) Number added in v0.15.20

func (b *BlockID) Number() uint64

func (*BlockID) Type added in v0.15.20

func (b *BlockID) Type() blockIDType

func (*BlockID) UnmarshalJSON added in v0.15.20

func (b *BlockID) UnmarshalJSON(data []byte) error

type BlockStatus added in v0.15.20

type BlockStatus uint8

BlockStatus represents the status of a block.

const (
	BlockPreConfirmed BlockStatus = iota
	BlockAcceptedL2
	BlockAcceptedL1
	BlockRejected
)

func (BlockStatus) MarshalText added in v0.15.20

func (s BlockStatus) MarshalText() ([]byte, error)

type BlockWithReceipts added in v0.15.13

type BlockWithReceipts struct {
	Status BlockStatus `json:"status,omitempty"`
	BlockHeader
	Transactions []TransactionWithReceipt `json:"transactions"`
}

https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L1819

type BlockWithTxHashes added in v0.15.13

type BlockWithTxHashes struct {
	Status BlockStatus `json:"status,omitempty"`
	BlockHeader
	TxnHashes []*felt.Felt `json:"transactions"`
}

https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L1769

type BlockWithTxs added in v0.15.13

type BlockWithTxs struct {
	Status BlockStatus `json:"status,omitempty"`
	BlockHeader
	Transactions []*Transaction `json:"transactions"`
}

https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L1794

type BroadcastedTransaction added in v0.15.20

type BroadcastedTransaction struct {
	Transaction
	ContractClass json.RawMessage `json:"contract_class,omitempty" validate:"required_if=Transaction.Type DECLARE"`
	PaidFeeOnL1   *felt.Felt      `json:"paid_fee_on_l1,omitempty" validate:"required_if=Transaction.Type L1_HANDLER"`
	Proof         utils.Base64    `json:"proof,omitempty" validate:"excluded_unless=Type INVOKE,omitempty,base64"`
}

type CalldataInputs added in v0.15.20

type ClassHashEntry added in v0.15.20

type ClassHashEntry struct {
	ContractAddress felt.Address   `json:"contract_address"`
	ClassHash       felt.ClassHash `json:"class_hash"`
}

type ComputationResources added in v0.15.20

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"`
	Ecsda        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"`
}

type ContractErrorData added in v0.15.20

type ContractErrorData struct {
	RevertError json.RawMessage `json:"revert_error"`
}

type DataAvailabilityMode added in v0.15.20

type DataAvailabilityMode uint32
const (
	DAModeL1 DataAvailabilityMode = iota
	DAModeL2
)

func (DataAvailabilityMode) MarshalText added in v0.15.20

func (m DataAvailabilityMode) MarshalText() ([]byte, error)

func (*DataAvailabilityMode) UnmarshalJSON added in v0.15.20

func (m *DataAvailabilityMode) UnmarshalJSON(data []byte) error

type DeclaredClass added in v0.15.20

type DeclaredClass struct {
	ClassHash         felt.Felt `json:"class_hash"`
	CompiledClassHash felt.Felt `json:"compiled_class_hash"`
}

type DeclaredContractEntry added in v0.15.20

type DeclaredContractEntry struct {
	ClassHash  felt.ClassHash `json:"class_hash"`
	IsDeclared bool           `json:"is_declared"`
}

type DeployedContract added in v0.15.20

type DeployedContract struct {
	Address   felt.Felt `json:"address"`
	ClassHash felt.Felt `json:"class_hash"`
}

type EmittedEvent

type EmittedEvent struct {
	*Event
	BlockNumber      *uint64    `json:"block_number,omitempty"`
	BlockHash        *felt.Felt `json:"block_hash,omitempty"`
	TransactionHash  *felt.Felt `json:"transaction_hash"`
	TransactionIndex uint       `json:"transaction_index"`
	EventIndex       uint       `json:"event_index"`
}

type Entry added in v0.15.20

type Entry struct {
	Key   felt.Felt `json:"key"`
	Value felt.Felt `json:"value"`
}

type EstimateFlag added in v0.15.20

type EstimateFlag int
const (
	EstimateSkipValidateFlag EstimateFlag = iota + 1
)

func (EstimateFlag) ToSimulationFlag added in v0.15.20

func (e EstimateFlag) ToSimulationFlag() (SimulationFlag, error)

ToSimulationFlag converts an EstimateFlag to the corresponding SimulationFlag.

func (*EstimateFlag) UnmarshalJSON added in v0.15.20

func (e *EstimateFlag) UnmarshalJSON(bytes []byte) (err error)

type Event added in v0.15.20

type Event struct {
	From *felt.Felt   `json:"from_address,omitempty"`
	Keys []*felt.Felt `json:"keys"`
	Data []*felt.Felt `json:"data"`
}

type EventArgs

type EventArgs struct {
	EventFilter
	ResultPageRequest
}

type EventFilter

type EventFilter struct {
	FromBlock *BlockID      `json:"from_block"`
	ToBlock   *BlockID      `json:"to_block"`
	Address   AddressList   `json:"address"`
	Keys      [][]felt.Felt `json:"keys"`
}

type EventsChunk

type EventsChunk struct {
	Events            []EmittedEvent `json:"events"`
	ContinuationToken string         `json:"continuation_token,omitempty"`
}

type ExecuteInvocation added in v0.15.20

type ExecuteInvocation struct {
	RevertReason        string `json:"revert_reason"`
	*FunctionInvocation `json:",omitempty"`
}

func AdaptVMExecuteInvocation added in v0.15.20

func AdaptVMExecuteInvocation(vmFnInvocation *vm.ExecuteInvocation) ExecuteInvocation

func (ExecuteInvocation) MarshalJSON added in v0.15.20

func (e ExecuteInvocation) MarshalJSON() ([]byte, error)

type ExecutionResources added in v0.15.20

type ExecutionResources struct {
	InnerExecutionResources
	L1DataGas uint64 `json:"l1_data_gas"`
}

func AdaptVMExecutionResources added in v0.15.20

func AdaptVMExecutionResources(r *vm.ExecutionResources) ExecutionResources

type FeeEstimate added in v0.15.20

type FeeEstimate struct {
	L1GasConsumed     *felt.Felt `json:"l1_gas_consumed,omitempty"`
	L1GasPrice        *felt.Felt `json:"l1_gas_price,omitempty"`
	L2GasConsumed     *felt.Felt `json:"l2_gas_consumed,omitempty"`
	L2GasPrice        *felt.Felt `json:"l2_gas_price,omitempty"`
	L1DataGasConsumed *felt.Felt `json:"l1_data_gas_consumed,omitempty"`
	L1DataGasPrice    *felt.Felt `json:"l1_data_gas_price,omitempty"`
	OverallFee        *felt.Felt `json:"overall_fee"`
	Unit              *FeeUnit   `json:"unit,omitempty"`
}

type FeePayment added in v0.15.20

type FeePayment struct {
	Amount *felt.Felt `json:"amount"`
	Unit   FeeUnit    `json:"unit"`
}

type FeeUnit added in v0.15.20

type FeeUnit byte
const (
	WEI FeeUnit = iota
	FRI
)

func (FeeUnit) MarshalText added in v0.15.20

func (u FeeUnit) MarshalText() ([]byte, error)

func (*FeeUnit) UnmarshalText added in v0.15.20

func (u *FeeUnit) UnmarshalText(text []byte) error

type FunctionCall added in v0.15.20

type FunctionCall struct {
	ContractAddress    felt.Felt      `json:"contract_address"`
	EntryPointSelector felt.Felt      `json:"entry_point_selector"`
	Calldata           CalldataInputs `json:"calldata"`
}

https://github.com/starkware-libs/starknet-specs/blob/v0.3.0/api/starknet_api_openrpc.json#L2344

type FunctionInvocation added in v0.15.20

type FunctionInvocation struct {
	ContractAddress    felt.Felt                `json:"contract_address"`
	EntryPointSelector *felt.Felt               `json:"entry_point_selector"`
	Calldata           []felt.Felt              `json:"calldata"`
	CallerAddress      felt.Felt                `json:"caller_address"`
	ClassHash          *felt.Felt               `json:"class_hash"`
	EntryPointType     string                   `json:"entry_point_type"`
	CallType           string                   `json:"call_type"`
	Result             []felt.Felt              `json:"result"`
	Calls              []FunctionInvocation     `json:"calls"`
	Events             []OrderedEvent           `json:"events"`
	Messages           []OrderedL2toL1Message   `json:"messages"`
	ExecutionResources *InnerExecutionResources `json:"execution_resources"`
	IsReverted         bool                     `json:"is_reverted"`
}

func AdaptFeederFunctionInvocation added in v0.15.20

func AdaptFeederFunctionInvocation(snFnInvocation *starknet.FunctionInvocation) FunctionInvocation

func AdaptVMFunctionInvocation added in v0.15.20

func AdaptVMFunctionInvocation(vmFnInvocation *vm.FunctionInvocation) FunctionInvocation

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

func New

func New(
	bcReader blockchain.Reader,
	syncReader sync.Reader,
	virtualMachine vm.VM,
	logger utils.Logger,
) *Handler

func (*Handler) AddTransaction added in v0.15.20

func (h *Handler) AddTransaction(
	ctx context.Context,
	tx *BroadcastedTransaction,
) (AddTxResponse, *jsonrpc.Error)

AddTransaction adds a transaction to the mempool or forwards it to the feeder gateway.

func (*Handler) BlockWithReceipts added in v0.15.13

func (h *Handler) BlockWithReceipts(
	id *BlockID,
	responseFlags ResponseFlags,
) (*BlockWithReceipts, *jsonrpc.Error)

BlockWithReceipts returns the block information with transaction receipts given a block ID.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L99

func (*Handler) BlockWithTxHashes added in v0.15.13

func (h *Handler) BlockWithTxHashes(id *BlockID) (*BlockWithTxHashes, *jsonrpc.Error)

BlockWithTxHashes returns the block information with transaction hashes given a block ID.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L25

func (*Handler) BlockWithTxs added in v0.15.13

func (h *Handler) BlockWithTxs(
	blockID *BlockID,
	responseFlags ResponseFlags,
) (*BlockWithTxs, *jsonrpc.Error)

BlockWithTxs returns the block information with full transactions given a block ID.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/cce1563eff702c87590bad3a48382d2febf1f7d9/api/starknet_api_openrpc.json#L62

func (*Handler) EstimateFee added in v0.15.15

func (h *Handler) EstimateFee(
	ctx context.Context,
	broadcastedTxns BroadcastedTransactionInputs,
	estimateFlags []EstimateFlag,
	id *BlockID,
) ([]FeeEstimate, http.Header, *jsonrpc.Error)

***************************************************

Estimate Fee Handlers

****************************************************

func (*Handler) EstimateMessageFee added in v0.15.15

func (h *Handler) EstimateMessageFee(
	ctx context.Context, msg *MsgFromL1, id *BlockID,
) (FeeEstimate, http.Header, *jsonrpc.Error)

func (*Handler) Events

func (h *Handler) Events(args *EventArgs) (EventsChunk, *jsonrpc.Error)

Events gets the events matching a filter

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_api_openrpc.json#L810 //nolint:lll

func (*Handler) PendingBlock

func (h *Handler) PendingBlock() *core.Block

func (*Handler) PendingData

func (h *Handler) PendingData() (core.PendingData, error)

func (*Handler) PendingState

func (h *Handler) PendingState() (core.StateReader, func() error, error)

func (*Handler) Run

func (h *Handler) Run(ctx context.Context) error

Currently only used for testing

func (*Handler) SimulateTransactions

func (h *Handler) SimulateTransactions(
	ctx context.Context,
	id *BlockID,
	transactions BroadcastedTransactionInputs,
	simulationFlags []SimulationFlag,
) (SimulateTransactionsResponse, http.Header, *jsonrpc.Error)

func (*Handler) SpecVersion

func (h *Handler) SpecVersion() (string, *jsonrpc.Error)

func (*Handler) StateUpdate

func (h *Handler) StateUpdate(id *BlockID, contractAddresses AddressList) (StateUpdate, *jsonrpc.Error)

StateUpdate returns the state update identified by the given BlockID.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/9377851884da5c81f757b6ae0ed47e84f9e7c058/api/starknet_api_openrpc.json#L136 //nolint:lll

func (*Handler) StorageAt added in v0.15.20

func (h *Handler) StorageAt(
	address *felt.Address,
	key *felt.Felt,
	id *BlockID,
	flags StorageAtResponseFlags,
) (*StorageAtResponse, *jsonrpc.Error)

StorageAt gets the value of the storage at the given address and key.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/d6dc6ad31a1bb61c287d862ca4bdef4eb66a59a2/api/starknet_api_openrpc.json#L197

func (*Handler) SubscribeEvents

func (h *Handler) SubscribeEvents(
	ctx context.Context,
	fromAddrs AddressList,
	keys [][]felt.Felt,
	blockID *SubscriptionBlockID,
	finalityStatus *TxnFinalityStatusWithoutL1,
) (SubscriptionID, *jsonrpc.Error)

SubscribeEvents creates a WebSocket stream which will fire events for new Starknet events with applied filters

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_ws_api.json#L59

func (*Handler) SubscribeNewHeads

func (h *Handler) SubscribeNewHeads(
	ctx context.Context,
	blockID *SubscriptionBlockID,
) (SubscriptionID, *jsonrpc.Error)

SubscribeNewHeads creates a WebSocket stream which will fire events when a new block header is added.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_ws_api.json#L10

func (*Handler) SubscribeNewTransactionReceipts

func (h *Handler) SubscribeNewTransactionReceipts(
	ctx context.Context,
	senderAddress []felt.Address,
	finalityStatuses []TxnFinalityStatusWithoutL1,
) (SubscriptionID, *jsonrpc.Error)

SubscribeNewTransactionReceipts creates a WebSocket stream which will fire events when new transaction receipts are created.

The endpoint receives a vector of finality statuses. An event is fired for each finality status update. It is possible for receipts for pre-confirmed transactions to be received multiple times, or not at all.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_ws_api.json#L193

func (*Handler) SubscribeNewTransactions

func (h *Handler) SubscribeNewTransactions(
	ctx context.Context,
	finalityStatus []TxnStatusWithoutL1,
	senderAddr []felt.Address,
	tags SubscriptionTags,
) (SubscriptionID, *jsonrpc.Error)

SubscribeNewTransactions Creates a WebSocket stream which will fire events when new transaction are created.

The endpoint receives a vector of finality statuses. An event is fired for each finality status update. It is possible for events for pre-confirmed and candidate transactions to be received multiple times, or not at all.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_ws_api.json#L264

func (*Handler) SubscribeTransactionStatus

func (h *Handler) SubscribeTransactionStatus(
	ctx context.Context,
	txHash *felt.Felt,
) (SubscriptionID, *jsonrpc.Error)

SubscribeTransactionStatus subscribes to status changes of a transaction. It checks for updates each time a new block is added. Later updates are sent only when the transaction status changes.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/785257f27cdc4ea0ca3b62a21b0f7bf51000f9b1/api/starknet_ws_api.json#L151

func (*Handler) TraceBlockTransactions

func (h *Handler) TraceBlockTransactions(
	ctx context.Context, id *BlockID, traceFlags []TraceFlag,
) (TraceBlockTransactionsResponse, http.Header, *jsonrpc.Error)

TraceBlockTransactions returns the trace for a given blockID

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/9377851884da5c81f757b6ae0ed47e84f9e7c058/api/starknet_trace_api_openrpc.json#L108 //nolint:lll

func (*Handler) TraceTransaction

func (h *Handler) TraceTransaction(
	ctx context.Context, hash *felt.Felt,
) (TransactionTrace, http.Header, *jsonrpc.Error)

TraceTransaction returns the trace for a given executed transaction, including internal calls

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/9377851884da5c81f757b6ae0ed47e84f9e7c058/api/starknet_trace_api_openrpc.json#L11 //nolint:lll

func (*Handler) TransactionByBlockIDAndIndex added in v0.15.20

func (h *Handler) TransactionByBlockIDAndIndex(
	blockID *BlockID, txIndex int, responseFlags ResponseFlags,
) (*Transaction, *jsonrpc.Error)

TransactionByBlockIDAndIndex returns the details of a transaction identified by the given BlockID and index.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/0bf403bfafbfbe0eaa52103a9c7df545bec8f73b/api/starknet_api_openrpc.json#L342 //nolint:lll

func (*Handler) TransactionByHash added in v0.15.20

func (h *Handler) TransactionByHash(
	hash *felt.Felt,
	responseFlags ResponseFlags,
) (*Transaction, *jsonrpc.Error)

TransactionByHash returns the details of a transaction identified by the given hash.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/0bf403bfafbfbe0eaa52103a9c7df545bec8f73b/api/starknet_api_openrpc.json#L315 //nolint:lll

func (*Handler) TransactionReceiptByHash

func (h *Handler) TransactionReceiptByHash(
	hash *felt.Felt,
) (*TransactionReceipt, *jsonrpc.Error)

TransactionReceiptByHash returns the receipt of a transaction identified by the given hash.

It follows the specification defined here: https://github.com/starkware-libs/starknet-specs/blob/master/api/starknet_api_openrpc.json#L222

func (*Handler) TransactionStatus

func (h *Handler) TransactionStatus(
	ctx context.Context,
	hash *felt.Felt,
) (TransactionStatus, *jsonrpc.Error)

func (*Handler) Unsubscribe

func (h *Handler) Unsubscribe(ctx context.Context, id string) (bool, *jsonrpc.Error)

func (*Handler) WithCallMaxGas

func (h *Handler) WithCallMaxGas(maxGas uint64) *Handler

func (*Handler) WithCallMaxSteps

func (h *Handler) WithCallMaxSteps(maxSteps uint64) *Handler

func (*Handler) WithCompiler added in v0.15.20

func (h *Handler) WithCompiler(compiler compiler.Compiler) *Handler

func (*Handler) WithFeeder

func (h *Handler) WithFeeder(feederClient *feeder.Client) *Handler

func (*Handler) WithFilterLimit

func (h *Handler) WithFilterLimit(limit uint) *Handler

WithFilterLimit sets the maximum number of blocks to scan in a single call for event filtering.

func (*Handler) WithGateway

func (h *Handler) WithGateway(gatewayClient rpccore.Gateway) *Handler

func (*Handler) WithIDGen

func (h *Handler) WithIDGen(idgen func() string) *Handler

func (*Handler) WithL1Client

func (h *Handler) WithL1Client(l1Client rpccore.L1Client) *Handler

func (*Handler) WithMempool

func (h *Handler) WithMempool(memPool mempool.Pool) *Handler

func (*Handler) WithSubmittedTransactionsCache

func (h *Handler) WithSubmittedTransactionsCache(cache *rpccore.TransactionCache) *Handler

type InitialReads added in v0.15.20

type InitialReads struct {
	Storage           []StorageEntry          `json:"storage"`
	Nonces            []NonceEntry            `json:"nonces"`
	ClassHashes       []ClassHashEntry        `json:"class_hashes"`
	DeclaredContracts []DeclaredContractEntry `json:"declared_contracts"`
}

type InnerExecutionResources added in v0.15.20

type InnerExecutionResources struct {
	L1Gas uint64 `json:"l1_gas"`
	L2Gas uint64 `json:"l2_gas"`
}

type L1DAMode added in v0.15.20

type L1DAMode uint8
const (
	Blob L1DAMode = iota
	Calldata
)

func (L1DAMode) MarshalText added in v0.15.20

func (l L1DAMode) MarshalText() ([]byte, error)

type MigratedCompiledClass

type MigratedCompiledClass struct {
	ClassHash         felt.SierraClassHash `json:"class_hash"`
	CompiledClassHash felt.CasmClassHash   `json:"compiled_class_hash"`
}

type MsgFromL1 added in v0.15.20

type MsgFromL1 struct {
	// The address of the L1 contract sending the message.
	From common.Address `json:"from_address" validate:"required"`
	// The address of the L2 contract receiving the message.
	To felt.Felt `json:"to_address" validate:"required"`
	// The payload of the message.
	Payload  []felt.Felt `json:"payload" validate:"required"`
	Selector felt.Felt   `json:"entry_point_selector" validate:"required"`
}

MsgFromL1 represents a message sent from L1 to L2.

type MsgToL1 added in v0.15.20

type MsgToL1 struct {
	From    *felt.Felt     `json:"from_address,omitempty"`
	To      common.Address `json:"to_address"`
	Payload []*felt.Felt   `json:"payload"`
}

type Nonce added in v0.15.20

type Nonce struct {
	ContractAddress felt.Felt `json:"contract_address"`
	Nonce           felt.Felt `json:"nonce"`
}

type NonceEntry added in v0.15.20

type NonceEntry struct {
	ContractAddress felt.Address `json:"contract_address"`
	Nonce           felt.Felt    `json:"nonce"`
}

type OrderedEvent added in v0.15.20

type OrderedEvent struct {
	Order uint64       `json:"order"`
	Keys  []*felt.Felt `json:"keys"`
	Data  []*felt.Felt `json:"data"`
}

type OrderedL2toL1Message added in v0.15.20

type OrderedL2toL1Message struct {
	Order   uint64       `json:"order"`
	From    *felt.Felt   `json:"from_address"`
	To      *felt.Felt   `json:"to_address"`
	Payload []*felt.Felt `json:"payload"`
}

type ReorgEvent added in v0.15.20

type ReorgEvent struct {
	StartBlockHash *felt.Felt `json:"starting_block_hash"`
	StartBlockNum  uint64     `json:"starting_block_number"`
	EndBlockHash   *felt.Felt `json:"ending_block_hash"`
	EndBlockNum    uint64     `json:"ending_block_number"`
}

type ReplacedClass added in v0.15.20

type ReplacedClass struct {
	ContractAddress felt.Felt `json:"contract_address"`
	ClassHash       felt.Felt `json:"class_hash"`
}

type Resource added in v0.15.20

type Resource uint32
const (
	ResourceL1Gas Resource = iota + 1
	ResourceL2Gas
	ResourceL1DataGas
)

func (Resource) MarshalText added in v0.15.20

func (r Resource) MarshalText() ([]byte, error)

func (*Resource) UnmarshalJSON added in v0.15.20

func (r *Resource) UnmarshalJSON(data []byte) error

func (*Resource) UnmarshalText added in v0.15.20

func (r *Resource) UnmarshalText(data []byte) error

type ResourceBounds added in v0.15.20

type ResourceBounds struct {
	MaxAmount       *felt.Felt `json:"max_amount"`
	MaxPricePerUnit *felt.Felt `json:"max_price_per_unit"`
}

type ResourceBoundsMap added in v0.15.20

type ResourceBoundsMap struct {
	L1Gas     *ResourceBounds `json:"l1_gas" validate:"required"`
	L2Gas     *ResourceBounds `json:"l2_gas" validate:"required"`
	L1DataGas *ResourceBounds `json:"l1_data_gas" validate:"required"`
}

TODO: using Value fields here is a good idea, however we are currently keeping the field's type Reference since the current validation tags we are using does not work well with Value field. We should revisit this when we start implementing custom validations.

func (*ResourceBoundsMap) MarshalJSON added in v0.15.20

func (r *ResourceBoundsMap) MarshalJSON() ([]byte, error)

type ResourcePrice added in v0.15.20

type ResourcePrice struct {
	InWei *felt.Felt `json:"price_in_wei"`
	InFri *felt.Felt `json:"price_in_fri,omitempty"`
}

type ResponseFlags added in v0.15.20

type ResponseFlags struct {
	IncludeProofFacts bool
}

func (*ResponseFlags) UnmarshalJSON added in v0.15.20

func (r *ResponseFlags) UnmarshalJSON(data []byte) error

type ResultPageRequest added in v0.15.20

type ResultPageRequest struct {
	ContinuationToken string `json:"continuation_token"`
	ChunkSize         uint64 `json:"chunk_size" validate:"min=1"`
}

type SentEvent

type SentEvent struct {
	TransactionHash  felt.Felt
	TransactionIndex uint
	EventIndex       uint
}

type SentReceipt added in v0.15.20

type SentReceipt struct {
	TransactionHash  felt.Felt
	TransactionIndex int
}

type SimulateTransactionsResponse added in v0.15.20

type SimulateTransactionsResponse struct {
	SimulatedTransactions []SimulatedTransaction `json:"simulated_transactions"`
	InitialReads          *InitialReads          `json:"initial_reads"`
}

SimulateTransactionsResponse represents the response for simulateTransactions. When RETURN_INITIAL_READS flag is not set, it marshals as an array. When RETURN_INITIAL_READS flag is set, it marshals as an object with simulated_transactions and initial_reads.

func (SimulateTransactionsResponse) MarshalJSON added in v0.15.20

func (r SimulateTransactionsResponse) MarshalJSON() ([]byte, error)

type SimulatedTransaction

type SimulatedTransaction struct {
	TransactionTrace *TransactionTrace `json:"transaction_trace,omitempty"`
	FeeEstimation    FeeEstimate       `json:"fee_estimation,omitzero"`
}

type SimulationFlag added in v0.15.20

type SimulationFlag int
const (
	SkipValidateFlag SimulationFlag = iota + 1
	SkipFeeChargeFlag
	ReturnInitialReadsFlag
)

func (*SimulationFlag) UnmarshalJSON added in v0.15.20

func (s *SimulationFlag) UnmarshalJSON(bytes []byte) (err error)

type StateDiff

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"`
}

func AdaptVMStateDiff

func AdaptVMStateDiff(vmStateDiff *vm.StateDiff) StateDiff

type StateUpdate

type StateUpdate struct {
	BlockHash *felt.Felt `json:"block_hash,omitempty"`
	NewRoot   *felt.Felt `json:"new_root,omitempty"`
	OldRoot   *felt.Felt `json:"old_root,omitempty"`
	StateDiff *StateDiff `json:"state_diff"`
}

https://github.com/starkware-libs/starknet-specs/blob/8016dd08ed7cd220168db16f24c8a6827ab88317/api/starknet_api_openrpc.json#L909 //nolint:lll

type StorageAtResponse added in v0.15.20

type StorageAtResponse struct {
	Value           felt.Felt `json:"value"`
	LastUpdateBlock uint64    `json:"last_update_block"`
	// contains filtered or unexported fields
}

StorageAtResponse represents the result of a `starknet_getStorageAt` operation.

func (*StorageAtResponse) MarshalJSON added in v0.15.20

func (st *StorageAtResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for StorageAtResponse.

func (*StorageAtResponse) UnmarshalJSON added in v0.15.20

func (st *StorageAtResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface for StorageAtResponse.

type StorageAtResponseFlags added in v0.15.20

type StorageAtResponseFlags struct {
	IncludeLastUpdateBlock bool
}

StorageAtResponseFlags represents the flags for the `starknet_getStorageAt` operation.

func (*StorageAtResponseFlags) UnmarshalJSON added in v0.15.20

func (f *StorageAtResponseFlags) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface for StorageAtResponseFlags.

type StorageDiff added in v0.15.20

type StorageDiff struct {
	Address        felt.Felt `json:"address"`
	StorageEntries []Entry   `json:"storage_entries"`
}

type StorageEntry added in v0.15.20

type StorageEntry struct {
	ContractAddress felt.Address `json:"contract_address"`
	Key             felt.Felt    `json:"key"`
	Value           felt.Felt    `json:"value"`
}

type SubscriptionBlockID added in v0.15.20

type SubscriptionBlockID BlockID

As per the spec, this is the same as BlockID, but without `pre_confirmed` and `l1_accepted`

func (*SubscriptionBlockID) Hash added in v0.15.20

func (b *SubscriptionBlockID) Hash() *felt.Felt

func (*SubscriptionBlockID) IsHash added in v0.15.20

func (b *SubscriptionBlockID) IsHash() bool

func (*SubscriptionBlockID) IsLatest added in v0.15.20

func (b *SubscriptionBlockID) IsLatest() bool

func (*SubscriptionBlockID) IsNumber added in v0.15.20

func (b *SubscriptionBlockID) IsNumber() bool

func (*SubscriptionBlockID) Number added in v0.15.20

func (b *SubscriptionBlockID) Number() uint64

func (*SubscriptionBlockID) Type added in v0.15.20

func (b *SubscriptionBlockID) Type() blockIDType

func (*SubscriptionBlockID) UnmarshalJSON added in v0.15.20

func (b *SubscriptionBlockID) UnmarshalJSON(data []byte) error

type SubscriptionEmittedEvent

type SubscriptionEmittedEvent struct {
	EmittedEvent
	FinalityStatus TxnFinalityStatus `json:"finality_status"`
}

type SubscriptionID

type SubscriptionID string

type SubscriptionNewTransaction added in v0.15.20

type SubscriptionNewTransaction struct {
	Transaction
	FinalityStatus TxnStatusWithoutL1 `json:"finality_status"`
}

type SubscriptionResponse added in v0.15.20

type SubscriptionResponse struct {
	Version string `json:"jsonrpc"`
	Method  string `json:"method"`
	Params  any    `json:"params"`
}

type SubscriptionTags added in v0.15.20

type SubscriptionTags struct {
	IncludeProofFacts bool
}

func (*SubscriptionTags) UnmarshalJSON added in v0.15.20

func (r *SubscriptionTags) UnmarshalJSON(data []byte) error

type SubscriptionTransactionStatus added in v0.15.20

type SubscriptionTransactionStatus struct {
	TransactionHash *felt.Felt        `json:"transaction_hash"`
	Status          TransactionStatus `json:"status"`
}

type TraceBlockTransactionsResponse added in v0.15.20

type TraceBlockTransactionsResponse struct {
	Traces       []TracedBlockTransaction `json:"traces"`
	InitialReads *InitialReads            `json:"initial_reads"`
}

TraceBlockTransactionsResponse represents the response for traceBlockTransactions. When RETURN_INITIAL_READS flag is not set, it marshals as an array. When RETURN_INITIAL_READS flag is set, it marshals as an object with traces and initial_reads.

func (TraceBlockTransactionsResponse) MarshalJSON added in v0.15.20

func (r TraceBlockTransactionsResponse) MarshalJSON() ([]byte, error)

type TraceFlag added in v0.15.20

type TraceFlag int
const (
	TraceReturnInitialReadsFlag TraceFlag = iota + 1
)

func (*TraceFlag) UnmarshalJSON added in v0.15.20

func (t *TraceFlag) UnmarshalJSON(bytes []byte) (err error)

type TracedBlockTransaction

type TracedBlockTransaction struct {
	TraceRoot       *TransactionTrace `json:"trace_root,omitempty"`
	TransactionHash *felt.Felt        `json:"transaction_hash,omitempty"`
}

func AdaptFeederBlockTrace

func AdaptFeederBlockTrace(
	block *core.Block,
	blockTrace *starknet.BlockTrace,
) ([]TracedBlockTransaction, error)

type Transaction added in v0.15.20

type Transaction struct {
	Hash                  *felt.Felt            `json:"transaction_hash,omitempty"`
	Type                  TransactionType       `json:"type" validate:"required"`
	Version               *felt.Felt            `json:"version,omitempty" validate:"required,version_0x3"`
	Nonce                 *felt.Felt            `json:"nonce,omitempty" validate:"required"`
	MaxFee                *felt.Felt            `json:"max_fee,omitempty"`
	ContractAddress       *felt.Felt            `json:"contract_address,omitempty"`
	ContractAddressSalt   *felt.Felt            `json:"contract_address_salt,omitempty" validate:"required_if=Type DEPLOY,required_if=Type DEPLOY_ACCOUNT"`
	ClassHash             *felt.Felt            `json:"class_hash,omitempty" validate:"required_if=Type DEPLOY,required_if=Type DEPLOY_ACCOUNT"`
	ConstructorCallData   *[]*felt.Felt         `json:"constructor_calldata,omitempty" validate:"required_if=Type DEPLOY,required_if=Type DEPLOY_ACCOUNT"`
	SenderAddress         *felt.Felt            `json:"sender_address,omitempty" validate:"required_if=Type DECLARE,required_if=Type INVOKE"`
	Signature             *[]*felt.Felt         `json:"signature,omitempty" validate:"required"`
	CallData              *[]*felt.Felt         `json:"calldata,omitempty" validate:"required_if=Type INVOKE"`
	EntryPointSelector    *felt.Felt            `json:"entry_point_selector,omitempty"`
	CompiledClassHash     *felt.Felt            `json:"compiled_class_hash,omitempty"`
	ResourceBounds        *ResourceBoundsMap    `json:"resource_bounds,omitempty" validate:"resource_bounds_required"`
	Tip                   *felt.Felt            `json:"tip,omitempty" validate:"required"`
	PaymasterData         *[]*felt.Felt         `json:"paymaster_data,omitempty" validate:"required"`
	AccountDeploymentData *[]*felt.Felt         `json:"account_deployment_data,omitempty" validate:"required_if=Type INVOKE,required_if=Type DECLARE"`
	NonceDAMode           *DataAvailabilityMode `json:"nonce_data_availability_mode,omitempty" validate:"required"`
	FeeDAMode             *DataAvailabilityMode `json:"fee_data_availability_mode,omitempty" validate:"required"`
	ProofFacts            *[]felt.Felt          `json:"proof_facts,omitempty" validate:"excluded_unless=Type INVOKE"`
}

Transaction represents a Starknet transaction in the RPC API.

func AdaptCoreTransaction added in v0.15.20

func AdaptCoreTransaction(t core.Transaction) *Transaction

AdaptCoreTransaction adapts a core.Transaction to a local *Transaction. This is the v10-local equivalent of v9's AdaptTransaction.

func AdaptTransaction added in v0.15.20

func AdaptTransaction(coreTx core.Transaction, includeProofFacts bool) Transaction

AdaptTransaction adapts a core.Transaction to a local *Transaction. It's a wrapper around AdaptCoreTransaction that allows to exclude proof facts from the transaction. If includeProofFacts is false, the proof facts are set to nil, otherwise they're returned as is.

type TransactionExecutionErrorData added in v0.15.20

type TransactionExecutionErrorData struct {
	TransactionIndex uint64          `json:"transaction_index"`
	ExecutionError   json.RawMessage `json:"execution_error"`
}

type TransactionReceipt added in v0.15.20

type TransactionReceipt struct {
	Type               TransactionType     `json:"type"`
	Hash               *felt.Felt          `json:"transaction_hash"`
	ActualFee          *FeePayment         `json:"actual_fee"`
	ExecutionStatus    TxnExecutionStatus  `json:"execution_status"`
	FinalityStatus     TxnFinalityStatus   `json:"finality_status"`
	BlockHash          *felt.Felt          `json:"block_hash,omitempty"`
	BlockNumber        *uint64             `json:"block_number,omitempty"`
	MessagesSent       []*MsgToL1          `json:"messages_sent"`
	Events             []*Event            `json:"events"`
	ContractAddress    *felt.Felt          `json:"contract_address,omitempty"`
	RevertReason       string              `json:"revert_reason,omitempty"`
	ExecutionResources *ExecutionResources `json:"execution_resources,omitempty"`
	MessageHash        string              `json:"message_hash,omitempty"`
}

https://github.com/starkware-libs/starknet-specs/blob/master/api/starknet_api_openrpc.json#L1871

func AdaptReceipt added in v0.15.20

func AdaptReceipt(
	receipt *core.TransactionReceipt,
	txn core.Transaction,
	finalityStatus TxnFinalityStatus,
) *TransactionReceipt

AdaptReceipt adapts a receipt and transaction into a local *TransactionReceipt. todo(rdr): TransactionReceipt should be returned by value

func AdaptReceiptWithBlockInfo added in v0.15.20

func AdaptReceiptWithBlockInfo(
	receipt *core.TransactionReceipt,
	txn core.Transaction,
	finalityStatus TxnFinalityStatus,
	blockHash *felt.Felt,
	blockNumber uint64,
	isPreLatest bool,
) *TransactionReceipt

AdaptReceiptWithBlockInfo returns JSON-RPC TXN_RECEIPT_WITH_BLOCK_INFO.

type TransactionStatus added in v0.15.20

type TransactionStatus struct {
	Finality      TxnStatus          `json:"finality_status"`
	Execution     TxnExecutionStatus `json:"execution_status,omitempty"`
	FailureReason string             `json:"failure_reason,omitempty"`
}

func AdaptTransactionStatus added in v0.15.20

func AdaptTransactionStatus(
	txStatus *starknet.TransactionStatus,
) (TransactionStatus, error)

type TransactionTrace

type TransactionTrace struct {
	Type                  TransactionType     `json:"type"`
	ValidateInvocation    *FunctionInvocation `json:"validate_invocation,omitempty"`
	ExecuteInvocation     *ExecuteInvocation  `json:"execute_invocation,omitempty" validate:"required_if=Type INVOKE"` //nolint:lll // validate tag
	FeeTransferInvocation *FunctionInvocation `json:"fee_transfer_invocation,omitempty"`
	ConstructorInvocation *FunctionInvocation `json:"constructor_invocation,omitempty" validate:"required_if=Type DEPLOY_ACCOUNT"` //nolint:lll // validate tag
	FunctionInvocation    *ExecuteInvocation  `json:"function_invocation,omitempty" validate:"required_if=Type L1_HANDLER"`        //nolint:lll // validate tag
	StateDiff             *StateDiff          `json:"state_diff,omitempty"`
	ExecutionResources    *ExecutionResources `json:"execution_resources"`
}

func AdaptVMTransactionTrace

func AdaptVMTransactionTrace(trace *vm.TransactionTrace) TransactionTrace

type TransactionType added in v0.15.20

type TransactionType uint8
const (
	Invalid TransactionType = iota
	TxnDeclare
	TxnDeploy
	TxnDeployAccount
	TxnInvoke
	TxnL1Handler
)

func (TransactionType) MarshalText added in v0.15.20

func (t TransactionType) MarshalText() ([]byte, error)

func (TransactionType) String added in v0.15.20

func (t TransactionType) String() string

func (*TransactionType) UnmarshalJSON added in v0.15.20

func (t *TransactionType) UnmarshalJSON(data []byte) error

type TransactionWithReceipt added in v0.15.20

type TransactionWithReceipt struct {
	Transaction *Transaction        `json:"transaction"`
	Receipt     *TransactionReceipt `json:"receipt"`
}

TransactionWithReceipt represents a transaction with its receipt

type TxnExecutionStatus added in v0.15.20

type TxnExecutionStatus uint8
const (
	UnknownExecution TxnExecutionStatus = iota
	TxnSuccess
	TxnFailure
)

func (TxnExecutionStatus) MarshalText added in v0.15.20

func (es TxnExecutionStatus) MarshalText() ([]byte, error)

func (*TxnExecutionStatus) UnmarshalText added in v0.15.20

func (es *TxnExecutionStatus) UnmarshalText(text []byte) error

type TxnFinalityStatus added in v0.15.20

type TxnFinalityStatus uint8

TxnFinalityStatus represents the finality status of a transaction.

const (
	// Starts from 3 for TxnFinalityStatuses to match same numbers on TxnStatus
	TxnPreConfirmed TxnFinalityStatus = iota + 3
	TxnAcceptedOnL2
	TxnAcceptedOnL1
)

func (TxnFinalityStatus) MarshalText added in v0.15.20

func (fs TxnFinalityStatus) MarshalText() ([]byte, error)

func (*TxnFinalityStatus) UnmarshalText added in v0.15.20

func (fs *TxnFinalityStatus) UnmarshalText(text []byte) error

type TxnFinalityStatusWithoutL1 added in v0.15.20

type TxnFinalityStatusWithoutL1 TxnFinalityStatus

func (TxnFinalityStatusWithoutL1) MarshalText added in v0.15.20

func (s TxnFinalityStatusWithoutL1) MarshalText() ([]byte, error)

func (*TxnFinalityStatusWithoutL1) UnmarshalText added in v0.15.20

func (s *TxnFinalityStatusWithoutL1) UnmarshalText(text []byte) error

type TxnStatus added in v0.15.20

type TxnStatus uint8
const (
	TxnStatusReceived TxnStatus = iota + 1
	TxnStatusCandidate
	TxnStatusPreConfirmed
	TxnStatusAcceptedOnL2
	TxnStatusAcceptedOnL1
)

func (TxnStatus) MarshalText added in v0.15.20

func (s TxnStatus) MarshalText() ([]byte, error)

type TxnStatusWithoutL1 added in v0.15.20

type TxnStatusWithoutL1 TxnStatus

func (TxnStatusWithoutL1) MarshalText added in v0.15.20

func (s TxnStatusWithoutL1) MarshalText() ([]byte, error)

func (*TxnStatusWithoutL1) UnmarshalText added in v0.15.20

func (s *TxnStatusWithoutL1) UnmarshalText(text []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL