Как увеличить время EVM в web3.py?

При работе с web3.js, Truffle и Ganache я могу сделать так:

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

Как я могу сделать эквивалент в web3.py?

Когда я делаю:

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

Я получил:

decode_rpc_response
encode_rpc_request
endpoint_uri
get_request_headers
get_request_kwargs
isConnected
logger
make_request
middlewares
request_func

Возможно, мне нужно вызвать одну из этих функций?

Спасибо!

ОБНОВЛЯТЬ:

Я обнаружил, что могу закодировать запрос следующим образом:

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

При печати requestполучаю:

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

Но как мне отправить этот запрос?

Ответы (1)

Хорошо, это похоже на работу:

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