From 265670297cf5864cd34893366f4310949c27a58b Mon Sep 17 00:00:00 2001 From: rigelrozanski Date: Mon, 16 Apr 2018 16:47:28 -0400 Subject: [PATCH] fix PK encodings --- cmd/gaia/cmd/cli_test.go | 42 ++++++++++++++++++++-------------------- x/stake/keeper_test.go | 20 +++++-------------- x/stake/types.go | 30 ++-------------------------- 3 files changed, 28 insertions(+), 64 deletions(-) diff --git a/cmd/gaia/cmd/cli_test.go b/cmd/gaia/cmd/cli_test.go index c537ae0a5..a2bf5a3ca 100644 --- a/cmd/gaia/cmd/cli_test.go +++ b/cmd/gaia/cmd/cli_test.go @@ -23,8 +23,8 @@ func TestGaiaCLI(t *testing.T) { tests.ExecuteT(t, "gaiad unsafe_reset_all") pass := "1234567890" - executeWrite(t, false, "gaiacli keys delete foo", pass) - executeWrite(t, false, "gaiacli keys delete bar", pass) + executeWrite(t, "gaiacli keys delete foo", pass) + executeWrite(t, "gaiacli keys delete bar", pass) masterKey, chainID := executeInit(t, "gaiad init") // get a free port, also setup some common flags @@ -35,8 +35,8 @@ func TestGaiaCLI(t *testing.T) { cmd, _, _ := tests.GoExecuteT(t, fmt.Sprintf("gaiad start --rpc.laddr=%v", servAddr)) defer cmd.Process.Kill() - executeWrite(t, false, "gaiacli keys add foo --recover", pass, masterKey) - executeWrite(t, false, "gaiacli keys add bar", pass) + executeWrite(t, "gaiacli keys add foo --recover", pass, masterKey) + executeWrite(t, "gaiacli keys add bar", pass) fooAddr, fooPubKey := executeGetAddr(t, "gaiacli keys show foo --output=json") barAddr, _ := executeGetAddr(t, "gaiacli keys show bar --output=json") @@ -44,7 +44,7 @@ func TestGaiaCLI(t *testing.T) { fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooAddr, flags)) assert.Equal(t, int64(100000), fooAcc.GetCoins().AmountOf("fermion")) - executeWrite(t, false, fmt.Sprintf("gaiacli send %v --amount=10fermion --to=%v --name=foo", flags, barAddr), pass) + executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10fermion --to=%v --name=foo", flags, barAddr), pass) time.Sleep(time.Second * 3) // waiting for some blocks to pass barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barAddr, flags)) @@ -64,25 +64,25 @@ func TestGaiaCLI(t *testing.T) { //--pubkey string PubKey of the validator-candidate //--sequence int Sequence number to sign the tx //--website string optional website - _ = fooPubKey - //declStr := fmt.Sprintf("gaiacli declare-candidacy %v", flags) - //declStr += fmt.Sprintf(" --name=%v", "foo") - //declStr += fmt.Sprintf(" --address-candidate=%v", fooAddr) - //declStr += fmt.Sprintf(" --pubkey=%v", fooPubKey) - //declStr += fmt.Sprintf(" --amount=%v", "3fermion") - //declStr += fmt.Sprintf(" --moniker=%v", "foo-vally") - //fmt.Printf("debug declStr: %v\n", declStr) - //executeWrite(t, true, declStr, pass) + //_ = fooPubKey + declStr := fmt.Sprintf("gaiacli declare-candidacy %v", flags) + declStr += fmt.Sprintf(" --name=%v", "foo") + declStr += fmt.Sprintf(" --address-candidate=%v", fooAddr) + declStr += fmt.Sprintf(" --pubkey=%v", fooPubKey) + declStr += fmt.Sprintf(" --amount=%v", "3fermion") + declStr += fmt.Sprintf(" --moniker=%v", "foo-vally") + fmt.Printf("debug declStr: %v\n", declStr) + executeWrite(t, declStr, pass) } -func executeWrite(t *testing.T, print bool, cmdStr string, writes ...string) { - cmd, wc, rc := tests.GoExecuteT(t, cmdStr) +func executeWrite(t *testing.T, cmdStr string, writes ...string) { + cmd, wc, _ := tests.GoExecuteT(t, cmdStr) - if print { - bz := make([]byte, 100000) - rc.Read(bz) - fmt.Printf("debug read: %v\n", string(bz)) - } + //if print { + //bz := make([]byte, 100000) + //rc.Read(bz) + //fmt.Printf("debug read: %v\n", string(bz)) + //} for _, write := range writes { _, err := wc.Write([]byte(write + "\n")) diff --git a/x/stake/keeper_test.go b/x/stake/keeper_test.go index 9d6f69cc6..e01df1aae 100644 --- a/x/stake/keeper_test.go +++ b/x/stake/keeper_test.go @@ -5,7 +5,6 @@ import ( "testing" sdk "github.com/cosmos/cosmos-sdk/types" - crypto "github.com/tendermint/go-crypto" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -315,15 +314,6 @@ func TestGetAccUpdateValidators(t *testing.T) { } } - // to compare pubkeys between abci pubkey and crypto.PubKey - wirePK := func(pk crypto.PubKey) []byte { - pkBytes, err := keeper.cdc.MarshalBinary(pk) - if err != nil { - panic(err) - } - return pkBytes - } - // test from nothing to something // candidate set: {} -> {c1, c3} // validator set: {} -> {c1, c3} @@ -478,7 +468,7 @@ func TestGetAccUpdateValidators(t *testing.T) { acc = keeper.getAccUpdateValidators(ctx) require.Equal(t, 2, len(acc), "%v", acc) - assert.Equal(t, wirePK(candidatesIn[0].PubKey), acc[0].PubKey) + assert.Equal(t, candidatesIn[0].PubKey.Bytes(), acc[0].PubKey) assert.Equal(t, int64(0), acc[0].Power) assert.Equal(t, vals[0].abciValidator(keeper.cdc), acc[1]) @@ -503,10 +493,10 @@ func TestGetAccUpdateValidators(t *testing.T) { require.Equal(t, 0, len(candidates)) acc = keeper.getAccUpdateValidators(ctx) require.Equal(t, 4, len(acc)) - assert.Equal(t, wirePK(candidatesIn[1].PubKey), acc[0].PubKey) - assert.Equal(t, wirePK(candidatesIn[2].PubKey), acc[1].PubKey) - assert.Equal(t, wirePK(candidatesIn[3].PubKey), acc[2].PubKey) - assert.Equal(t, wirePK(candidatesIn[4].PubKey), acc[3].PubKey) + assert.Equal(t, candidatesIn[1].PubKey.Bytes(), acc[0].PubKey) + assert.Equal(t, candidatesIn[2].PubKey.Bytes(), acc[1].PubKey) + assert.Equal(t, candidatesIn[3].PubKey.Bytes(), acc[2].PubKey) + assert.Equal(t, candidatesIn[4].PubKey.Bytes(), acc[3].PubKey) assert.Equal(t, int64(0), acc[0].Power) assert.Equal(t, int64(0), acc[1].Power) assert.Equal(t, int64(0), acc[2].Power) diff --git a/x/stake/types.go b/x/stake/types.go index 14978ce35..b0dbc0b1f 100644 --- a/x/stake/types.go +++ b/x/stake/types.go @@ -1,8 +1,6 @@ package stake import ( - "encoding/hex" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/wire" abci "github.com/tendermint/abci/types" @@ -133,20 +131,8 @@ type Validator struct { // abci validator from stake validator type func (v Validator) abciValidator(cdc *wire.Codec) abci.Validator { - //pkBytes, err := cdc.MarshalBinary(v.PubKey) - //if err != nil { - //panic(err) - //} - //return abci.Validator{ - //PubKey: pkBytes, - //Power: v.Power.Evaluate(), - //} - TypeDistinguisher, err := hex.DecodeString("1624de6220") - if err != nil { - panic(err) - } return abci.Validator{ - PubKey: append(TypeDistinguisher, v.PubKey.Bytes()...), + PubKey: v.PubKey.Bytes(), Power: v.Power.Evaluate(), } } @@ -154,20 +140,8 @@ func (v Validator) abciValidator(cdc *wire.Codec) abci.Validator { // abci validator from stake validator type // with zero power used for validator updates func (v Validator) abciValidatorZero(cdc *wire.Codec) abci.Validator { - //pkBytes, err := cdc.MarshalBinary(v.PubKey) - //if err != nil { - //panic(err) - //} - //return abci.Validator{ - //PubKey: pkBytes, - //Power: 0, - //} - TypeDistinguisher, err := hex.DecodeString("1624de6220") - if err != nil { - panic(err) - } return abci.Validator{ - PubKey: append(TypeDistinguisher, v.PubKey.Bytes()...), + PubKey: v.PubKey.Bytes(), Power: 0, } }