Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
Package string `yaml:"package,omitempty"`
Manifest *manifest.Manifest `yaml:"-"`
Hash util.Uint160 `yaml:"hash,omitempty"`
Overrides map[string]Override `yaml:"overrides,omitempty"`
CallFlags map[string]callflag.CallFlag `yaml:"callflags,omitempty"`
NamedTypes map[string]ExtendedType `yaml:"namedtypes,omitempty"`
Types map[string]ExtendedType `yaml:"types,omitempty"`
Output io.Writer `yaml:"-"`
}
Config contains parameter for the generated binding.
type ContractTmpl ¶ added in v0.99.5
type ContractTmpl struct {
PackageName string
ContractName string
Imports []string
Hash string
Methods []MethodTmpl
}
func TemplateFromManifest ¶ added in v0.99.5
func TemplateFromManifest(cfg Config, scTypeConverter func(string, smartcontract.ParamType, *Config) (string, string)) ContractTmpl
TemplateFromManifest create a contract template using the given configuration and type conversion function. It assumes manifest to be present in the configuration and assumes it to be correct (passing IsValid check).
type ExtendedType ¶ added in v0.100.0
type ExtendedType struct {
Base smartcontract.ParamType `yaml:"base"`
Name string `yaml:"name,omitempty"` // Structure name, omitted for arrays, interfaces and maps.
Interface string `yaml:"interface,omitempty"` // Interface type name, "iterator" only for now.
Key smartcontract.ParamType `yaml:"key,omitempty"` // Key type (only simple types can be used for keys) for maps.
Value *ExtendedType `yaml:"value,omitempty"` // Value type for iterators and arrays.
Fields []FieldExtendedType `yaml:"fields,omitempty"` // Ordered type data for structure fields.
}
type FieldExtendedType ¶ added in v0.100.0
type FieldExtendedType struct {
Field string `yaml:"field"`
ExtendedType `yaml:",inline"`
}
type MethodTmpl ¶ added in v0.99.5
type Override ¶
type Override struct {
// Package contains a fully-qualified package name.
Package string
// TypeName contains type name together with a package alias.
TypeName string
}
Override contains a package and a type to replace manifest method parameter type with.
func NewOverrideFromString ¶
NewOverrideFromString parses s and returns method parameter type override spec.
func (Override) MarshalYAML ¶
MarshalYAML implements the YAML marshaler interface.
func (*Override) UnmarshalYAML ¶
UnmarshalYAML implements the YAML Unmarshaler interface.
Click to show internal directories.
Click to hide internal directories.