¿Cómo puedo aumentar el tiempo de EVM en web3.py?

Cuando trabajo con web3.js, Truffle y Ganache, puedo hacer esto:

web3.currentProvider.send({method: "evm_increaseTime", params: [numOfSeconds]});

¿Cómo puedo hacer el equivalente en web3.py?

Cuando lo hago:

from web3 import HTTPProvider
for func in dir(HTTPProvider):
    if not func.startswith('_'):
        print(func)

Yo obtengo:

decode_rpc_response
encode_rpc_request
endpoint_uri
get_request_headers
get_request_kwargs
isConnected
logger
make_request
middlewares
request_func

¿Es posible que sea una de estas funciones a las que deba llamar?

¡Gracias!

ACTUALIZAR:

Descubrí que puedo codificar la solicitud de esta manera:

provider = Web3(HTTPProvider("http://127.0.0.1:8545")).providers[0]
request = encode_rpc_request("evm_increaseTime", [123])

Al imprimir requestme sale:

b'{"jsonrpc": "2.0", "method": "evm_increaseTime", "params": [123], "id": 0}'

Pero, ¿cómo envío esta solicitud?

Respuestas (1)

OK, esto parece funcionar:

web3 = Web3(HTTPProvider("http://127.0.0.1:8545"))
provider = web3.providers[0]
provider.make_request("evm_increaseTime", [numOfSeconds])