 Documentation
      ¶
      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.