apply request finalize, fix lint
This commit is contained in:
@@ -19,6 +19,7 @@ var (
|
||||
ParamStoreKeyTallyingProcedure = []byte("tallyingprocedure")
|
||||
)
|
||||
|
||||
// Type declaration for parameters
|
||||
func ParamTable() params.Table {
|
||||
return params.NewTable(
|
||||
ParamStoreKeyDepositProcedure, DepositProcedure{},
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
@@ -101,9 +100,8 @@ func (s Store) Modified(ctx sdk.Context, key []byte) bool {
|
||||
func (s Store) Set(ctx sdk.Context, key []byte, param interface{}) {
|
||||
store := s.kvStore(ctx)
|
||||
|
||||
ty, ok := s.table.m[string(key)]
|
||||
ty, ok := s.table[string(key)]
|
||||
if !ok {
|
||||
fmt.Println(string(key), ty, param, reflect.TypeOf(param))
|
||||
panic("Parameter not registered")
|
||||
}
|
||||
|
||||
|
||||
+8
-14
@@ -4,20 +4,16 @@ import (
|
||||
"reflect"
|
||||
)
|
||||
|
||||
type Table struct {
|
||||
m map[string]reflect.Type
|
||||
sealed bool
|
||||
}
|
||||
// Table stores appropriate type for each parameter key
|
||||
type Table map[string]reflect.Type
|
||||
|
||||
// Constructs new table
|
||||
func NewTable(keytypes ...interface{}) (res Table) {
|
||||
if len(keytypes)%2 != 0 {
|
||||
panic("odd number arguments in NewTypeTable")
|
||||
}
|
||||
|
||||
res = Table{
|
||||
m: make(map[string]reflect.Type),
|
||||
sealed: false,
|
||||
}
|
||||
res = make(map[string]reflect.Type)
|
||||
|
||||
for i := 0; i < len(keytypes); i += 2 {
|
||||
res = res.RegisterType(keytypes[i].([]byte), keytypes[i+1])
|
||||
@@ -26,13 +22,10 @@ func NewTable(keytypes ...interface{}) (res Table) {
|
||||
return
|
||||
}
|
||||
|
||||
// Register single key-type pair
|
||||
func (t Table) RegisterType(key []byte, ty interface{}) Table {
|
||||
if t.sealed {
|
||||
panic("RegisterType() on sealed Table")
|
||||
}
|
||||
|
||||
keystr := string(key)
|
||||
if _, ok := t.m[keystr]; ok {
|
||||
if _, ok := t[keystr]; ok {
|
||||
panic("duplicate parameter key")
|
||||
}
|
||||
|
||||
@@ -43,11 +36,12 @@ func (t Table) RegisterType(key []byte, ty interface{}) Table {
|
||||
rty = rty.Elem()
|
||||
}
|
||||
|
||||
t.m[keystr] = rty
|
||||
t[keystr] = rty
|
||||
|
||||
return t
|
||||
}
|
||||
|
||||
// Register multiple pairs from ParamStruct
|
||||
func (t Table) RegisterParamStruct(ps ParamStruct) Table {
|
||||
for _, kvp := range ps.KeyValuePairs() {
|
||||
t = t.RegisterType(kvp.Key, kvp.Value)
|
||||
|
||||
@@ -23,6 +23,7 @@ var (
|
||||
KeySlashFractionDowntime = []byte("SlashFractionDowntime")
|
||||
)
|
||||
|
||||
// ParamTable for slashing module
|
||||
func ParamTable() params.Table {
|
||||
return params.NewTable().RegisterParamStruct(&Params{})
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ const (
|
||||
DefaultParamspace = "stake"
|
||||
)
|
||||
|
||||
// ParamTable for stake module
|
||||
func ParamTable() params.Table {
|
||||
return params.NewTable().RegisterParamStruct(&types.Params{})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user