mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-27 21:21:20 +00:00
47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package wire
|
|
|
|
import (
|
|
"github.com/tendermint/go-crypto"
|
|
"github.com/tendermint/go-wire"
|
|
)
|
|
|
|
// Expose access to a global wire codec
|
|
// TODO: maybe introduce some Context object
|
|
// containing logger, config, codec that can
|
|
// be threaded through everything to avoid this global
|
|
|
|
var cdc *wire.Codec
|
|
|
|
func init() {
|
|
cdc = wire.NewCodec()
|
|
crypto.RegisterWire(cdc)
|
|
}
|
|
|
|
func MarshalBinary(o interface{}) ([]byte, error) {
|
|
return cdc.MarshalBinary(o)
|
|
}
|
|
|
|
func UnmarshalBinary(bz []byte, ptr interface{}) error {
|
|
return cdc.UnmarshalBinary(bz, ptr)
|
|
}
|
|
|
|
func MarshalJSON(o interface{}) ([]byte, error) {
|
|
return cdc.MarshalJSON(o)
|
|
}
|
|
|
|
func UnmarshalJSON(jsonBz []byte, ptr interface{}) error {
|
|
return cdc.UnmarshalJSON(jsonBz, ptr)
|
|
}
|
|
|
|
func RegisterInterface(ptr interface{}, opts *wire.InterfaceOptions) {
|
|
cdc.RegisterInterface(ptr, opts)
|
|
}
|
|
|
|
func RegisterConcrete(o interface{}, name string, opts *wire.ConcreteOptions) {
|
|
cdc.RegisterConcrete(o, name, opts)
|
|
}
|
|
|
|
//-------------------------------
|
|
|
|
const RFC3339Millis = wire.RFC3339Millis
|