manifest

package
v0.0.8-beta Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: Apache-2.0 Imports: 27 Imported by: 14

Documentation

Index

Constants

View Source
const (
	ModuleKindStore = "store"
	ModuleKindMap   = "map"
)
View Source
const (
	UpdatePolicySet            = "set"
	UpdatePolicySetIfNotExists = "set_if_not_exists"
	UpdatePolicyAdd            = "add"
	UpdatePolicyMax            = "max"
	UpdatePolicyMin            = "min"
)
View Source
const PrefixSeparator = ":"
View Source
const UNSET = math.MaxUint64

Variables

This section is empty.

Functions

func HashModuleAsString

func HashModuleAsString(modules *pbsubstreams.Modules, graph *ModuleGraph, module *pbsubstreams.Module) string

func PrintMermaid

func PrintMermaid(mods *pbsubstreams.Modules)

func ValidateModules

func ValidateModules(mods *pbsubstreams.Modules) error

ValidateModules is run both by the client _and_ the server.

Types

type Binary

type Binary struct {
	File       string `yaml:"file"`
	Type       string `yaml:"type"`
	Native     string `yaml:"native"`
	Content    []byte `yaml:"-"`
	Entrypoint string `yaml:"entrypoint"`
}

type Input

type Input struct {
	Source string `yaml:"source"`
	Store  string `yaml:"store"`
	Map    string `yaml:"map"`
	Mode   string `yaml:"mode"`

	Name string `yaml:"-"`
}

type Manifest

type Manifest struct {
	SpecVersion string            `yaml:"specVersion"` // check that it equals v0.1.0
	Package     PackageMeta       `yaml:"package"`
	Protobuf    Protobuf          `yaml:"protobuf"`
	Imports     mapSlice          `yaml:"imports"`
	Binaries    map[string]Binary `yaml:"binaries"`
	Modules     []*Module         `yaml:"modules"`

	Graph   *ModuleGraph `yaml:"-"`
	Workdir string       `yaml:"-"`
}

Manifest is a YAML structure used to create a Package and its list of Modules. The notion of a manifest does not live in protobuf definitions.

type Module

type Module struct {
	Name         string  `yaml:"name"`
	Doc          string  `yaml:"doc"`
	Kind         string  `yaml:"kind"`
	InitialBlock *uint64 `yaml:"initialBlock"`

	UpdatePolicy string `yaml:"updatePolicy"`
	ValueType    string `yaml:"valueType"`
	Binary       string `yaml:"binary"`
	//Code         Code         `yaml:"code"`
	Inputs []*Input     `yaml:"inputs"`
	Output StreamOutput `yaml:"output"`
}

func (*Module) String

func (m *Module) String() string

func (*Module) ToProtoWASM

func (m *Module) ToProtoWASM(codeIndex uint32) (*pbsubstreams.Module, error)

type ModuleGraph

type ModuleGraph struct {
	*graph.Mutable
	// contains filtered or unexported fields
}

func NewModuleGraph

func NewModuleGraph(modules []*pbsubstreams.Module) (*ModuleGraph, error)

func (*ModuleGraph) AncestorStoresOf

func (g *ModuleGraph) AncestorStoresOf(moduleName string) ([]*pbsubstreams.Module, error)

func (*ModuleGraph) AncestorsOf

func (g *ModuleGraph) AncestorsOf(moduleName string) ([]*pbsubstreams.Module, error)

func (*ModuleGraph) GetSources

func (g *ModuleGraph) GetSources() []string

func (*ModuleGraph) GroupedAncestorStores

func (g *ModuleGraph) GroupedAncestorStores(moduleName string) ([][]*pbsubstreams.Module, error)

func (*ModuleGraph) ModuleInitialBlock

func (g *ModuleGraph) ModuleInitialBlock(moduleName string) (uint64, error)

func (*ModuleGraph) ModulesDownTo

func (g *ModuleGraph) ModulesDownTo(moduleNames []string) ([]*pbsubstreams.Module, error)

func (*ModuleGraph) ParentStoresOf

func (g *ModuleGraph) ParentStoresOf(moduleName string) ([]*pbsubstreams.Modules, error)

func (*ModuleGraph) ParentsOf

func (g *ModuleGraph) ParentsOf(moduleName string) ([]*pbsubstreams.Module, error)

func (*ModuleGraph) StoresDownTo

func (g *ModuleGraph) StoresDownTo(moduleNames []string) ([]*pbsubstreams.Module, error)

func (*ModuleGraph) TopologicalSort

func (g *ModuleGraph) TopologicalSort() ([]*pbsubstreams.Module, bool)

type ModuleHash

type ModuleHash []byte

func HashModule

func HashModule(modules *pbsubstreams.Modules, module *pbsubstreams.Module, graph *ModuleGraph) ModuleHash

type ModuleMarshaler

type ModuleMarshaler []*pbsubstreams.Module

func (ModuleMarshaler) MarshalJSON

func (m ModuleMarshaler) MarshalJSON() ([]byte, error)

type Options

type Options func(r *Reader) *Reader

func SkipSourceCodeReader

func SkipSourceCodeReader() Options

type PackageMeta

type PackageMeta struct {
	Name    string `yaml:"name"`
	Version string `yaml:"version"` // Semver for package authors
	URL     string `yaml:"url"`
	Doc     string `yaml:"doc"`
}

type Protobuf

type Protobuf struct {
	Files       []string `yaml:"files"`
	ImportPaths []string `yaml:"importPaths"`
}

type Reader

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

func NewReader

func NewReader(input string, opts ...Options) *Reader

func (*Reader) Read

func (r *Reader) Read() (*pbsubstreams.Package, error)

type StreamOutput

type StreamOutput struct {
	// For 'map'
	Type string `yaml:"type"`
}

Jump to

Keyboard shortcuts

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