def test_rpc_project_cmd_settings(devnetwork, testproject, config, settings_proj): """Test if project specific settings are properly passed on to the RPC.""" if devnetwork.rpc.is_active(): devnetwork.rpc.kill() cmd_settings_proj = settings_proj["cmd_settings"] testproject.load_config() devnetwork.connect("development") # Check if rpc time is roughly the start time in the config file # Use diff < 25h to dodge potential timezone differences assert cmd_settings_proj["time"].timestamp() - devnetwork.chain.time() < 60 * 60 * 25 accounts = devnetwork.accounts assert cmd_settings_proj["accounts"] + len(cmd_settings_proj["unlock"]) == len(accounts) assert cmd_settings_proj["default_balance"] == accounts[0].balance() # Test if mnemonic was updated to "brownie2" assert "0x816200940a049ff1DEAB864d67a71ae6Dd1ebc3e" == accounts[0].address # Test if unlocked accounts are added to the accounts object assert "0x16Fb96a5fa0427Af0C8F7cF1eB4870231c8154B6" == accounts[-2].address assert "0x81431b69B1e0E334d4161A13C2955e0f3599381e" == accounts[-1].address # Test if gas limit and price are loaded from the config tx = accounts[0].transfer(accounts[1], 0) assert tx.gas_limit == settings_proj["gas_limit"] assert tx.gas_price == settings_proj["gas_price"] # Test if chain ID and network ID can be properly queried assert web3.isConnected() assert web3.eth.chainId == 666 assert web3.net.version == "777" devnetwork.rpc.kill()
def from_ethpm(uri: str) -> "TempProject": """ Generates a TempProject from an ethPM package. """ manifest = get_manifest(uri) compiler_config = { "evm_version": None, "solc": {"version": None, "optimize": True, "runs": 200}, "vyper": {"version": None}, } project = TempProject(manifest["package_name"], manifest["sources"], compiler_config) if web3.isConnected(): for contract_name in project.keys(): for address in get_deployment_addresses(manifest, contract_name): project[contract_name].at(address) return project