/
amino.go
40 lines (31 loc) · 976 Bytes
/
amino.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package codec
import (
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/codec/legacy"
cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
"github.com/cosmos/cosmos-sdk/crypto/keyring"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1"
)
var amino *codec.LegacyAmino
func init() {
amino = codec.NewLegacyAmino()
RegisterCrypto(amino)
codec.RegisterEvidences(amino)
amino.Seal()
}
var (
_ cryptotypes.PubKey = ðsecp256k1.PubKey{}
_ cryptotypes.PrivKey = ðsecp256k1.PrivKey{}
)
// RegisterCrypto registers all crypto dependency types with the provided Amino
// codec.
func RegisterCrypto(cdc *codec.LegacyAmino) {
cryptocodec.RegisterCrypto(cdc)
cdc.RegisterConcrete(ðsecp256k1.PubKey{},
ethsecp256k1.PubKeyName, nil)
cdc.RegisterConcrete(ðsecp256k1.PrivKey{},
ethsecp256k1.PrivKeyName, nil)
keyring.RegisterLegacyAminoCodec(cdc)
legacy.Cdc = cdc
}