diff --git a/package.json b/package.json
index bdb70ee..9531d9a 100644
--- a/package.json
+++ b/package.json
@@ -32,14 +32,22 @@
},
"homepage": "https://github.com/libp2p/js-interfaces#readme",
"dependencies": {
+ "abort-controller": "^3.0.0",
"abortable-iterator": "^2.1.0",
+ "async-iterator-to-pull-stream": "^1.3.0",
"chai": "^4.2.0",
+ "chai-checkmark": "^1.0.1",
"class-is": "^1.1.0",
+ "detect-node": "^2.0.4",
"dirty-chai": "^2.0.1",
"err-code": "^2.0.0",
+ "it-goodbye": "^2.0.1",
+ "libp2p-tcp": "^0.14.1",
"multiaddr": "^7.1.0",
+ "p-limit": "^2.2.1",
"peer-id": "^0.13.3",
- "sinon": "^7.5.0"
+ "sinon": "^7.5.0",
+ "streaming-iterables": "^4.1.0"
},
"devDependencies": {
"aegir": "^20.4.1",
diff --git a/src/transport/.gitignore b/src/transport/.gitignore
deleted file mode 100644
index fd34c26..0000000
--- a/src/transport/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-**/node_modules/
-**/*.log
-package-lock.json
-
-# Coverage directory used by tools like istanbul
-coverage
-docs
-dist
diff --git a/src/transport/.npmignore b/src/transport/.npmignore
deleted file mode 100644
index 59335fd..0000000
--- a/src/transport/.npmignore
+++ /dev/null
@@ -1,34 +0,0 @@
-**/node_modules/
-**/*.log
-test/repo-tests*
-
-# Logs
-logs
-*.log
-
-coverage
-
-# Runtime data
-pids
-*.pid
-*.seed
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# node-waf configuration
-.lock-wscript
-
-build
-
-# Dependency directory
-# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
-node_modules
-
-test
diff --git a/src/transport/.travis.yml b/src/transport/.travis.yml
deleted file mode 100644
index 89d4354..0000000
--- a/src/transport/.travis.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-sudo: false
-language: node_js
-node_js:
- - "10"
-
-before_install:
- - npm install -g npm
-
-script:
- - npm run lint
diff --git a/src/transport/CHANGELOG.md b/src/transport/CHANGELOG.md
deleted file mode 100644
index ec01b39..0000000
--- a/src/transport/CHANGELOG.md
+++ /dev/null
@@ -1,171 +0,0 @@
-
-# [0.7.0](https://github.com/libp2p/interface-transport/compare/v0.6.1...v0.7.0) (2019-09-19)
-
-
-### Features
-
-* timeline and close checking ([#55](https://github.com/libp2p/interface-transport/issues/55)) ([993ca1c](https://github.com/libp2p/interface-transport/commit/993ca1c))
-
-
-
-
-## [0.6.1](https://github.com/libp2p/interface-transport/compare/v0.6.0...v0.6.1) (2019-09-16)
-
-
-### Bug Fixes
-
-* **test:** close with timeout ([#54](https://github.com/libp2p/interface-transport/issues/54)) ([583f02d](https://github.com/libp2p/interface-transport/commit/583f02d))
-
-
-
-
-# [0.6.0](https://github.com/libp2p/interface-transport/compare/v0.5.2...v0.6.0) (2019-09-06)
-
-
-### Features
-
-* add upgrader support to transports ([#53](https://github.com/libp2p/interface-transport/issues/53)) ([a5ad120](https://github.com/libp2p/interface-transport/commit/a5ad120))
-
-
-### BREAKING CHANGES
-
-* Transports must now be passed and use an `Upgrader` instance. See the Readme for usage. Compliance test suites will now need to pass `options` from `common.setup(options)` to their Transport constructor.
-
-* docs: update readme to include upgrader
-
-* docs: update readme to include MultiaddrConnection ref
-
-* feat: add upgrader spy to test suite
-
-* test: validate returned value of spy
-
-
-
-
-## [0.5.2](https://github.com/libp2p/interface-transport/compare/v0.5.1...v0.5.2) (2019-06-11)
-
-
-
-
-## [0.5.1](https://github.com/libp2p/interface-transport/compare/v0.5.0...v0.5.1) (2019-05-01)
-
-
-### Bug Fixes
-
-* move dirty-chai to dependencies ([#52](https://github.com/libp2p/interface-transport/issues/52)) ([f9a7908](https://github.com/libp2p/interface-transport/commit/f9a7908))
-
-
-
-
-# [0.5.0](https://github.com/libp2p/interface-transport/compare/v0.4.0...v0.5.0) (2019-04-29)
-
-
-### Reverts
-
-* "feat: make listen take an array of addrs ([#46](https://github.com/libp2p/interface-transport/issues/46))" ([#51](https://github.com/libp2p/interface-transport/issues/51)) ([030195e](https://github.com/libp2p/interface-transport/commit/030195e))
-
-
-
-
-# [0.4.0](https://github.com/libp2p/interface-transport/compare/v0.3.7...v0.4.0) (2019-04-19)
-
-
-### Features
-
-* add type to AbortError ([#45](https://github.com/libp2p/interface-transport/issues/45)) ([4fd37bb](https://github.com/libp2p/interface-transport/commit/4fd37bb))
-* callbacks -> async / await ([#44](https://github.com/libp2p/interface-transport/issues/44)) ([b30ee5f](https://github.com/libp2p/interface-transport/commit/b30ee5f))
-* make listen take an array of addrs ([#46](https://github.com/libp2p/interface-transport/issues/46)) ([1dc5baa](https://github.com/libp2p/interface-transport/commit/1dc5baa))
-
-
-### BREAKING CHANGES
-
-* All places in the API that used callbacks are now replaced with async/await
-
-* test: add tests for canceling dials
-
-* feat: Adapter class
-
-
-
-
-## [0.3.7](https://github.com/libp2p/interface-transport/compare/v0.3.6...v0.3.7) (2018-11-29)
-
-
-
-
-## [0.3.6](https://github.com/libp2p/interface-transport/compare/v0.3.5...v0.3.6) (2018-04-05)
-
-
-
-
-## [0.3.5](https://github.com/libp2p/interface-transport/compare/v0.3.4...v0.3.5) (2017-03-21)
-
-
-### Bug Fixes
-
-* wrong main path in package.json ([54b83a7](https://github.com/libp2p/interface-transport/commit/54b83a7))
-
-
-
-
-## [0.3.4](https://github.com/libp2p/interface-transport/compare/v0.3.3...v0.3.4) (2017-02-09)
-
-
-
-
-## [0.3.3](https://github.com/libp2p/interface-transport/compare/v0.3.2...v0.3.3) (2016-09-06)
-
-
-
-
-## [0.3.2](https://github.com/libp2p/interface-transport/compare/v0.3.1...v0.3.2) (2016-09-06)
-
-
-### Bug Fixes
-
-* **dial-test:** ensure goodbye works over tcp ([e1346da](https://github.com/libp2p/interface-transport/commit/e1346da))
-
-
-
-
-## [0.3.1](https://github.com/libp2p/interface-transport/compare/v0.3.0...v0.3.1) (2016-09-05)
-
-
-### Bug Fixes
-
-* **package.json:** point to right main ([ace6150](https://github.com/libp2p/interface-transport/commit/ace6150))
-
-
-
-
-# [0.3.0](https://github.com/libp2p/interface-transport/compare/v0.2.0...v0.3.0) (2016-09-05)
-
-
-### Bug Fixes
-
-* **tests:** add place holder test script for releases ([8e9f7cf](https://github.com/libp2p/interface-transport/commit/8e9f7cf))
-
-
-### Features
-
-* **dialer:** remove conn from on connect callback ([1bd20d9](https://github.com/libp2p/interface-transport/commit/1bd20d9))
-* **spec:** update the dial interface to cope with new pull additions ([2e12166](https://github.com/libp2p/interface-transport/commit/2e12166))
-* **tests:** add dial and listen tests ([d50224d](https://github.com/libp2p/interface-transport/commit/d50224d))
-
-
-
-
-# [0.2.0](https://github.com/libp2p/interface-transport/compare/v0.1.1...v0.2.0) (2016-06-16)
-
-
-
-
-## [0.1.1](https://github.com/libp2p/interface-transport/compare/v0.1.0...v0.1.1) (2015-12-12)
-
-
-
-
-# 0.1.0 (2015-09-17)
-
-
-
diff --git a/src/transport/LICENSE b/src/transport/LICENSE
deleted file mode 100644
index 59a33ba..0000000
--- a/src/transport/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 David Dias
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/src/transport/package.json b/src/transport/package.json
deleted file mode 100644
index fc4779c..0000000
--- a/src/transport/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name": "interface-transport",
- "version": "0.7.0",
- "description": "A test suite and interface you can use to implement a transport.",
- "leadMaintainer": "Jacob Heun ",
- "repository": {
- "type": "git",
- "url": "https://github.com/libp2p/interface-transport.git"
- },
- "main": "src/index.js",
- "files": [
- "dist",
- "src"
- ],
- "scripts": {
- "lint": "aegir lint",
- "test": "aegir test",
- "build": "aegir build",
- "release": "aegir release --no-test",
- "release-minor": "aegir release --type minor --no-test",
- "release-major": "aegir release --type major --no-test",
- "coverage": "exit(0)",
- "coverage-publish": "exit(0)"
- },
- "pre-push": [
- "lint"
- ],
- "keywords": [
- "IPFS"
- ],
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/libp2p/interface-transport/issues"
- },
- "homepage": "https://github.com/libp2p/interface-transport",
- "devDependencies": {
- "aegir": "^20.0.0"
- },
- "dependencies": {
- "abort-controller": "^3.0.0",
- "async-iterator-to-pull-stream": "^1.3.0",
- "chai": "^4.2.0",
- "dirty-chai": "^2.0.1",
- "interface-connection": "~0.3.3",
- "it-goodbye": "^2.0.0",
- "it-pipe": "^1.0.0",
- "multiaddr": "^7.0.0",
- "pull-stream": "^3.6.9",
- "sinon": "^7.4.2",
- "streaming-iterables": "^4.1.0"
- },
- "contributors": [
- "Alan Shaw ",
- "David Dias ",
- "Friedel Ziegelmayer ",
- "Jacob Heun ",
- "João Santos ",
- "Maciej Krüger ",
- "Richard Littauer ",
- "Vasco Santos ",
- "dirkmc ",
- "dmitriy ryajov ",
- "greenkeeperio-bot "
- ]
-}
diff --git a/src/transport/test/transport.spec.js b/src/transport/test/transport.spec.js
deleted file mode 100644
index ccacec3..0000000
--- a/src/transport/test/transport.spec.js
+++ /dev/null
@@ -1 +0,0 @@
-'use strict'
diff --git a/src/transport/dial-test.js b/src/transport/tests/dial-test.js
similarity index 100%
rename from src/transport/dial-test.js
rename to src/transport/tests/dial-test.js
diff --git a/src/transport/filter-test.js b/src/transport/tests/filter-test.js
similarity index 100%
rename from src/transport/filter-test.js
rename to src/transport/tests/filter-test.js
diff --git a/src/transport/index.js b/src/transport/tests/index.js
similarity index 100%
rename from src/transport/index.js
rename to src/transport/tests/index.js
diff --git a/src/transport/listen-test.js b/src/transport/tests/listen-test.js
similarity index 100%
rename from src/transport/listen-test.js
rename to src/transport/tests/listen-test.js
diff --git a/src/transport/utils/index.js b/src/transport/tests/utils/index.js
similarity index 100%
rename from src/transport/utils/index.js
rename to src/transport/tests/utils/index.js