R4R: CheckTx AnteHandler for Ethereum Tx Messages (#505)

* Rename Ethereum tx message
* Use new tx decoder in the ethermint app
* Update ante handler to prevent spam/dos
* Update ethereum msg signing/verification logic
* Implement secp256k1 key types
* Remove pointer from To method
* Move sig check to after inartistic gas check
* Add comment on chainID parsing
* Updated validateIntrinsicGas godoc
* Implement Fee method on eth tx msg
* Add reference to spec for recoverEthSig
* Upgrade TM to v0.27.0
This commit is contained in:
Alexander Bezobchuk
2018-12-18 11:10:04 -05:00
committed by GitHub
parent a3619584f8
commit b821a85a64
20 changed files with 871 additions and 327 deletions
+4 -11
View File
@@ -46,6 +46,8 @@ var (
miner501 = ethcmn.HexToAddress("0x35e8e5dC5FBd97c5b421A80B596C030a2Be2A04D")
genInvestor = ethcmn.HexToAddress("0x756F45E3FA69347A9A973A725E3C98bC4db0b5a0")
paramsKey = sdk.NewKVStoreKey("params")
tParamsKey = sdk.NewTransientStoreKey("transient_params")
accKey = sdk.NewKVStoreKey("acc")
storageKey = sdk.NewKVStoreKey("storage")
codeKey = sdk.NewKVStoreKey("code")
@@ -140,11 +142,7 @@ func createAndTestGenesis(t *testing.T, cms sdk.CommitMultiStore, ak auth.Accoun
ms.Write()
// persist multi-store root state
commitID := cms.Commit()
require.Equal(
t, "29EF84DF8CC4648FD15341F15585A434279A9514445FC9F9E884D687185C1012",
fmt.Sprintf("%X", commitID.Hash),
)
cms.Commit()
// verify account mapper state
genAcc := ak.GetAccount(ctx, sdk.AccAddress(genInvestor.Bytes()))
@@ -172,12 +170,7 @@ func TestImportBlocks(t *testing.T) {
// create logger, codec and root multi-store
cdc := newTestCodec()
cms := store.NewCommitMultiStore(db)
ak := auth.NewAccountKeeper(
cdc,
accKey,
types.ProtoBaseAccount,
)
ak := auth.NewAccountKeeper(cdc, accKey, types.ProtoBaseAccount)
// mount stores
keys := []*sdk.KVStoreKey{accKey, storageKey, codeKey}