From 58c756e4fb0860bf3004586900cd55cdfae652ab Mon Sep 17 00:00:00 2001 From: Adi Saravanan <59209660+adisaran64@users.noreply.github.com> Date: Thu, 17 Nov 2022 22:19:25 -0800 Subject: [PATCH] added gas consumption test (#1474) --- tests/integration_tests/test_gas.py | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/integration_tests/test_gas.py diff --git a/tests/integration_tests/test_gas.py b/tests/integration_tests/test_gas.py new file mode 100644 index 00000000..ecdc8cf0 --- /dev/null +++ b/tests/integration_tests/test_gas.py @@ -0,0 +1,37 @@ +from .utils import ( + ADDRS, + CONTRACTS, + KEYS, + deploy_contract, + send_transaction, + w3_wait_for_new_blocks, +) + + +def test_equivalent_gas_consumption(geth, ethermint): + tx_value = 10 + + # send a transaction with geth + geth_gas_price = geth.w3.eth.gas_price + tx = {"to": ADDRS["community"], "value": tx_value, "gasPrice": geth_gas_price} + geth_reciept = send_transaction(geth.w3, tx, KEYS["validator"]) + + # send an equivalent transaction with ethermint + ethermint_gas_price = ethermint.w3.eth.gas_price + tx = {"to": ADDRS["community"], "value": tx_value, "gasPrice": ethermint_gas_price} + ethermint_reciept = send_transaction(ethermint.w3, tx, KEYS["validator"]) + + # ensure that the gasUsed is equivalent + assert geth_reciept.gasUsed == ethermint_reciept.gasUsed + + w3_wait_for_new_blocks(geth.w3, 5) + w3_wait_for_new_blocks(ethermint.w3, 5) + + # repeat the above process with contract deployment + _, geth_contract_reciept = deploy_contract( + geth.w3, + CONTRACTS["TestERC20A"]) + _, ethermint_contract_reciept = deploy_contract( + ethermint.w3, + CONTRACTS["TestERC20A"]) + assert geth_contract_reciept.gasUsed == ethermint_contract_reciept.gasUsed