Fix failed to call EstimateGas (#761)

* fix failed to call function EstimateGas

* add ut to test estimateGas after contract deployed
This commit is contained in:
KamiD
2021-02-16 13:04:29 -08:00
committed by GitHub
parent 177574aafa
commit fae8147352
3 changed files with 18 additions and 5 deletions
+11 -3
View File
@@ -526,6 +526,7 @@ func TestEth_PendingTransactionFilter(t *testing.T) {
}
func TestEth_EstimateGas(t *testing.T) {
param := make([]map[string]string, 1)
param[0] = make(map[string]string)
param[0]["from"] = "0x" + fmt.Sprintf("%x", from)
@@ -539,18 +540,25 @@ func TestEth_EstimateGas(t *testing.T) {
err := json.Unmarshal(rpcRes.Result, &gas)
require.NoError(t, err, string(rpcRes.Result))
require.Equal(t, "0xf54c", gas)
require.Equal(t, "0xf560", gas)
}
func TestEth_EstimateGas_ContractDeployment(t *testing.T) {
bytecode := "0x608060405234801561001057600080fd5b5060117f775a94827b8fd9b519d36cd827093c664f93347070a554f65e4a6f56cd73889860405160405180910390a260d08061004d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063eb8ac92114602d575b600080fd5b606060048036036040811015604157600080fd5b8101908080359060200190929190803590602001909291905050506062565b005b8160008190555080827ff3ca124a697ba07e8c5e80bebcfcc48991fc16a63170e8a9206e30508960d00360405160405180910390a3505056fea265627a7a723158201d94d2187aaf3a6790527b615fcc40970febf0385fa6d72a2344848ebd0df3e964736f6c63430005110032"
//deploy contract befor call estimateGas make account nonce changed
hash, _ := DeployTestContract(t, from)
time.Sleep(5 * time.Second)
paramdeploy := []string{hash.String()}
rpcRes := Call(t, "eth_getTransactionReceipt", paramdeploy)
require.Nil(t, rpcRes.Error)
param := make([]map[string]string, 1)
param[0] = make(map[string]string)
param[0]["from"] = "0x" + fmt.Sprintf("%x", from)
param[0]["data"] = bytecode
rpcRes := Call(t, "eth_estimateGas", param)
rpcRes = Call(t, "eth_estimateGas", param)
require.NotNil(t, rpcRes)
require.NotEmpty(t, rpcRes.Result)
@@ -558,7 +566,7 @@ func TestEth_EstimateGas_ContractDeployment(t *testing.T) {
err := json.Unmarshal(rpcRes.Result, &gas)
require.NoError(t, err, string(rpcRes.Result))
require.Equal(t, "0x1a724", gas.String())
require.Equal(t, "0x1a738", gas.String())
}
func TestEth_GetBlockByNumber(t *testing.T) {