Source code for autobahn.xbr.test.test_xbr_web3

import os
import sys

from unittest import skipIf
from twisted.trial.unittest import TestCase

from autobahn.xbr import HAS_XBR

# https://web3py.readthedocs.io/en/stable/providers.html#infura-mainnet
HAS_INFURA = 'WEB3_INFURA_PROJECT_ID' in os.environ and len(os.environ['WEB3_INFURA_PROJECT_ID']) > 0

# TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary
IS_CPY_310 = sys.version_info.minor == 10


[docs]@skipIf(not HAS_XBR, 'package autobahn[xbr] not installed') @skipIf(not HAS_INFURA, 'env var WEB3_INFURA_PROJECT_ID not defined') class TestWeb3(TestCase): gw_config = { 'type': 'infura', 'key': os.environ.get('WEB3_INFURA_PROJECT_ID', ''), 'network': 'mainnet', } # "builtins.TypeError: As of 3.10, the *loop* parameter was removed from Lock() since # it is no longer necessary" # # solved via websockets>=10.3, but web3==5.29.0 requires websockets<10 #
[docs] @skipIf(IS_CPY_310, 'Web3 v5.29.0 (web3.auto.infura) raises TypeError on Python 3.10') def test_connect_w3_infura_auto(self): from web3.auto.infura import w3 self.assertTrue(w3.isConnected())
[docs] def test_connect_w3_autobahn(self): from autobahn.xbr import make_w3 w3 = make_w3(self.gw_config) self.assertTrue(w3.isConnected())
[docs] def test_ens_valid_names(self): from ens.main import ENS for name in ['wamp-proto.eth']: self.assertTrue(ENS.is_valid_name(name))
[docs] def test_ens_resolve_names(self): from autobahn.xbr import make_w3 from ens.main import ENS w3 = make_w3(self.gw_config) ens = ENS.fromWeb3(w3) for name, adr in [ ('wamp-proto.eth', '0x66267d0b1114cFae80C37942177a846d666b114a'), ]: _adr = ens.address(name) self.assertEqual(adr, _adr)