mirror of https://github.com/certusone/wasmd.git
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package app
|
|
|
|
import (
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
"github.com/cosmos/cosmos-sdk/codec/types"
|
|
"github.com/cosmos/cosmos-sdk/std"
|
|
"github.com/cosmos/cosmos-sdk/x/auth/tx"
|
|
)
|
|
|
|
// EncodingConfig specifies the concrete encoding types to use for a given app.
|
|
// This is provided for compatibility between protobuf and amino implementations.
|
|
type EncodingConfig struct {
|
|
InterfaceRegistry types.InterfaceRegistry
|
|
Marshaler codec.Marshaler
|
|
TxConfig client.TxConfig
|
|
Amino *codec.LegacyAmino
|
|
}
|
|
|
|
func MakeEncodingConfig() EncodingConfig {
|
|
amino := codec.NewLegacyAmino()
|
|
interfaceRegistry := types.NewInterfaceRegistry()
|
|
marshaler := codec.NewProtoCodec(interfaceRegistry)
|
|
txCfg := tx.NewTxConfig(marshaler, tx.DefaultSignModes)
|
|
|
|
std.RegisterInterfaces(interfaceRegistry)
|
|
std.RegisterLegacyAminoCodec(amino)
|
|
|
|
ModuleBasics.RegisterLegacyAminoCodec(amino)
|
|
ModuleBasics.RegisterInterfaces(interfaceRegistry)
|
|
return EncodingConfig{
|
|
InterfaceRegistry: interfaceRegistry,
|
|
Marshaler: marshaler,
|
|
TxConfig: txCfg,
|
|
Amino: amino,
|
|
}
|
|
}
|