types

package
v0.0.0-...-c69f244 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2022 License: LGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NoNetworkRole runs a node without networking
	NoNetworkRole = byte(0)
	// FullNodeRole runs a full node
	FullNodeRole = byte(1)
	// LightClientRole runs a light client
	LightClientRole = byte(2)
	// AuthorityRole runs the node as a block-producing and finalising node
	AuthorityRole = byte(4)
)
View Source
const RandomnessLength = 32

RandomnessLength is the length of the epoch randomness (32 bytes)

Variables

View Source
var (
	// Timstap0 is an inherent key.
	Timstap0 = []byte("timstap0")
	// Babeslot is an inherent key.
	Babeslot = []byte("babeslot")
	// Uncles00 is an inherent key.
	Uncles00 = []byte("uncles00")
)
View Source
var BabeEngineID = ConsensusEngineID{'B', 'A', 'B', 'E'}

BabeEngineID is the hard-coded babe ID

View Source
var GrandpaEngineID = ConsensusEngineID{'F', 'R', 'N', 'K'}

GrandpaEngineID is the hard-coded grandpa ID

Functions

func DecodeBabePreDigest

func DecodeBabePreDigest(in []byte) (scale.VaryingDataTypeValue, error)

DecodeBabePreDigest decodes the input into a BabePreRuntimeDigest

func EncodeGrandpaVoters

func EncodeGrandpaVoters(voters GrandpaVoters) ([]byte, error)

EncodeGrandpaVoters returns an encoded GrandpaVoters

func ExtrinsicsArrayToBytesArray

func ExtrinsicsArrayToBytesArray(exts []Extrinsic) [][]byte

ExtrinsicsArrayToBytesArray converts an array of extrinsics into an array of byte arrays

func GetSlotFromHeader

func GetSlotFromHeader(header *Header) (uint64, error)

GetSlotFromHeader returns the BABE slot from the given header

func IsPrimary

func IsPrimary(header *Header) (bool, error)

IsPrimary returns true if the block was authored in a primary slot, false otherwise.

func NewBabeConsensusDigest

func NewBabeConsensusDigest() scale.VaryingDataType

NewBabeConsensusDigest constructs a vdt representing a babe consensus digest

func NewBabeDigest

func NewBabeDigest() scale.VaryingDataType

NewBabeDigest returns a new VaryingDataType to represent a BabeDigest

func NewDigest

func NewDigest() scale.VaryingDataTypeSlice

NewDigest returns a new Digest from the given DigestItems

func NewDigestItem

func NewDigestItem() scale.VaryingDataType

NewDigestItem returns a new VaryingDataType to represent a DigestItem

func NewGrandpaConsensusDigest

func NewGrandpaConsensusDigest() scale.VaryingDataType

NewGrandpaConsensusDigest constructs a vdt representing a grandpa consensus digest

Types

type AccountData

type AccountData struct {
	Free       *scale.Uint128
	Reserved   *scale.Uint128
	MiscFrozen *scale.Uint128
	FreeFrozen *scale.Uint128
}

AccountData represents the data of the AccountInfo

type AccountInfo

type AccountInfo struct {
	// The number of transactions this account has sent.
	Nonce     uint32
	Consumers uint32
	Producers uint32
	// The additional data that belongs to this account. Used to store the balance(s) in a lot of chains.
	Data AccountData
}

AccountInfo Information of an account.

type AllowedSlots

type AllowedSlots byte

AllowedSlots tells in what ways a slot can be claimed.

const (
	// PrimarySlots only allows primary slots.
	PrimarySlots AllowedSlots = iota
	// PrimaryAndSecondaryPlainSlots allow primary and secondary plain slots.
	PrimaryAndSecondaryPlainSlots
	// PrimaryAndSecondaryVRFSlots allows primary and secondary VRF slots.
	PrimaryAndSecondaryVRFSlots
)

https://github.com/paritytech/substrate/blob/ded44948e2d5a398abcb4e342b0513cb690961bb/primitives/consensus/babe/src/lib.rs#L219-L226

type Authority

type Authority struct {
	Key    crypto.PublicKey
	Weight uint64
}

Authority struct to hold authority data

func BABEAuthorityRawToAuthority

func BABEAuthorityRawToAuthority(adr []AuthorityRaw) ([]Authority, error)

BABEAuthorityRawToAuthority turns a slice of BABE AuthorityRaw into a slice of Authority

func GrandpaAuthoritiesRawToAuthorities

func GrandpaAuthoritiesRawToAuthorities(adr []GrandpaAuthoritiesRaw) ([]Authority, error)

GrandpaAuthoritiesRawToAuthorities turns a slice of GrandpaAuthoritiesRaw into a slice of Authority

func NewAuthority

func NewAuthority(pub crypto.PublicKey, weight uint64) *Authority

NewAuthority function to create Authority object

func (*Authority) Decode

func (a *Authority) Decode(r io.Reader) error

Decode sets the

func (*Authority) DecodeSr25519

func (a *Authority) DecodeSr25519(r io.Reader) error

DecodeSr25519 sets the Authority to the SCALE decoded input for Authority containing SR25519 Keys.

func (*Authority) DeepCopy

func (a *Authority) DeepCopy() *Authority

DeepCopy creates a deep copy of the Authority

func (*Authority) Encode

func (a *Authority) Encode() ([]byte, error)

Encode returns the SCALE encoding of the BABEAuthorities.

func (*Authority) FromRawEd25519

func (a *Authority) FromRawEd25519(raw GrandpaAuthoritiesRaw) error

FromRawEd25519 sets the Authority given GrandpaAuthoritiesRaw. It converts the byte representations of the authority public keys into a ed25519.PublicKey.

func (*Authority) FromRawSr25519

func (a *Authority) FromRawSr25519(raw *AuthorityRaw) error

FromRawSr25519 sets the Authority given AuthorityRaw. It converts the byte representations of the authority public keys into a sr25519.PublicKey.

func (*Authority) ToRaw

func (a *Authority) ToRaw() *AuthorityRaw

ToRaw returns the BABEAuthorities as BABEAuthoritiesRaw. It encodes the authority public keys.

type AuthorityRaw

type AuthorityRaw struct {
	Key    [sr25519.PublicKeyLength]byte
	Weight uint64
}

AuthorityRaw struct to hold raw authority data

func AuthoritiesToRaw

func AuthoritiesToRaw(auths []Authority) []AuthorityRaw

AuthoritiesToRaw converts an array of Authority in an array of AuthorityRaw

func (*AuthorityRaw) String

func (a *AuthorityRaw) String() string

type BABEOnDisabled

type BABEOnDisabled struct {
	ID uint32
}

BABEOnDisabled represents a GRANDPA authority being disabled

func (BABEOnDisabled) Index

func (od BABEOnDisabled) Index() uint

Index Returns VDT index

type BabeConfiguration

type BabeConfiguration struct {
	SlotDuration       uint64 // milliseconds
	EpochLength        uint64 // duration of epoch in slots
	C1                 uint64 // (1-(c1/c2)) is the probability of a slot being empty
	C2                 uint64
	GenesisAuthorities []AuthorityRaw
	Randomness         [RandomnessLength]byte
	SecondarySlots     byte
}

BabeConfiguration contains the genesis data for BABE see: https://github.com/paritytech/substrate/blob/426c26b8bddfcdbaf8d29f45b128e0864b57de1c/core/consensus/babe/primitives/src/lib.rs#L132

type BabePrimaryPreDigest

type BabePrimaryPreDigest struct {
	AuthorityIndex uint32
	SlotNumber     uint64
	VRFOutput      [sr25519.VRFOutputLength]byte
	VRFProof       [sr25519.VRFProofLength]byte
}

BabePrimaryPreDigest as defined in Polkadot RE Spec, definition 5.10 in section 5.1.4

func NewBabePrimaryPreDigest

func NewBabePrimaryPreDigest(authorityIndex uint32,
	slotNumber uint64, vrfOutput [sr25519.VRFOutputLength]byte,
	vrfProof [sr25519.VRFProofLength]byte) *BabePrimaryPreDigest

NewBabePrimaryPreDigest returns a new BabePrimaryPreDigest

func (BabePrimaryPreDigest) Index

func (d BabePrimaryPreDigest) Index() uint

Index Returns VDT index

func (*BabePrimaryPreDigest) ToPreRuntimeDigest

func (d *BabePrimaryPreDigest) ToPreRuntimeDigest() (*PreRuntimeDigest, error)

ToPreRuntimeDigest returns the BabePrimaryPreDigest as a PreRuntimeDigest

type BabeSecondaryPlainPreDigest

type BabeSecondaryPlainPreDigest struct {
	AuthorityIndex uint32
	SlotNumber     uint64
}

BabeSecondaryPlainPreDigest is included in a block built by a secondary slot authorized producer

func NewBabeSecondaryPlainPreDigest

func NewBabeSecondaryPlainPreDigest(authorityIndex uint32, slotNumber uint64) *BabeSecondaryPlainPreDigest

NewBabeSecondaryPlainPreDigest returns a new BabeSecondaryPlainPreDigest

func (BabeSecondaryPlainPreDigest) Index

Index Returns VDT index

func (*BabeSecondaryPlainPreDigest) ToPreRuntimeDigest

func (d *BabeSecondaryPlainPreDigest) ToPreRuntimeDigest() (*PreRuntimeDigest, error)

ToPreRuntimeDigest returns the BabeSecondaryPlainPreDigest as a PreRuntimeDigest

type BabeSecondaryVRFPreDigest

type BabeSecondaryVRFPreDigest struct {
	AuthorityIndex uint32
	SlotNumber     uint64
	VrfOutput      [sr25519.VRFOutputLength]byte
	VrfProof       [sr25519.VRFProofLength]byte
}

BabeSecondaryVRFPreDigest is included in a block built by a secondary slot authorized producer

func NewBabeSecondaryVRFPreDigest

func NewBabeSecondaryVRFPreDigest(authorityIndex uint32,
	slotNumber uint64, vrfOutput [sr25519.VRFOutputLength]byte,
	vrfProof [sr25519.VRFProofLength]byte) *BabeSecondaryVRFPreDigest

NewBabeSecondaryVRFPreDigest returns a new NewBabeSecondaryVRFPreDigest

func (BabeSecondaryVRFPreDigest) Index

func (d BabeSecondaryVRFPreDigest) Index() uint

Index Returns VDT index

func (*BabeSecondaryVRFPreDigest) ToPreRuntimeDigest

func (d *BabeSecondaryVRFPreDigest) ToPreRuntimeDigest() (*PreRuntimeDigest, error)

ToPreRuntimeDigest returns the BabeSecondaryVRFPreDigest as a PreRuntimeDigest

type Block

type Block struct {
	Header Header
	Body   Body
}

Block defines a state block

func NewBlock

func NewBlock(header Header, body Body) Block

NewBlock returns a new Block

func NewEmptyBlock

func NewEmptyBlock() Block

NewEmptyBlock returns a new empty Block

func (*Block) DeepCopy

func (b *Block) DeepCopy() (Block, error)

DeepCopy returns a copy of the block

func (*Block) Empty

func (b *Block) Empty() bool

Empty returns a boolean indicating is the Block is empty

func (*Block) Encode

func (b *Block) Encode() ([]byte, error)

Encode returns the SCALE encoding of a block

func (*Block) MustEncode

func (b *Block) MustEncode() []byte

MustEncode returns the SCALE encoded block and panics if it fails to encode

func (*Block) String

func (b *Block) String() string

String returns the formatted Block string

func (*Block) ToBlockData

func (b *Block) ToBlockData() *BlockData

ToBlockData converts a Block to BlockData

type BlockData

type BlockData struct {
	Hash          common.Hash
	Header        *Header
	Body          *Body
	Receipt       *[]byte
	MessageQueue  *[]byte
	Justification *[]byte
}

BlockData is stored within the BlockDB The BlockData fields are optionals and thus are represented as pointers to ensure correct encoding

func NewEmptyBlockData

func NewEmptyBlockData() *BlockData

NewEmptyBlockData Creates an empty blockData struct

func (*BlockData) Number

func (bd *BlockData) Number() uint

Number returns the block header number.

func (*BlockData) String

func (bd *BlockData) String() string

type Body

type Body []Extrinsic

Body is the extrinsics(not encoded) inside a state block.

func NewBody

func NewBody(e []Extrinsic) *Body

NewBody returns a Body from an Extrinsic array.

func NewBodyFromBytes

func NewBodyFromBytes(b []byte) (*Body, error)

NewBodyFromBytes returns a Body from a SCALE encoded byte array.

func NewBodyFromEncodedBytes

func NewBodyFromEncodedBytes(exts [][]byte) (*Body, error)

NewBodyFromEncodedBytes returns a new Body from a slice of byte slices that are SCALE encoded extrinsics

func NewBodyFromExtrinsicStrings

func NewBodyFromExtrinsicStrings(ss []string) (*Body, error)

NewBodyFromExtrinsicStrings creates a block body given an array of hex-encoded 0x-prefixed strings.

func (*Body) AsEncodedExtrinsics

func (b *Body) AsEncodedExtrinsics() ([]Extrinsic, error)

AsEncodedExtrinsics decodes the body into an array of SCALE encoded extrinsics

func (*Body) DeepCopy

func (b *Body) DeepCopy() Body

DeepCopy creates a new copy of the body.

func (*Body) HasExtrinsic

func (b *Body) HasExtrinsic(target Extrinsic) (bool, error)

HasExtrinsic returns true if body contains target Extrinsic

type ChangesTrieRootDigest

type ChangesTrieRootDigest struct {
	Hash common.Hash
}

ChangesTrieRootDigest contains the root of the changes trie at a given block, if the runtime supports it.

func (ChangesTrieRootDigest) Index

func (d ChangesTrieRootDigest) Index() uint

Index Returns VDT index

func (*ChangesTrieRootDigest) String

func (d *ChangesTrieRootDigest) String() string

String returns the digest as a string

type ConfigData

type ConfigData struct {
	C1             uint64
	C2             uint64
	SecondarySlots byte
}

ConfigData represents a BABE configuration update

type ConsensusDigest

type ConsensusDigest struct {
	ConsensusEngineID ConsensusEngineID
	Data              []byte
}

ConsensusDigest contains messages from the runtime to the consensus engine.

func (ConsensusDigest) Index

func (d ConsensusDigest) Index() uint

Index Returns VDT index

func (ConsensusDigest) String

func (d ConsensusDigest) String() string

String returns the digest as a string

type ConsensusEngineID

type ConsensusEngineID [4]byte

ConsensusEngineID is a 4-character identifier of the consensus engine that produced the digest.

func (ConsensusEngineID) ToBytes

func (h ConsensusEngineID) ToBytes() []byte

ToBytes turns ConsensusEngineID to a byte array

type EpochData

type EpochData struct {
	Authorities []Authority
	Randomness  [RandomnessLength]byte
}

EpochData is the data provided for a BABE epoch

func (*EpochData) ToEpochDataRaw

func (d *EpochData) ToEpochDataRaw() *EpochDataRaw

ToEpochDataRaw returns the EpochData as an EpochDataRaw, converting the Authority to AuthorityRaw

type EpochDataRaw

type EpochDataRaw struct {
	Authorities []AuthorityRaw
	Randomness  [RandomnessLength]byte
}

EpochDataRaw is the data provided for an epoch, with Authority as AuthorityRaw

func (*EpochDataRaw) ToEpochData

func (d *EpochDataRaw) ToEpochData() (*EpochData, error)

ToEpochData returns the EpochDataRaw as EpochData

type Extrinsic

type Extrinsic []byte

Extrinsic is a generic transaction whose format is verified in the runtime

func BytesArrayToExtrinsics

func BytesArrayToExtrinsics(b [][]byte) []Extrinsic

BytesArrayToExtrinsics converts an array of byte arrays into an array of extrinsics

func NewExtrinsic

func NewExtrinsic(e []byte) Extrinsic

NewExtrinsic creates a new Extrinsic given a byte slice

func (Extrinsic) Hash

func (e Extrinsic) Hash() common.Hash

Hash returns the blake2b hash of the extrinsic

func (Extrinsic) String

func (e Extrinsic) String() string

type FinalisationInfo

type FinalisationInfo struct {
	Header Header
	Round  uint64
	SetID  uint64
}

FinalisationInfo represents information about what block was finalised in what round and setID

type GrandpaAuthoritiesRaw

type GrandpaAuthoritiesRaw struct {
	Key [ed25519.PublicKeyLength]byte
	ID  uint64
}

GrandpaAuthoritiesRaw represents a GRANDPA authority where their key is a byte array

type GrandpaForcedChange

type GrandpaForcedChange struct {
	Auths []GrandpaAuthoritiesRaw
	Delay uint32
}

GrandpaForcedChange represents a GRANDPA forced authority change

func (GrandpaForcedChange) Index

func (fc GrandpaForcedChange) Index() uint

Index Returns VDT index

type GrandpaOnDisabled

type GrandpaOnDisabled struct {
	ID uint64
}

GrandpaOnDisabled represents a GRANDPA authority being disabled

func (GrandpaOnDisabled) Index

func (od GrandpaOnDisabled) Index() uint

Index Returns VDT index

type GrandpaPause

type GrandpaPause struct {
	Delay uint32
}

GrandpaPause represents an authority set pause

func (GrandpaPause) Index

func (p GrandpaPause) Index() uint

Index Returns VDT index

type GrandpaResume

type GrandpaResume struct {
	Delay uint32
}

GrandpaResume represents an authority set resume

func (GrandpaResume) Index

func (r GrandpaResume) Index() uint

Index Returns VDT index

type GrandpaScheduledChange

type GrandpaScheduledChange struct {
	Auths []GrandpaAuthoritiesRaw
	Delay uint32
}

GrandpaScheduledChange represents a GRANDPA scheduled authority change

func (GrandpaScheduledChange) Index

func (sc GrandpaScheduledChange) Index() uint

Index Returns VDT index

type GrandpaSignedVote

type GrandpaSignedVote struct {
	Vote        GrandpaVote
	Signature   [64]byte
	AuthorityID ed25519.PublicKeyBytes
}

GrandpaSignedVote represents a signed precommit message for a finalised block

func (*GrandpaSignedVote) String

func (s *GrandpaSignedVote) String() string

type GrandpaVote

type GrandpaVote struct {
	Hash   common.Hash
	Number uint32
}

GrandpaVote represents a vote for a block with the given hash and number

func (*GrandpaVote) String

func (v *GrandpaVote) String() string

String returns the Vote as a string

type GrandpaVoter

type GrandpaVoter struct {
	Key ed25519.PublicKey
	ID  uint64
}

GrandpaVoter represents a GRANDPA voter

func NewGrandpaVotersFromAuthorities

func NewGrandpaVotersFromAuthorities(ad []Authority) []GrandpaVoter

NewGrandpaVotersFromAuthorities returns an array of GrandpaVoters given an array of GrandpaAuthorities

func NewGrandpaVotersFromAuthoritiesRaw

func NewGrandpaVotersFromAuthoritiesRaw(ad []GrandpaAuthoritiesRaw) ([]GrandpaVoter, error)

NewGrandpaVotersFromAuthoritiesRaw returns an array of GrandpaVoters given an array of GrandpaAuthoritiesRaw

func (*GrandpaVoter) PublicKeyBytes

func (gv *GrandpaVoter) PublicKeyBytes() ed25519.PublicKeyBytes

PublicKeyBytes returns the voter key as PublicKeyBytes

func (*GrandpaVoter) String

func (gv *GrandpaVoter) String() string

String returns a formatted GrandpaVoter string

type GrandpaVoters

type GrandpaVoters []GrandpaVoter

GrandpaVoters represents []GrandpaVoter

func DecodeGrandpaVoters

func DecodeGrandpaVoters(in []byte) (GrandpaVoters, error)

DecodeGrandpaVoters returns a decoded GrandpaVoters

func (GrandpaVoters) String

func (v GrandpaVoters) String() string

String returns a formatted Voters string

type Header struct {
	ParentHash     common.Hash                `json:"parentHash"`
	Number         uint                       `json:"number"`
	StateRoot      common.Hash                `json:"stateRoot"`
	ExtrinsicsRoot common.Hash                `json:"extrinsicsRoot"`
	Digest         scale.VaryingDataTypeSlice `json:"digest"`
	// contains filtered or unexported fields
}

Header is a state block header

func NewEmptyHeader

func NewEmptyHeader() *Header

NewEmptyHeader returns a new header with all zero values

func NewHeader

func NewHeader(parentHash, stateRoot, extrinsicsRoot common.Hash,
	number uint, digest scale.VaryingDataTypeSlice) (*Header, error)

NewHeader creates a new block header and sets its hash field

func (*Header) DeepCopy

func (bh *Header) DeepCopy() (*Header, error)

DeepCopy returns a deep copy of the header to prevent side effects down the road

func (*Header) Empty

func (bh *Header) Empty() bool

Empty returns a boolean indicating is the header is empty

func (*Header) Exists

func (bh *Header) Exists() bool

Exists returns a boolean indicating if the header exists

func (*Header) Hash

func (bh *Header) Hash() common.Hash

Hash returns the hash of the block header If the internal hash field is nil, it hashes the block and sets the hash field. If hashing the header errors, this will panic.

func (*Header) String

func (bh *Header) String() string

String returns the formatted header as a string

type InherentsData

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

InherentsData contains a mapping of inherent keys to values keys must be 8 bytes, values are a scale-encoded byte array

func NewInherentsData

func NewInherentsData() *InherentsData

NewInherentsData returns InherentsData

func (*InherentsData) Encode

func (d *InherentsData) Encode() ([]byte, error)

Encode will encode a given []byte using scale.Encode

func (*InherentsData) SetInt64Inherent

func (d *InherentsData) SetInt64Inherent(key []byte, data uint64) error

SetInt64Inherent set an inherent of type uint64

func (*InherentsData) String

func (d *InherentsData) String() string

type NextConfigData

type NextConfigData struct {
	C1             uint64
	C2             uint64
	SecondarySlots byte
}

NextConfigData is the digest that contains changes to the BABE configuration. It is potentially included in the first block of an epoch to describe the next epoch.

func (NextConfigData) Index

func (d NextConfigData) Index() uint

Index Returns VDT index

func (*NextConfigData) ToConfigData

func (d *NextConfigData) ToConfigData() *ConfigData

ToConfigData returns the NextConfigData as ConfigData

type NextEpochData

type NextEpochData struct {
	Authorities []AuthorityRaw
	Randomness  [RandomnessLength]byte
}

NextEpochData is the digest that contains the data for the upcoming BABE epoch. It is included in the first block of every epoch to describe the next epoch.

func (NextEpochData) Index

func (d NextEpochData) Index() uint

Index Returns VDT index

func (NextEpochData) String

func (d NextEpochData) String() string

func (*NextEpochData) ToEpochData

func (d *NextEpochData) ToEpochData() (*EpochData, error)

ToEpochData returns the NextEpochData as EpochData

type PreRuntimeDigest

type PreRuntimeDigest struct {
	ConsensusEngineID ConsensusEngineID
	Data              []byte
}

PreRuntimeDigest contains messages from the consensus engine to the runtime.

func NewBABEPreRuntimeDigest

func NewBABEPreRuntimeDigest(data []byte) *PreRuntimeDigest

NewBABEPreRuntimeDigest returns a PreRuntimeDigest with the BABE consensus ID

func (PreRuntimeDigest) Index

func (d PreRuntimeDigest) Index() uint

Index Returns VDT index

func (*PreRuntimeDigest) String

func (d *PreRuntimeDigest) String() string

String returns the digest as a string

type SealDigest

type SealDigest struct {
	ConsensusEngineID ConsensusEngineID
	Data              []byte
}

SealDigest contains the seal or signature. This is only used by native code.

func (SealDigest) Index

func (d SealDigest) Index() uint

Index Returns VDT index

func (*SealDigest) String

func (d *SealDigest) String() string

String returns the digest as a string

type SystemInfo

type SystemInfo struct {
	SystemName    string
	SystemVersion string
}

SystemInfo struct to hold system related information

type TransactionPaymentQueryInfo

type TransactionPaymentQueryInfo struct {
	Weight uint64
	// Class could be Normal (0), Operational (1), Mandatory (2)
	Class      int
	PartialFee *scale.Uint128
}

TransactionPaymentQueryInfo represents the basic information of a given encoded extrinsic

type TransactionSource

type TransactionSource uint8

TransactionSource represents source of Transaction

const (
	// TxnInBlock indicates transaction is already included in block.
	//
	// This means that we can't really tell where the transaction is coming from,
	// since it's already in the received block. Note that the custom validation logic
	// using either `Local` or `External` should most likely just allow `InBlock`
	// transactions as well.
	TxnInBlock TransactionSource = iota

	// TxnLocal indicates transaction is coming from a local source.
	//
	// This means that the transaction was produced internally by the node
	// (for instance an Off-Chain Worker, or an Off-Chain Call), as opposed
	// to being received over the network.
	TxnLocal

	// TxnExternal indicates transaction has been received externally.
	//
	// This means the transaction has been received from (usually) "untrusted" source,
	// for instance received over the network or RPC.
	TxnExternal
)

Jump to

Keyboard shortcuts

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