diff --git a/package-lock.json b/package-lock.json index edd7590..9705db2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2255,6 +2255,26 @@ "leveldown": "^3.0.2", "levelup": "^2.0.2", "pull-stream": "^3.6.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.4.1", + "resolved": "http://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", + "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", + "requires": { + "xtend": "~4.0.0" + } + }, + "level-js": { + "version": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "from": "github:timkuijsten/level.js#idbunwrapper", + "requires": { + "abstract-leveldown": "~2.4.1", + "idb-readable-stream": "0.0.4", + "ltgt": "^2.1.2", + "xtend": "^4.0.1" + } + } } }, "date-time": { @@ -2463,11 +2483,6 @@ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "dirty-chai": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", - "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==" - }, "dns-packet": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz", @@ -3058,7 +3073,7 @@ }, "ethereumjs-block": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", + "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", "requires": { "async": "^2.0.1", @@ -5479,6 +5494,117 @@ "safe-buffer": "^5.1.1" } }, + "datastore-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.5.0.tgz", + "integrity": "sha512-H15EZOXLZXJRXTKQ2EQ6lms93fYXsFUgTWYjtJfsGyhs8MAEfjzoFM1HpP4l1/TiWSz2weslyl57M/q2U65sgw==", + "requires": { + "async": "^2.6.1", + "interface-datastore": "~0.5.0", + "left-pad": "^1.3.0", + "pull-many": "^1.0.8", + "pull-stream": "^3.6.9" + }, + "dependencies": { + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + } + } + }, + "datastore-fs": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.6.0.tgz", + "integrity": "sha512-/e2R+jxyR1ACzy3nzW02A0spUrBC525eeq0lVC0VDqdIO2qva1wCN5XDWwpmL7vxngSFGhzpKh42q58fT2YIOw==", + "requires": { + "async": "^2.6.1", + "datastore-core": "~0.5.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.11", + "interface-datastore": "~0.5.0", + "mkdirp": "~0.5.1", + "pull-stream": "^3.6.9", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + } + } + }, + "datastore-level": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.9.0.tgz", + "integrity": "sha512-BL2KE1P5xgYWFRsOdwPEpTwW6Ebpxnp3Ir6aAC5Era+zMS3Vtf14vn2q8cUMvc4GCo68iqL3pknT4Ds9/xFKMw==", + "requires": { + "datastore-core": "~0.5.0", + "encoding-down": "^5.0.4", + "interface-datastore": "~0.5.0", + "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "leveldown": "^3.0.2", + "levelup": "^2.0.2", + "pull-stream": "^3.6.9" + }, + "dependencies": { + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + } + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -5538,6 +5664,138 @@ "protons": "^1.0.0" } }, + "ipld": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.17.4.tgz", + "integrity": "sha512-V+qGqt3CWYb72GzjSUQiPnzv7wLKDazB3zEBuiJmbVAta8RaoCuqb8cbmYN1riIW0pERRHqinrkNPdP9pZgkNA==", + "requires": { + "async": "^2.6.1", + "cids": "~0.5.4", + "interface-datastore": "~0.5.0", + "ipfs-block": "~0.7.1", + "ipfs-block-service": "~0.14.0", + "ipfs-repo": "~0.24.0", + "ipld-bitcoin": "~0.1.7", + "ipld-dag-cbor": "~0.12.1", + "ipld-dag-pb": "~0.14.10", + "ipld-ethereum": "^2.0.1", + "ipld-git": "~0.2.1", + "ipld-raw": "^2.0.1", + "ipld-zcash": "~0.1.6", + "is-ipfs": "~0.4.2", + "lodash.flatten": "^4.4.0", + "lodash.includes": "^4.3.0", + "memdown": "^3.0.0", + "multihashes": "~0.4.14", + "pull-defer": "~0.2.3", + "pull-sort": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-traverse": "^1.0.3" + }, + "dependencies": { + "cids": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.5.tgz", + "integrity": "sha512-oU8v+N8rViFBcj5KcsXK0gbPiMFHpP/VGlGoWQXZguJsA8ZW0X47fKt0ZPIu03U8CL1Fy+R56tO79urY6MLaSw==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.5.0", + "multicodec": "~0.2.7", + "multihashes": "~0.4.14" + } + }, + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, + "ipfs-repo": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.24.0.tgz", + "integrity": "sha512-dbLuqHVK+RIsDHmbk7oxySMJNRz/PIROgIe5vjQKRqZyuNdh9gFTUsUEvEDsfMUgPhnS9cnf53YAR2B+EuMUrA==", + "requires": { + "async": "^2.6.0", + "base32.js": "~0.1.0", + "big.js": "^5.0.3", + "cids": "~0.5.3", + "datastore-core": "~0.5.0", + "datastore-fs": "~0.6.0", + "datastore-level": "~0.9.0", + "debug": "^3.1.0", + "interface-datastore": "~0.5.0", + "ipfs-block": "~0.7.1", + "lock-me": "^1.0.4", + "lodash.get": "^4.4.2", + "lodash.has": "^4.5.2", + "lodash.set": "^4.3.2", + "multiaddr": "^4.0.0", + "pull-stream": "^3.6.7", + "sort-keys": "^2.0.0" + } + }, + "ipld-dag-pb": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.10.tgz", + "integrity": "sha512-wtdZzLN21fg8JPYzu2gM4bNUDX65G9exXqsMAwnkeJUIeeA8Ot2BxB0ZY0wo5N26IudXNJnb4rAJKmZlsOykuw==", + "requires": { + "async": "^2.6.1", + "bs58": "^4.0.1", + "cids": "~0.5.4", + "class-is": "^1.1.0", + "is-ipfs": "~0.4.2", + "multihashing-async": "~0.5.1", + "protons": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-traverse": "^1.0.3", + "stable": "~0.1.8" + } + }, + "multiaddr": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-4.0.0.tgz", + "integrity": "sha512-zUatrOCfBd/tJNOSoJ10d2EI2FDXB9PyPZhqUMdXE9mOyR3C+HLuOjga2Ga/eChwvEHIpTYRMoIKF2Nv7af2qQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multibase": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.5.0.tgz", + "integrity": "sha512-7epKiK8/UBzraYZvOuZa8FH/00hMfTnzTy1OQol1YBU2csAYA7rwWh+iue9plXRmVFBGvmVKMuo0oq5sD47kvw==", + "requires": { + "base-x": "3.0.4" + } + }, + "multihashes": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", + "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + } + } + }, "ipld-dag-cbor": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.12.1.tgz", @@ -5616,6 +5874,14 @@ "yallist": "^2.1.2" } }, + "multicodec": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", + "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "requires": { + "varint": "^5.0.0" + } + }, "multihashing-async": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.1.tgz", @@ -5758,6 +6024,16 @@ } } } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } } } }, @@ -5825,6 +6101,21 @@ "protons": "^1.0.0" } }, + "ipld-dag-cbor": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.12.1.tgz", + "integrity": "sha512-m0BR/zR9sKIuY/PydppkpwO0S9w7+ob0as7RN3jQmMIpW9m8HW7hLznvtp1xpYZknH7efUhIaMHgaQP43E5IWQ==", + "requires": { + "async": "^2.6.0", + "borc": "^2.0.2", + "bs58": "^4.0.1", + "cids": "~0.5.2", + "is-circular": "^1.0.1", + "multihashes": "~0.4.12", + "multihashing-async": "~0.5.1", + "traverse": "~0.6.6" + } + }, "ipld-dag-pb": { "version": "0.14.8", "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.8.tgz", @@ -6170,11 +6461,101 @@ "lodash": "^4.17.10" } }, + "datastore-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.5.0.tgz", + "integrity": "sha512-H15EZOXLZXJRXTKQ2EQ6lms93fYXsFUgTWYjtJfsGyhs8MAEfjzoFM1HpP4l1/TiWSz2weslyl57M/q2U65sgw==", + "requires": { + "async": "^2.6.1", + "interface-datastore": "~0.5.0", + "left-pad": "^1.3.0", + "pull-many": "^1.0.8", + "pull-stream": "^3.6.9" + } + }, + "datastore-fs": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.6.0.tgz", + "integrity": "sha512-/e2R+jxyR1ACzy3nzW02A0spUrBC525eeq0lVC0VDqdIO2qva1wCN5XDWwpmL7vxngSFGhzpKh42q58fT2YIOw==", + "requires": { + "async": "^2.6.1", + "datastore-core": "~0.5.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.11", + "interface-datastore": "~0.5.0", + "mkdirp": "~0.5.1", + "pull-stream": "^3.6.9", + "write-file-atomic": "^2.3.0" + } + }, + "datastore-level": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.9.0.tgz", + "integrity": "sha512-BL2KE1P5xgYWFRsOdwPEpTwW6Ebpxnp3Ir6aAC5Era+zMS3Vtf14vn2q8cUMvc4GCo68iqL3pknT4Ds9/xFKMw==", + "requires": { + "datastore-core": "~0.5.0", + "encoding-down": "^5.0.4", + "interface-datastore": "~0.5.0", + "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "leveldown": "^3.0.2", + "levelup": "^2.0.2", + "pull-stream": "^3.6.9" + } + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, + "ipfs-repo": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.24.0.tgz", + "integrity": "sha512-dbLuqHVK+RIsDHmbk7oxySMJNRz/PIROgIe5vjQKRqZyuNdh9gFTUsUEvEDsfMUgPhnS9cnf53YAR2B+EuMUrA==", + "requires": { + "async": "^2.6.0", + "base32.js": "~0.1.0", + "big.js": "^5.0.3", + "cids": "~0.5.3", + "datastore-core": "~0.5.0", + "datastore-fs": "~0.6.0", + "datastore-level": "~0.9.0", + "debug": "^3.1.0", + "interface-datastore": "~0.5.0", + "ipfs-block": "~0.7.1", + "lock-me": "^1.0.4", + "lodash.get": "^4.4.2", + "lodash.has": "^4.5.2", + "lodash.set": "^4.3.2", + "multiaddr": "^4.0.0", + "pull-stream": "^3.6.7", + "sort-keys": "^2.0.0" + } + }, "ipfs-unixfs": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-0.1.15.tgz", @@ -6183,6 +6564,97 @@ "protons": "^1.0.0" } }, + "ipld": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.17.4.tgz", + "integrity": "sha512-V+qGqt3CWYb72GzjSUQiPnzv7wLKDazB3zEBuiJmbVAta8RaoCuqb8cbmYN1riIW0pERRHqinrkNPdP9pZgkNA==", + "requires": { + "async": "^2.6.1", + "cids": "~0.5.4", + "interface-datastore": "~0.5.0", + "ipfs-block": "~0.7.1", + "ipfs-block-service": "~0.14.0", + "ipfs-repo": "~0.24.0", + "ipld-bitcoin": "~0.1.7", + "ipld-dag-cbor": "~0.12.1", + "ipld-dag-pb": "~0.14.10", + "ipld-ethereum": "^2.0.1", + "ipld-git": "~0.2.1", + "ipld-raw": "^2.0.1", + "ipld-zcash": "~0.1.6", + "is-ipfs": "~0.4.2", + "lodash.flatten": "^4.4.0", + "lodash.includes": "^4.3.0", + "memdown": "^3.0.0", + "multihashes": "~0.4.14", + "pull-defer": "~0.2.3", + "pull-sort": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-traverse": "^1.0.3" + }, + "dependencies": { + "cids": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.5.tgz", + "integrity": "sha512-oU8v+N8rViFBcj5KcsXK0gbPiMFHpP/VGlGoWQXZguJsA8ZW0X47fKt0ZPIu03U8CL1Fy+R56tO79urY6MLaSw==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.5.0", + "multicodec": "~0.2.7", + "multihashes": "~0.4.14" + } + }, + "ipld-dag-pb": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.10.tgz", + "integrity": "sha512-wtdZzLN21fg8JPYzu2gM4bNUDX65G9exXqsMAwnkeJUIeeA8Ot2BxB0ZY0wo5N26IudXNJnb4rAJKmZlsOykuw==", + "requires": { + "async": "^2.6.1", + "bs58": "^4.0.1", + "cids": "~0.5.4", + "class-is": "^1.1.0", + "is-ipfs": "~0.4.2", + "multihashing-async": "~0.5.1", + "protons": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-traverse": "^1.0.3", + "stable": "~0.1.8" + } + }, + "multibase": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.5.0.tgz", + "integrity": "sha512-7epKiK8/UBzraYZvOuZa8FH/00hMfTnzTy1OQol1YBU2csAYA7rwWh+iue9plXRmVFBGvmVKMuo0oq5sD47kvw==", + "requires": { + "base-x": "3.0.4" + } + }, + "multihashes": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", + "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } + } + } + }, + "ipld-dag-cbor": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.12.1.tgz", + "integrity": "sha512-m0BR/zR9sKIuY/PydppkpwO0S9w7+ob0as7RN3jQmMIpW9m8HW7hLznvtp1xpYZknH7efUhIaMHgaQP43E5IWQ==", + "requires": { + "async": "^2.6.0", + "borc": "^2.0.2", + "bs58": "^4.0.1", + "cids": "~0.5.2", + "is-circular": "^1.0.1", + "multihashes": "~0.4.12", + "multihashing-async": "~0.5.1", + "traverse": "~0.6.6" + } + }, "ipld-dag-pb": { "version": "0.14.8", "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.8.tgz", @@ -6217,6 +6689,29 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, + "multiaddr": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-4.0.0.tgz", + "integrity": "sha512-zUatrOCfBd/tJNOSoJ10d2EI2FDXB9PyPZhqUMdXE9mOyR3C+HLuOjga2Ga/eChwvEHIpTYRMoIKF2Nv7af2qQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multicodec": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", + "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "requires": { + "varint": "^5.0.0" + } + }, "multihashing-async": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.1.tgz", @@ -6230,6 +6725,11 @@ "nodeify": "^1.0.1" } }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, "pull-stream": { "version": "3.6.9", "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", @@ -6239,35 +6739,34 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } } } }, "ipld": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.17.3.tgz", - "integrity": "sha512-nUWbYfB59PTf/Hq0OEnitbR2hQb7k8/DOINpR6dXQ9MXVWh1cKxGs3ENOHuRr944T/ge2cJwI3XertcWqm0lXg==", + "version": "git+https://github.com/ipld/js-ipld.git#e50db2c7dedd952823b1ee1ae060563479967f75", + "from": "git+https://github.com/ipld/js-ipld.git#options-api", "requires": { "async": "^2.6.1", - "cids": "~0.5.3", - "interface-datastore": "~0.4.2", + "cids": "~0.5.4", + "interface-datastore": "~0.5.0", "ipfs-block": "~0.7.1", "ipfs-block-service": "~0.14.0", - "ipfs-repo": "~0.22.1", - "ipld-bitcoin": "~0.1.6", - "ipld-dag-cbor": "~0.12.1", - "ipld-dag-pb": "~0.14.5", - "ipld-ethereum": "^2.0.1", - "ipld-git": "~0.2.1", - "ipld-raw": "^2.0.1", - "ipld-zcash": "~0.1.4", - "is-ipfs": "~0.3.2", - "lodash.flatten": "^4.4.0", - "lodash.includes": "^4.3.0", - "memdown": "^3.0.0", - "multihashes": "~0.4.13", - "pull-defer": "~0.2.2", - "pull-sort": "^1.0.1", - "pull-stream": "^3.6.8", + "ipfs-repo": "~0.24.0", + "ipld-dag-cbor": "~0.13.0", + "ipld-dag-pb": "~0.14.10", + "merge-options": "^1.0.1", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", "pull-traverse": "^1.0.3" }, "dependencies": { @@ -6279,74 +6778,111 @@ "lodash": "^4.17.10" } }, + "cids": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.5.tgz", + "integrity": "sha512-oU8v+N8rViFBcj5KcsXK0gbPiMFHpP/VGlGoWQXZguJsA8ZW0X47fKt0ZPIu03U8CL1Fy+R56tO79urY6MLaSw==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.5.0", + "multicodec": "~0.2.7", + "multihashes": "~0.4.14" + } + }, + "datastore-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.5.0.tgz", + "integrity": "sha512-H15EZOXLZXJRXTKQ2EQ6lms93fYXsFUgTWYjtJfsGyhs8MAEfjzoFM1HpP4l1/TiWSz2weslyl57M/q2U65sgw==", + "requires": { + "async": "^2.6.1", + "interface-datastore": "~0.5.0", + "left-pad": "^1.3.0", + "pull-many": "^1.0.8", + "pull-stream": "^3.6.9" + } + }, + "datastore-fs": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.6.0.tgz", + "integrity": "sha512-/e2R+jxyR1ACzy3nzW02A0spUrBC525eeq0lVC0VDqdIO2qva1wCN5XDWwpmL7vxngSFGhzpKh42q58fT2YIOw==", + "requires": { + "async": "^2.6.1", + "datastore-core": "~0.5.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.11", + "interface-datastore": "~0.5.0", + "mkdirp": "~0.5.1", + "pull-stream": "^3.6.9", + "write-file-atomic": "^2.3.0" + } + }, + "datastore-level": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.9.0.tgz", + "integrity": "sha512-BL2KE1P5xgYWFRsOdwPEpTwW6Ebpxnp3Ir6aAC5Era+zMS3Vtf14vn2q8cUMvc4GCo68iqL3pknT4Ds9/xFKMw==", + "requires": { + "datastore-core": "~0.5.0", + "encoding-down": "^5.0.4", + "interface-datastore": "~0.5.0", + "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "leveldown": "^3.0.2", + "levelup": "^2.0.2", + "pull-stream": "^3.6.9" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "interface-datastore": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.5.0.tgz", + "integrity": "sha512-JBQG5zCsh71DdDD01PzRrhlFBI0FCj6zAlJVBcnsZlfK74BK7Yx8f3SPxk240/JplrA919mjfrpe1W7BaovtRg==", + "requires": { + "async": "^2.6.1", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.3.2" + } + }, "ipfs-repo": { - "version": "0.22.1", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.22.1.tgz", - "integrity": "sha512-57RAHqbMMcVLEkbzx6PlMs7LnwsfMJrzjjNCNAsQuN2wcT8Abm09UIjo2P36x0leYMNIG2SWiyr1H5OLSKn74Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.24.0.tgz", + "integrity": "sha512-dbLuqHVK+RIsDHmbk7oxySMJNRz/PIROgIe5vjQKRqZyuNdh9gFTUsUEvEDsfMUgPhnS9cnf53YAR2B+EuMUrA==", "requires": { "async": "^2.6.0", "base32.js": "~0.1.0", "big.js": "^5.0.3", "cids": "~0.5.3", - "datastore-core": "~0.4.0", - "datastore-fs": "~0.5.0", - "datastore-level": "~0.8.0", + "datastore-core": "~0.5.0", + "datastore-fs": "~0.6.0", + "datastore-level": "~0.9.0", "debug": "^3.1.0", - "interface-datastore": "~0.4.2", + "interface-datastore": "~0.5.0", "ipfs-block": "~0.7.1", "lock-me": "^1.0.4", "lodash.get": "^4.4.2", "lodash.has": "^4.5.2", "lodash.set": "^4.3.2", "multiaddr": "^4.0.0", - "pull-stream": "^3.6.7" - } - }, - "ipld-dag-pb": { - "version": "0.14.8", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.8.tgz", - "integrity": "sha512-gctCXJmRwUNOSiBgrq+kTL6lGnpJ3PKm8YCfYh7q0/kDCeRxoz72syXnnbQAlU/qUcwVYCHyJYLOLUtGq0Y8tQ==", - "requires": { - "async": "^2.6.1", - "bs58": "^4.0.1", - "buffer-loader": "~0.0.1", - "cids": "~0.5.3", - "class-is": "^1.1.0", - "is-ipfs": "~0.4.2", - "multihashing-async": "~0.5.1", - "protons": "^1.0.1", - "pull-stream": "^3.6.8", - "pull-traverse": "^1.0.3", - "stable": "~0.1.8" - }, - "dependencies": { - "is-ipfs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.4.2.tgz", - "integrity": "sha512-v/73Qf9kjDq8gjMyK8gn+KrLmJh8B4uS7fVGP7UYBUxXkFquW+puPV0P8TeXNd+C6EEvaOO3If6vxQ7UkznNAg==", - "requires": { - "bs58": "4.0.1", - "cids": "0.5.3", - "multibase": "0.4.0", - "multihashes": "0.4.13" - } - } - } - }, - "is-ipfs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.3.2.tgz", - "integrity": "sha512-82V1j4LMkYy7H4seQQzOWqo7FiW3I64/1/ryo3dhtWKfOvm7ZolLMRQQfGKs4OXWauh5rAkPnamVcRISHwhmpQ==", - "requires": { - "bs58": "^4.0.1", - "cids": "~0.5.1", - "multihashes": "~0.4.9" + "pull-stream": "^3.6.7", + "sort-keys": "^2.0.0" } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "multiaddr": { "version": "4.0.0", @@ -6363,36 +6899,54 @@ "xtend": "^4.0.1" } }, - "multihashing-async": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.1.tgz", - "integrity": "sha512-Ft5lQNcJCfsns1QN1TDXqPZrrNwBYqIokprYJR2h2Jj01x0GFcYmJYAqHvme6vJoyI3XptEcmZpdr9g5Oy7q3Q==", + "multibase": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.5.0.tgz", + "integrity": "sha512-7epKiK8/UBzraYZvOuZa8FH/00hMfTnzTy1OQol1YBU2csAYA7rwWh+iue9plXRmVFBGvmVKMuo0oq5sD47kvw==", "requires": { - "async": "^2.6.1", - "blakejs": "^1.1.0", - "js-sha3": "^0.7.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "base-x": "3.0.4" } }, - "pull-stream": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", - "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==" + "multicodec": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", + "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "requires": { + "varint": "^5.0.0" + } }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "multihashes": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", + "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } } } }, "ipld-bitcoin": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/ipld-bitcoin/-/ipld-bitcoin-0.1.7.tgz", - "integrity": "sha512-tH0nA2PLaLPjFJFY8aKNGEiE/X3FAIoAmYQZKv9d2TZFMF2n4kjhxZbLZPHZ9Lc+rjOxG2sym4HPylls69eeCw==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/ipld-bitcoin/-/ipld-bitcoin-0.1.8.tgz", + "integrity": "sha512-k/iSoZTDKWKxW3kXbhfWIsdU57HneGUhmUzSty/3nABZ0jw6dBRiJ70vXAVq8FRooNIbAR734H9CgelkxGCeSQ==", "requires": { + "async": "^2.6.1", "bitcoinjs-lib": "^3.3.2", "cids": "~0.5.2", "git-validate": "^2.2.2", @@ -6409,9 +6963,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "multihashing-async": { "version": "0.5.1", @@ -6429,24 +6983,89 @@ } }, "ipld-dag-cbor": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.12.1.tgz", - "integrity": "sha512-m0BR/zR9sKIuY/PydppkpwO0S9w7+ob0as7RN3jQmMIpW9m8HW7hLznvtp1xpYZknH7efUhIaMHgaQP43E5IWQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.13.0.tgz", + "integrity": "sha512-74gtitUOWbLkGtqomhq7lDYwWzfFNwbwMXAj3jpti4ZtfM9VTJWVIQ+05u7NOCj8yaLwzFONHdcO0rJ+j/i0jA==", "requires": { - "async": "^2.6.0", - "borc": "^2.0.2", + "async": "^2.6.1", + "borc": "^2.0.3", "bs58": "^4.0.1", - "cids": "~0.5.2", - "is-circular": "^1.0.1", - "multihashes": "~0.4.12", + "cids": "~0.5.5", + "is-circular": "^1.0.2", + "multihashes": "~0.4.14", "multihashing-async": "~0.5.1", "traverse": "~0.6.6" }, "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "^4.17.10" + } + }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" + }, + "borc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.0.4.tgz", + "integrity": "sha512-SCVjto/dbKfduyl+LDQ1Km28ly2aTIXtJbrYZWHFQAxkHph96I/zXTrTQXWuJobG8lQZjIA/dw9z7hmJHJhjMg==", + "requires": { + "bignumber.js": "^7.2.1", + "commander": "^2.15.0", + "ieee754": "^1.1.8", + "json-text-sequence": "^0.1" + } + }, + "cids": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.5.tgz", + "integrity": "sha512-oU8v+N8rViFBcj5KcsXK0gbPiMFHpP/VGlGoWQXZguJsA8ZW0X47fKt0ZPIu03U8CL1Fy+R56tO79urY6MLaSw==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.5.0", + "multicodec": "~0.2.7", + "multihashes": "~0.4.14" + } + }, + "is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "multibase": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.5.0.tgz", + "integrity": "sha512-7epKiK8/UBzraYZvOuZa8FH/00hMfTnzTy1OQol1YBU2csAYA7rwWh+iue9plXRmVFBGvmVKMuo0oq5sD47kvw==", + "requires": { + "base-x": "3.0.4" + } + }, + "multicodec": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", + "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", + "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } }, "multihashing-async": { "version": "0.5.1", @@ -6459,35 +7078,23 @@ "multihashes": "~0.4.13", "murmurhash3js": "^3.0.1", "nodeify": "^1.0.1" - }, - "dependencies": { - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "^4.17.10" - } - } } } } }, "ipld-dag-pb": { - "version": "0.14.8", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.8.tgz", - "integrity": "sha512-gctCXJmRwUNOSiBgrq+kTL6lGnpJ3PKm8YCfYh7q0/kDCeRxoz72syXnnbQAlU/qUcwVYCHyJYLOLUtGq0Y8tQ==", - "dev": true, + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.10.tgz", + "integrity": "sha512-wtdZzLN21fg8JPYzu2gM4bNUDX65G9exXqsMAwnkeJUIeeA8Ot2BxB0ZY0wo5N26IudXNJnb4rAJKmZlsOykuw==", "requires": { "async": "^2.6.1", "bs58": "^4.0.1", - "buffer-loader": "~0.0.1", - "cids": "~0.5.3", + "cids": "~0.5.4", "class-is": "^1.1.0", "is-ipfs": "~0.4.2", "multihashing-async": "~0.5.1", "protons": "^1.0.1", - "pull-stream": "^3.6.8", + "pull-stream": "^3.6.9", "pull-traverse": "^1.0.3", "stable": "~0.1.8" }, @@ -6496,22 +7103,55 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, "requires": { "lodash": "^4.17.10" } }, + "cids": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.5.tgz", + "integrity": "sha512-oU8v+N8rViFBcj5KcsXK0gbPiMFHpP/VGlGoWQXZguJsA8ZW0X47fKt0ZPIu03U8CL1Fy+R56tO79urY6MLaSw==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.5.0", + "multicodec": "~0.2.7", + "multihashes": "~0.4.14" + } + }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "multibase": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.5.0.tgz", + "integrity": "sha512-7epKiK8/UBzraYZvOuZa8FH/00hMfTnzTy1OQol1YBU2csAYA7rwWh+iue9plXRmVFBGvmVKMuo0oq5sD47kvw==", + "requires": { + "base-x": "3.0.4" + } + }, + "multicodec": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.2.7.tgz", + "integrity": "sha512-96xc9zs7bsclMW0Po9ERnRFqcsWHY8OZ8JW/I8DeHG58YYJZy3cBGI00Ze7hz9Ix56DNHMTSxEj9cgoZByruMg==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.14.tgz", + "integrity": "sha512-V/g/EIN6nALXfS/xHUAgtfPP3mn3sPIF/i9beuGKf25QXS2QZYCpeVJbDPEannkz32B2fihzCe2D/KMrbcmefg==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } }, "multihashing-async": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.1.tgz", "integrity": "sha512-Ft5lQNcJCfsns1QN1TDXqPZrrNwBYqIokprYJR2h2Jj01x0GFcYmJYAqHvme6vJoyI3XptEcmZpdr9g5Oy7q3Q==", - "dev": true, "requires": { "async": "^2.6.1", "blakejs": "^1.1.0", @@ -6551,9 +7191,9 @@ } }, "ipld-git": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ipld-git/-/ipld-git-0.2.1.tgz", - "integrity": "sha512-DjCgL6n8vFRyjoyjt6BVMHWy9S9XaOHD+IDvnoeZU0oMRd68B3Y/heTI0HStMxrOhR8VNhjH5W+EpJ3823BAYQ==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ipld-git/-/ipld-git-0.2.2.tgz", + "integrity": "sha512-YHS3X9nyyrPeKZZ8S8oui3OysFo3NGyJ9lb4sjXa+hwcuFUHqkfZnQN/NtYuiEixONSoXhZTr6ZAALOccKvShw==", "requires": { "async": "^2.6.0", "cids": "~0.5.2", @@ -6565,9 +7205,9 @@ }, "dependencies": { "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "multihashing-async": { "version": "0.5.1", @@ -6612,9 +7252,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "multihashing-async": { "version": "0.5.1", @@ -6632,12 +7272,12 @@ } }, "ipld-zcash": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/ipld-zcash/-/ipld-zcash-0.1.5.tgz", - "integrity": "sha512-e8Fs85G7e7fzB9gWL4dRNxSro/Qz42PZwV//oogBRaFF1LOz0pKd/5uJy3Utvd1AgR5EcdnD2nngq+wZ58kSdA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ipld-zcash/-/ipld-zcash-0.1.6.tgz", + "integrity": "sha512-y/mFm0AJDODcQG4Limv9LxEuJJBkbmVVDx9jbRRbxJLn2czb+TMZ+lBVLFU37DITwgix7RuuPPWVcZCBFs2TTQ==", "requires": { + "async": "^2.6.1", "cids": "~0.5.2", - "dirty-chai": "^2.0.1", "multihashes": "~0.4.12", "multihashing-async": "~0.5.1", "zcash-bitcore-lib": "~0.13.20-rc3" @@ -6652,9 +7292,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "multihashing-async": { "version": "0.5.1", @@ -7328,7 +7968,7 @@ "dependencies": { "abstract-leveldown": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", + "resolved": "http://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", "requires": { "xtend": "~4.0.0" @@ -7357,7 +7997,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", @@ -7727,6 +8367,12 @@ "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" + }, + "dependencies": { + "webcrypto-shim": { + "version": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8", + "from": "github:dignifiedquire/webcrypto-shim#master" + } } }, "webcrypto-shim": { @@ -7849,6 +8495,12 @@ "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" + }, + "dependencies": { + "webcrypto-shim": { + "version": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8", + "from": "github:dignifiedquire/webcrypto-shim#master" + } } }, "webcrypto-shim": { @@ -8457,6 +9109,14 @@ } } }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + }, "merge-recursive": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/merge-recursive/-/merge-recursive-0.0.3.tgz", @@ -8468,9 +9128,9 @@ "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" }, "merkle-patricia-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.1.tgz", - "integrity": "sha512-Qp9Mpb3xazznXzzGQBqHbqCpT2AR9joUOHYYPiQjYCarrdCPCnLWXo4BFv77y4xN26KR224xoU1n/qYY7RYYgw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", + "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -8492,7 +9152,7 @@ }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "deferred-leveldown": { @@ -8523,7 +9183,7 @@ }, "level-iterator-stream": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "resolved": "http://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", "requires": { "inherits": "^2.0.1", @@ -8534,7 +9194,7 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -12858,8 +13518,7 @@ "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" }, "stack-utils": { "version": "1.0.1", @@ -13370,9 +14029,9 @@ } }, "typeforce": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.12.0.tgz", - "integrity": "sha512-fvnkvueAOFLhtAqDgIA/wMP21SMwS/NQESFKZuwVrj5m/Ew6eK2S0z0iB++cwtROPWDOhaT6OUfla8UwMw4Adg==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.15.1.tgz", + "integrity": "sha512-RYgFG+2GXx4V7guHOhW0cvryg/iWAoopbF/WlOI25YoV9rsOQ0E8bKfYAEZbJL0LJ8yVqcwp77tDG+oebBSNNw==" }, "ua-parser-js": { "version": "0.7.17", @@ -13922,7 +14581,7 @@ }, "lodash": { "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" } } diff --git a/package.json b/package.json index 3e7bb7c..dadeb08 100644 --- a/package.json +++ b/package.json @@ -38,14 +38,20 @@ "inquirer-command-prompt": "0.0.8", "ipfs": "^0.31.7", "ipfs-api": "^24.0.1", - "ipld": "^0.17.3", + "ipld": "^0.19.0", + "ipld-bitcoin": "^0.1.8", + "ipld-dag-cbor": "^0.13.0", + "ipld-dag-pb": "^0.14.10", + "ipld-ethereum": "^2.0.1", + "ipld-git": "^0.2.2", + "ipld-raw": "^2.0.1", + "ipld-zcash": "^0.1.6", "is-ipfs": "^0.4.2", "ora": "^3.0.0", "pull-stream": "^3.6.9" }, "devDependencies": { "ava": "^0.25.0", - "ipld-dag-pb": "^0.14.8", "nyc": "^12.0.2", "sinon": "^6.1.5", "standard": "^11.0.1" diff --git a/src/formatters/data.js b/src/formatters/data.js index 324df19..9c3c4ed 100644 --- a/src/formatters/data.js +++ b/src/formatters/data.js @@ -18,13 +18,8 @@ function formatCborData (data) { } function replaceCborLinks (data) { - if (data && data['/'] && Object.keys(data).length === 1) { - try { - return { '/': new CID(data['/']).toBaseEncodedString() } - } catch (err) { - debug(err) - return data - } + if (CID.isCID(data)) { + return { '/': data.toBaseEncodedString() } } else if (Array.isArray(data)) { return data.map(replaceCborLinks) } else if (typeof data === 'object') { diff --git a/src/lib/ipld/ipld.js b/src/lib/ipld/ipld.js index d1d7812..045c240 100644 --- a/src/lib/ipld/ipld.js +++ b/src/lib/ipld/ipld.js @@ -4,11 +4,32 @@ const isIpfs = require('is-ipfs') const CID = require('cids') const debug = require('debug')('ipld-explorer-cli:lib:ipld') const parsePath = require('./parse-ipld-path') +// Import all available formats +const ipldBitcoin = require('ipld-bitcoin') +const ipldDagPb = require('ipld-dag-pb') +const ipldDagCbor = require('ipld-dag-cbor') +const ipldEthAccountSnapshot = require('ipld-ethereum').ethAccountSnapshot +const ipldEthBlock = require('ipld-ethereum').ethBlock +const ipldEthBlockList = require('ipld-ethereum').ethBlockList +const ipldEthStateTrie = require('ipld-ethereum').ethStateTrie +const ipldEthStorageTrie = require('ipld-ethereum').ethStorageTrie +const ipldEthTx = require('ipld-ethereum').ethTx +const ipldEthtrie = require('ipld-ethereum').ethTxTrie +const ipldGit = require('ipld-git') +const ipldRaw = require('ipld-raw') +const ipldZcash = require('ipld-zcash') // A better IPLD™️ class Ipld { constructor (bs) { - this._ipld = new _Ipld(bs) + this._ipld = new _Ipld({ + blockService: bs, + formats: [ + ipldBitcoin, ipldDagPb, ipldDagCbor, ipldEthAccountSnapshot, + ipldEthBlock, ipldEthBlockList, ipldEthStateTrie, ipldEthStorageTrie, + ipldEthTx, ipldEthtrie, ipldGit, ipldRaw, ipldZcash + ] + }) this._bs = bs }