From d191876ea9f3786798266eceb82c894153968d1d Mon Sep 17 00:00:00 2001 From: haad Date: Sat, 17 Mar 2018 08:11:02 +0200 Subject: [PATCH] Use ipfs-pubsub-1on1 to exchange heads between connected peers --- package-lock.json | 1672 ++++++++++++++++---------- package.json | 11 +- src/OrbitDB.js | 42 +- test/replicate-automatically.test.js | 13 +- 4 files changed, 1081 insertions(+), 657 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f4186d..6c3b582 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,13 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, "abstract-leveldown": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz", @@ -93,13 +86,11 @@ "dev": true }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.3.0.tgz", + "integrity": "sha1-FlCkERTvAFdMrBC4Ay2PTBSBLac=", "dev": true, - "optional": true, "requires": { - "co": "4.6.0", "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" @@ -208,7 +199,7 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.9", + "micromatch": "3.1.10", "normalize-path": "2.1.1" } }, @@ -256,13 +247,6 @@ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, "asn1.js": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.0.tgz", @@ -283,12 +267,6 @@ "util": "0.10.3" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -316,33 +294,12 @@ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, "atob": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, "b64": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/b64/-/b64-3.0.3.tgz", @@ -1012,25 +969,6 @@ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - } - } - }, "bech32": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.3.tgz", @@ -1126,11 +1064,12 @@ } }, "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { - "readable-stream": "2.3.5" + "readable-stream": "2.3.5", + "safe-buffer": "5.1.1" } }, "blakejs": { @@ -1145,15 +1084,6 @@ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", "dev": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", @@ -1181,8 +1111,8 @@ "dev": true, "requires": { "bignumber.js": "3.0.1", - "commander": "2.15.0", - "ieee754": "1.1.8", + "commander": "2.15.1", + "ieee754": "1.1.11", "json-text-sequence": "0.1.1" } }, @@ -1442,16 +1372,28 @@ "dev": true, "requires": { "base64-js": "1.2.3", - "ieee754": "1.1.8", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, + "buffer-alloc-unsafe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.0.0.tgz", + "integrity": "sha1-R0qojzTnvHX6MR0uZFdAnFhGw/4=", + "dev": true + }, "buffer-equals": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", "integrity": "sha1-A1O1T9B/2VZBcGca5vZrnPENJ/U=", "dev": true }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, "buffer-indexof": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-0.0.2.tgz", @@ -1588,13 +1530,6 @@ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, "catbox": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/catbox/-/catbox-7.1.5.tgz", @@ -1676,9 +1611,9 @@ } }, "chokidar": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.2.tgz", - "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", "dev": true, "requires": { "anymatch": "2.0.0", @@ -1851,13 +1786,6 @@ } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -1888,19 +1816,10 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "commander": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz", - "integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, "commondir": { @@ -1934,11 +1853,12 @@ "dev": true }, "concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { + "buffer-from": "1.0.0", "inherits": "2.0.3", "readable-stream": "2.3.5", "typedarray": "0.0.6" @@ -2093,7 +2013,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.3", "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "sha.js": "2.4.11" } }, "create-hmac": { @@ -2107,7 +2027,7 @@ "inherits": "2.0.3", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "sha.js": "2.4.11" } }, "cross-spawn": { @@ -2187,16 +2107,6 @@ "es5-ext": "0.10.41" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - } - }, "data-queue": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/data-queue/-/data-queue-0.0.3.tgz", @@ -2340,12 +2250,6 @@ "isobject": "3.0.1" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -2500,25 +2404,6 @@ "stream-shift": "1.0.0" } }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - }, - "dependencies": { - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - } - } - }, "ecurve": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", @@ -3070,13 +2955,6 @@ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==" }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -3134,12 +3012,6 @@ } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", @@ -3164,9 +3036,9 @@ "dev": true }, "filesize": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.0.tgz", - "integrity": "sha512-g5OWtoZWcPI56js1DFhIEqyG9tnu/7sG3foHwgS9KGYFMfsYguI3E+PRVCmtmE96VajQIEMRU2OhN+ME589Gdw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true }, "fill-range": { @@ -3210,7 +3082,7 @@ "dev": true, "requires": { "chalk": "2.3.2", - "commander": "2.15.0", + "commander": "2.15.1", "debug": "2.6.9" }, "dependencies": { @@ -3270,9 +3142,9 @@ "dev": true }, "flush-write-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", - "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { "inherits": "2.0.3", @@ -3285,25 +3157,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -4271,30 +4124,6 @@ "fsm": "1.0.2" } }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", @@ -4323,32 +4152,931 @@ } }, "gc-stats": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.1.0.tgz", - "integrity": "sha1-OULkSdh8j6I0EsaJabidzXZWmvM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.1.1.tgz", + "integrity": "sha512-B3H6EnfqxhI940ebenWHJI9p40is8yEDlyv3qKgZYmQmiHA5DvCcF7rgZAoiWPiOAdA/iVVguWV4Z7ACCH3JdA==", "dev": true, "optional": true, "requires": { "nan": "2.7.0", - "node-pre-gyp": "0.6.36" + "node-pre-gyp": "0.7.0" }, "dependencies": { - "node-pre-gyp": { - "version": "0.6.36", + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", "bundled": true, "dev": true, "optional": true, "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.1" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.2", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", "mkdirp": "0.5.1", "nopt": "4.0.1", - "npmlog": "4.1.2", + "npmlog": "4.1.0", "rc": "1.2.6", - "request": "2.85.0", - "rimraf": "2.6.2", - "semver": "5.5.0", + "request": "2.83.0", + "rimraf": "2.6.1", + "semver": "5.3.0", "tar": "2.2.1", "tar-pack": "3.4.1" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "boom": { + "version": "4.3.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + }, + "cryptiles": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "1.0.0" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "5.0.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.0", + "sshpk": "1.13.1" + } + }, + "mime-db": { + "version": "1.33.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "performance-now": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "request": { + "version": "2.83.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + }, + "tough-cookie": { + "version": "2.3.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + } } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.1", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.2", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sshpk": { + "version": "1.13.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + } + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.1", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true } } }, @@ -4394,16 +5122,6 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - } - }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -4471,7 +5189,7 @@ "is-redirect": "1.0.0", "is-retry-allowed": "1.1.0", "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", + "lowercase-keys": "1.0.1", "safe-buffer": "5.1.1", "timed-out": "4.0.1", "unzip-response": "2.0.1", @@ -4558,24 +5276,6 @@ "integrity": "sha1-KvrgAsZxnW1U8/qIRi+CKJLS3xM=", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, - "optional": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -4675,37 +5375,6 @@ "integrity": "sha1-EPIJmg18BaQPK+r1wdOc8vfavzY=", "dev": true }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "dev": true, - "optional": true, - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" - }, - "dependencies": { - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "dev": true, - "optional": true, - "requires": { - "hoek": "4.2.1" - } - }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true - } - } - }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", @@ -4790,18 +5459,6 @@ "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -4850,9 +5507,9 @@ "integrity": "sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==" }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", "dev": true }, "iferr": { @@ -5020,14 +5677,14 @@ "async": "2.6.0", "big.js": "5.0.3", "binary-querystring": "0.1.2", - "bl": "1.2.1", + "bl": "1.2.2", "boom": "7.2.0", "bs58": "4.0.1", "byteman": "1.3.5", "cids": "0.5.3", "debug": "3.1.0", "file-type": "7.6.0", - "filesize": "3.6.0", + "filesize": "3.6.1", "fsm-event": "2.1.0", "get-folder-size": "1.0.1", "glob": "7.1.2", @@ -5035,7 +5692,7 @@ "hapi-set-header": "1.0.2", "hoek": "5.0.3", "human-to-milliseconds": "1.0.0", - "ipfs-api": "18.2.0", + "ipfs-api": "18.2.1", "ipfs-bitswap": "0.19.0", "ipfs-block": "0.6.1", "ipfs-block-service": "0.13.0", @@ -5069,7 +5726,7 @@ "mafmt": "4.0.0", "mime-types": "2.1.18", "mkdirp": "0.5.1", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "multihashes": "0.4.13", "once": "1.4.0", "path-exists": "3.0.0", @@ -5126,16 +5783,16 @@ } }, "ipfs-api": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/ipfs-api/-/ipfs-api-18.2.0.tgz", - "integrity": "sha512-tgLC2q3fBtQve4d/SdClx4b3cQ5zihZLeOVTLbKRXc6WWVusKq5CWCzoohQXR4au9xC1UblFBJP3vhRHHqElWw==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/ipfs-api/-/ipfs-api-18.2.1.tgz", + "integrity": "sha512-ffT6tO4KkACztnA3wm2R1hanQLjyeYgTaaXLtoetMvdKTuI6JeOuwg7lv7HfLpIBRKfeYU98e2wzH7Vv7bhERw==", "dev": true, "requires": { "async": "2.6.0", "big.js": "5.0.3", "bs58": "4.0.1", "cids": "0.5.3", - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "detect-node": "2.0.3", "flatmap": "0.0.3", "glob": "7.1.2", @@ -5145,7 +5802,7 @@ "is-ipfs": "0.3.2", "is-stream": "1.1.0", "lru-cache": "4.1.2", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "multihashes": "0.4.13", "ndjson": "1.5.0", "once": "1.4.0", @@ -5255,6 +5912,14 @@ "dicer": "0.2.5" } }, + "ipfs-pubsub-1on1": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-1on1/-/ipfs-pubsub-1on1-0.0.2.tgz", + "integrity": "sha512-Y3FYTvEy9MJWl6e2tM8tQgqR6SPFE30DjAcUrB6AJ2Ha1oGZl1aVVhuXZWSEVYIGpF0546dklOTfhvIGB5CUBQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "ipfs-pubsub-room": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ipfs-pubsub-room/-/ipfs-pubsub-room-1.2.0.tgz", @@ -5289,7 +5954,7 @@ "lodash.get": "4.4.2", "lodash.has": "4.5.2", "lodash.set": "4.3.2", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "pull-stream": "3.6.2" }, "dependencies": { @@ -5770,13 +6435,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -5811,13 +6469,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, "items": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz", @@ -5868,7 +6519,7 @@ "dev": true, "requires": { "mafmt": "4.0.0", - "multiaddr": "3.0.2" + "multiaddr": "3.1.0" } }, "js-sha3": { @@ -5907,13 +6558,6 @@ "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", @@ -5941,19 +6585,6 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "k-bucket": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz", @@ -6033,11 +6664,12 @@ "dev": true }, "length-prefixed-stream": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-1.5.1.tgz", - "integrity": "sha1-mer1FnLd3vv92Ige57e33zXR7XM=", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-1.5.2.tgz", + "integrity": "sha512-5kHV/7ZCefC27d4FQLgFHek/pN1S0uEQ8OEgSm55DWO1rKxGi9by4F444aStxa56wB20b6CxZw6KiGPwmJOUmQ==", "dev": true, "requires": { + "buffer-alloc-unsafe": "1.0.0", "readable-stream": "2.3.5", "varint": "5.0.0" } @@ -6217,7 +6849,7 @@ "libp2p-ping": "0.6.1", "libp2p-switch": "0.36.1", "mafmt": "4.0.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "peer-book": "0.5.4", "peer-id": "0.10.6", "peer-info": "0.11.6" @@ -6235,7 +6867,7 @@ "interface-connection": "0.3.2", "lodash": "4.17.5", "mafmt": "4.0.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "multistream-select": "0.14.1", "peer-id": "0.10.6", "peer-info": "0.11.6", @@ -6290,7 +6922,7 @@ "async": "2.6.0", "bs58": "4.0.1", "debug": "3.1.0", - "length-prefixed-stream": "1.5.1", + "length-prefixed-stream": "1.5.2", "libp2p-crypto": "0.12.1", "lodash.values": "4.3.0", "protons": "1.0.1", @@ -6304,7 +6936,7 @@ "integrity": "sha512-tCkobHxmK636lCF3PwIA/G8Ty7KGFVT/WW7zaNUUypMKJKT9gZg9U1d+BVTM2xA4TUYSnt8TTY6WgKeUfDffHg==", "dev": true, "requires": { - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "peer-id": "0.10.6", "peer-info": "0.11.6", "protons": "1.0.1", @@ -6361,7 +6993,7 @@ "dev": true, "requires": { "libp2p-tcp": "0.11.6", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "multicast-dns": "6.2.3", "peer-id": "0.10.6", "peer-info": "0.11.6" @@ -6402,7 +7034,7 @@ "async": "2.6.0", "debug": "3.1.0", "lodash": "4.17.5", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "peer-id": "0.10.6", "peer-info": "0.11.6" } @@ -6455,7 +7087,7 @@ "libp2p-circuit": "0.1.5", "libp2p-identify": "0.6.3", "lodash.includes": "4.3.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "multistream-select": "0.14.1", "once": "1.4.0", "peer-id": "0.10.6", @@ -6475,7 +7107,7 @@ "lodash.includes": "4.3.0", "lodash.isfunction": "3.0.9", "mafmt": "4.0.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "once": "1.4.0", "stream-to-pull-stream": "1.7.2" } @@ -6495,7 +7127,7 @@ "interface-connection": "0.3.2", "mafmt": "4.0.0", "minimist": "1.2.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "once": "1.4.0", "peer-id": "0.10.6", "peer-info": "0.11.6", @@ -6520,7 +7152,7 @@ "libp2p-crypto": "0.12.1", "mafmt": "4.0.0", "merge-recursive": "0.0.3", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "once": "1.4.0", "peer-id": "0.10.6", "peer-info": "0.11.6", @@ -6787,9 +7419,9 @@ } }, "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { @@ -6813,7 +7445,7 @@ "integrity": "sha512-zTqHhC9UUYlOkTwOXkdNqCE5U7vuz5UzlRJa4Et3ddCu/Sq36Z8F9mWCGdoqzahDcnRiGc515XjsnkAQHdH55g==", "dev": true, "requires": { - "multiaddr": "3.0.2" + "multiaddr": "3.1.0" } }, "make-dir": { @@ -6964,9 +7596,9 @@ } }, "micromatch": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", - "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "4.0.0", @@ -7076,10 +7708,10 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "duplexify": "3.5.4", "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.2", + "flush-write-stream": "1.0.3", "from2": "2.3.0", "parallel-transform": "1.1.0", "pump": "2.0.1", @@ -7191,9 +7823,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multiaddr": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-3.0.2.tgz", - "integrity": "sha512-TLEujk9VD1SR8HgV00rr1I3MWOk4t0GSDvxzzOO1m1hfxdv4DkFHmKKUHngUCiWHDeClHKSSV23Ig5/Mav3MQw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-3.1.0.tgz", + "integrity": "sha512-QhmsD/TufS5KB7brd1rkzLz2sJqybQlDT9prroiWacaw61DtHoe2X/vcAnOu8mZc7s7ZzevFPvY5tzv3yjBXlQ==", "dev": true, "requires": { "bs58": "4.0.1", @@ -7450,9 +8082,9 @@ } }, "node-localstorage": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.0.tgz", - "integrity": "sha1-LkNqro3Mms6XtDxlwWwNV3vgpVw=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz", + "integrity": "sha512-NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==", "requires": { "write-file-atomic": "1.3.4" } @@ -7472,17 +8104,6 @@ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } - }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -7529,13 +8150,6 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7671,20 +8285,20 @@ } }, "orbit-db-counterstore": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-counterstore/-/orbit-db-counterstore-1.2.0.tgz", - "integrity": "sha512-IUmFtZdyYqzA46AnO+qgxlwIXVbXPbgVdogrJ6ZdgrXtXViLU2nFVOp4PPXRENCEyMuQW6OGVpu/kO1bRhUmcg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-counterstore/-/orbit-db-counterstore-1.3.0.tgz", + "integrity": "sha512-PmXvxJzYvHrcPNXjkzOmHpHchIH+WavV8vOXCn/ufvrtpWVmIx7hZVJaz4jppOwX+g3AtgKETcuVv1XokDmuvw==", "requires": { "crdts": "0.1.5", - "orbit-db-store": "2.2.1" + "orbit-db-store": "2.3.0" } }, "orbit-db-docstore": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-docstore/-/orbit-db-docstore-1.2.0.tgz", - "integrity": "sha512-ciJkR3Ub4CbZeNj2MkVLQz5czc4fiLgCAuuSyGRrTSi72A0ubJ74mgPh5gzCFMsF1yeMFMM+xBiqg9PjUFzFeg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-docstore/-/orbit-db-docstore-1.3.0.tgz", + "integrity": "sha512-+luBcnmjsZ179z+cP14QjxfLNwZSjdEyQIp7X+tJK3TGilCHNXvkksMP3Xqqe6udtZqW7T12en+XPl1dAZzOhg==", "requires": { - "orbit-db-store": "2.2.1", + "orbit-db-store": "2.3.0", "p-map": "1.1.1" }, "dependencies": { @@ -7696,19 +8310,19 @@ } }, "orbit-db-eventstore": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-eventstore/-/orbit-db-eventstore-1.2.0.tgz", - "integrity": "sha512-6ERKUkMUIy/n2Cq9b/ZN/zHktGTSxXXFd2rH/DnnbU3WbmHQabrk5P2kSUVHt4CONcyrorQoUNB/kbPrX7aZJA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-eventstore/-/orbit-db-eventstore-1.3.0.tgz", + "integrity": "sha512-8zFsc/12od4vuqwNq3qMIH/ehaYLote4PWoiBPOEDojPI02NWaiCC1jiyZM669p3ZhLU28UKCRRb3MRapLRAfQ==", "requires": { - "orbit-db-store": "2.2.1" + "orbit-db-store": "2.3.0" } }, "orbit-db-feedstore": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-feedstore/-/orbit-db-feedstore-1.2.0.tgz", - "integrity": "sha512-1xGECp8tZ44SyzNlWz3u2QaqaUGbKQ7CyYWIzvuXHgFtXvZRQd9gC1r9JXc48HHLajTBmuXUlHr1megqKKIgMg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-feedstore/-/orbit-db-feedstore-1.3.0.tgz", + "integrity": "sha512-NMSA6DPK2qzL2ydYiOMLjN29+P0ffepdHezvOH1U9oHI///gUgYs7pRB3nuqtKnxf1jou6QzXQlDFLkvp+AG9A==", "requires": { - "orbit-db-eventstore": "1.2.0" + "orbit-db-eventstore": "1.3.0" } }, "orbit-db-keystore": { @@ -7718,15 +8332,15 @@ "requires": { "elliptic": "6.4.0", "mkdirp": "0.5.1", - "node-localstorage": "1.3.0" + "node-localstorage": "1.3.1" } }, "orbit-db-kvstore": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-kvstore/-/orbit-db-kvstore-1.2.0.tgz", - "integrity": "sha512-knSMO655vH4HH2OR1gRIj2b7Z0z7T2lPGta6Z76vC/CXjD3yZSrrudYQ+Qyb8ZYoFhpH1tLfEdq9rEO5EPTjkg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-kvstore/-/orbit-db-kvstore-1.3.0.tgz", + "integrity": "sha512-S8cKGDyt8D/mjwC7WzMZCyT+FsyNq3AiTYHKfjNZxZjzpql833SrdaTkSxuHkQ1mQ7V2Gqf9FG028hx62kbl8g==", "requires": { - "orbit-db-store": "2.2.1" + "orbit-db-store": "2.3.0" } }, "orbit-db-pubsub": { @@ -7739,9 +8353,9 @@ } }, "orbit-db-store": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/orbit-db-store/-/orbit-db-store-2.2.1.tgz", - "integrity": "sha512-KnWK9Nl43bX9XnSB5sBQV/T0bc1rSHzsBy1LCY3NxmnL18Nx0kXiWD4OPHxnew+41Bd5B0eSFa/d2bqT+xHpsg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-store/-/orbit-db-store-2.3.0.tgz", + "integrity": "sha512-XzGhMwUknyOY25vUlUSf0tm6A2lrsKGyGNIZrUbRqFauOQPJOpWPR0DOE0rWMk5EW391dkT02/inFfc2pfU4dw==", "requires": { "ipfs-log": "4.0.6", "logplease": "1.2.14", @@ -7777,17 +8391,6 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, "p-each-series": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", @@ -7994,7 +8597,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "sha.js": "2.4.11" } }, "peer-book": { @@ -8027,7 +8630,7 @@ "dev": true, "requires": { "lodash.uniqby": "4.7.0", - "multiaddr": "3.0.2", + "multiaddr": "3.1.0", "peer-id": "0.10.6" } }, @@ -8060,13 +8663,6 @@ } } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true, - "optional": true - }, "pez": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/pez/-/pez-2.1.5.tgz", @@ -8222,7 +8818,7 @@ "dev": true, "optional": true, "requires": { - "gc-stats": "1.1.0", + "gc-stats": "1.1.1", "optional": "0.1.4" } }, @@ -8785,37 +9381,6 @@ "is-finite": "1.0.2" } }, - "request": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", - "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -8939,21 +9504,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.2.1", + "ajv": "6.3.0", "ajv-keywords": "3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.1.tgz", - "integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=", - "dev": true, - "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - } } }, "secp256k1": { @@ -9039,9 +9591,9 @@ "dev": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "2.0.3", @@ -9294,25 +9846,6 @@ "kind-of": "3.2.2" } }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "dev": true, - "optional": true, - "requires": { - "hoek": "4.2.1" - }, - "dependencies": { - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true, - "optional": true - } - } - }, "socket.io": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", @@ -9518,39 +10051,6 @@ "integrity": "sha1-z/yvcC2vZeo5u04PorKZzsGhvkY=", "dev": true }, - "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - } - } - }, "ssri": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", @@ -9774,13 +10274,6 @@ "safe-buffer": "5.1.1" } }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -9857,17 +10350,6 @@ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", "dev": true }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, "tar-fs": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", @@ -9890,41 +10372,12 @@ } } }, - "tar-pack": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", - "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.9", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.5", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, "tar-stream": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", "requires": { - "bl": "1.2.1", + "bl": "1.2.2", "end-of-stream": "1.4.1", "readable-stream": "2.3.5", "xtend": "4.0.1" @@ -10099,25 +10552,6 @@ } } }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - } - } - }, "traverse": { "version": "0.6.6", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", @@ -10231,13 +10665,6 @@ } } }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true, - "optional": true - }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", @@ -10530,18 +10957,6 @@ "safe-buffer": "5.1.1" } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, "vise": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/vise/-/vise-2.0.2.tgz", @@ -10574,7 +10989,7 @@ "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==", "dev": true, "requires": { - "chokidar": "2.0.2", + "chokidar": "2.0.3", "graceful-fs": "4.1.11", "neo-async": "2.5.0" } @@ -10591,7 +11006,7 @@ "requires": { "acorn": "5.5.3", "acorn-dynamic-import": "2.0.2", - "ajv": "6.2.1", + "ajv": "6.3.0", "ajv-keywords": "3.1.0", "async": "2.6.0", "enhanced-resolve": "3.4.1", @@ -10613,17 +11028,6 @@ "yargs": "8.0.2" }, "dependencies": { - "ajv": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.1.tgz", - "integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=", - "dev": true, - "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", diff --git a/package.json b/package.json index 9a08605..ece6ce1 100644 --- a/package.json +++ b/package.json @@ -13,15 +13,16 @@ }, "main": "src/OrbitDB.js", "dependencies": { + "ipfs-pubsub-1on1": "~0.0.2", "logplease": "^1.2.14", "multihashes": "^0.4.12", "orbit-db-cache": "~0.2.2", - "orbit-db-counterstore": "~1.2.0", - "orbit-db-docstore": "~1.2.0", - "orbit-db-eventstore": "~1.2.0", - "orbit-db-feedstore": "~1.2.0", + "orbit-db-counterstore": "~1.3.0", + "orbit-db-docstore": "~1.3.0", + "orbit-db-eventstore": "~1.3.0", + "orbit-db-feedstore": "~1.3.0", "orbit-db-keystore": "~0.1.0", - "orbit-db-kvstore": "~1.2.0", + "orbit-db-kvstore": "~1.3.0", "orbit-db-pubsub": "~0.4.0" }, "devDependencies": { diff --git a/src/OrbitDB.js b/src/OrbitDB.js index c81b9dd..2b30f7d 100644 --- a/src/OrbitDB.js +++ b/src/OrbitDB.js @@ -7,6 +7,7 @@ const KeyValueStore = require('orbit-db-kvstore') const CounterStore = require('orbit-db-counterstore') const DocumentStore = require('orbit-db-docstore') const Pubsub = require('orbit-db-pubsub') +const Channel = require('ipfs-pubsub-1on1') const Cache = require('orbit-db-cache') const Keystore = require('orbit-db-keystore') const AccessController = require('./ipfs-access-controller') @@ -37,6 +38,7 @@ class OrbitDB { this.directory = directory || './orbitdb' this.keystore = options.keystore || Keystore.create(path.join(this.directory, this.id, '/keystore')) this.key = this.keystore.getKey(this.id) || this.keystore.createKey(this.id) + this._directConnections = {} } /* Databases */ @@ -85,6 +87,12 @@ class OrbitDB { delete this.stores[db.address.toString()] } + // Close all direct connections to peers + Object.keys(this._directConnections).forEach(e => { + this._directConnections[e].close() + delete this._directConnections[e] + }) + // Disconnect from pubsub if (this._pubsub) this._pubsub.disconnect() @@ -118,11 +126,11 @@ class OrbitDB { accessController: accessController, keystore: this.keystore, cache: cache, + onClose: this._onClose.bind(this), }) const store = new Store(this._ipfs, this.id, address, opts) store.events.on('write', this._onWrite.bind(this)) - store.events.on('closed', this._onClosed.bind(this)) // ID of the store is the address as a string const addr = address.toString() @@ -145,33 +153,49 @@ class OrbitDB { const store = this.stores[address] try { logger.debug(`Received ${heads.length} heads for '${address}':\n`, JSON.stringify(heads.map(e => e.hash), null, 2)) - await store.sync(heads) + if (store) + await store.sync(heads) } catch (e) { logger.error(e) } } // Callback for when a peer connected to a database - _onPeerConnected (address, peer, room) { + async _onPeerConnected (address, peer, room) { logger.debug(`New peer '${peer}' connected to '${address}'`) const store = this.stores[address] if (store) { + // Create a direct channel to the connected peer + let channel = this._directConnections[peer] + if (!channel) { + try { + logger.debug(`Create a channel`) + channel = await Channel.open(this._ipfs, peer) + channel.on('message', (message) => this._onMessage(address, JSON.parse(message.data))) + this._directConnections[peer] = channel + logger.debug(`Channel created`) + } catch (e) { + console.error(e) + logger.error(e) + } + } // Send the newly connected peer our latest heads let heads = store._oplog.heads if (heads.length > 0) { + // Wait for the direct channel to be fully connected + await channel.connect() logger.debug(`Send latest heads of '${address}':\n`, JSON.stringify(heads.map(e => e.hash), null, 2)) - room.sendTo(peer, JSON.stringify(heads)) + channel.send(JSON.stringify(heads)) } store.events.emit('peer', peer) + } else { + logger.error(`Database '${address}' is not open!`) } } // Callback when database was closed - _onClosed (address) { - logger.debug(`Database '${address}' was closed`) - - // Remove the callback from the database - this.stores[address].events.removeAllListeners('closed') + _onClose (address) { + logger.debug(`Close ${address}`) // Unsubscribe from pubsub if(this._pubsub) diff --git a/test/replicate-automatically.test.js b/test/replicate-automatically.test.js index 74a32ff..40751aa 100644 --- a/test/replicate-automatically.test.js +++ b/test/replicate-automatically.test.js @@ -41,16 +41,11 @@ describe('orbit-db - Automatic Replication', function() { if(orbitdb2) await orbitdb2.stop() - return new Promise((resolve) => { - setTimeout(async () => { - if (ipfs1) - await ipfs1.stop() + if (ipfs1) + await ipfs1.stop() - if (ipfs2) - await ipfs2.stop() - resolve() - }, 2000) - }) + if (ipfs2) + await ipfs2.stop() }) beforeEach(async () => {