github.com/lazyledger/lazyledger-core@v0.35.0-dev.0.20210613111200-4c651f053571/ipfs/plugin/plugin.go (about) 1 package plugin 2 3 import ( 4 "github.com/ipfs/go-ipfs/core/coredag" 5 "github.com/ipfs/go-ipfs/plugin" 6 ipld "github.com/ipfs/go-ipld-format" 7 ) 8 9 func EnableNMT() { 10 _ = RegisterBlockDecoders(ipld.DefaultBlockDecoder) 11 _ = RegisterInputEncParsers(coredag.DefaultInputEncParsers) 12 } 13 14 // Nmt is the IPLD plugin for NMT data structure. 15 type Nmt struct{} 16 17 func (l Nmt) RegisterBlockDecoders(dec ipld.BlockDecoder) error { 18 return RegisterBlockDecoders(dec) 19 } 20 21 func RegisterBlockDecoders(dec ipld.BlockDecoder) error { 22 dec.Register(NmtCodec, NmtNodeParser) 23 return nil 24 } 25 26 func (l Nmt) RegisterInputEncParsers(iec coredag.InputEncParsers) error { 27 return RegisterInputEncParsers(iec) 28 } 29 30 func RegisterInputEncParsers(iec coredag.InputEncParsers) error { 31 iec.AddParser("raw", DagParserFormatName, DataSquareRowOrColumnRawInputParser) 32 return nil 33 } 34 35 func (l Nmt) Name() string { 36 return "NMT" 37 } 38 39 func (l Nmt) Version() string { 40 return "0.0.0" 41 } 42 43 func (l Nmt) Init(_ *plugin.Environment) error { 44 return nil 45 } 46 47 var _ plugin.Plugin = &Nmt{}