38 lines
1.2 KiB
Python
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
|