laconicd-deprecated/tests/integration_tests/test_gas.py
2022-11-18 07:19:25 +01:00

38 lines
1.2 KiB
Python

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