/**
 * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE
 * file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
 * to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
rootProject.name='tuweni'
include 'bytes'
include 'concurrent'
include 'concurrent-coroutines'
include 'config'
include 'crypto'
include 'devp2p'
include 'devp2p-eth'
include 'dist'
include 'dns-discovery'
include 'eth'
include 'eth-client'
include 'eth-client-app'
include 'eth-client-ui'
include 'eth2-reference-tests'
include 'eth-reference-tests'
include 'eth-repository'
include 'ethstats'
include 'evm'
include 'gossip'
include 'hobbits'
include 'hobbits-relayer'
include 'io'
include 'junit'
include 'kademlia'
include 'kv'
include 'les'
include 'merkle-trie'
include 'net'
include 'net-coroutines'
include 'peer-repository'
include 'plumtree'
include 'pow'
include 'rlp'
include 'rlpx'
include 'scuttlebutt'
include 'scuttlebutt-discovery'
include 'scuttlebutt-handshake'
include 'scuttlebutt-rpc'
include 'scuttlebutt-client-lib'
include 'ssz'
include 'toml'
include 'units'
