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{}