scalecodec

package module
v0.8.4 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2020 License: Apache-2.0 Imports: 6 Imported by: 23

README

Scale codec golang

Scale Codec written by golang, Reference from https://github.com/polkascan/py-scale-codec

Features

  • low level codec decode
  • metadata decode
  • extrinsic decode
  • LogDigest decode
  • event decode
  • custom type reg
  • reg special version type
  • low level codec encode

Installation

go get -u github.com/itering/scale.go

Test

go test ./... --cover -v

Resources

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/itering/scale.go

License

The package is available as open source under the terms of the MIT License.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventParam

type EventParam struct {
	Type     string      `json:"type"`
	Value    interface{} `json:"value"`
	ValueRaw string      `json:"value_raw"`
}

type EventRecord

type EventRecord struct {
	scaleType.ScaleDecoder
	Metadata     *scaleType.MetadataStruct
	Phase        int                       `json:"phase"`
	ExtrinsicIdx int                       `json:"extrinsic_idx"`
	Type         string                    `json:"type"`
	Params       []EventParam              `json:"params"`
	Event        scaleType.MetadataEvents  `json:"event"`
	EventModule  scaleType.MetadataModules `json:"event_module"`
	Topic        []string                  `json:"topic"`
}

func (*EventRecord) Process

func (e *EventRecord) Process() map[string]interface{}

type EventsDecoder

type EventsDecoder struct {
	scaleType.Vec
	Metadata *scaleType.MetadataStruct
}

func (*EventsDecoder) Init

func (*EventsDecoder) Process

func (e *EventsDecoder) Process()

type ExtrinsicDecoder

type ExtrinsicDecoder struct {
	scaleType.ScaleDecoder
	ExtrinsicLength     int                       `json:"extrinsic_length"`
	ExtrinsicHash       string                    `json:"extrinsic_hash"`
	VersionInfo         string                    `json:"version_info"`
	ContainsTransaction bool                      `json:"contains_transaction"`
	Address             interface{}               `json:"address"`
	Signature           string                    `json:"signature"`
	SignatureVersion    int                       `json:"signature_version"`
	Nonce               int                       `json:"nonce"`
	Era                 string                    `json:"era"`
	CallIndex           string                    `json:"call_index"`
	Tip                 interface{}               `json:"tip"`
	CallModule          scaleType.MetadataModules `json:"call_module"`
	Call                scaleType.MetadataCalls   `json:"call"`
	Params              []ExtrinsicParam          `json:"params"`
	Metadata            *scaleType.MetadataStruct
}

func (*ExtrinsicDecoder) Init

func (*ExtrinsicDecoder) Process

func (e *ExtrinsicDecoder) Process()

type ExtrinsicParam

type ExtrinsicParam struct {
	Name     string      `json:"name"`
	Type     string      `json:"type"`
	Value    interface{} `json:"value"`
	ValueRaw string      `json:"value_raw"`
}

type MetadataDecoder

type MetadataDecoder struct {
	types.ScaleDecoder
	Version       string               `json:"version"`
	VersionNumber int                  `json:"version_number"`
	Metadata      types.MetadataStruct `json:"metadata"`
	CodecTypes    []string             `json:"codec_types"`
}

func (*MetadataDecoder) CheckRegistry

func (m *MetadataDecoder) CheckRegistry() (notReg []string)

func (*MetadataDecoder) Init

func (m *MetadataDecoder) Init(data []byte)

func (*MetadataDecoder) Process

func (m *MetadataDecoder) Process() error

Directories

Path Synopsis
pkg
go-ethereum/crypto/sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.

Jump to

Keyboard shortcuts

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