conformance

package
v0.1.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_context_proto protoreflect.FileDescriptor
View Source
var File_invoke_proto protoreflect.FileDescriptor
View Source
var File_serialize_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AcctState

type AcctState struct {

	// The account address.  (32 bytes)
	Address  []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Lamports uint64 `protobuf:"varint,2,opt,name=lamports,proto3" json:"lamports,omitempty"`
	// Account data is limited to 10 MiB on Solana mainnet as of 2024-Feb.
	Data       []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	Executable bool   `protobuf:"varint,4,opt,name=executable,proto3" json:"executable,omitempty"`
	// The rent epoch is deprecated on Solana mainnet as of 2024-Feb.
	// If ommitted, implies a value of UINT64_MAX.
	RentEpoch uint64 `protobuf:"varint,5,opt,name=rent_epoch,json=rentEpoch,proto3" json:"rent_epoch,omitempty"`
	// Address of the program that owns this account.  (32 bytes)
	Owner []byte `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"`
	// The account address, but derived as a seed address.  Overrides
	// `address` if present.
	// TODO: This is a solfuzz specific extension and is not compliant
	// with the org.solana.sealevel.v1 API.
	SeedAddr *SeedAddress `protobuf:"bytes,7,opt,name=seed_addr,json=seedAddr,proto3" json:"seed_addr,omitempty"`
	// contains filtered or unexported fields
}

The complete state of an account excluding its public key.

func (*AcctState) Descriptor deprecated

func (*AcctState) Descriptor() ([]byte, []int)

Deprecated: Use AcctState.ProtoReflect.Descriptor instead.

func (*AcctState) GetAddress

func (x *AcctState) GetAddress() []byte

func (*AcctState) GetData

func (x *AcctState) GetData() []byte

func (*AcctState) GetExecutable

func (x *AcctState) GetExecutable() bool

func (*AcctState) GetLamports

func (x *AcctState) GetLamports() uint64

func (*AcctState) GetOwner

func (x *AcctState) GetOwner() []byte

func (*AcctState) GetRentEpoch

func (x *AcctState) GetRentEpoch() uint64

func (*AcctState) GetSeedAddr

func (x *AcctState) GetSeedAddr() *SeedAddress

func (*AcctState) ProtoMessage

func (*AcctState) ProtoMessage()

func (*AcctState) ProtoReflect

func (x *AcctState) ProtoReflect() protoreflect.Message

func (*AcctState) Reset

func (x *AcctState) Reset()

func (*AcctState) String

func (x *AcctState) String() string

type CompiledInstruction

type CompiledInstruction struct {

	// Index into the message pubkey array
	ProgramIdIndex uint32 `protobuf:"varint,1,opt,name=program_id_index,json=programIdIndex,proto3" json:"program_id_index,omitempty"`
	// Indexes into the message pubkey array
	Accounts []uint32 `protobuf:"varint,2,rep,packed,name=accounts,proto3" json:"accounts,omitempty"`
	Data     []byte   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

The instruction a transaction executes

func (*CompiledInstruction) Descriptor deprecated

func (*CompiledInstruction) Descriptor() ([]byte, []int)

Deprecated: Use CompiledInstruction.ProtoReflect.Descriptor instead.

func (*CompiledInstruction) GetAccounts

func (x *CompiledInstruction) GetAccounts() []uint32

func (*CompiledInstruction) GetData

func (x *CompiledInstruction) GetData() []byte

func (*CompiledInstruction) GetProgramIdIndex

func (x *CompiledInstruction) GetProgramIdIndex() uint32

func (*CompiledInstruction) ProtoMessage

func (*CompiledInstruction) ProtoMessage()

func (*CompiledInstruction) ProtoReflect

func (x *CompiledInstruction) ProtoReflect() protoreflect.Message

func (*CompiledInstruction) Reset

func (x *CompiledInstruction) Reset()

func (*CompiledInstruction) String

func (x *CompiledInstruction) String() string

type ELFBinary

type ELFBinary struct {
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*ELFBinary) Descriptor deprecated

func (*ELFBinary) Descriptor() ([]byte, []int)

Deprecated: Use ELFBinary.ProtoReflect.Descriptor instead.

func (*ELFBinary) GetData

func (x *ELFBinary) GetData() []byte

func (*ELFBinary) ProtoMessage

func (*ELFBinary) ProtoMessage()

func (*ELFBinary) ProtoReflect

func (x *ELFBinary) ProtoReflect() protoreflect.Message

func (*ELFBinary) Reset

func (x *ELFBinary) Reset()

func (*ELFBinary) String

func (x *ELFBinary) String() string

type ELFLoaderCtx

type ELFLoaderCtx struct {
	Elf          *ELFBinary  `protobuf:"bytes,1,opt,name=elf,proto3" json:"elf,omitempty"`
	Features     *FeatureSet `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"`
	ElfSz        uint64      `protobuf:"varint,3,opt,name=elf_sz,json=elfSz,proto3" json:"elf_sz,omitempty"`
	DeployChecks bool        `protobuf:"varint,4,opt,name=deploy_checks,json=deployChecks,proto3" json:"deploy_checks,omitempty"`
	// contains filtered or unexported fields
}

Wrapper for the ELF binary and the features that the loader should use Note that we currently hardcode the features to be used by the loader, so features isn't actually used yet.

func (*ELFLoaderCtx) Descriptor deprecated

func (*ELFLoaderCtx) Descriptor() ([]byte, []int)

Deprecated: Use ELFLoaderCtx.ProtoReflect.Descriptor instead.

func (*ELFLoaderCtx) GetDeployChecks

func (x *ELFLoaderCtx) GetDeployChecks() bool

func (*ELFLoaderCtx) GetElf

func (x *ELFLoaderCtx) GetElf() *ELFBinary

func (*ELFLoaderCtx) GetElfSz

func (x *ELFLoaderCtx) GetElfSz() uint64

func (*ELFLoaderCtx) GetFeatures

func (x *ELFLoaderCtx) GetFeatures() *FeatureSet

func (*ELFLoaderCtx) ProtoMessage

func (*ELFLoaderCtx) ProtoMessage()

func (*ELFLoaderCtx) ProtoReflect

func (x *ELFLoaderCtx) ProtoReflect() protoreflect.Message

func (*ELFLoaderCtx) Reset

func (x *ELFLoaderCtx) Reset()

func (*ELFLoaderCtx) String

func (x *ELFLoaderCtx) String() string

type ELFLoaderEffects

type ELFLoaderEffects struct {
	Rodata   []byte `protobuf:"bytes,1,opt,name=rodata,proto3" json:"rodata,omitempty"`
	RodataSz uint64 `protobuf:"varint,2,opt,name=rodata_sz,json=rodataSz,proto3" json:"rodata_sz,omitempty"`
	// bytes text = 3; // not needed, just points to a region in rodata
	TextCnt   uint64   `protobuf:"varint,4,opt,name=text_cnt,json=textCnt,proto3" json:"text_cnt,omitempty"`
	TextOff   uint64   `protobuf:"varint,5,opt,name=text_off,json=textOff,proto3" json:"text_off,omitempty"`
	EntryPc   uint64   `protobuf:"varint,6,opt,name=entry_pc,json=entryPc,proto3" json:"entry_pc,omitempty"`
	Calldests []uint64 `protobuf:"varint,7,rep,packed,name=calldests,proto3" json:"calldests,omitempty"`
	// contains filtered or unexported fields
}

Captures the results of a elf binary load. Structurally similar to fd_sbpf_program_t

func (*ELFLoaderEffects) Descriptor deprecated

func (*ELFLoaderEffects) Descriptor() ([]byte, []int)

Deprecated: Use ELFLoaderEffects.ProtoReflect.Descriptor instead.

func (*ELFLoaderEffects) GetCalldests

func (x *ELFLoaderEffects) GetCalldests() []uint64

func (*ELFLoaderEffects) GetEntryPc

func (x *ELFLoaderEffects) GetEntryPc() uint64

func (*ELFLoaderEffects) GetRodata

func (x *ELFLoaderEffects) GetRodata() []byte

func (*ELFLoaderEffects) GetRodataSz

func (x *ELFLoaderEffects) GetRodataSz() uint64

func (*ELFLoaderEffects) GetTextCnt

func (x *ELFLoaderEffects) GetTextCnt() uint64

func (*ELFLoaderEffects) GetTextOff

func (x *ELFLoaderEffects) GetTextOff() uint64

func (*ELFLoaderEffects) ProtoMessage

func (*ELFLoaderEffects) ProtoMessage()

func (*ELFLoaderEffects) ProtoReflect

func (x *ELFLoaderEffects) ProtoReflect() protoreflect.Message

func (*ELFLoaderEffects) Reset

func (x *ELFLoaderEffects) Reset()

func (*ELFLoaderEffects) String

func (x *ELFLoaderEffects) String() string

type ELFLoaderFixture

type ELFLoaderFixture struct {
	Input  *ELFLoaderCtx     `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Output *ELFLoaderEffects `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

func (*ELFLoaderFixture) Descriptor deprecated

func (*ELFLoaderFixture) Descriptor() ([]byte, []int)

Deprecated: Use ELFLoaderFixture.ProtoReflect.Descriptor instead.

func (*ELFLoaderFixture) GetInput

func (x *ELFLoaderFixture) GetInput() *ELFLoaderCtx

func (*ELFLoaderFixture) GetOutput

func (x *ELFLoaderFixture) GetOutput() *ELFLoaderEffects

func (*ELFLoaderFixture) ProtoMessage

func (*ELFLoaderFixture) ProtoMessage()

func (*ELFLoaderFixture) ProtoReflect

func (x *ELFLoaderFixture) ProtoReflect() protoreflect.Message

func (*ELFLoaderFixture) Reset

func (x *ELFLoaderFixture) Reset()

func (*ELFLoaderFixture) String

func (x *ELFLoaderFixture) String() string

type EpochContext

type EpochContext struct {
	Features *FeatureSet `protobuf:"bytes,1,opt,name=features,proto3" json:"features,omitempty"`
	// contains filtered or unexported fields
}

EpochContext includes context scoped to an epoch. On "real" ledgers, it is created during the epoch boundary.

func (*EpochContext) Descriptor deprecated

func (*EpochContext) Descriptor() ([]byte, []int)

Deprecated: Use EpochContext.ProtoReflect.Descriptor instead.

func (*EpochContext) GetFeatures

func (x *EpochContext) GetFeatures() *FeatureSet

func (*EpochContext) ProtoMessage

func (*EpochContext) ProtoMessage()

func (*EpochContext) ProtoReflect

func (x *EpochContext) ProtoReflect() protoreflect.Message

func (*EpochContext) Reset

func (x *EpochContext) Reset()

func (*EpochContext) String

func (x *EpochContext) String() string

type FeatureSet

type FeatureSet struct {

	// Every item in this list marks an enabled feature.  The value of
	// each item is the first 8 bytes of the feature ID as a little-
	// endian integer.
	Features []uint64 `protobuf:"fixed64,1,rep,packed,name=features,proto3" json:"features,omitempty"`
	// contains filtered or unexported fields
}

A set of feature flags.

func (*FeatureSet) Descriptor deprecated

func (*FeatureSet) Descriptor() ([]byte, []int)

Deprecated: Use FeatureSet.ProtoReflect.Descriptor instead.

func (*FeatureSet) GetFeatures

func (x *FeatureSet) GetFeatures() []uint64

func (*FeatureSet) ProtoMessage

func (*FeatureSet) ProtoMessage()

func (*FeatureSet) ProtoReflect

func (x *FeatureSet) ProtoReflect() protoreflect.Message

func (*FeatureSet) Reset

func (x *FeatureSet) Reset()

func (*FeatureSet) String

func (x *FeatureSet) String() string

type FeeDetails

type FeeDetails struct {
	TransactionFee    uint64 `protobuf:"varint,1,opt,name=transaction_fee,json=transactionFee,proto3" json:"transaction_fee,omitempty"`
	PrioritizationFee uint64 `protobuf:"varint,2,opt,name=prioritization_fee,json=prioritizationFee,proto3" json:"prioritization_fee,omitempty"`
	// contains filtered or unexported fields
}

func (*FeeDetails) Descriptor deprecated

func (*FeeDetails) Descriptor() ([]byte, []int)

Deprecated: Use FeeDetails.ProtoReflect.Descriptor instead.

func (*FeeDetails) GetPrioritizationFee

func (x *FeeDetails) GetPrioritizationFee() uint64

func (*FeeDetails) GetTransactionFee

func (x *FeeDetails) GetTransactionFee() uint64

func (*FeeDetails) ProtoMessage

func (*FeeDetails) ProtoMessage()

func (*FeeDetails) ProtoReflect

func (x *FeeDetails) ProtoReflect() protoreflect.Message

func (*FeeDetails) Reset

func (x *FeeDetails) Reset()

func (*FeeDetails) String

func (x *FeeDetails) String() string

type FullVmContext

type FullVmContext struct {
	VmCtx *VmContext `protobuf:"bytes,1,opt,name=vm_ctx,json=vmCtx,proto3" json:"vm_ctx,omitempty"`
	// InstrContext instr_ctx = 2;
	Features *FeatureSet `protobuf:"bytes,3,opt,name=features,proto3" json:"features,omitempty"`
	// contains filtered or unexported fields
}

Everything needed to setup a fd_vm_t

func (*FullVmContext) Descriptor deprecated

func (*FullVmContext) Descriptor() ([]byte, []int)

Deprecated: Use FullVmContext.ProtoReflect.Descriptor instead.

func (*FullVmContext) GetFeatures

func (x *FullVmContext) GetFeatures() *FeatureSet

func (*FullVmContext) GetVmCtx

func (x *FullVmContext) GetVmCtx() *VmContext

func (*FullVmContext) ProtoMessage

func (*FullVmContext) ProtoMessage()

func (*FullVmContext) ProtoReflect

func (x *FullVmContext) ProtoReflect() protoreflect.Message

func (*FullVmContext) Reset

func (x *FullVmContext) Reset()

func (*FullVmContext) String

func (x *FullVmContext) String() string

type InputDataRegion

type InputDataRegion struct {

	// Offset from the start of the input data segment (0x400000000)
	Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
	// Content of the memory region
	Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	// If the memory region is writable or not
	IsWritable bool `protobuf:"varint,3,opt,name=is_writable,json=isWritable,proto3" json:"is_writable,omitempty"`
	// contains filtered or unexported fields
}

Describes an input data region. Agave's memory mapping sets up a series of memory mapped regions, which combine to make the input data region.

func (*InputDataRegion) Descriptor deprecated

func (*InputDataRegion) Descriptor() ([]byte, []int)

Deprecated: Use InputDataRegion.ProtoReflect.Descriptor instead.

func (*InputDataRegion) GetContent

func (x *InputDataRegion) GetContent() []byte

func (*InputDataRegion) GetIsWritable

func (x *InputDataRegion) GetIsWritable() bool

func (*InputDataRegion) GetOffset

func (x *InputDataRegion) GetOffset() uint64

func (*InputDataRegion) ProtoMessage

func (*InputDataRegion) ProtoMessage()

func (*InputDataRegion) ProtoReflect

func (x *InputDataRegion) ProtoReflect() protoreflect.Message

func (*InputDataRegion) Reset

func (x *InputDataRegion) Reset()

func (*InputDataRegion) String

func (x *InputDataRegion) String() string

type InstrAcct

type InstrAcct struct {

	// Selects an account in an external list
	Index      uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	IsWritable bool   `protobuf:"varint,2,opt,name=is_writable,json=isWritable,proto3" json:"is_writable,omitempty"`
	IsSigner   bool   `protobuf:"varint,3,opt,name=is_signer,json=isSigner,proto3" json:"is_signer,omitempty"`
	// contains filtered or unexported fields
}

func (*InstrAcct) Descriptor deprecated

func (*InstrAcct) Descriptor() ([]byte, []int)

Deprecated: Use InstrAcct.ProtoReflect.Descriptor instead.

func (*InstrAcct) GetIndex

func (x *InstrAcct) GetIndex() uint32

func (*InstrAcct) GetIsSigner

func (x *InstrAcct) GetIsSigner() bool

func (*InstrAcct) GetIsWritable

func (x *InstrAcct) GetIsWritable() bool

func (*InstrAcct) ProtoMessage

func (*InstrAcct) ProtoMessage()

func (*InstrAcct) ProtoReflect

func (x *InstrAcct) ProtoReflect() protoreflect.Message

func (*InstrAcct) Reset

func (x *InstrAcct) Reset()

func (*InstrAcct) String

func (x *InstrAcct) String() string

type InstrContext

type InstrContext struct {

	// The address of the program invoked.  (32 bytes)
	ProgramId []byte `protobuf:"bytes,1,opt,name=program_id,json=programId,proto3" json:"program_id,omitempty"`
	// Account state accessed by the instruction.  This may include
	// indirect accesses like sysvars.
	Accounts []*AcctState `protobuf:"bytes,3,rep,name=accounts,proto3" json:"accounts,omitempty"`
	// Account access list for this instruction (refers to above accounts list)
	InstrAccounts []*InstrAcct `protobuf:"bytes,4,rep,name=instr_accounts,json=instrAccounts,proto3" json:"instr_accounts,omitempty"`
	// The input data passed to program execution.
	Data         []byte        `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
	CuAvail      uint64        `protobuf:"varint,6,opt,name=cu_avail,json=cuAvail,proto3" json:"cu_avail,omitempty"`
	SlotContext  *SlotContext  `protobuf:"bytes,8,opt,name=slot_context,json=slotContext,proto3" json:"slot_context,omitempty"`
	EpochContext *EpochContext `protobuf:"bytes,9,opt,name=epoch_context,json=epochContext,proto3" json:"epoch_context,omitempty"`
	// contains filtered or unexported fields
}

The execution context of a program invocation (aka instruction). Contains all required information to independently replay an instruction. Also includes partial transaction context.

func (*InstrContext) Descriptor deprecated

func (*InstrContext) Descriptor() ([]byte, []int)

Deprecated: Use InstrContext.ProtoReflect.Descriptor instead.

func (*InstrContext) GetAccounts

func (x *InstrContext) GetAccounts() []*AcctState

func (*InstrContext) GetCuAvail

func (x *InstrContext) GetCuAvail() uint64

func (*InstrContext) GetData

func (x *InstrContext) GetData() []byte

func (*InstrContext) GetEpochContext

func (x *InstrContext) GetEpochContext() *EpochContext

func (*InstrContext) GetInstrAccounts

func (x *InstrContext) GetInstrAccounts() []*InstrAcct

func (*InstrContext) GetProgramId

func (x *InstrContext) GetProgramId() []byte

func (*InstrContext) GetSlotContext

func (x *InstrContext) GetSlotContext() *SlotContext

func (*InstrContext) ProtoMessage

func (*InstrContext) ProtoMessage()

func (*InstrContext) ProtoReflect

func (x *InstrContext) ProtoReflect() protoreflect.Message

func (*InstrContext) Reset

func (x *InstrContext) Reset()

func (*InstrContext) String

func (x *InstrContext) String() string

type InstrEffects

type InstrEffects struct {

	// result is zero if the instruction executed succesfully.
	// Otherwise, a non-zero error code.  Error codes are not relevant to
	// consensus.
	Result int32 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
	// Some error cases additionally have a custom error code.  Unlike
	// the expected_result, this is stable across clients.
	CustomErr uint32 `protobuf:"varint,2,opt,name=custom_err,json=customErr,proto3" json:"custom_err,omitempty"`
	// Copies of accounts that were changed.  May be in an arbitrary
	// order.  The pubkey of each account is unique in this list.  Each
	// account address modified here must also be in the
	// InstrContext.
	ModifiedAccounts []*AcctState `protobuf:"bytes,3,rep,name=modified_accounts,json=modifiedAccounts,proto3" json:"modified_accounts,omitempty"`
	CuAvail          uint64       `protobuf:"varint,4,opt,name=cu_avail,json=cuAvail,proto3" json:"cu_avail,omitempty"`
	// Instruction return data.
	ReturnData []byte `protobuf:"bytes,5,opt,name=return_data,json=returnData,proto3" json:"return_data,omitempty"`
	// contains filtered or unexported fields
}

The results of executing an InstrContext.

func (*InstrEffects) Descriptor deprecated

func (*InstrEffects) Descriptor() ([]byte, []int)

Deprecated: Use InstrEffects.ProtoReflect.Descriptor instead.

func (*InstrEffects) GetCuAvail

func (x *InstrEffects) GetCuAvail() uint64

func (*InstrEffects) GetCustomErr

func (x *InstrEffects) GetCustomErr() uint32

func (*InstrEffects) GetModifiedAccounts

func (x *InstrEffects) GetModifiedAccounts() []*AcctState

func (*InstrEffects) GetResult

func (x *InstrEffects) GetResult() int32

func (*InstrEffects) GetReturnData

func (x *InstrEffects) GetReturnData() []byte

func (*InstrEffects) ProtoMessage

func (*InstrEffects) ProtoMessage()

func (*InstrEffects) ProtoReflect

func (x *InstrEffects) ProtoReflect() protoreflect.Message

func (*InstrEffects) Reset

func (x *InstrEffects) Reset()

func (*InstrEffects) String

func (x *InstrEffects) String() string

type InstrFixture

type InstrFixture struct {
	Input  *InstrContext `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Output *InstrEffects `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

An instruction processing test fixture.

func (*InstrFixture) Descriptor deprecated

func (*InstrFixture) Descriptor() ([]byte, []int)

Deprecated: Use InstrFixture.ProtoReflect.Descriptor instead.

func (*InstrFixture) GetInput

func (x *InstrFixture) GetInput() *InstrContext

func (*InstrFixture) GetOutput

func (x *InstrFixture) GetOutput() *InstrEffects

func (*InstrFixture) ProtoMessage

func (*InstrFixture) ProtoMessage()

func (*InstrFixture) ProtoReflect

func (x *InstrFixture) ProtoReflect() protoreflect.Message

func (*InstrFixture) Reset

func (x *InstrFixture) Reset()

func (*InstrFixture) String

func (x *InstrFixture) String() string

type InstrSerializeResult

type InstrSerializeResult struct {
	Result  int32          `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
	Regions []*VmMemRegion `protobuf:"bytes,2,rep,name=regions,proto3" json:"regions,omitempty"`
	// contains filtered or unexported fields
}

func (*InstrSerializeResult) Descriptor deprecated

func (*InstrSerializeResult) Descriptor() ([]byte, []int)

Deprecated: Use InstrSerializeResult.ProtoReflect.Descriptor instead.

func (*InstrSerializeResult) GetRegions

func (x *InstrSerializeResult) GetRegions() []*VmMemRegion

func (*InstrSerializeResult) GetResult

func (x *InstrSerializeResult) GetResult() int32

func (*InstrSerializeResult) ProtoMessage

func (*InstrSerializeResult) ProtoMessage()

func (*InstrSerializeResult) ProtoReflect

func (x *InstrSerializeResult) ProtoReflect() protoreflect.Message

func (*InstrSerializeResult) Reset

func (x *InstrSerializeResult) Reset()

func (*InstrSerializeResult) String

func (x *InstrSerializeResult) String() string

type LoadedAddresses

type LoadedAddresses struct {
	Writable [][]byte `protobuf:"bytes,1,rep,name=writable,proto3" json:"writable,omitempty"`
	Readonly [][]byte `protobuf:"bytes,2,rep,name=readonly,proto3" json:"readonly,omitempty"`
	// contains filtered or unexported fields
}

Addresses loaded with on-chain lookup tables

func (*LoadedAddresses) Descriptor deprecated

func (*LoadedAddresses) Descriptor() ([]byte, []int)

Deprecated: Use LoadedAddresses.ProtoReflect.Descriptor instead.

func (*LoadedAddresses) GetReadonly

func (x *LoadedAddresses) GetReadonly() [][]byte

func (*LoadedAddresses) GetWritable

func (x *LoadedAddresses) GetWritable() [][]byte

func (*LoadedAddresses) ProtoMessage

func (*LoadedAddresses) ProtoMessage()

func (*LoadedAddresses) ProtoReflect

func (x *LoadedAddresses) ProtoReflect() protoreflect.Message

func (*LoadedAddresses) Reset

func (x *LoadedAddresses) Reset()

func (*LoadedAddresses) String

func (x *LoadedAddresses) String() string

type MessageAddressTableLookup

type MessageAddressTableLookup struct {
	AccountKey      []byte   `protobuf:"bytes,1,opt,name=account_key,json=accountKey,proto3" json:"account_key,omitempty"`
	WritableIndexes []uint32 `protobuf:"varint,2,rep,packed,name=writable_indexes,json=writableIndexes,proto3" json:"writable_indexes,omitempty"`
	ReadonlyIndexes []uint32 `protobuf:"varint,3,rep,packed,name=readonly_indexes,json=readonlyIndexes,proto3" json:"readonly_indexes,omitempty"`
	// contains filtered or unexported fields
}

List of address table lookups used to load additional accounts for a transaction

func (*MessageAddressTableLookup) Descriptor deprecated

func (*MessageAddressTableLookup) Descriptor() ([]byte, []int)

Deprecated: Use MessageAddressTableLookup.ProtoReflect.Descriptor instead.

func (*MessageAddressTableLookup) GetAccountKey

func (x *MessageAddressTableLookup) GetAccountKey() []byte

func (*MessageAddressTableLookup) GetReadonlyIndexes

func (x *MessageAddressTableLookup) GetReadonlyIndexes() []uint32

func (*MessageAddressTableLookup) GetWritableIndexes

func (x *MessageAddressTableLookup) GetWritableIndexes() []uint32

func (*MessageAddressTableLookup) ProtoMessage

func (*MessageAddressTableLookup) ProtoMessage()

func (*MessageAddressTableLookup) ProtoReflect

func (*MessageAddressTableLookup) Reset

func (x *MessageAddressTableLookup) Reset()

func (*MessageAddressTableLookup) String

func (x *MessageAddressTableLookup) String() string

type MessageHeader

type MessageHeader struct {
	NumRequiredSignatures       uint32 `` /* 127-byte string literal not displayed */
	NumReadonlySignedAccounts   uint32 `` /* 141-byte string literal not displayed */
	NumReadonlyUnsignedAccounts uint32 `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

Message header contains the counts of required readonly and signatures

func (*MessageHeader) Descriptor deprecated

func (*MessageHeader) Descriptor() ([]byte, []int)

Deprecated: Use MessageHeader.ProtoReflect.Descriptor instead.

func (*MessageHeader) GetNumReadonlySignedAccounts

func (x *MessageHeader) GetNumReadonlySignedAccounts() uint32

func (*MessageHeader) GetNumReadonlyUnsignedAccounts

func (x *MessageHeader) GetNumReadonlyUnsignedAccounts() uint32

func (*MessageHeader) GetNumRequiredSignatures

func (x *MessageHeader) GetNumRequiredSignatures() uint32

func (*MessageHeader) ProtoMessage

func (*MessageHeader) ProtoMessage()

func (*MessageHeader) ProtoReflect

func (x *MessageHeader) ProtoReflect() protoreflect.Message

func (*MessageHeader) Reset

func (x *MessageHeader) Reset()

func (*MessageHeader) String

func (x *MessageHeader) String() string

type RentDebits

type RentDebits struct {
	Pubkey        []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	RentCollected int64  `protobuf:"varint,2,opt,name=rent_collected,json=rentCollected,proto3" json:"rent_collected,omitempty"`
	// contains filtered or unexported fields
}

The rent state for an account after a transaction

func (*RentDebits) Descriptor deprecated

func (*RentDebits) Descriptor() ([]byte, []int)

Deprecated: Use RentDebits.ProtoReflect.Descriptor instead.

func (*RentDebits) GetPubkey

func (x *RentDebits) GetPubkey() []byte

func (*RentDebits) GetRentCollected

func (x *RentDebits) GetRentCollected() int64

func (*RentDebits) ProtoMessage

func (*RentDebits) ProtoMessage()

func (*RentDebits) ProtoReflect

func (x *RentDebits) ProtoReflect() protoreflect.Message

func (*RentDebits) Reset

func (x *RentDebits) Reset()

func (*RentDebits) String

func (x *RentDebits) String() string

type ResultingState

type ResultingState struct {
	AcctStates      []*AcctState  `protobuf:"bytes,1,rep,name=acct_states,json=acctStates,proto3" json:"acct_states,omitempty"`
	RentDebits      []*RentDebits `protobuf:"bytes,2,rep,name=rent_debits,json=rentDebits,proto3" json:"rent_debits,omitempty"`
	TransactionRent uint64        `protobuf:"varint,3,opt,name=transaction_rent,json=transactionRent,proto3" json:"transaction_rent,omitempty"`
	// contains filtered or unexported fields
}

The resulting state of an account after a transaction

func (*ResultingState) Descriptor deprecated

func (*ResultingState) Descriptor() ([]byte, []int)

Deprecated: Use ResultingState.ProtoReflect.Descriptor instead.

func (*ResultingState) GetAcctStates

func (x *ResultingState) GetAcctStates() []*AcctState

func (*ResultingState) GetRentDebits

func (x *ResultingState) GetRentDebits() []*RentDebits

func (*ResultingState) GetTransactionRent

func (x *ResultingState) GetTransactionRent() uint64

func (*ResultingState) ProtoMessage

func (*ResultingState) ProtoMessage()

func (*ResultingState) ProtoReflect

func (x *ResultingState) ProtoReflect() protoreflect.Message

func (*ResultingState) Reset

func (x *ResultingState) Reset()

func (*ResultingState) String

func (x *ResultingState) String() string

type SanitizedTransaction

type SanitizedTransaction struct {

	// The transaction information
	Message *TransactionMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// The message hash
	MessageHash []byte `protobuf:"bytes,2,opt,name=message_hash,json=messageHash,proto3" json:"message_hash,omitempty"`
	// Is this a voting transaction?
	IsSimpleVoteTx bool `protobuf:"varint,3,opt,name=is_simple_vote_tx,json=isSimpleVoteTx,proto3" json:"is_simple_vote_tx,omitempty"`
	// The signatures needed in the transaction
	Signatures [][]byte `protobuf:"bytes,4,rep,name=signatures,proto3" json:"signatures,omitempty"`
	// contains filtered or unexported fields
}

A valid verified transaction

func (*SanitizedTransaction) Descriptor deprecated

func (*SanitizedTransaction) Descriptor() ([]byte, []int)

Deprecated: Use SanitizedTransaction.ProtoReflect.Descriptor instead.

func (*SanitizedTransaction) GetIsSimpleVoteTx

func (x *SanitizedTransaction) GetIsSimpleVoteTx() bool

func (*SanitizedTransaction) GetMessage

func (x *SanitizedTransaction) GetMessage() *TransactionMessage

func (*SanitizedTransaction) GetMessageHash

func (x *SanitizedTransaction) GetMessageHash() []byte

func (*SanitizedTransaction) GetSignatures

func (x *SanitizedTransaction) GetSignatures() [][]byte

func (*SanitizedTransaction) ProtoMessage

func (*SanitizedTransaction) ProtoMessage()

func (*SanitizedTransaction) ProtoReflect

func (x *SanitizedTransaction) ProtoReflect() protoreflect.Message

func (*SanitizedTransaction) Reset

func (x *SanitizedTransaction) Reset()

func (*SanitizedTransaction) String

func (x *SanitizedTransaction) String() string

type SeedAddress

type SeedAddress struct {

	// The seed address base.  (32 bytes)
	Base []byte `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
	// The seed path  (<= 32 bytes)
	Seed []byte `protobuf:"bytes,2,opt,name=seed,proto3" json:"seed,omitempty"`
	// The seed address owner.  (32 bytes)
	Owner []byte `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
	// contains filtered or unexported fields
}

A seed address. This is not a PDA.

func (*SeedAddress) Descriptor deprecated

func (*SeedAddress) Descriptor() ([]byte, []int)

Deprecated: Use SeedAddress.ProtoReflect.Descriptor instead.

func (*SeedAddress) GetBase

func (x *SeedAddress) GetBase() []byte

func (*SeedAddress) GetOwner

func (x *SeedAddress) GetOwner() []byte

func (*SeedAddress) GetSeed

func (x *SeedAddress) GetSeed() []byte

func (*SeedAddress) ProtoMessage

func (*SeedAddress) ProtoMessage()

func (*SeedAddress) ProtoReflect

func (x *SeedAddress) ProtoReflect() protoreflect.Message

func (*SeedAddress) Reset

func (x *SeedAddress) Reset()

func (*SeedAddress) String

func (x *SeedAddress) String() string

type SlotContext

type SlotContext struct {

	// Slot number
	Slot uint64 `protobuf:"fixed64,1,opt,name=slot,proto3" json:"slot,omitempty"`
	// contains filtered or unexported fields
}

SlotContext includes context scoped to a block. On "real" ledgers, it is created during the slot boundary.

func (*SlotContext) Descriptor deprecated

func (*SlotContext) Descriptor() ([]byte, []int)

Deprecated: Use SlotContext.ProtoReflect.Descriptor instead.

func (*SlotContext) GetSlot

func (x *SlotContext) GetSlot() uint64

func (*SlotContext) ProtoMessage

func (*SlotContext) ProtoMessage()

func (*SlotContext) ProtoReflect

func (x *SlotContext) ProtoReflect() protoreflect.Message

func (*SlotContext) Reset

func (x *SlotContext) Reset()

func (*SlotContext) String

func (x *SlotContext) String() string

type SyscallContext

type SyscallContext struct {
	VmCtx *VmContext `protobuf:"bytes,1,opt,name=vm_ctx,json=vmCtx,proto3" json:"vm_ctx,omitempty"`
	// InflightInstruction - contain temporary fields that live for the duration of an instructions execution, and is needed if we have overhanging context from a previous instruction
	InstrCtx          *InstrContext      `protobuf:"bytes,2,opt,name=instr_ctx,json=instrCtx,proto3" json:"instr_ctx,omitempty"`
	SyscallInvocation *SyscallInvocation `protobuf:"bytes,3,opt,name=syscall_invocation,json=syscallInvocation,proto3" json:"syscall_invocation,omitempty"`
	// contains filtered or unexported fields
}

Execution context for a VM Syscall execution.

func (*SyscallContext) Descriptor deprecated

func (*SyscallContext) Descriptor() ([]byte, []int)

Deprecated: Use SyscallContext.ProtoReflect.Descriptor instead.

func (*SyscallContext) GetInstrCtx

func (x *SyscallContext) GetInstrCtx() *InstrContext

func (*SyscallContext) GetSyscallInvocation

func (x *SyscallContext) GetSyscallInvocation() *SyscallInvocation

func (*SyscallContext) GetVmCtx

func (x *SyscallContext) GetVmCtx() *VmContext

func (*SyscallContext) ProtoMessage

func (*SyscallContext) ProtoMessage()

func (*SyscallContext) ProtoReflect

func (x *SyscallContext) ProtoReflect() protoreflect.Message

func (*SyscallContext) Reset

func (x *SyscallContext) Reset()

func (*SyscallContext) String

func (x *SyscallContext) String() string

type SyscallEffects

type SyscallEffects struct {

	// EBPF error code, if the invocation was unsuccessful
	Error int64 `protobuf:"varint,1,opt,name=error,proto3" json:"error,omitempty"`
	// Registers
	R0 uint64 `protobuf:"varint,2,opt,name=r0,proto3" json:"r0,omitempty"` // Result of a successful execution
	// CU's remaining
	CuAvail uint64 `protobuf:"varint,3,opt,name=cu_avail,json=cuAvail,proto3" json:"cu_avail,omitempty"`
	// Memory regions
	Heap      []byte `protobuf:"bytes,4,opt,name=heap,proto3" json:"heap,omitempty"`
	Stack     []byte `protobuf:"bytes,5,opt,name=stack,proto3" json:"stack,omitempty"`
	Inputdata []byte `protobuf:"bytes,6,opt,name=inputdata,proto3" json:"inputdata,omitempty"`
	// Current number of stack frames pushed
	FrameCount uint64 `protobuf:"varint,7,opt,name=frame_count,json=frameCount,proto3" json:"frame_count,omitempty"`
	// Syscall log
	Log []byte `protobuf:"bytes,8,opt,name=log,proto3" json:"log,omitempty"`
	// contains filtered or unexported fields
}

The effects of executing a SyscallContext.

func (*SyscallEffects) Descriptor deprecated

func (*SyscallEffects) Descriptor() ([]byte, []int)

Deprecated: Use SyscallEffects.ProtoReflect.Descriptor instead.

func (*SyscallEffects) GetCuAvail

func (x *SyscallEffects) GetCuAvail() uint64

func (*SyscallEffects) GetError

func (x *SyscallEffects) GetError() int64

func (*SyscallEffects) GetFrameCount

func (x *SyscallEffects) GetFrameCount() uint64

func (*SyscallEffects) GetHeap

func (x *SyscallEffects) GetHeap() []byte

func (*SyscallEffects) GetInputdata

func (x *SyscallEffects) GetInputdata() []byte

func (*SyscallEffects) GetLog

func (x *SyscallEffects) GetLog() []byte

func (*SyscallEffects) GetR0

func (x *SyscallEffects) GetR0() uint64

func (*SyscallEffects) GetStack

func (x *SyscallEffects) GetStack() []byte

func (*SyscallEffects) ProtoMessage

func (*SyscallEffects) ProtoMessage()

func (*SyscallEffects) ProtoReflect

func (x *SyscallEffects) ProtoReflect() protoreflect.Message

func (*SyscallEffects) Reset

func (x *SyscallEffects) Reset()

func (*SyscallEffects) String

func (x *SyscallEffects) String() string

type SyscallFixture

type SyscallFixture struct {
	Input  *SyscallContext `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Output *SyscallEffects `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

A syscall processing test fixture.

func (*SyscallFixture) Descriptor deprecated

func (*SyscallFixture) Descriptor() ([]byte, []int)

Deprecated: Use SyscallFixture.ProtoReflect.Descriptor instead.

func (*SyscallFixture) GetInput

func (x *SyscallFixture) GetInput() *SyscallContext

func (*SyscallFixture) GetOutput

func (x *SyscallFixture) GetOutput() *SyscallEffects

func (*SyscallFixture) ProtoMessage

func (*SyscallFixture) ProtoMessage()

func (*SyscallFixture) ProtoReflect

func (x *SyscallFixture) ProtoReflect() protoreflect.Message

func (*SyscallFixture) Reset

func (x *SyscallFixture) Reset()

func (*SyscallFixture) String

func (x *SyscallFixture) String() string

type SyscallInvocation

type SyscallInvocation struct {

	// The sBPF function name of the syscall
	FunctionName []byte `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
	// The initial portion of the heap, for example to store syscall inputs
	HeapPrefix []byte `protobuf:"bytes,2,opt,name=heap_prefix,json=heapPrefix,proto3" json:"heap_prefix,omitempty"`
	// contains filtered or unexported fields
}

A single invocation of a syscall

func (*SyscallInvocation) Descriptor deprecated

func (*SyscallInvocation) Descriptor() ([]byte, []int)

Deprecated: Use SyscallInvocation.ProtoReflect.Descriptor instead.

func (*SyscallInvocation) GetFunctionName

func (x *SyscallInvocation) GetFunctionName() []byte

func (*SyscallInvocation) GetHeapPrefix

func (x *SyscallInvocation) GetHeapPrefix() []byte

func (*SyscallInvocation) ProtoMessage

func (*SyscallInvocation) ProtoMessage()

func (*SyscallInvocation) ProtoReflect

func (x *SyscallInvocation) ProtoReflect() protoreflect.Message

func (*SyscallInvocation) Reset

func (x *SyscallInvocation) Reset()

func (*SyscallInvocation) String

func (x *SyscallInvocation) String() string

type TransactionMessage

type TransactionMessage struct {

	// Whether this is a legacy message or not
	IsLegacy bool           `protobuf:"varint,1,opt,name=is_legacy,json=isLegacy,proto3" json:"is_legacy,omitempty"`
	Header   *MessageHeader `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	// Vector of pubkeys
	AccountKeys [][]byte `protobuf:"bytes,3,rep,name=account_keys,json=accountKeys,proto3" json:"account_keys,omitempty"`
	// Data associated with the accounts referred above. Not all accounts need to be here.
	AccountSharedData []*AcctState `protobuf:"bytes,4,rep,name=account_shared_data,json=accountSharedData,proto3" json:"account_shared_data,omitempty"`
	// Recent blockhash provided in message
	RecentBlockhash []byte `protobuf:"bytes,5,opt,name=recent_blockhash,json=recentBlockhash,proto3" json:"recent_blockhash,omitempty"`
	// The instructions this transaction executes
	Instructions []*CompiledInstruction `protobuf:"bytes,6,rep,name=instructions,proto3" json:"instructions,omitempty"`
	// Not available in legacy message
	AddressTableLookups []*MessageAddressTableLookup `protobuf:"bytes,7,rep,name=address_table_lookups,json=addressTableLookups,proto3" json:"address_table_lookups,omitempty"`
	// Not available in legacy messages
	LoadedAddresses *LoadedAddresses `protobuf:"bytes,8,opt,name=loaded_addresses,json=loadedAddresses,proto3" json:"loaded_addresses,omitempty"`
	// contains filtered or unexported fields
}

Message contains the transaction data

func (*TransactionMessage) Descriptor deprecated

func (*TransactionMessage) Descriptor() ([]byte, []int)

Deprecated: Use TransactionMessage.ProtoReflect.Descriptor instead.

func (*TransactionMessage) GetAccountKeys

func (x *TransactionMessage) GetAccountKeys() [][]byte

func (*TransactionMessage) GetAccountSharedData

func (x *TransactionMessage) GetAccountSharedData() []*AcctState

func (*TransactionMessage) GetAddressTableLookups

func (x *TransactionMessage) GetAddressTableLookups() []*MessageAddressTableLookup

func (*TransactionMessage) GetHeader

func (x *TransactionMessage) GetHeader() *MessageHeader

func (*TransactionMessage) GetInstructions

func (x *TransactionMessage) GetInstructions() []*CompiledInstruction

func (*TransactionMessage) GetIsLegacy

func (x *TransactionMessage) GetIsLegacy() bool

func (*TransactionMessage) GetLoadedAddresses

func (x *TransactionMessage) GetLoadedAddresses() *LoadedAddresses

func (*TransactionMessage) GetRecentBlockhash

func (x *TransactionMessage) GetRecentBlockhash() []byte

func (*TransactionMessage) ProtoMessage

func (*TransactionMessage) ProtoMessage()

func (*TransactionMessage) ProtoReflect

func (x *TransactionMessage) ProtoReflect() protoreflect.Message

func (*TransactionMessage) Reset

func (x *TransactionMessage) Reset()

func (*TransactionMessage) String

func (x *TransactionMessage) String() string

type TxnContext

type TxnContext struct {

	// The transaction data
	Tx *SanitizedTransaction `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
	// The maximum age allowed for this transaction
	MaxAge uint64 `protobuf:"varint,2,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
	// Up to 300 (actually 301) most recent blockhashes (ordered from oldest to newest)
	BlockhashQueue [][]byte      `protobuf:"bytes,3,rep,name=blockhash_queue,json=blockhashQueue,proto3" json:"blockhash_queue,omitempty"`
	EpochCtx       *EpochContext `protobuf:"bytes,4,opt,name=epoch_ctx,json=epochCtx,proto3" json:"epoch_ctx,omitempty"`
	SlotCtx        *SlotContext  `protobuf:"bytes,5,opt,name=slot_ctx,json=slotCtx,proto3" json:"slot_ctx,omitempty"`
	// contains filtered or unexported fields
}

This Transaction context be used to fuzz either `load_execute_and_commit_transactions`, `load_and_execute_transactions` in `bank.rs` or `load_and_execute_sanitized_transactions` in `svm/transaction_processor.rs`

func (*TxnContext) Descriptor deprecated

func (*TxnContext) Descriptor() ([]byte, []int)

Deprecated: Use TxnContext.ProtoReflect.Descriptor instead.

func (*TxnContext) GetBlockhashQueue

func (x *TxnContext) GetBlockhashQueue() [][]byte

func (*TxnContext) GetEpochCtx

func (x *TxnContext) GetEpochCtx() *EpochContext

func (*TxnContext) GetMaxAge

func (x *TxnContext) GetMaxAge() uint64

func (*TxnContext) GetSlotCtx

func (x *TxnContext) GetSlotCtx() *SlotContext

func (*TxnContext) GetTx

func (x *TxnContext) GetTx() *SanitizedTransaction

func (*TxnContext) ProtoMessage

func (*TxnContext) ProtoMessage()

func (*TxnContext) ProtoReflect

func (x *TxnContext) ProtoReflect() protoreflect.Message

func (*TxnContext) Reset

func (x *TxnContext) Reset()

func (*TxnContext) String

func (x *TxnContext) String() string

type TxnFixture

type TxnFixture struct {

	// Context
	Input *TxnContext `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// Effects
	Output *TxnResult `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Txn fixtures

func (*TxnFixture) Descriptor deprecated

func (*TxnFixture) Descriptor() ([]byte, []int)

Deprecated: Use TxnFixture.ProtoReflect.Descriptor instead.

func (*TxnFixture) GetInput

func (x *TxnFixture) GetInput() *TxnContext

func (*TxnFixture) GetOutput

func (x *TxnFixture) GetOutput() *TxnResult

func (*TxnFixture) ProtoMessage

func (*TxnFixture) ProtoMessage()

func (*TxnFixture) ProtoReflect

func (x *TxnFixture) ProtoReflect() protoreflect.Message

func (*TxnFixture) Reset

func (x *TxnFixture) Reset()

func (*TxnFixture) String

func (x *TxnFixture) String() string

type TxnResult

type TxnResult struct {

	// Whether this transaction was executed
	Executed bool `protobuf:"varint,1,opt,name=executed,proto3" json:"executed,omitempty"`
	// Whether there was a sanitization error
	SanitizationError bool `protobuf:"varint,2,opt,name=sanitization_error,json=sanitizationError,proto3" json:"sanitization_error,omitempty"`
	// The state of each account after the transaction
	ResultingState *ResultingState `protobuf:"bytes,3,opt,name=resulting_state,json=resultingState,proto3" json:"resulting_state,omitempty"`
	Rent           uint64          `protobuf:"varint,4,opt,name=rent,proto3" json:"rent,omitempty"`
	// If an executed transaction has no error
	IsOk bool `protobuf:"varint,5,opt,name=is_ok,json=isOk,proto3" json:"is_ok,omitempty"`
	// The transaction status (error code)
	Status uint32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"`
	// The return data from this transaction, if any
	ReturnData []byte `protobuf:"bytes,7,opt,name=return_data,json=returnData,proto3" json:"return_data,omitempty"`
	// Number of executed compute units
	ExecutedUnits uint64 `protobuf:"varint,8,opt,name=executed_units,json=executedUnits,proto3" json:"executed_units,omitempty"`
	// The change in accounts data len for this transaction
	AccountsDataLenDelta int64 `` /* 126-byte string literal not displayed */
	// The collected fees in this transaction
	FeeDetails *FeeDetails `protobuf:"bytes,10,opt,name=fee_details,json=feeDetails,proto3" json:"fee_details,omitempty"`
	// contains filtered or unexported fields
}

The execution results for a transaction

func (*TxnResult) Descriptor deprecated

func (*TxnResult) Descriptor() ([]byte, []int)

Deprecated: Use TxnResult.ProtoReflect.Descriptor instead.

func (*TxnResult) GetAccountsDataLenDelta

func (x *TxnResult) GetAccountsDataLenDelta() int64

func (*TxnResult) GetExecuted

func (x *TxnResult) GetExecuted() bool

func (*TxnResult) GetExecutedUnits

func (x *TxnResult) GetExecutedUnits() uint64

func (*TxnResult) GetFeeDetails

func (x *TxnResult) GetFeeDetails() *FeeDetails

func (*TxnResult) GetIsOk

func (x *TxnResult) GetIsOk() bool

func (*TxnResult) GetRent

func (x *TxnResult) GetRent() uint64

func (*TxnResult) GetResultingState

func (x *TxnResult) GetResultingState() *ResultingState

func (*TxnResult) GetReturnData

func (x *TxnResult) GetReturnData() []byte

func (*TxnResult) GetSanitizationError

func (x *TxnResult) GetSanitizationError() bool

func (*TxnResult) GetStatus

func (x *TxnResult) GetStatus() uint32

func (*TxnResult) ProtoMessage

func (*TxnResult) ProtoMessage()

func (*TxnResult) ProtoReflect

func (x *TxnResult) ProtoReflect() protoreflect.Message

func (*TxnResult) Reset

func (x *TxnResult) Reset()

func (*TxnResult) String

func (x *TxnResult) String() string

type ValidateVmEffects

type ValidateVmEffects struct {
	Result int32 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
	// if result is 0 (success), protobuf will be empty!!
	Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

Effects of fd_vm_validate

func (*ValidateVmEffects) Descriptor deprecated

func (*ValidateVmEffects) Descriptor() ([]byte, []int)

Deprecated: Use ValidateVmEffects.ProtoReflect.Descriptor instead.

func (*ValidateVmEffects) GetResult

func (x *ValidateVmEffects) GetResult() int32

func (*ValidateVmEffects) GetSuccess

func (x *ValidateVmEffects) GetSuccess() bool

func (*ValidateVmEffects) ProtoMessage

func (*ValidateVmEffects) ProtoMessage()

func (*ValidateVmEffects) ProtoReflect

func (x *ValidateVmEffects) ProtoReflect() protoreflect.Message

func (*ValidateVmEffects) Reset

func (x *ValidateVmEffects) Reset()

func (*ValidateVmEffects) String

func (x *ValidateVmEffects) String() string

type ValidateVmFixture

type ValidateVmFixture struct {
	Input  *FullVmContext     `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	Output *ValidateVmEffects `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Fixture for fd_vm_validate fuzz harness

func (*ValidateVmFixture) Descriptor deprecated

func (*ValidateVmFixture) Descriptor() ([]byte, []int)

Deprecated: Use ValidateVmFixture.ProtoReflect.Descriptor instead.

func (*ValidateVmFixture) GetInput

func (x *ValidateVmFixture) GetInput() *FullVmContext

func (*ValidateVmFixture) GetOutput

func (x *ValidateVmFixture) GetOutput() *ValidateVmEffects

func (*ValidateVmFixture) ProtoMessage

func (*ValidateVmFixture) ProtoMessage()

func (*ValidateVmFixture) ProtoReflect

func (x *ValidateVmFixture) ProtoReflect() protoreflect.Message

func (*ValidateVmFixture) Reset

func (x *ValidateVmFixture) Reset()

func (*ValidateVmFixture) String

func (x *ValidateVmFixture) String() string

type VmContext

type VmContext struct {

	// Maximum heap size in bytes
	HeapMax uint64 `protobuf:"varint,1,opt,name=heap_max,json=heapMax,proto3" json:"heap_max,omitempty"`
	// Program read-only data
	Rodata []byte `protobuf:"bytes,2,opt,name=rodata,proto3" json:"rodata,omitempty"`
	// Offset of the text section from the start of the program rodata segment
	// (0x100000000)
	RodataTextSectionOffset uint64 `` /* 135-byte string literal not displayed */
	// Length of the text section in the program rodata region, in bytes.
	RodataTextSectionLength uint64 `` /* 135-byte string literal not displayed */
	// The input data regions
	InputDataRegions []*InputDataRegion `protobuf:"bytes,5,rep,name=input_data_regions,json=inputDataRegions,proto3" json:"input_data_regions,omitempty"`
	// Registers
	R0  uint64 `protobuf:"varint,6,opt,name=r0,proto3" json:"r0,omitempty"`
	R1  uint64 `protobuf:"varint,7,opt,name=r1,proto3" json:"r1,omitempty"`
	R2  uint64 `protobuf:"varint,8,opt,name=r2,proto3" json:"r2,omitempty"`
	R3  uint64 `protobuf:"varint,9,opt,name=r3,proto3" json:"r3,omitempty"`
	R4  uint64 `protobuf:"varint,10,opt,name=r4,proto3" json:"r4,omitempty"`
	R5  uint64 `protobuf:"varint,11,opt,name=r5,proto3" json:"r5,omitempty"`
	R6  uint64 `protobuf:"varint,12,opt,name=r6,proto3" json:"r6,omitempty"`
	R7  uint64 `protobuf:"varint,13,opt,name=r7,proto3" json:"r7,omitempty"`
	R8  uint64 `protobuf:"varint,14,opt,name=r8,proto3" json:"r8,omitempty"`
	R9  uint64 `protobuf:"varint,15,opt,name=r9,proto3" json:"r9,omitempty"`
	R10 uint64 `protobuf:"varint,16,opt,name=r10,proto3" json:"r10,omitempty"`
	R11 uint64 `protobuf:"varint,17,opt,name=r11,proto3" json:"r11,omitempty"`
	// contains filtered or unexported fields
}

Information sufficient to allow the fuzzer to generate a fd_vm_t context for execution inside the VM (excluding the instruction context).

TODO: this currently only includes fields necessary for executing syscalls, executing sBPF code will require the rest of the fields in fd_vm_t to be set.

func (*VmContext) Descriptor deprecated

func (*VmContext) Descriptor() ([]byte, []int)

Deprecated: Use VmContext.ProtoReflect.Descriptor instead.

func (*VmContext) GetHeapMax

func (x *VmContext) GetHeapMax() uint64

func (*VmContext) GetInputDataRegions

func (x *VmContext) GetInputDataRegions() []*InputDataRegion

func (*VmContext) GetR0

func (x *VmContext) GetR0() uint64

func (*VmContext) GetR1

func (x *VmContext) GetR1() uint64

func (*VmContext) GetR10

func (x *VmContext) GetR10() uint64

func (*VmContext) GetR11

func (x *VmContext) GetR11() uint64

func (*VmContext) GetR2

func (x *VmContext) GetR2() uint64

func (*VmContext) GetR3

func (x *VmContext) GetR3() uint64

func (*VmContext) GetR4

func (x *VmContext) GetR4() uint64

func (*VmContext) GetR5

func (x *VmContext) GetR5() uint64

func (*VmContext) GetR6

func (x *VmContext) GetR6() uint64

func (*VmContext) GetR7

func (x *VmContext) GetR7() uint64

func (*VmContext) GetR8

func (x *VmContext) GetR8() uint64

func (*VmContext) GetR9

func (x *VmContext) GetR9() uint64

func (*VmContext) GetRodata

func (x *VmContext) GetRodata() []byte

func (*VmContext) GetRodataTextSectionLength

func (x *VmContext) GetRodataTextSectionLength() uint64

func (*VmContext) GetRodataTextSectionOffset

func (x *VmContext) GetRodataTextSectionOffset() uint64

func (*VmContext) ProtoMessage

func (*VmContext) ProtoMessage()

func (*VmContext) ProtoReflect

func (x *VmContext) ProtoReflect() protoreflect.Message

func (*VmContext) Reset

func (x *VmContext) Reset()

func (*VmContext) String

func (x *VmContext) String() string

type VmMemRegion

type VmMemRegion struct {
	VmAddr     uint64 `protobuf:"varint,1,opt,name=vm_addr,json=vmAddr,proto3" json:"vm_addr,omitempty"`
	Content    []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	IsWritable bool   `protobuf:"varint,3,opt,name=is_writable,json=isWritable,proto3" json:"is_writable,omitempty"`
	// contains filtered or unexported fields
}

func (*VmMemRegion) Descriptor deprecated

func (*VmMemRegion) Descriptor() ([]byte, []int)

Deprecated: Use VmMemRegion.ProtoReflect.Descriptor instead.

func (*VmMemRegion) GetContent

func (x *VmMemRegion) GetContent() []byte

func (*VmMemRegion) GetIsWritable

func (x *VmMemRegion) GetIsWritable() bool

func (*VmMemRegion) GetVmAddr

func (x *VmMemRegion) GetVmAddr() uint64

func (*VmMemRegion) ProtoMessage

func (*VmMemRegion) ProtoMessage()

func (*VmMemRegion) ProtoReflect

func (x *VmMemRegion) ProtoReflect() protoreflect.Message

func (*VmMemRegion) Reset

func (x *VmMemRegion) Reset()

func (*VmMemRegion) String

func (x *VmMemRegion) String() string

Jump to

Keyboard shortcuts

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