mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-01 17:42:16 +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
|