From 09fcd9083f0f4bbe58f157b6526b23434627a675 Mon Sep 17 00:00:00 2001 From: Ghilia Weldesselasie Date: Wed, 20 Nov 2019 04:59:27 -0500 Subject: [PATCH 1/4] chore(package): update to ethers v5 (#652) * update to ethers v5 * fix: fixes * fix: fixed ethers v5 imports --- package-lock.json | 6156 +++++++++++------------------ package.json | 5 +- src/3id/__tests__/keyring.test.js | 4 +- src/3id/index.js | 8 +- src/3id/keyring.js | 2 +- src/utils/index.js | 10 +- src/utils/verifier.js | 4 +- 7 files changed, 2241 insertions(+), 3948 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77f91ee9..7c7bb7a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "3box", - "version": "1.13.0-beta.2", + "version": "1.13.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -992,6 +992,394 @@ "to-fast-properties": "^2.0.0" } }, + "@ethersproject/abi": { + "version": "5.0.0-beta.140", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.140.tgz", + "integrity": "sha512-nVQ2SA4Kh5P17vyUSd4Sc3U1F8VQ4lmVTT3521R0v+covzqRplNOT3gyLkNEzmt7z/efJi+NYvEVTUj8eo9M5Q==", + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.0.0-beta.134", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.0-beta.134.tgz", + "integrity": "sha512-LvlyPINpA/uXWjpYl0flny4UbkykOrHeim+DN/yxbWLjzTgAKUpUJ2iFgqtJUbufR9vacSlCNI11yl0u6ofyig==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/networks": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/web": ">=5.0.0-beta.129" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.0-beta.135.tgz", + "integrity": "sha512-OKw6BFte9z8g+1S4AipDf9q07ekoVlaCCojTJxAGdeuubR2GeQLJHe8FietwI7EE+3b36BzekNk6FVCLfngrOQ==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131" + } + }, + "@ethersproject/address": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.0-beta.131.tgz", + "integrity": "sha512-tKtaqVs6jBk3o85WmIHEDlkZxUpX4pRIuSTIY2ElSLPJ31A7+iN8sf0/fdI7FH9Juza394YTbnjpbWNrYjBWow==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "bn.js": "^4.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.0.0-beta.129", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.0-beta.129.tgz", + "integrity": "sha512-NTMX2NTFM/pIkOmnEUwyi+fOjMcHQnbjO4t0v7OR7ikwlYVCvPrhq6DUnGbMc8LJ772SSk6EVamMn74MbE6qog==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129" + } + }, + "@ethersproject/basex": { + "version": "5.0.0-beta.130", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.0-beta.130.tgz", + "integrity": "sha512-AkFd1xLch0Yxex45zqvmBsnYHi/D5gINLS9VrBP9Mt+XuKma9XaWXasKHFAJ7m9mVgCDSlbG9CVy20ZsCxsY2Q==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131" + } + }, + "@ethersproject/bignumber": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.0-beta.133.tgz", + "integrity": "sha512-bvp7hFp8yE/+vdLOo7TdtzYtxUgJJNnpLWg6pUnd3Vg/05uJX7LfGr0n4WQ7t8Ue+I48rZ2PyeCzpY49XxBTqQ==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "bn.js": "^4.4.0" + } + }, + "@ethersproject/bytes": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.0-beta.132.tgz", + "integrity": "sha512-w8lf+xVdN3W48xg+JystkelbMWI7r8bRMpFKYIkNkKUc9JmxVI9voTV1AM/ELVCLpELYluZNZIpWJ/fSfQYs/A==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/constants": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.0-beta.131.tgz", + "integrity": "sha512-6goMTEnnPCYGCiNL80KbaLeaMvFQjdbAGmXD91zOm3zKJKEw92kQ4vJDR0YYnbw/TMRWi+8wI7Vz+y83BOUBQw==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130" + } + }, + "@ethersproject/contracts": { + "version": "5.0.0-beta.140", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.0-beta.140.tgz", + "integrity": "sha512-613V1pk4xh6ySso0ztZ4QZFj8HnXsKRisZR2ckFhbxkFMJZf/TYkcnBy4fnKC7V26WyPna7aEpemAOsRSoZW1Q==", + "requires": { + "@ethersproject/abi": ">=5.0.0-beta.137", + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/transactions": ">=5.0.0-beta.128" + } + }, + "@ethersproject/hash": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.0-beta.131.tgz", + "integrity": "sha512-GYRXnJChBLoZ52bQCVhhmLXEhFEKzZd1L4dmtv8DE5t9e37NF5AZrFT8vpTb5isuysEALz0lWn/InenLRVvOmg==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/hdnode": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.0-beta.133.tgz", + "integrity": "sha512-YTaIKr1TAmJC/6RKAC2AAOGSUofNrPKbQeE5xybwoPfNca2moq2mIXiH/+l0LJakt02aOglyx2pSKA6wKhqolA==", + "requires": { + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/basex": ">=5.0.0-beta.127", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/pbkdf2": ">=5.0.0-beta.127", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/sha2": ">=5.0.0-beta.129", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "@ethersproject/json-wallets": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.0-beta.132.tgz", + "integrity": "sha512-BdWnIGEWdP1jtPDHxWWp2Ou3XG+/k6+Ec3i45ysdhTrF+oiJHnFg4IjFkPSxr2n2z/y7o5FA8xThoe/4NwCQ+A==", + "requires": { + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hdnode": ">=5.0.0-beta.130", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/pbkdf2": ">=5.0.0-beta.127", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "aes-js": "3.0.0", + "scrypt-js": "2.0.4", + "uuid": "2.0.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.0.0-beta.130", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.0-beta.130.tgz", + "integrity": "sha512-wE2kkSqhXUYbr3VB7YSaQ16lVoyCiIUlSJ6UBckY55gPYIgpAaHb2TCY4rtxeKGpHkv/j+1DyKGB/UYSb+KCew==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "js-sha3": "0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + } + } + }, + "@ethersproject/logger": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.0-beta.131.tgz", + "integrity": "sha512-5WKvSvijhhQ5+7vCIJSU/fmxuGY2ENd+axeN/Gjk+0l1hZmYPSMvO4jJ1YSnu38BhhvI8aiVM3PDlmzAWwwv4g==" + }, + "@ethersproject/networks": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.0-beta.131.tgz", + "integrity": "sha512-4ZpZnJwTSS1MgbpjcatZKf4iytV0bJPg1MvP5hIo52RDEMwyztORdw7jawWmY9Pp7DbfvEBTZ5wkwXRGATF+8w==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.0.0-beta.130", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.0-beta.130.tgz", + "integrity": "sha512-Mwj5qOUqZbSsmpShQN4lwz/hswUo3f+s+cKV49eQtU3G4JaueUmRZ6HgLnO19s8/7VXgTQTQdUUEEufg4IRvqw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/sha2": ">=5.0.0-beta.129" + } + }, + "@ethersproject/properties": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.0-beta.133.tgz", + "integrity": "sha512-H9vG6h/wqWmonyS8mJyuIFJOlR0xHeUw4hWt6nplClYWOSVXR/RL10/tWKyXvu38efVVHgtXz4WH1Be2iq6e7g==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/providers": { + "version": "5.0.0-beta.144", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.0-beta.144.tgz", + "integrity": "sha512-r4WIDGlI2lcrUkldqfhUsegVL3LB08l0s8Ri1sPQyEVIB01ZDCvxxWk2dohTWSQHDAa7Nkym9EgKps6Ij3MEpQ==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/networks": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/web": ">=5.0.0-beta.129" + } + }, + "@ethersproject/random": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.0-beta.131.tgz", + "integrity": "sha512-h8CEtt2emj4/vpVMGRNgmhBkgupbtxTu9vYXxtYY+k2jyrrGS+SpOU0v5cmYay2H6PjDRbYU/17Jq6o42AwoJg==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/rlp": { + "version": "5.0.0-beta.129", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.0-beta.129.tgz", + "integrity": "sha512-DRLFIk0EilPn8DZiA7CLJjTgttOWJJ4iKOSgfjJ9JHMGFtnbQv6TzrBEjYGldZWvcXjke+ejJZBXgePFOgANCA==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129" + } + }, + "@ethersproject/sha2": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.0-beta.132.tgz", + "integrity": "sha512-+JVw5hOPqtgThWkmzylyLFwRonPH/YU4K9IHc7/KTMos1PERI55k1c8T8PjjuZMEo8U6QC4AgW5Ott2cUqhcmw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "hash.js": "1.1.3" + }, + "dependencies": { + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + } + } + }, + "@ethersproject/signing-key": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.0-beta.132.tgz", + "integrity": "sha512-8ymPrwrKU5WSCr+jsQVHH2+p+TgNMsPreFo59yQTDncZMMlEeq5ykAj1GH4pC/lb3sorefJVcdc+SdSThCsmYg==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "elliptic": "6.5.0" + }, + "dependencies": { + "elliptic": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + } + } + }, + "@ethersproject/strings": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.0-beta.133.tgz", + "integrity": "sha512-HECi1/szfKzFnkBgXNTzysGxLKeyNLEu3wlR//6LUpyYZ/xazenM/3Xhr4QuBPNssK8snpKyXL5MdR3yB4esFg==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/transactions": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.0-beta.131.tgz", + "integrity": "sha512-1oDpgUo+LxYv7z0P8GQ81uttY2L9AhGRYIc/VkTg5YRjF5djuOp6d9T5Grm0nCfTo2bwkOkq96rClb3ML4f8Pw==", + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "@ethersproject/signing-key": ">=5.0.0-beta.129" + } + }, + "@ethersproject/wallet": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.0-beta.133.tgz", + "integrity": "sha512-U/dGtRvAzdes2htIeEYy2qFqLFg+BmrQlXADQBhE9BQYsJWOGHMjJJ93joZePgvM6hPwZHA8J1mNkI+7JXHXwg==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/hdnode": ">=5.0.0-beta.130", + "@ethersproject/json-wallets": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "@ethersproject/web": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.0-beta.132.tgz", + "integrity": "sha512-lpnvTpIH9OUloWLtXB7A6xPqCj9a2xiaBYzTPVf9EVAVhvgRTgc6+6XXA59+I/Oeq1THmY2iOuCr5y6R+6EG1Q==", + "requires": { + "@ethersproject/base64": ">=5.0.0-beta.126", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130", + "cross-fetch": "3.0.4" + }, + "dependencies": { + "cross-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", + "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", + "requires": { + "node-fetch": "2.6.0", + "whatwg-fetch": "3.0.0" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + } + } + }, + "@ethersproject/wordlists": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.0-beta.131.tgz", + "integrity": "sha512-8r0jLpEkyxyTU9caQ/hn2+7s5MHJYO/YQuilESMubgYUKSxl9nrTztyNmkwS2K6/u/lIbVwup+EphPIsTBoaXA==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, "@hapi/accept": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-3.2.3.tgz", @@ -1418,9 +1806,9 @@ } }, "@types/node": { - "version": "10.14.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", - "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==" + "version": "10.17.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.5.tgz", + "integrity": "sha512-RElZIr/7JreF1eY6oD5RF3kpmdcreuQPjg5ri4oQ5g9sq7YWU8HkfB3eH8GwAwxf5OaCh0VPi7r4N/yoTGelrA==" }, "@webassemblyjs/ast": { "version": "1.8.5", @@ -1638,33 +2026,6 @@ "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-1.0.0.tgz", "integrity": "sha1-i33q/TEFWbwo93ck3RuzAXcnjBs=" }, - "accept": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/accept/-/accept-2.1.4.tgz", - "integrity": "sha1-iHr1TO7lx/RDBGGXHsQAxh0JrLs=", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -1753,33 +2114,6 @@ "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true }, - "ammo": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/ammo/-/ammo-2.0.4.tgz", - "integrity": "sha1-v4CqshFpjqePY+9efxE91dnokX8=", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "ansi-align": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", @@ -2113,12 +2447,6 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "b64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/b64/-/b64-3.0.3.tgz", - "integrity": "sha512-Pbeh0i6OLubPJdIdCepn8ZQHwN2MWznZHbHABSTEfQ706ie+yuxNSaPdqX1xRatT6WanaS1EazMiSg0NUW2XxQ==", - "dev": true - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -2865,12 +3193,6 @@ "json-text-sequence": "~0.1.0" } }, - "bourne": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bourne/-/bourne-1.1.2.tgz", - "integrity": "sha512-b2dgVkTZhkQirNMohgC00rWfpVqEi9y5tKM1k3JvoNx05ODtfQoPPd4js9CYFQoY0IM8LAmnJulEuWv74zjUOg==", - "dev": true - }, "boxen": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", @@ -3069,28 +3391,6 @@ "ieee754": "^1.1.4" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -3237,33 +3537,6 @@ } } }, - "call": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/call/-/call-4.0.2.tgz", - "integrity": "sha1-33b19R7o3Ui4VqyEAPfmnm1zmcQ=", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "callbackify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/callbackify/-/callbackify-1.1.0.tgz", @@ -3306,63 +3579,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "catbox": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/catbox/-/catbox-7.1.5.tgz", - "integrity": "sha512-4fui5lELzqZ+9cnaAP/BcqXTH6LvWLBRtFhJ0I4FfgfXiSaZcf6k9m9dqOyChiTxNYtvLk7ZMYSf7ahMq3bf5A==", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x", - "joi": "10.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - }, - "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" - } - } - } - }, - "catbox-memory": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/catbox-memory/-/catbox-memory-2.0.4.tgz", - "integrity": "sha1-Qz4lWQLK9UIz0ShkKcj03xToItU=", - "dev": true, - "requires": { - "hoek": "4.x.x" - }, - "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 - } - } - }, "catharsis": { "version": "0.8.11", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz", @@ -3782,32 +3998,6 @@ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, - "content": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/content/-/content-3.0.7.tgz", - "integrity": "sha512-LXtnSnvE+Z1Cjpa3P9gh9kb396qV4MqpfwKy777BOSF8n6nw2vAi03tHNl0/XRqZUyzVzY/+nMXOZVnEapWzdg==", - "dev": true, - "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -3859,12 +4049,6 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", - "dev": true - }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -3988,32 +4172,6 @@ } } }, - "cryptiles": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.4.tgz", - "integrity": "sha512-8I1sgZHfVwcSOY6mSGpVU3lw/GSIZvusg8dD2+OGehCJpOhQRLNcH0qb9upQnOH4XhgxxFJSg6E2kx95deb1Tw==", - "dev": true, - "requires": { - "boom": "5.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -4391,12 +4549,6 @@ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" }, - "dexie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/dexie/-/dexie-2.0.4.tgz", - "integrity": "sha512-aQ/s1U2wHxwBKRrt2Z/mwFNHMQWhESerFsMYzE+5P5OsIe5o1kgpFMWkzKTtkvkyyEni6mWr/T4HUJuY9xIHLA==", - "dev": true - }, "dicer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", @@ -5562,50 +5714,6 @@ "secp256k1": "^3.0.1" } }, - "ethers": { - "version": "4.0.37", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.37.tgz", - "integrity": "sha512-B7bDdyQ45A5lPr6k2HOkEKMtYOuqlfy+nNf8glnRvWidkDQnToKw1bv7UyrwlbsIgY2mE03UxTVtouXcT6Vvcw==", - "requires": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "elliptic": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", - "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, "ethjs-util": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", @@ -6347,23 +6455,6 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -7134,3001 +7225,1735 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "ganache-cli": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.7.0.tgz", - "integrity": "sha512-9CZsClo9hl5MxGL7hkk14mie89Q94P0idh92jcV7LmppTYTCG7SHatuwcfqN7emFHArMt3fneN4QbH2do2N6Ow==", - "dev": true, + "gar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==" + }, + "gc-stats": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz", + "integrity": "sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==", + "optional": true, "requires": { - "ethereumjs-util": "6.1.0", - "source-map-support": "0.5.12", - "yargs": "13.2.4" - }, + "nan": "^2.13.2", + "node-pre-gyp": "^0.13.0" + }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "requires": { - "file-uri-to-path": "1.0.0" - } + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true }, - "bip66": { + "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "dev": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "optional": true, "requires": { - "safe-buffer": "^5.0.1" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "buffer-from": { + "chownr": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "optional": true }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "optional": true, "requires": { - "color-name": "1.1.3" + "ms": "^2.1.1" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "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==", + "optional": true }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "optional": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "minipass": "^2.2.1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "dev": true, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, "requires": { - "browserify-aes": "^1.0.6", - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, - "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", - "dev": true, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "optional": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "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" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "optional": true, "requires": { - "once": "^1.4.0" + "safer-buffer": ">= 2.1.2 < 3" } }, - "ethereumjs-util": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", - "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", - "dev": true, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "optional": true, "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "ethjs-util": "0.1.6", - "keccak": "^1.0.2", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1", - "secp256k1": "^3.0.1" + "minimatch": "^3.0.4" } }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "optional": true }, - "execa": { + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "optional": true + }, + "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "number-is-nan": "^1.0.0" } }, - "file-uri-to-path": { + "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, "requires": { - "locate-path": "^3.0.0" + "brace-expansion": "^1.1.7" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "optional": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "optional": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "minipass": "^2.2.1" } }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "minimist": "0.0.8" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "optional": true }, - "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "dev": true, + "needle": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.1.tgz", + "integrity": "sha512-CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg==", + "optional": true, "requires": { - "bindings": "^1.2.1", - "inherits": "^2.0.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, + "node-pre-gyp": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", + "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", + "optional": true, "requires": { - "invert-kv": "^2.0.0" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "optional": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "abbrev": "1", + "osenv": "^0.1.4" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } + "npm-bundled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", + "optional": true }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, + "npm-packlist": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "optional": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { + "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "optional": true, "requires": { "wrappy": "1" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "optional": true }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, "requires": { - "p-limit": "^2.0.0" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "optional": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "rlp": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.3.tgz", - "integrity": "sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ==", - "dev": true, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "optional": true, "requires": { - "bn.js": "^4.11.1", - "safe-buffer": "^5.1.1" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true }, - "secp256k1": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz", - "integrity": "sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g==", - "dev": true, - "requires": { - "bindings": "^1.5.0", - "bip66": "^1.1.5", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", - "drbg.js": "^1.0.1", - "elliptic": "^6.4.1", - "nan": "^2.14.0", - "safe-buffer": "^5.1.2" - } + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true }, "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true + "optional": true }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "sha.js": { - "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.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "optional": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "optional": true }, - "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^2.0.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, + "tar": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "optional": true, "requires": { - "isexe": "^2.0.0" + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "optional": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" - } + "optional": true }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "optional": true } } }, - "gar": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", - "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==" + "get-browser-rtc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz", + "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=" }, - "gc-stats": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz", - "integrity": "sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==", - "optional": true, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", "requires": { - "nan": "^2.13.2", - "node-pre-gyp": "^0.13.0" - }, - "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==", - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "optional": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "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==", - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "optional": true, + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + } + }, + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "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, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "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" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, "requires": { - "minipass": "^2.2.1" + "is-glob": "^2.0.0" } }, - "fs.realpath": { + "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "optional": true, - "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" - } + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true }, - "has-unicode": { + "is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "optional": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "is-extglob": "^1.0.0" } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "optional": true, + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { - "minimatch": "^3.0.4" + "is-extglob": "^2.1.0" } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, + } + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "optional": true - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "optional": true - }, - "needle": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.1.tgz", - "integrity": "sha512-CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg==", - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", - "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "optional": true - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "optional": true - }, - "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "optional": true - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "optional": true - } - } - }, - "get-browser-rtc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz", - "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-folder-size": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", - "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", - "requires": { - "gar": "^1.0.4", - "tiny-each-async": "2.0.3" - } - }, - "get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" - }, - "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "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, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "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" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "requires": { - "ini": "^1.3.4" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" - }, - "graphql-request": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", - "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", - "requires": { - "cross-fetch": "2.2.2" - } - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "hamt-sharding": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-0.0.2.tgz", - "integrity": "sha512-0pUBRvsdM1G6RgXfJASUMLwk++LQMNoXx2n2iMZiSzV43lBNesSz130wkGSP2D6d/8DYIWABLL1Vqb4PpcUcvQ==", - "requires": { - "sparse-array": "^1.3.1" - } - }, - "handlebars": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.0.tgz", - "integrity": "sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - } - } - }, - "hapi": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/hapi/-/hapi-16.7.0.tgz", - "integrity": "sha512-UeMX1LMWmHEIgMlwZGK/3lhI7X0VRvOioVply0Y9qF+/O5woGdQzNB8ZmDnLOBjnB6bdWWHyo5DEamuCsE1vmg==", - "dev": true, - "requires": { - "accept": "2.x.x", - "ammo": "2.x.x", - "boom": "5.x.x", - "call": "4.x.x", - "catbox": "7.x.x", - "catbox-memory": "2.x.x", - "cryptiles": "3.x.x", - "heavy": "4.x.x", - "hoek": "4.x.x", - "iron": "4.x.x", - "items": "2.x.x", - "joi": "11.x.x", - "mimos": "3.x.x", - "podium": "1.x.x", - "shot": "3.x.x", - "somever": "1.x.x", - "statehood": "5.x.x", - "subtext": "5.x.x", - "topo": "2.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, - "joi": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", - "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "3.x.x", - "topo": "2.x.x" - } - } - } - }, - "hapi-pino": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/hapi-pino/-/hapi-pino-6.1.0.tgz", - "integrity": "sha512-LP/hfRj2WCWg8QRjPt+FZzhnnDP+h28NkdLlNn0RbtAHp28ZynqHzF3hxjl+mJdl8mwo2L4DOw91uMsi+6V7Qg==", - "requires": { - "@hapi/hoek": "^8.2.2", - "abstract-logging": "^1.0.0", - "pino": "^5.13.2", - "pino-pretty": "^3.2.1" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-localstorage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-localstorage/-/has-localstorage-1.0.1.tgz", - "integrity": "sha1-/mJAbEdn+9bXhNrGkFkoEIuClxs=" - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hashlru": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", - "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" - }, - "hat": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", - "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=", - "dev": true - }, - "heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" - }, - "heavy": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/heavy/-/heavy-4.0.4.tgz", - "integrity": "sha1-NskTNsAMz+hSyqTRUwhjNc0vAOk=", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x", - "joi": "10.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - }, - "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" - } - } - } - }, - "hi-base32": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.0.tgz", - "integrity": "sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoek": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", - "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==" - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", - "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "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, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-did-resolver": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/https-did-resolver/-/https-did-resolver-0.1.0.tgz", - "integrity": "sha512-3vAJJ8XN1UTHf5MnaaWdP6F8R8vKYwjawZY1PQljxqRBJ2ISYstg/R8Y0ta8O6z1I+6u005KofZZm05E4kpCEQ==", - "requires": { - "did-resolver": "0.0.6", - "xmlhttprequest": "^1.8.0" - } - }, - "human-to-milliseconds": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/human-to-milliseconds/-/human-to-milliseconds-1.0.0.tgz", - "integrity": "sha512-Rp1uvdGYHZ8v6GCl3N6QW48MlABqvLCzKbeNPPddbFdDEC7G1G+8oq0hmCiem4PSJIDwLvAxkPi3FF5BDoeKew==", - "requires": { - "promisify-es6": "^1.0.3" - } - }, - "humble-localstorage": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/humble-localstorage/-/humble-localstorage-1.4.2.tgz", - "integrity": "sha1-0Fqw1SbE7b3b98amDfb/WAUoNGk=", - "requires": { - "has-localstorage": "^1.0.1", - "localstorage-memory": "^1.0.1" - } - }, - "hyperdiff": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/hyperdiff/-/hyperdiff-2.0.5.tgz", - "integrity": "sha512-AzYOBJ4RowO3cT7mGtlZVCnHRlYUDVnVA1gLNY7IiWbpxg3UUWjMAeoD/B+h1LRd0OyXLnVV+fhmlBVhAKO+aQ==", - "requires": { - "debug": "~3.1.0", - "lodash.clonedeep": "~4.5.0", - "lodash.pullat": "~4.6.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idb-readable-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/idb-readable-stream/-/idb-readable-stream-0.0.4.tgz", - "integrity": "sha1-MoPaZkW/ayINxhumHfYr7l2uSs8=", - "requires": { - "xtend": "^4.0.1" - } - }, - "identity-wallet": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-0.2.0.tgz", - "integrity": "sha512-/sliWwpx6WGk9VkhfokrLYU95yL0VW47Arj26KtOwjzPw7dm3J2PIDz8lEGqOyLmQQa/MNW8S3yuYgXcjO+mSg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.4.5", - "did-jwt": "^0.1.3", - "ethers": "^4.0.28", - "events": "^3.0.0", - "multihashes": "^0.4.15", - "tweetnacl": "^1.0.1", - "tweetnacl-util": "^0.15.0" - }, - "dependencies": { - "did-jwt": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", - "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.3.1", - "base64url": "^3.0.1", - "buffer": "^5.2.1", - "did-resolver": "0.0.6", - "elliptic": "^6.4.0", - "js-sha256": "^0.9.0", - "js-sha3": "^0.8.0", - "tweetnacl": "^1.0.1", - "tweetnacl-util": "^0.15.0" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" } } } }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, - "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "requires": { - "find-up": "^2.1.0" + "pump": "^3.0.0" } } } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" }, - "individual": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/individual/-/individual-2.0.0.tgz", - "integrity": "sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c=", - "dev": true + "graphql-request": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", + "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "requires": { + "cross-fetch": "2.2.2" + } }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "hamt-sharding": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-0.0.2.tgz", + "integrity": "sha512-0pUBRvsdM1G6RgXfJASUMLwk++LQMNoXx2n2iMZiSzV43lBNesSz130wkGSP2D6d/8DYIWABLL1Vqb4PpcUcvQ==", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "sparse-array": "^1.3.1" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "handlebars": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.0.tgz", + "integrity": "sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw==", "dev": true, "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } } } }, - "interface-connection": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/interface-connection/-/interface-connection-0.3.3.tgz", - "integrity": "sha512-OV9Rj7AhUlssWJTO6nOazJdPFGqWDOVZ3j5aM+i0RPKyTzR87vJ949VqhMyKkCIR0GBAaNqfB7F4YA70a/QWiw==", + "hapi-pino": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/hapi-pino/-/hapi-pino-6.1.0.tgz", + "integrity": "sha512-LP/hfRj2WCWg8QRjPt+FZzhnnDP+h28NkdLlNn0RbtAHp28ZynqHzF3hxjl+mJdl8mwo2L4DOw91uMsi+6V7Qg==", + "requires": { + "@hapi/hoek": "^8.2.2", + "abstract-logging": "^1.0.0", + "pino": "^5.13.2", + "pino-pretty": "^3.2.1" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { - "pull-defer": "~0.2.3" + "function-bind": "^1.1.1" } }, - "interface-datastore": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.6.0.tgz", - "integrity": "sha512-aDbjWsEdTHd2Yc2A8QOeAEWMwlWDwumVX24bE0/AE7XxfDveWuDUKP7HQito0u1c80FZmR+y/Op14um+cG0CSw==", + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { - "async": "^2.6.1", - "class-is": "^1.1.0", - "err-code": "^1.1.2", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "uuid": "^3.2.2" + "ansi-regex": "^2.0.0" }, "dependencies": { - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true } } }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "requires": { - "loose-envify": "^1.0.0" + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } } }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" }, - "ip-address": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-6.1.0.tgz", - "integrity": "sha512-u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==", - "requires": { - "jsbn": "1.1.0", - "lodash": "^4.17.15", - "sprintf-js": "1.1.2" - } + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "has-localstorage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-localstorage/-/has-localstorage-1.0.1.tgz", + "integrity": "sha1-/mJAbEdn+9bXhNrGkFkoEIuClxs=" }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, - "ipfs": { - "version": "0.36.4", - "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.36.4.tgz", - "integrity": "sha512-DRxX5N3D+qMpNs8/RShIIk7Ilb1Zce4ZdrGf+HWarLF0ljbZ4ZVLMJy9mAbC7mEiic+wtgwGLw4ACZHe3xIMQw==", - "requires": { - "@hapi/ammo": "^3.1.0", - "@hapi/hapi": "^18.3.1", - "@hapi/joi": "^15.0.1", - "async": "^2.6.1", - "async-iterator-all": "^1.0.0", - "async-iterator-to-pull-stream": "^1.1.0", - "async-iterator-to-stream": "^1.1.0", - "base32.js": "~0.1.0", - "bignumber.js": "^9.0.0", - "binary-querystring": "~0.1.2", - "bl": "^3.0.0", - "boom": "^7.2.0", - "bs58": "^4.0.1", - "buffer-peek-stream": "^1.0.1", - "byteman": "^1.3.5", - "callbackify": "^1.1.0", - "cid-tool": "~0.3.0", - "cids": "~0.7.1", - "class-is": "^1.1.0", - "datastore-core": "~0.6.0", - "datastore-pubsub": "~0.1.1", - "debug": "^4.1.0", - "dlv": "^1.1.3", - "err-code": "^1.1.2", - "file-type": "^11.1.0", - "fnv1a": "^1.0.1", - "fsm-event": "^2.1.0", - "get-folder-size": "^2.0.0", - "glob": "^7.1.3", - "hapi-pino": "^6.0.0", - "human-to-milliseconds": "^1.0.0", - "interface-datastore": "~0.6.0", - "ipfs-bitswap": "~0.24.1", - "ipfs-block": "~0.8.1", - "ipfs-block-service": "~0.15.1", - "ipfs-http-client": "^32.0.0", - "ipfs-http-response": "~0.3.0", - "ipfs-mfs": "~0.11.4", - "ipfs-multipart": "~0.1.0", - "ipfs-repo": "~0.26.6", - "ipfs-unixfs": "~0.1.16", - "ipfs-unixfs-exporter": "~0.37.6", - "ipfs-unixfs-importer": "~0.39.9", - "ipfs-utils": "~0.0.3", - "ipld": "~0.24.1", - "ipld-bitcoin": "~0.3.0", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.4", - "ipld-ethereum": "^4.0.0", - "ipld-git": "~0.5.0", - "ipld-raw": "^4.0.0", - "ipld-zcash": "~0.3.0", - "ipns": "~0.5.2", - "is-ipfs": "~0.6.1", - "is-pull-stream": "~0.0.0", - "is-stream": "^2.0.0", - "iso-url": "~0.4.6", - "just-flatten-it": "^2.1.0", - "just-safe-set": "^2.1.0", - "kind-of": "^6.0.2", - "libp2p": "~0.25.3", - "libp2p-bootstrap": "~0.9.3", - "libp2p-crypto": "~0.16.0", - "libp2p-kad-dht": "~0.15.1", - "libp2p-keychain": "~0.4.1", - "libp2p-mdns": "~0.12.0", - "libp2p-record": "~0.6.3", - "libp2p-secio": "~0.11.0", - "libp2p-tcp": "~0.13.0", - "libp2p-webrtc-star": "~0.16.0", - "libp2p-websocket-star-multi": "~0.4.3", - "libp2p-websockets": "~0.12.2", - "lodash": "^4.17.11", - "mafmt": "^6.0.2", - "merge-options": "^1.0.1", - "mime-types": "^2.1.21", - "mkdirp": "~0.5.1", - "multiaddr": "^6.0.5", - "multiaddr-to-uri": "^4.0.1", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "multihashing-async": "~0.6.0", - "node-fetch": "^2.3.0", - "peer-book": "~0.9.0", - "peer-id": "~0.12.0", - "peer-info": "~0.15.0", - "progress": "^2.0.1", - "prom-client": "^11.1.3", - "prometheus-gc-stats": "~0.6.0", - "promisify-es6": "^1.0.3", - "protons": "^1.0.1", - "pull-abortable": "^4.1.1", - "pull-cat": "^1.1.11", - "pull-defer": "~0.2.3", - "pull-file": "^1.1.0", - "pull-mplex": "~0.1.1", - "pull-ndjson": "~0.1.1", - "pull-pushable": "^2.2.0", - "pull-sort": "^1.0.1", - "pull-stream": "^3.6.9", - "pull-stream-to-async-iterator": "^1.0.1", - "pull-stream-to-stream": "^1.3.4", - "pull-traverse": "^1.0.3", - "readable-stream": "^3.4.0", - "receptacle": "^1.3.2", - "semver": "^6.1.1", - "stream-to-pull-stream": "^1.7.3", - "superstruct": "~0.6.0", - "tar-stream": "^2.0.0", - "temp": "~0.9.0", - "update-notifier": "^3.0.0", - "uri-to-multiaddr": "^3.0.1", - "varint": "^5.0.0", - "yargs": "^13.2.4", - "yargs-promise": "^1.1.0" - }, - "dependencies": { - "multihashing-async": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", - "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", - "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - } + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "ipfs-bitswap": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-0.24.1.tgz", - "integrity": "sha512-fqnqCgeyHb0CO12uptBbDNGMSV4aOz4xi2Fc+OcyBb7bgLa7GcBuMi01iaFnwqPcz9BQSKvZKNMP+Vx+OZusNA==", + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { - "async": "^2.6.1", - "bignumber.js": "^8.0.1", - "cids": "~0.7.0", - "debug": "^4.1.0", - "ipfs-block": "~0.8.0", - "just-debounce-it": "^1.1.0", - "lodash.isequalwith": "^4.4.0", - "moving-average": "^1.0.0", - "multicodec": "~0.5.0", - "multihashing-async": "~0.5.1", - "protons": "^1.0.1", - "pull-length-prefixed": "^1.3.1", - "pull-stream": "^3.6.9", - "varint-decoder": "~0.1.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "bignumber.js": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", - "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "is-buffer": "^1.1.5" } } } }, - "ipfs-block": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", - "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "requires": { - "cids": "~0.7.0", - "class-is": "^1.1.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "ipfs-block-service": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.15.2.tgz", - "integrity": "sha512-iudmJO7UJZHonWoXyakuzy+bpV/7QVDm/g8eCqKN2BvhSjnLepaxdTyaXxJ76F2EOav1hdBP+U3Z9Mg/aCFPgg==", + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { - "async": "^2.6.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "ipfs-did-document": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ipfs-did-document/-/ipfs-did-document-1.2.3.tgz", - "integrity": "sha512-LLcmDbj9m+kBS8srL1Mq3oOgSOuqTe9lyj70DhjQkd+T+4xj1plkiYanbB6w600e/XOHnGxbbOkKYOpRs0vpgw==" + "hashlru": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" }, - "ipfs-http-client": { - "version": "32.0.1", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-32.0.1.tgz", - "integrity": "sha512-uDJjjAg9zvuiAucBE/o0I+xHu9Q9ZoLvj0cTyk+Jf+0duom1iIt2iEEN1HW+PNnZu12zYQWV3sB+tI5TN2lo7A==", + "heap": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", + "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" + }, + "hi-base32": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.0.tgz", + "integrity": "sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { - "async": "^2.6.1", - "bignumber.js": "^8.0.2", - "bl": "^3.0.0", - "bs58": "^4.0.1", - "buffer": "^5.2.1", - "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^1.1.2", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.1", - "ipfs-utils": "~0.0.3", - "ipld-dag-cbor": "~0.15.0", - "ipld-dag-pb": "~0.17.3", - "is-ipfs": "~0.6.1", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "iso-stream-http": "~0.1.2", - "iso-url": "~0.4.6", - "just-kebab-case": "^1.1.0", - "just-map-keys": "^1.1.0", - "kind-of": "^6.0.2", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.6", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", - "once": "^1.4.0", - "peer-id": "~0.12.2", - "peer-info": "~0.15.1", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-stream": "^3.6.9", - "pull-to-stream": "~0.1.1", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.1.1", - "stream-to-pull-stream": "^1.7.2", - "tar-stream": "^2.0.1", - "through2": "^3.0.1" - }, - "dependencies": { - "bignumber.js": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", - "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" - } + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "ipfs-http-response": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ipfs-http-response/-/ipfs-http-response-0.3.1.tgz", - "integrity": "sha512-C2Ld9/MVnUujXPLVGLYJEgi9troi0QLyhkygsQ6c4c9VG7/BYES+t45N6uM2Be8TkAAMIWFkXSi5zfoGcHCOsA==", + "hoek": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", + "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, "requires": { - "async": "^2.6.1", - "cids": "~0.7.1", - "debug": "^4.1.1", - "file-type": "^8.0.0", - "filesize": "^3.6.1", - "get-stream": "^3.0.0", - "ipfs-unixfs": "~0.1.16", - "mime-types": "^2.1.21", - "multihashes": "~0.4.14", - "promisify-es6": "^1.0.3", - "stream-to-blob": "^1.0.1" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "dependencies": { - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", - "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true } } }, - "ipfs-log": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/ipfs-log/-/ipfs-log-4.3.6.tgz", - "integrity": "sha512-7lEW5tXITcmHHP9dT93mRI+burUm2WdEkjYQ+ERFSL3K9xH5aXMr96IQKnZpFoA6duIwquydlDsiYTXLh6g/Ag==", - "requires": { - "cids": "~0.7.1", - "ipld-dag-pb": "^0.17.4", - "json-stringify-deterministic": "^1.0.1", - "orbit-db-identity-provider": "~0.1.0", - "orbit-db-io": "~0.1.0", - "p-each-series": "^2.1.0", - "p-map": "^1.1.1", - "p-whilst": "^1.0.0" + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, - "ipfs-mfs": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/ipfs-mfs/-/ipfs-mfs-0.11.7.tgz", - "integrity": "sha512-OA48yd+j9qAhRph5GfCRaLRjbZxIZ3QOAPSIHwndhWo1QLzFucgaCR+eWkn15tNPQGXL/sguExK2PEfGW1fSnA==", + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-did-resolver": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/https-did-resolver/-/https-did-resolver-0.1.0.tgz", + "integrity": "sha512-3vAJJ8XN1UTHf5MnaaWdP6F8R8vKYwjawZY1PQljxqRBJ2ISYstg/R8Y0ta8O6z1I+6u005KofZZm05E4kpCEQ==", "requires": { - "@hapi/boom": "^7.4.2", - "@hapi/joi": "^15.1.0", - "async-iterator-last": "^1.0.0", - "cids": "~0.7.1", - "debug": "^4.1.0", - "err-code": "^1.1.2", - "hamt-sharding": "~0.0.2", - "interface-datastore": "~0.6.0", - "ipfs-multipart": "~0.1.0", - "ipfs-unixfs": "~0.1.16", - "ipfs-unixfs-exporter": "~0.37.6", - "ipfs-unixfs-importer": "~0.39.9", - "ipld-dag-pb": "~0.17.2", - "joi-browser": "^13.4.0", - "mortice": "^1.2.1", - "multicodec": "~0.5.3", - "multihashes": "~0.4.14", - "once": "^1.4.0", - "promisify-es6": "^1.0.3", - "pull-stream": "^3.6.9" + "did-resolver": "0.0.6", + "xmlhttprequest": "^1.8.0" } }, - "ipfs-mini": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ipfs-mini/-/ipfs-mini-1.1.5.tgz", - "integrity": "sha512-BzsoCa3V/gxN2eEHnyqggOdreAwnvbddj4jUvp6Q7jXuzXx9q5XakXe8mG8qV0bn4bMKdH/7BUDbiWBCEMuYBg==", + "human-to-milliseconds": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/human-to-milliseconds/-/human-to-milliseconds-1.0.0.tgz", + "integrity": "sha512-Rp1uvdGYHZ8v6GCl3N6QW48MlABqvLCzKbeNPPddbFdDEC7G1G+8oq0hmCiem4PSJIDwLvAxkPi3FF5BDoeKew==", "requires": { - "xmlhttprequest": "^1.8.0" + "promisify-es6": "^1.0.3" } }, - "ipfs-multipart": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ipfs-multipart/-/ipfs-multipart-0.1.1.tgz", - "integrity": "sha512-NAmCxgBkZ0usWXf8lMwYYEXvyzrqa65uy/1caVKm5yOKFoqXNrNOt4Ev99Pb+B0RMRqGSdfSvtnZM1cfhSSk2A==", + "humble-localstorage": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/humble-localstorage/-/humble-localstorage-1.4.2.tgz", + "integrity": "sha1-0Fqw1SbE7b3b98amDfb/WAUoNGk=", "requires": { - "@hapi/content": "^4.1.0", - "dicer": "~0.3.0" + "has-localstorage": "^1.0.1", + "localstorage-memory": "^1.0.1" } }, - "ipfs-postmsg-proxy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ipfs-postmsg-proxy/-/ipfs-postmsg-proxy-3.1.1.tgz", - "integrity": "sha512-SfBUODRZcGxdESOHx/wqQ+JoS149N1nFCWnjK5N9JZ3K4sDam0e6+JTLrty2laphcjpsHPbFAtE47HMueh56iQ==", + "hyperdiff": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/hyperdiff/-/hyperdiff-2.0.5.tgz", + "integrity": "sha512-AzYOBJ4RowO3cT7mGtlZVCnHRlYUDVnVA1gLNY7IiWbpxg3UUWjMAeoD/B+h1LRd0OyXLnVV+fhmlBVhAKO+aQ==", "requires": { - "big.js": "^5.1.2", - "callbackify": "^1.1.0", - "cids": "^0.5.3", - "ipfs-block": "^0.7.1", - "ipld-dag-pb": "^0.14.4", - "is-pull-stream": "0.0.0", - "is-stream": "^1.1.0", - "multiaddr": "^5.0.0", - "peer-id": "^0.11.0", - "peer-info": "^0.14.1", - "postmsg-rpc": "^2.4.0", - "prepost": "^1.1.0", - "pull-abortable": "^4.1.1", - "pull-defer": "^0.2.2", - "pull-postmsg-stream": "^1.2.0", - "pull-stream": "^3.6.8", - "pull-stream-to-stream": "^1.3.4", - "shortid": "^2.2.8", - "stream-to-pull-stream": "^1.7.2" + "debug": "~3.1.0", + "lodash.clonedeep": "~4.5.0", + "lodash.pullat": "~4.6.0" }, "dependencies": { - "bn.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", - "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", - "optional": true - }, - "cids": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.8.tgz", - "integrity": "sha512-Ye8TZP3YQfy0j+i5k+LPHdTY3JOvTwN1pxds44p6BRUv8PTMOAF/Vt4Bc+oiIQ0Sktn0iftkUHgqKNHIMwhshA==", - "requires": { - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "~0.5.0", - "multihashes": "~0.4.14" - } - }, - "ip-address": { - "version": "5.9.4", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", - "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", - "requires": { - "jsbn": "1.1.0", - "lodash": "^4.17.15", - "sprintf-js": "1.1.2" - } - }, - "ipfs-block": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.7.1.tgz", - "integrity": "sha512-ABZS9J/+OaDwc10zu6pIVdxWnOD/rkPEravk7FRVuRep7/zKSjffNhO/WuHN7Ex+MOBMz7mty0e+i6xjGnRsRQ==", - "requires": { - "cids": "^0.5.3", - "class-is": "^1.1.0" - } - }, - "ipld-dag-pb": { - "version": "0.14.11", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.11.tgz", - "integrity": "sha512-ja4FH6elDprVuJBkNObFlq7+9h1Q3aoQx5SSG/v3I9e7j19nwyuMhLJYwBhdv29LiqpyD2cEqNrJLm8lWn0lJg==", + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "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" + "ms": "2.0.0" } }, - "is-ipfs": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.4.8.tgz", - "integrity": "sha512-xIKUeA24IFMfkmeAPEOZL448X7a08c/KzAGQp1e/QxC9bx/NNEdT/ohob3SW6eJO2UwJNjsbfMeNZ2B+Dk2Fdg==", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idb-readable-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/idb-readable-stream/-/idb-readable-stream-0.0.4.tgz", + "integrity": "sha1-MoPaZkW/ayINxhumHfYr7l2uSs8=", + "requires": { + "xtend": "^4.0.1" + } + }, + "identity-wallet": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-0.2.0.tgz", + "integrity": "sha512-/sliWwpx6WGk9VkhfokrLYU95yL0VW47Arj26KtOwjzPw7dm3J2PIDz8lEGqOyLmQQa/MNW8S3yuYgXcjO+mSg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.5", + "did-jwt": "^0.1.3", + "ethers": "^4.0.28", + "events": "^3.0.0", + "multihashes": "^0.4.15", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + }, + "dependencies": { + "did-jwt": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", + "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "dev": true, "requires": { - "bs58": "4.0.1", - "cids": "~0.5.6", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" + "@babel/runtime": "^7.3.1", + "base64url": "^3.0.1", + "buffer": "^5.2.1", + "did-resolver": "0.0.6", + "elliptic": "^6.4.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "libp2p-crypto": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.13.0.tgz", - "integrity": "sha512-i3r1TBec/xYmC5bcpPiIs3OyUAU3iy53OdRdxqawKoWTQPjYB+TyQ4w+otT66Y0sMcw70O0wH3GFAfPmQgFn+g==", + "ethers": { + "version": "4.0.39", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.39.tgz", + "integrity": "sha512-QVtC8TTUgTrnlQjQvdFJ7fkSWKwp8HVTbKRmrdbVryrPzJHMTf3WSeRNvLF2enGyAFtyHJyFNnjN0fSshcEr9w==", + "dev": true, "requires": { - "asn1.js": "^5.0.0", - "async": "^2.6.0", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.2.2", - "multihashing-async": "~0.4.8", - "node-forge": "^0.7.5", - "pem-jwk": "^1.5.1", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" }, "dependencies": { - "js-sha3": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", - "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" - }, - "multihashing-async": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", - "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "dev": true, "requires": { - "async": "^2.6.0", - "blakejs": "^1.1.0", - "js-sha3": "^0.7.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true } } - }, - "libp2p-crypto-secp256k1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", - "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "import-fresh": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { - "async": "^2.6.1", - "multihashing-async": "~0.5.1", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.1" + "locate-path": "^2.0.0" } }, - "multiaddr": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-5.0.2.tgz", - "integrity": "sha512-dXz1chaUHV6L6okujDLS7uRA6NmCbitpikOJA0vMMnrwVyai5kC3ot2CSLrSfj3B8XIgNzpe/j5auSYrnbGGzA==", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "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" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "multihashing-async": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", - "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, "requires": { - "blakejs": "^1.1.0", - "js-sha3": "~0.8.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" + "p-try": "^1.0.0" } }, - "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" - }, - "peer-id": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.11.0.tgz", - "integrity": "sha512-C/lRJk4CWIgOdKvfO572NvHbPcUwe49I6G0toIhDB5tCohqv/qzy0uBcAK9Ww8TvYI6U4J3C8ACShV9fWjNU4w==", + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { - "async": "^2.6.1", - "libp2p-crypto": "~0.13.0", - "lodash": "^4.17.10", - "multihashes": "~0.4.13" + "p-limit": "^1.1.0" } }, - "peer-info": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.14.1.tgz", - "integrity": "sha512-I9K+q7sisU0gg5ej6ekbhgolwlcm1tc2wDtLmumptoLYx0DkIT8WVHtgoTnupYwRRqcYADtwddFdiXfb8QFqzg==", + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, "requires": { - "lodash.uniqby": "^4.7.0", - "mafmt": "^6.0.0", - "multiaddr": "^4.0.0", - "peer-id": "~0.10.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", - "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" - }, - "libp2p-crypto": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", - "integrity": "sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg==", - "requires": { - "asn1.js": "^5.0.0", - "async": "^2.6.0", - "browserify-aes": "^1.1.1", - "bs58": "^4.0.1", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.2.2", - "multihashing-async": "~0.4.7", - "node-forge": "^0.7.1", - "pem-jwk": "^1.5.1", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" - } - }, - "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" - } - }, - "multihashing-async": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", - "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", - "requires": { - "async": "^2.6.0", - "blakejs": "^1.1.0", - "js-sha3": "^0.7.0", - "multihashes": "~0.4.13", - "murmurhash3js": "^3.0.1", - "nodeify": "^1.0.1" - } - }, - "peer-id": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", - "integrity": "sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw==", - "requires": { - "async": "^2.6.0", - "libp2p-crypto": "~0.12.1", - "lodash": "^4.17.5", - "multihashes": "~0.4.13" - } - } + "find-up": "^2.1.0" } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "pem-jwk": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", - "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { - "asn1.js": "1.0.3" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { - "asn1.js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", - "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "bn.js": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "ansi-regex": "^3.0.0" } } } } } }, - "ipfs-pubsub-1on1": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ipfs-pubsub-1on1/-/ipfs-pubsub-1on1-0.0.6.tgz", - "integrity": "sha512-Sr44DX7mdhk6znR1+DlfUIB1qiu07T5SeOMJ9Okr62U+9MGl4YQaP8vOGrmLysIEKBryZQrku2vjfNj0nxBd1g==", + "interface-connection": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/interface-connection/-/interface-connection-0.3.3.tgz", + "integrity": "sha512-OV9Rj7AhUlssWJTO6nOazJdPFGqWDOVZ3j5aM+i0RPKyTzR87vJ949VqhMyKkCIR0GBAaNqfB7F4YA70a/QWiw==", + "requires": { + "pull-defer": "~0.2.3" + } + }, + "interface-datastore": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.6.0.tgz", + "integrity": "sha512-aDbjWsEdTHd2Yc2A8QOeAEWMwlWDwumVX24bE0/AE7XxfDveWuDUKP7HQito0u1c80FZmR+y/Op14um+cG0CSw==", + "requires": { + "async": "^2.6.1", + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.2.2" + }, + "dependencies": { + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-address": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-6.1.0.tgz", + "integrity": "sha512-u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "ipfs": { + "version": "0.36.4", + "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.36.4.tgz", + "integrity": "sha512-DRxX5N3D+qMpNs8/RShIIk7Ilb1Zce4ZdrGf+HWarLF0ljbZ4ZVLMJy9mAbC7mEiic+wtgwGLw4ACZHe3xIMQw==", + "requires": { + "@hapi/ammo": "^3.1.0", + "@hapi/hapi": "^18.3.1", + "@hapi/joi": "^15.0.1", + "async": "^2.6.1", + "async-iterator-all": "^1.0.0", + "async-iterator-to-pull-stream": "^1.1.0", + "async-iterator-to-stream": "^1.1.0", + "base32.js": "~0.1.0", + "bignumber.js": "^9.0.0", + "binary-querystring": "~0.1.2", + "bl": "^3.0.0", + "boom": "^7.2.0", + "bs58": "^4.0.1", + "buffer-peek-stream": "^1.0.1", + "byteman": "^1.3.5", + "callbackify": "^1.1.0", + "cid-tool": "~0.3.0", + "cids": "~0.7.1", + "class-is": "^1.1.0", + "datastore-core": "~0.6.0", + "datastore-pubsub": "~0.1.1", + "debug": "^4.1.0", + "dlv": "^1.1.3", + "err-code": "^1.1.2", + "file-type": "^11.1.0", + "fnv1a": "^1.0.1", + "fsm-event": "^2.1.0", + "get-folder-size": "^2.0.0", + "glob": "^7.1.3", + "hapi-pino": "^6.0.0", + "human-to-milliseconds": "^1.0.0", + "interface-datastore": "~0.6.0", + "ipfs-bitswap": "~0.24.1", + "ipfs-block": "~0.8.1", + "ipfs-block-service": "~0.15.1", + "ipfs-http-client": "^32.0.0", + "ipfs-http-response": "~0.3.0", + "ipfs-mfs": "~0.11.4", + "ipfs-multipart": "~0.1.0", + "ipfs-repo": "~0.26.6", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "~0.37.6", + "ipfs-unixfs-importer": "~0.39.9", + "ipfs-utils": "~0.0.3", + "ipld": "~0.24.1", + "ipld-bitcoin": "~0.3.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.4", + "ipld-ethereum": "^4.0.0", + "ipld-git": "~0.5.0", + "ipld-raw": "^4.0.0", + "ipld-zcash": "~0.3.0", + "ipns": "~0.5.2", + "is-ipfs": "~0.6.1", + "is-pull-stream": "~0.0.0", + "is-stream": "^2.0.0", + "iso-url": "~0.4.6", + "just-flatten-it": "^2.1.0", + "just-safe-set": "^2.1.0", + "kind-of": "^6.0.2", + "libp2p": "~0.25.3", + "libp2p-bootstrap": "~0.9.3", + "libp2p-crypto": "~0.16.0", + "libp2p-kad-dht": "~0.15.1", + "libp2p-keychain": "~0.4.1", + "libp2p-mdns": "~0.12.0", + "libp2p-record": "~0.6.3", + "libp2p-secio": "~0.11.0", + "libp2p-tcp": "~0.13.0", + "libp2p-webrtc-star": "~0.16.0", + "libp2p-websocket-star-multi": "~0.4.3", + "libp2p-websockets": "~0.12.2", + "lodash": "^4.17.11", + "mafmt": "^6.0.2", + "merge-options": "^1.0.1", + "mime-types": "^2.1.21", + "mkdirp": "~0.5.1", + "multiaddr": "^6.0.5", + "multiaddr-to-uri": "^4.0.1", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "multihashing-async": "~0.6.0", + "node-fetch": "^2.3.0", + "peer-book": "~0.9.0", + "peer-id": "~0.12.0", + "peer-info": "~0.15.0", + "progress": "^2.0.1", + "prom-client": "^11.1.3", + "prometheus-gc-stats": "~0.6.0", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-abortable": "^4.1.1", + "pull-cat": "^1.1.11", + "pull-defer": "~0.2.3", + "pull-file": "^1.1.0", + "pull-mplex": "~0.1.1", + "pull-ndjson": "~0.1.1", + "pull-pushable": "^2.2.0", + "pull-sort": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-stream-to-async-iterator": "^1.0.1", + "pull-stream-to-stream": "^1.3.4", + "pull-traverse": "^1.0.3", + "readable-stream": "^3.4.0", + "receptacle": "^1.3.2", + "semver": "^6.1.1", + "stream-to-pull-stream": "^1.7.3", + "superstruct": "~0.6.0", + "tar-stream": "^2.0.0", + "temp": "~0.9.0", + "update-notifier": "^3.0.0", + "uri-to-multiaddr": "^3.0.1", + "varint": "^5.0.0", + "yargs": "^13.2.4", + "yargs-promise": "^1.1.0" + }, + "dependencies": { + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "ipfs-bitswap": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-0.24.1.tgz", + "integrity": "sha512-fqnqCgeyHb0CO12uptBbDNGMSV4aOz4xi2Fc+OcyBb7bgLa7GcBuMi01iaFnwqPcz9BQSKvZKNMP+Vx+OZusNA==", "requires": { - "safe-buffer": "~5.1.2" + "async": "^2.6.1", + "bignumber.js": "^8.0.1", + "cids": "~0.7.0", + "debug": "^4.1.0", + "ipfs-block": "~0.8.0", + "just-debounce-it": "^1.1.0", + "lodash.isequalwith": "^4.4.0", + "moving-average": "^1.0.0", + "multicodec": "~0.5.0", + "multihashing-async": "~0.5.1", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.1", + "pull-stream": "^3.6.9", + "varint-decoder": "~0.1.1" }, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } } } }, - "ipfs-pubsub-peer-monitor": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/ipfs-pubsub-peer-monitor/-/ipfs-pubsub-peer-monitor-0.0.9.tgz", - "integrity": "sha512-EJpfNzM9HnS95qnoi0WajNT3i8AoLIkItSdQabNfopuiL/8Ky81MRy17S1wCIRrZEq2EpogG2DfZMJdvcp2I8g==", + "ipfs-block": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", + "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", "requires": { - "p-forever": "^1.0.1" + "cids": "~0.7.0", + "class-is": "^1.1.0" } }, - "ipfs-pubsub-room": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/ipfs-pubsub-room/-/ipfs-pubsub-room-1.4.1.tgz", - "integrity": "sha512-LYj2V1pBLsgc6BqjwNwFUCxBjeY7ZN3k1TRWHGX+rDQXPAAxYCfI59Y7rwuQdBPnAT30mDDzrgfGiBvD2lWU+Q==", + "ipfs-block-service": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.15.2.tgz", + "integrity": "sha512-iudmJO7UJZHonWoXyakuzy+bpV/7QVDm/g8eCqKN2BvhSjnLepaxdTyaXxJ76F2EOav1hdBP+U3Z9Mg/aCFPgg==", "requires": { - "hyperdiff": "^2.0.5", - "lodash.clonedeep": "^4.5.0", - "pull-pushable": "^2.2.0", - "pull-stream": "^3.6.9" + "async": "^2.6.1" } }, - "ipfs-repo": { - "version": "0.26.6", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.26.6.tgz", - "integrity": "sha512-fcEV2y5N5tuI45zmoRQdDIN4bFj03xvxnZkXpblws4FMvPy0tkDZEtAdsZsmMnkbae2GDzwaKWZ6Dc3TPmzAZg==", + "ipfs-did-document": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ipfs-did-document/-/ipfs-did-document-1.2.3.tgz", + "integrity": "sha512-LLcmDbj9m+kBS8srL1Mq3oOgSOuqTe9lyj70DhjQkd+T+4xj1plkiYanbB6w600e/XOHnGxbbOkKYOpRs0vpgw==" + }, + "ipfs-http-client": { + "version": "32.0.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-32.0.1.tgz", + "integrity": "sha512-uDJjjAg9zvuiAucBE/o0I+xHu9Q9ZoLvj0cTyk+Jf+0duom1iIt2iEEN1HW+PNnZu12zYQWV3sB+tI5TN2lo7A==", "requires": { - "async": "^2.6.2", - "base32.js": "~0.1.0", - "bignumber.js": "^8.1.1", + "async": "^2.6.1", + "bignumber.js": "^8.0.2", + "bl": "^3.0.0", + "bs58": "^4.0.1", "buffer": "^5.2.1", - "cids": "~0.7.0", - "datastore-core": "~0.6.0", - "datastore-fs": "~0.8.0", - "datastore-level": "~0.11.0", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", "debug": "^4.1.0", - "dlv": "^1.1.2", - "interface-datastore": "~0.6.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", "ipfs-block": "~0.8.1", - "just-safe-set": "^2.1.0", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", "multiaddr": "^6.0.6", - "proper-lockfile": "^4.0.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", "pull-stream": "^3.6.9", - "sort-keys": "^2.0.0" + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" }, "dependencies": { "bignumber.js": { @@ -10138,140 +8963,126 @@ } } }, - "ipfs-unixfs": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-0.1.16.tgz", - "integrity": "sha512-TX9Dyu77MxpLzGh/LcQne95TofOyvOeW0oOi72aBMMcV1ItP3684e6NTG9KY1qzdrC+ZUR8kT7y18J058n8KXg==", + "ipfs-http-response": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ipfs-http-response/-/ipfs-http-response-0.3.1.tgz", + "integrity": "sha512-C2Ld9/MVnUujXPLVGLYJEgi9troi0QLyhkygsQ6c4c9VG7/BYES+t45N6uM2Be8TkAAMIWFkXSi5zfoGcHCOsA==", "requires": { - "protons": "^1.0.1" + "async": "^2.6.1", + "cids": "~0.7.1", + "debug": "^4.1.1", + "file-type": "^8.0.0", + "filesize": "^3.6.1", + "get-stream": "^3.0.0", + "ipfs-unixfs": "~0.1.16", + "mime-types": "^2.1.21", + "multihashes": "~0.4.14", + "promisify-es6": "^1.0.3", + "stream-to-blob": "^1.0.1" + }, + "dependencies": { + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + } } }, - "ipfs-unixfs-exporter": { - "version": "0.37.7", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-0.37.7.tgz", - "integrity": "sha512-SZgaIy9MTFelKFnjzS6VAMKwVdukXej0vOKc+7IXVMoS2MRQ8nBOMnClqPD+2XXU49Z2T8fnZWKHzHs84zeuuw==", + "ipfs-log": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/ipfs-log/-/ipfs-log-4.3.6.tgz", + "integrity": "sha512-7lEW5tXITcmHHP9dT93mRI+burUm2WdEkjYQ+ERFSL3K9xH5aXMr96IQKnZpFoA6duIwquydlDsiYTXLh6g/Ag==", "requires": { - "async-iterator-last": "^1.0.0", "cids": "~0.7.1", - "err-code": "^1.1.2", - "hamt-sharding": "~0.0.2", - "ipfs-unixfs": "~0.1.16", - "ipfs-unixfs-importer": "~0.39.11" + "ipld-dag-pb": "^0.17.4", + "json-stringify-deterministic": "^1.0.1", + "orbit-db-identity-provider": "~0.1.0", + "orbit-db-io": "~0.1.0", + "p-each-series": "^2.1.0", + "p-map": "^1.1.1", + "p-whilst": "^1.0.0" } }, - "ipfs-unixfs-importer": { - "version": "0.39.11", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-0.39.11.tgz", - "integrity": "sha512-2eG6zCbMF3HPQE6TmBoq62XTMgVBqE4ja2gxpoIWOjOwVN6g/1LcX1vEqfPTLyFTG1lN3oad5xCblQLriXDUIQ==", + "ipfs-mfs": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/ipfs-mfs/-/ipfs-mfs-0.11.7.tgz", + "integrity": "sha512-OA48yd+j9qAhRph5GfCRaLRjbZxIZ3QOAPSIHwndhWo1QLzFucgaCR+eWkn15tNPQGXL/sguExK2PEfGW1fSnA==", "requires": { - "async-iterator-all": "^1.0.0", - "async-iterator-batch": "~0.0.1", - "async-iterator-first": "^1.0.0", - "bl": "^3.0.0", - "deep-extend": "~0.6.0", + "@hapi/boom": "^7.4.2", + "@hapi/joi": "^15.1.0", + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "debug": "^4.1.0", "err-code": "^1.1.2", "hamt-sharding": "~0.0.2", + "interface-datastore": "~0.6.0", + "ipfs-multipart": "~0.1.0", "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "~0.37.6", + "ipfs-unixfs-importer": "~0.39.9", "ipld-dag-pb": "~0.17.2", - "multicodec": "~0.5.1", - "multihashing-async": "~0.7.0", - "rabin-wasm": "~0.0.4", - "superstruct": "~0.6.1" + "joi-browser": "^13.4.0", + "mortice": "^1.2.1", + "multicodec": "~0.5.3", + "multihashes": "~0.4.14", + "once": "^1.4.0", + "promisify-es6": "^1.0.3", + "pull-stream": "^3.6.9" } }, - "ipfs-utils": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", - "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "ipfs-mini": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ipfs-mini/-/ipfs-mini-1.1.5.tgz", + "integrity": "sha512-BzsoCa3V/gxN2eEHnyqggOdreAwnvbddj4jUvp6Q7jXuzXx9q5XakXe8mG8qV0bn4bMKdH/7BUDbiWBCEMuYBg==", "requires": { - "buffer": "^5.2.1", - "is-buffer": "^2.0.3", - "is-electron": "^2.2.0", - "is-pull-stream": "0.0.0", - "is-stream": "^2.0.0", - "kind-of": "^6.0.2", - "readable-stream": "^3.4.0" + "xmlhttprequest": "^1.8.0" } }, - "ipfsd-ctl": { - "version": "0.40.3", - "resolved": "https://registry.npmjs.org/ipfsd-ctl/-/ipfsd-ctl-0.40.3.tgz", - "integrity": "sha512-My8zls4rq0at4qbub79xpSMU//xlfwz9MlGU49GXcAiycPlex2oawTDYqtZ45C4fkLyD5A253gqOMsNM+L+1GQ==", - "dev": true, + "ipfs-multipart": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-multipart/-/ipfs-multipart-0.1.1.tgz", + "integrity": "sha512-NAmCxgBkZ0usWXf8lMwYYEXvyzrqa65uy/1caVKm5yOKFoqXNrNOt4Ev99Pb+B0RMRqGSdfSvtnZM1cfhSSk2A==", "requires": { - "async": "^2.6.1", - "base-x": "^3.0.5", - "boom": "^7.3.0", - "debug": "^4.1.1", - "detect-node": "^2.0.4", - "dexie": "^2.0.4", - "execa": "^1.0.0", - "hapi": "^16.6.2", - "hat": "~0.0.3", - "ipfs-http-client": "^28.1.0", - "joi": "^14.3.1", - "libp2p-crypto": "~0.15.0", - "lodash.clone": "^4.5.0", - "lodash.defaults": "^4.2.0", - "lodash.defaultsdeep": "^4.6.0", - "multiaddr": "^6.0.2", - "once": "^1.4.0", - "protons": "^1.0.1", - "rimraf": "^2.6.3", - "safe-json-parse": "^4.0.0", - "safe-json-stringify": "^1.2.0", - "superagent": "^4.0.0-beta.5" + "@hapi/content": "^4.1.0", + "dicer": "~0.3.0" + } + }, + "ipfs-postmsg-proxy": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ipfs-postmsg-proxy/-/ipfs-postmsg-proxy-3.1.1.tgz", + "integrity": "sha512-SfBUODRZcGxdESOHx/wqQ+JoS149N1nFCWnjK5N9JZ3K4sDam0e6+JTLrty2laphcjpsHPbFAtE47HMueh56iQ==", + "requires": { + "big.js": "^5.1.2", + "callbackify": "^1.1.0", + "cids": "^0.5.3", + "ipfs-block": "^0.7.1", + "ipld-dag-pb": "^0.14.4", + "is-pull-stream": "0.0.0", + "is-stream": "^1.1.0", + "multiaddr": "^5.0.0", + "peer-id": "^0.11.0", + "peer-info": "^0.14.1", + "postmsg-rpc": "^2.4.0", + "prepost": "^1.1.0", + "pull-abortable": "^4.1.1", + "pull-defer": "^0.2.2", + "pull-postmsg-stream": "^1.2.0", + "pull-stream": "^3.6.8", + "pull-stream-to-stream": "^1.3.4", + "shortid": "^2.2.8", + "stream-to-pull-stream": "^1.7.2" }, "dependencies": { - "base-x": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.7.tgz", - "integrity": "sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "bl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz", - "integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - } - } + "bn.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", + "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", + "optional": true }, "cids": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.8.tgz", "integrity": "sha512-Ye8TZP3YQfy0j+i5k+LPHdTY3JOvTwN1pxds44p6BRUv8PTMOAF/Vt4Bc+oiIQ0Sktn0iftkUHgqKNHIMwhshA==", - "dev": true, "requires": { "class-is": "^1.1.0", "multibase": "~0.6.0", @@ -10279,198 +9090,46 @@ "multihashes": "~0.4.14" } }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "ipfs-http-client": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-28.1.2.tgz", - "integrity": "sha512-NThmLsBBRAboV8Sgs87U0QV4XUrIR58pdiGJ2v4VFHFmJEIPNQInFVw0x3btnElKnOd3FphE72+8918PcskVbQ==", - "dev": true, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", "requires": { - "async": "^2.6.1", - "big.js": "^5.2.2", - "bl": "^2.1.2", - "bs58": "^4.0.1", - "cids": "~0.5.5", - "concat-stream": "^2.0.0", - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "end-of-stream": "^1.4.1", - "err-code": "^1.1.2", - "flatmap": "0.0.3", - "glob": "^7.1.3", - "ipfs-block": "~0.8.0", - "ipfs-unixfs": "~0.1.16", - "ipld-dag-cbor": "~0.13.0", - "ipld-dag-pb": "~0.15.0", - "is-ipfs": "~0.4.7", - "is-pull-stream": "0.0.0", - "is-stream": "^1.1.0", - "libp2p-crypto": "~0.16.0", - "lodash": "^4.17.11", - "lru-cache": "^5.1.1", - "multiaddr": "^6.0.0", - "multibase": "~0.6.0", - "multihashes": "~0.4.14", - "ndjson": "^1.5.0", - "once": "^1.4.0", - "peer-id": "~0.12.1", - "peer-info": "~0.15.0", - "promisify-es6": "^1.0.3", - "pull-defer": "~0.2.3", - "pull-pushable": "^2.2.0", - "pull-stream-to-stream": "^1.3.4", - "pump": "^3.0.0", - "qs": "^6.5.2", - "readable-stream": "^3.0.6", - "stream-http": "^3.0.0", - "stream-to-pull-stream": "^1.7.2", - "streamifier": "~0.1.1", - "tar-stream": "^1.6.2", - "through2": "^3.0.0" - }, - "dependencies": { - "libp2p-crypto": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.2.tgz", - "integrity": "sha512-eAml9loxnr5j2uroI3Oy/9oJrVrAPqUSVmcTftkES1p+RMg1uSSfiExCROQJfSde17aKqGzCduQTDrYXpsRhDA==", - "dev": true, - "requires": { - "asmcrypto.js": "^2.3.2", - "asn1.js": "^5.0.1", - "async": "^2.6.1", - "bn.js": "^4.11.8", - "browserify-aes": "^1.2.0", - "bs58": "^4.0.1", - "iso-random-stream": "^1.1.0", - "keypair": "^1.0.1", - "libp2p-crypto-secp256k1": "~0.3.0", - "multihashing-async": "~0.5.1", - "node-forge": "^0.8.5", - "pem-jwk": "^2.0.0", - "protons": "^1.0.1", - "rsa-pem-to-jwk": "^1.1.3", - "tweetnacl": "^1.0.0", - "ursa-optional": "~0.10.0" - } - } + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" } }, - "ipld-dag-cbor": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.13.1.tgz", - "integrity": "sha512-96KKh5XUq9LrWE/TQ/BOJ5FcQx7UZ892N76ufDdovq+fIwZ4/YpPRTAVssLUuN3crATHoGu80TVZMgevsuTCdQ==", - "dev": true, + "ipfs-block": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.7.1.tgz", + "integrity": "sha512-ABZS9J/+OaDwc10zu6pIVdxWnOD/rkPEravk7FRVuRep7/zKSjffNhO/WuHN7Ex+MOBMz7mty0e+i6xjGnRsRQ==", "requires": { - "borc": "^2.1.0", - "bs58": "^4.0.1", - "cids": "~0.5.5", - "is-circular": "^1.0.2", - "multihashes": "~0.4.14", - "multihashing-async": "~0.5.1", - "traverse": "~0.6.6" + "cids": "^0.5.3", + "class-is": "^1.1.0" } }, "ipld-dag-pb": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.15.3.tgz", - "integrity": "sha512-J1RJzSVCaOpxPmSzXbwVNsAZPHctjY4OjqG1dMIG86Z37CKvuy1QwCFkDhNccUTcQpF3sXfj5e0ZUyMM035vzg==", - "dev": true, + "version": "0.14.11", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.11.tgz", + "integrity": "sha512-ja4FH6elDprVuJBkNObFlq7+9h1Q3aoQx5SSG/v3I9e7j19nwyuMhLJYwBhdv29LiqpyD2cEqNrJLm8lWn0lJg==", "requires": { "async": "^2.6.1", "bs58": "^4.0.1", "cids": "~0.5.4", "class-is": "^1.1.0", - "is-ipfs": "~0.6.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" - }, - "dependencies": { - "is-ipfs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.1.tgz", - "integrity": "sha512-WhqQylam6pODS2RyqT/u0PR5KWtBZNCgPjgargFOVQjzw/3+6d0midXenzU65klM4LH13IUiCC6ObhDUdXZ7Nw==", - "dev": true, - "requires": { - "bs58": "^4.0.1", - "cids": "~0.7.0", - "mafmt": "^6.0.7", - "multiaddr": "^6.0.4", - "multibase": "~0.6.0", - "multihashes": "~0.4.13" - }, - "dependencies": { - "cids": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.1.tgz", - "integrity": "sha512-qEM4j2GKE/BiT6WdUi6cfW8dairhSLTUE8tIdxJG6SvY33Mp/UPjw+xcO0n1zsllgo72BupzKF/44v+Bg8YPPg==", - "dev": true, - "requires": { - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "~0.5.1", - "multihashes": "~0.4.14" - } - } - } - } } }, "is-ipfs": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.4.8.tgz", "integrity": "sha512-xIKUeA24IFMfkmeAPEOZL448X7a08c/KzAGQp1e/QxC9bx/NNEdT/ohob3SW6eJO2UwJNjsbfMeNZ2B+Dk2Fdg==", - "dev": true, "requires": { "bs58": "4.0.1", "cids": "~0.5.6", @@ -10481,102 +9140,79 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "libp2p-crypto": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.15.0.tgz", - "integrity": "sha512-irShh05ojCy6MauvlMggxX3Rda2eGgO7R4swqTaAQpX4vPnj1lBo5x8RxiqgqenzFx9ldF1pUor/SU/UevS66g==", - "dev": true, + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.13.0.tgz", + "integrity": "sha512-i3r1TBec/xYmC5bcpPiIs3OyUAU3iy53OdRdxqawKoWTQPjYB+TyQ4w+otT66Y0sMcw70O0wH3GFAfPmQgFn+g==", "requires": { - "asn1.js": "^5.0.1", - "async": "^2.6.1", + "asn1.js": "^5.0.0", + "async": "^2.6.0", "browserify-aes": "^1.2.0", "bs58": "^4.0.1", "keypair": "^1.0.1", "libp2p-crypto-secp256k1": "~0.2.2", - "multihashing-async": "~0.5.1", - "node-forge": "~0.7.6", + "multihashing-async": "~0.4.8", + "node-forge": "^0.7.5", "pem-jwk": "^1.5.1", "protons": "^1.0.1", "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", - "ursa-optional": "~0.9.9", "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" }, "dependencies": { - "bn.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", - "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", - "dev": true, - "optional": true - }, - "libp2p-crypto-secp256k1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", - "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", - "dev": true, - "requires": { - "async": "^2.6.1", - "multihashing-async": "~0.5.1", - "nodeify": "^1.0.1", - "safe-buffer": "^5.1.2", - "secp256k1": "^3.6.1" - } - }, - "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", - "dev": true - }, - "pem-jwk": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", - "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", - "dev": true, - "requires": { - "asn1.js": "1.0.3" - }, - "dependencies": { - "asn1.js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", - "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", - "dev": true, - "requires": { - "bn.js": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - } - } + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" }, - "ursa-optional": { - "version": "0.9.10", - "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.9.10.tgz", - "integrity": "sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA==", - "dev": true, + "multihashing-async": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", + "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", "requires": { - "bindings": "^1.3.0", - "nan": "^2.11.1" + "async": "^2.6.0", + "blakejs": "^1.1.0", + "js-sha3": "^0.7.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" } } } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "libp2p-crypto-secp256k1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", + "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + "requires": { + "async": "^2.6.1", + "multihashing-async": "~0.5.1", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.1" + } + }, + "multiaddr": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-5.0.2.tgz", + "integrity": "sha512-dXz1chaUHV6L6okujDLS7uRA6NmCbitpikOJA0vMMnrwVyai5kC3ot2CSLrSfj3B8XIgNzpe/j5auSYrnbGGzA==", + "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" + } }, "multihashing-async": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", - "dev": true, "requires": { "blakejs": "^1.1.0", "js-sha3": "~0.8.0", @@ -10585,168 +9221,241 @@ "nodeify": "^1.0.1" } }, - "ndjson": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz", - "integrity": "sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=", - "dev": true, - "requires": { - "json-stringify-safe": "^5.0.1", - "minimist": "^1.2.0", - "split2": "^2.1.0", - "through2": "^2.0.3" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "peer-id": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.11.0.tgz", + "integrity": "sha512-C/lRJk4CWIgOdKvfO572NvHbPcUwe49I6G0toIhDB5tCohqv/qzy0uBcAK9Ww8TvYI6U4J3C8ACShV9fWjNU4w==", + "requires": { + "async": "^2.6.1", + "libp2p-crypto": "~0.13.0", + "lodash": "^4.17.10", + "multihashes": "~0.4.13" + } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "dev": true, + "peer-info": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.14.1.tgz", + "integrity": "sha512-I9K+q7sisU0gg5ej6ekbhgolwlcm1tc2wDtLmumptoLYx0DkIT8WVHtgoTnupYwRRqcYADtwddFdiXfb8QFqzg==", "requires": { - "through2": "^2.0.2" + "lodash.uniqby": "^4.7.0", + "mafmt": "^6.0.0", + "multiaddr": "^4.0.0", + "peer-id": "~0.10.7" }, "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "libp2p-crypto": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", + "integrity": "sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "asn1.js": "^5.0.0", + "async": "^2.6.0", + "browserify-aes": "^1.1.1", + "bs58": "^4.0.1", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.2.2", + "multihashing-async": "~0.4.7", + "node-forge": "^0.7.1", + "pem-jwk": "^1.5.1", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "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" + } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, + "multihashing-async": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", + "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "async": "^2.6.0", + "blakejs": "^1.1.0", + "js-sha3": "^0.7.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "peer-id": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", + "integrity": "sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw==", + "requires": { + "async": "^2.6.0", + "libp2p-crypto": "~0.12.1", + "lodash": "^4.17.5", + "multihashes": "~0.4.13" } } } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, + "pem-jwk": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", + "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "asn1.js": "1.0.3" }, "dependencies": { - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, + "asn1.js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", + "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "bn.js": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } } } } } }, + "ipfs-pubsub-1on1": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-1on1/-/ipfs-pubsub-1on1-0.0.6.tgz", + "integrity": "sha512-Sr44DX7mdhk6znR1+DlfUIB1qiu07T5SeOMJ9Okr62U+9MGl4YQaP8vOGrmLysIEKBryZQrku2vjfNj0nxBd1g==", + "requires": { + "safe-buffer": "~5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "ipfs-pubsub-peer-monitor": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-peer-monitor/-/ipfs-pubsub-peer-monitor-0.0.9.tgz", + "integrity": "sha512-EJpfNzM9HnS95qnoi0WajNT3i8AoLIkItSdQabNfopuiL/8Ky81MRy17S1wCIRrZEq2EpogG2DfZMJdvcp2I8g==", + "requires": { + "p-forever": "^1.0.1" + } + }, + "ipfs-pubsub-room": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-room/-/ipfs-pubsub-room-1.4.1.tgz", + "integrity": "sha512-LYj2V1pBLsgc6BqjwNwFUCxBjeY7ZN3k1TRWHGX+rDQXPAAxYCfI59Y7rwuQdBPnAT30mDDzrgfGiBvD2lWU+Q==", + "requires": { + "hyperdiff": "^2.0.5", + "lodash.clonedeep": "^4.5.0", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9" + } + }, + "ipfs-repo": { + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.26.6.tgz", + "integrity": "sha512-fcEV2y5N5tuI45zmoRQdDIN4bFj03xvxnZkXpblws4FMvPy0tkDZEtAdsZsmMnkbae2GDzwaKWZ6Dc3TPmzAZg==", + "requires": { + "async": "^2.6.2", + "base32.js": "~0.1.0", + "bignumber.js": "^8.1.1", + "buffer": "^5.2.1", + "cids": "~0.7.0", + "datastore-core": "~0.6.0", + "datastore-fs": "~0.8.0", + "datastore-level": "~0.11.0", + "debug": "^4.1.0", + "dlv": "^1.1.2", + "interface-datastore": "~0.6.0", + "ipfs-block": "~0.8.1", + "just-safe-set": "^2.1.0", + "multiaddr": "^6.0.6", + "proper-lockfile": "^4.0.0", + "pull-stream": "^3.6.9", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + } + } + }, + "ipfs-unixfs": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-0.1.16.tgz", + "integrity": "sha512-TX9Dyu77MxpLzGh/LcQne95TofOyvOeW0oOi72aBMMcV1ItP3684e6NTG9KY1qzdrC+ZUR8kT7y18J058n8KXg==", + "requires": { + "protons": "^1.0.1" + } + }, + "ipfs-unixfs-exporter": { + "version": "0.37.7", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-0.37.7.tgz", + "integrity": "sha512-SZgaIy9MTFelKFnjzS6VAMKwVdukXej0vOKc+7IXVMoS2MRQ8nBOMnClqPD+2XXU49Z2T8fnZWKHzHs84zeuuw==", + "requires": { + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "err-code": "^1.1.2", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-importer": "~0.39.11" + } + }, + "ipfs-unixfs-importer": { + "version": "0.39.11", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-0.39.11.tgz", + "integrity": "sha512-2eG6zCbMF3HPQE6TmBoq62XTMgVBqE4ja2gxpoIWOjOwVN6g/1LcX1vEqfPTLyFTG1lN3oad5xCblQLriXDUIQ==", + "requires": { + "async-iterator-all": "^1.0.0", + "async-iterator-batch": "~0.0.1", + "async-iterator-first": "^1.0.0", + "bl": "^3.0.0", + "deep-extend": "~0.6.0", + "err-code": "^1.1.2", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipld-dag-pb": "~0.17.2", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "rabin-wasm": "~0.0.4", + "superstruct": "~0.6.1" + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + }, "ipld": { "version": "0.24.1", "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.24.1.tgz", @@ -10866,34 +9575,6 @@ "timestamp-nano": "^1.0.0" } }, - "iron": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/iron/-/iron-4.0.5.tgz", - "integrity": "sha1-TwQszri5c480a1mqc0yDqJvDFCg=", - "dev": true, - "requires": { - "boom": "5.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -11245,12 +9926,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isemail": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz", - "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -11416,12 +10091,6 @@ "handlebars": "^4.0.3" } }, - "items": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/items/-/items-2.1.2.tgz", - "integrity": "sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg==", - "dev": true - }, "jest": { "version": "23.6.0", "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", @@ -12866,37 +11535,6 @@ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" }, - "joi": { - "version": "14.3.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-14.3.1.tgz", - "integrity": "sha512-LQDdM+pkOrpAn4Lp+neNIFV3axv1Vna3j38bisbQhETPMANYRbFJFUyOZcOClYvM/hppMhGWuKSFEK9vjrB+bQ==", - "dev": true, - "requires": { - "hoek": "6.x.x", - "isemail": "3.x.x", - "topo": "3.x.x" - }, - "dependencies": { - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, - "topo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz", - "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", - "dev": true, - "requires": { - "hoek": "6.x.x" - } - } - } - }, "joi-browser": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/joi-browser/-/joi-browser-13.4.0.tgz", @@ -14159,29 +12797,11 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", - "dev": true - }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, "lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", @@ -14678,24 +13298,6 @@ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, - "mimos": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/mimos/-/mimos-3.0.3.tgz", - "integrity": "sha1-uRCQcq03jCty9qAQHEPd+ys2ZB8=", - "dev": true, - "requires": { - "hoek": "4.x.x", - "mime-db": "1.x.x" - }, - "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 - } - } - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -15067,24 +13669,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "nigel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/nigel/-/nigel-2.0.2.tgz", - "integrity": "sha1-k6GGb7DFLYc5CqdeKxYfS1x15bE=", - "dev": true, - "requires": { - "hoek": "4.x.x", - "vise": "2.x.x" - }, - "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 - } - } - }, "node-fetch": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", @@ -15636,15 +14220,6 @@ } } }, - "orbit-db-cache-postmsg-proxy": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/orbit-db-cache-postmsg-proxy/-/orbit-db-cache-postmsg-proxy-0.1.1.tgz", - "integrity": "sha512-CZxpryExQ0y1eXhqHhlM7G8jLv7BMWySLj4c/Jb3QiEP30SONfjHumQ9Q99VCJJW5mfOsuoHoB7dr9T6s2k0DQ==", - "requires": { - "orbit-db-cache": "^0.2.4", - "postmsg-rpc": "^2.4.0" - } - }, "orbit-db-counterstore": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/orbit-db-counterstore/-/orbit-db-counterstore-1.5.2.tgz", @@ -15693,6 +14268,50 @@ "requires": { "ethers": "^4.0.20", "orbit-db-keystore": "~0.2.0" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "ethers": { + "version": "4.0.39", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.39.tgz", + "integrity": "sha512-QVtC8TTUgTrnlQjQvdFJ7fkSWKwp8HVTbKRmrdbVryrPzJHMTf3WSeRNvLF2enGyAFtyHJyFNnjN0fSshcEr9w==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + } } }, "orbit-db-io": { @@ -16264,36 +14883,6 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "pez": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/pez/-/pez-2.1.5.tgz", - "integrity": "sha1-XsLMYlAMw+tCNtSkFM9aF7XrUAc=", - "dev": true, - "requires": { - "b64": "3.x.x", - "boom": "5.x.x", - "content": "3.x.x", - "hoek": "4.x.x", - "nigel": "2.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -16421,37 +15010,6 @@ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, - "podium": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/podium/-/podium-1.3.0.tgz", - "integrity": "sha512-ZIujqk1pv8bRZNVxwwwq0BhXilZ2udycQT3Kp8ah3f3TcTmVg7ILJsv/oLf47gRa2qeiP584lNq+pfvS9U3aow==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "items": "2.x.x", - "joi": "10.x.x" - }, - "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 - }, - "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" - } - } - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -17706,15 +16264,6 @@ "aproba": "^1.1.1" } }, - "rust-result": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rust-result/-/rust-result-1.0.0.tgz", - "integrity": "sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I=", - "dev": true, - "requires": { - "individual": "^2.0.0" - } - }, "rxjs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", @@ -17729,21 +16278,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, - "safe-json-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-4.0.0.tgz", - "integrity": "sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw=", - "dev": true, - "requires": { - "rust-result": "^1.0.0" - } - }, - "safe-json-stringify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", - "dev": true - }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -18015,36 +16549,6 @@ "nanoid": "^2.1.0" } }, - "shot": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/shot/-/shot-3.4.2.tgz", - "integrity": "sha1-Hlw/bysmZJrcQvfrNQIUpaApHWc=", - "dev": true, - "requires": { - "hoek": "4.x.x", - "joi": "10.x.x" - }, - "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 - }, - "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" - } - } - } - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -18346,23 +16850,6 @@ } } }, - "somever": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/somever/-/somever-1.0.1.tgz", - "integrity": "sha512-PCDMBcega4n7wuBUKmkiXidF3cOwtHHGg2qJYl0Rkw7StZqORoCgqce7HUuWNta/NAiQhwLDezNnTANxEWPCGA==", - "dev": true, - "requires": { - "hoek": "4.x.x" - }, - "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 - } - } - }, "sonic-boom": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.6.tgz", @@ -18601,58 +17088,6 @@ } } }, - "statehood": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/statehood/-/statehood-5.0.4.tgz", - "integrity": "sha512-6/feFLqqHylvA/dHwJA0DgXvbEcKgbhRUeljsuu6+cIr8PO88nax7Wc+celZlPTncqT2arsxXL8P329Q1yfe9Q==", - "dev": true, - "requires": { - "boom": "5.x.x", - "bourne": "1.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "iron": "4.x.x", - "items": "2.x.x", - "joi": "12.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, - "joi": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-12.0.0.tgz", - "integrity": "sha512-z0FNlV4NGgjQN1fdtHYXf5kmgludM65fG/JlXzU6+rwkt9U5UWuXVYnXa2FpK0u6+qBuCmrm5byPNuiiddAHvQ==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "3.x.x", - "topo": "2.x.x" - } - } - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -18769,18 +17204,6 @@ "stream-shift": "^1.0.0" } }, - "stream-http": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", - "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^3.0.6", - "xtend": "^4.0.0" - } - }, "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", @@ -18810,12 +17233,6 @@ "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", "dev": true }, - "streamifier": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz", - "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=", - "dev": true - }, "streamsearch": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", @@ -18926,62 +17343,6 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, - "subtext": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/subtext/-/subtext-5.0.1.tgz", - "integrity": "sha512-zH/jaUKJ/bkrTpEe3zuTFIRnqAwv5xcGpXA2JaxEc30KRAT4k78jZnRqM45snjBSZAuvpI8chRUh1VZprcUVfw==", - "dev": true, - "requires": { - "boom": "5.x.x", - "bourne": "1.x.x", - "content": "3.x.x", - "hoek": "4.x.x", - "pez": "2.x.x", - "wreck": "12.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, - "superagent": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-4.0.0-beta.5.tgz", - "integrity": "sha512-v4FTm6kg6zJOfLcot9kCTcWy/wjD/hvtUXWcv0Pd8TlUqxKDctif2rtDPRb4gW6Df9MMXU1BHB+1z5U2VFVsYg==", - "dev": true, - "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.2", - "debug": "^4.0.0", - "form-data": "^2.3.2", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^2.0.3", - "qs": "^6.5.1", - "readable-stream": "^3.0.3" - }, - "dependencies": { - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true - } - } - }, "superstruct": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", @@ -19387,12 +17748,6 @@ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -19458,23 +17813,6 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, - "topo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", - "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", - "dev": true, - "requires": { - "hoek": "4.x.x" - }, - "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 - } - } - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -19494,12 +17832,6 @@ "punycode": "^2.1.0" } }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -19942,23 +18274,6 @@ "extsprintf": "^1.2.0" } }, - "vise": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/vise/-/vise-2.0.2.tgz", - "integrity": "sha1-awjo+0y3bjpQzW3Q7DczjoEaDTk=", - "dev": true, - "requires": { - "hoek": "4.x.x" - }, - "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 - } - } - }, "vm-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", @@ -20379,33 +18694,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "wreck": { - "version": "12.5.1", - "resolved": "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz", - "integrity": "sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A==", - "dev": true, - "requires": { - "boom": "5.x.x", - "hoek": "4.x.x" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "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 - } - } - }, "write": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", diff --git a/package.json b/package.json index f44db43a..78d0dcf8 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,11 @@ "3box-orbitdb-plugins": "^1.0.5", "3id-resolver": "^0.0.5", "@babel/runtime": "^7.4.5", + "@ethersproject/contracts": "^5.0.0-beta.140", + "@ethersproject/hdnode": "^5.0.0-beta.133", + "@ethersproject/providers": "^5.0.0-beta.144", + "@ethersproject/wallet": "^5.0.0-beta.133", "did-jwt": "^0.2.0", - "ethers": "^4.0.28", "events": "^3.0.0", "graphql-request": "^1.8.2", "https-did-resolver": "^0.1.0", diff --git a/src/3id/__tests__/keyring.test.js b/src/3id/__tests__/keyring.test.js index a6f90bd1..9d81290e 100644 --- a/src/3id/__tests__/keyring.test.js +++ b/src/3id/__tests__/keyring.test.js @@ -1,5 +1,5 @@ const Keyring = require('../keyring') -const { HDNode } = require('ethers').utils +const { mnemonicToSeed } = require('@ethersproject/hdnode') const nacl = require('tweetnacl') nacl.util = require('tweetnacl-util') @@ -9,7 +9,7 @@ describe('Keyring', () => { let keyring1 let keyring2 let keyring3 - const seed = HDNode.mnemonicToSeed('clay rubber drama brush salute cream nerve wear stuff sentence trade conduct') + const seed = mnemonicToSeed('clay rubber drama brush salute cream nerve wear stuff sentence trade conduct') it('throws error if no seed', async () => { expect(() => new Keyring()).toThrow() diff --git a/src/3id/index.js b/src/3id/index.js index 701fc03f..f35ae03f 100644 --- a/src/3id/index.js +++ b/src/3id/index.js @@ -1,4 +1,4 @@ -const { HDNode } = require('ethers').utils +const { mnemonicToSeed, entropyToMnemonic } = require('@ethersproject/hdnode') const EventEmitter = require('events') const didJWT = require('did-jwt') const DidDocument = require('ipfs-did-document') @@ -209,7 +209,7 @@ class ThreeId { if (!this._keyrings[name]) { const sig = await utils.openSpaceConsent(this.managementAddress, this._provider, name) const entropy = '0x' + utils.sha256(sig.slice(2)) - const seed = HDNode.mnemonicToSeed(HDNode.entropyToMnemonic(entropy)) + const seed = mnemonicToSeed(entropyToMnemonic(entropy)) this._keyrings[name] = new Keyring(seed) this._subDIDs[name] = await this._init3ID(name) localstorage.set(STORAGE_KEY + this.managementAddress, this.serializeState()) @@ -288,8 +288,8 @@ class ThreeId { } if (opts.consentCallback) opts.consentCallback(true) const entropy = '0x' + utils.sha256(sig.slice(2)) - const mnemonic = HDNode.entropyToMnemonic(entropy) - const seed = HDNode.mnemonicToSeed(mnemonic) + const mnemonic = entropyToMnemonic(entropy) + const seed = mnemonicToSeed(mnemonic) serialized3id = JSON.stringify({ managementAddress: normalizedAddress, seed, diff --git a/src/3id/keyring.js b/src/3id/keyring.js index 78f378dd..a5d79980 100644 --- a/src/3id/keyring.js +++ b/src/3id/keyring.js @@ -1,4 +1,4 @@ -const { HDNode } = require('ethers').utils +const { HDNode } = require('@ethersproject/hdnode') const nacl = require('tweetnacl') nacl.util = require('tweetnacl-util') const SimpleSigner = require('did-jwt').SimpleSigner diff --git a/src/utils/index.js b/src/utils/index.js index 771cb7f2..8a446ea9 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -1,7 +1,9 @@ const fetch = typeof window !== 'undefined' ? window.fetch : require('node-fetch') const Multihash = require('multihashes') const sha256 = require('js-sha256').sha256 -const ethers = require('ethers') +const { Contract } = require('@ethersproject/contracts') +const { Web3Provider } = require('@ethersproject/providers') +const { verifyMessage } = require('@ethersproject/wallet') const ENC_BLOCK_SIZE = 24 const MAGIC_ERC1271_VALUE = '0x20c13b0b' @@ -55,7 +57,7 @@ module.exports = { data: msg, sig: personalSig } - return ethers.utils.verifyMessage(msg , personalSig) + return verifyMessage(msg , personalSig) }, openBoxConsent: (fromAddress, ethereum) => { @@ -140,8 +142,8 @@ module.exports = { const abi = [ 'function isValidSignature(bytes _messageHash, bytes _signature) public view returns (bytes4 magicValue)' ] - const ethersProvider = new ethers.providers.Web3Provider(web3Provider) - const contract = new ethers.Contract(linkObj.address, abi, ethersProvider) + const ethersProvider = new Web3Provider(web3Provider) + const contract = new Contract(linkObj.address, abi, ethersProvider) const message = '0x' + Buffer.from(linkObj.message, 'utf8').toString('hex') const returnValue = await contract.isValidSignature(message, linkObj.signature) diff --git a/src/utils/verifier.js b/src/utils/verifier.js index a859b6b0..39b23ce1 100644 --- a/src/utils/verifier.js +++ b/src/utils/verifier.js @@ -1,6 +1,6 @@ const { fetchText, getMessageConsent } = require('./index') const didJWT = require('did-jwt') -const ethers = require('ethers') +const { verifyMessage } = require('@ethersproject/wallet') require('https-did-resolver').default() require('muport-did-resolver')() @@ -112,6 +112,6 @@ module.exports = { } // Validate the signature - return ethers.utils.verifyMessage(consentMsg, consentSig) + return verifyMessage(consentMsg, consentSig) } } From 8b4ad7cd48034ee9e973e37a9be65b1a926ba38b Mon Sep 17 00:00:00 2001 From: Peter Grassberger Date: Wed, 20 Nov 2019 21:17:34 +0100 Subject: [PATCH 2/4] Bugfix: eth_getCode add second parameter "latest" with it infura "Geth/v1.8.27-omnibus-c94f741c/linux-amd64/go1.11.1" returns an error: "code": -32602, "message": "missing value for required argument 1" Parity seems to have no problem with the missing parameter --- src/utils/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/index.js b/src/utils/index.js index 8a446ea9..cc5c64c7 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -124,7 +124,7 @@ module.exports = { getCode: async (ethereumProvider, address) => { const method = 'eth_getCode' - const params = [address] + const params = [address, 'latest'] const code = await safeSend(ethereumProvider, { jsonrpc: '2.0', From 4731074db66ad4f5a9db64aca50fed713020754f Mon Sep 17 00:00:00 2001 From: Joel Torstensson Date: Wed, 27 Nov 2019 12:32:49 +0100 Subject: [PATCH 3/4] feat: refactor of address linking to support IDW v1 --- package-lock.json | 83 +++----- package.json | 5 +- src/3box.js | 183 +++++++----------- src/3id/__tests__/3id.test.js | 8 +- .../__tests__/__snapshots__/3id.test.js.snap | 172 ++++++++-------- src/3id/index.js | 22 ++- src/__mocks__/3ID.js | 1 + src/__tests__/3box.test.js | 50 +++-- src/__tests__/__snapshots__/3box.test.js.snap | 2 +- src/__tests__/idWallet.integration.js | 41 ++-- src/replicator.js | 7 +- src/utils/index.js | 77 +------- src/utils/verifier.js | 2 + 13 files changed, 252 insertions(+), 401 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7c7bb7a4..4bc250b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,6 +32,16 @@ } } }, + "3id-blockchain-utils": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/3id-blockchain-utils/-/3id-blockchain-utils-0.3.2.tgz", + "integrity": "sha512-5l8aZspimqrJPwJabcbz0fFsCwG0EO3f0A/peB7LPlwCZR0A6gbrwgKVY3NDXi45aaqJFTZ+1PmgLycB+iA/tQ==", + "requires": { + "@ethersproject/contracts": "^5.0.0-beta.140", + "@ethersproject/providers": "^5.0.0-beta.144", + "@ethersproject/wallet": "^5.0.0-beta.133" + } + }, "3id-resolver": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/3id-resolver/-/3id-resolver-0.0.5.tgz", @@ -8351,20 +8361,37 @@ } }, "identity-wallet": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-0.2.0.tgz", - "integrity": "sha512-/sliWwpx6WGk9VkhfokrLYU95yL0VW47Arj26KtOwjzPw7dm3J2PIDz8lEGqOyLmQQa/MNW8S3yuYgXcjO+mSg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-1.0.0-beta.2.tgz", + "integrity": "sha512-kThy7ittEQ+JmgLPDfcPskUi7tvG0WzCXZILsAYt8oseL+QDhvKYm+RPYhb47UFwKuUgOj2NqE19ChI+SEjl7Q==", "dev": true, "requires": { + "3id-blockchain-utils": "^0.2.1", "@babel/runtime": "^7.4.5", + "@ethersproject/hdnode": "5.0.0-beta.133", + "@ethersproject/wallet": "5.0.0-beta.133", "did-jwt": "^0.1.3", - "ethers": "^4.0.28", "events": "^3.0.0", + "ipfs-did-document": "^1.2.3", + "ipld-dag-cbor": "^0.15.0", + "js-sha256": "^0.9.0", "multihashes": "^0.4.15", + "store": "^2.0.12", "tweetnacl": "^1.0.1", "tweetnacl-util": "^0.15.0" }, "dependencies": { + "3id-blockchain-utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/3id-blockchain-utils/-/3id-blockchain-utils-0.2.1.tgz", + "integrity": "sha512-acpRvBIH4KstIem1robPctlrQ9Kp09hFN5RWdXqxvIovncOBtV24BNYe6OcJErbhWxiHh3ykmJ9S5x2LThe9jg==", + "dev": true, + "requires": { + "@ethersproject/contracts": "^5.0.0-beta.140", + "@ethersproject/providers": "^5.0.0-beta.144", + "@ethersproject/wallet": "^5.0.0-beta.133" + } + }, "did-jwt": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", @@ -8381,54 +8408,6 @@ "tweetnacl": "^1.0.1", "tweetnacl-util": "^0.15.0" } - }, - "ethers": { - "version": "4.0.39", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.39.tgz", - "integrity": "sha512-QVtC8TTUgTrnlQjQvdFJ7fkSWKwp8HVTbKRmrdbVryrPzJHMTf3WSeRNvLF2enGyAFtyHJyFNnjN0fSshcEr9w==", - "dev": true, - "requires": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "elliptic": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", - "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "inherits": "^2.0.1" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } } } }, diff --git a/package.json b/package.json index 78d0dcf8..e56ec427 100644 --- a/package.json +++ b/package.json @@ -44,11 +44,10 @@ "homepage": "https://github.com/3box/3box-js#readme", "dependencies": { "3box-orbitdb-plugins": "^1.0.5", + "3id-blockchain-utils": "^0.3.2", "3id-resolver": "^0.0.5", "@babel/runtime": "^7.4.5", - "@ethersproject/contracts": "^5.0.0-beta.140", "@ethersproject/hdnode": "^5.0.0-beta.133", - "@ethersproject/providers": "^5.0.0-beta.144", "@ethersproject/wallet": "^5.0.0-beta.133", "did-jwt": "^0.2.0", "events": "^3.0.0", @@ -78,7 +77,7 @@ "babel-core": "7.0.0-bridge.0", "babel-loader": "^8.0.6", "express": "^4.17.0", - "identity-wallet": "^0.2.0", + "identity-wallet": "^1.0.0-beta.2", "jest": "^23.6.0", "jsdoc-to-markdown": "^5.0.0", "standard": "^14.3.1", diff --git a/src/3box.js b/src/3box.js index 091f0e0f..b607dd17 100644 --- a/src/3box.js +++ b/src/3box.js @@ -1,6 +1,7 @@ const localstorage = require('store') const IPFS = require('ipfs') const registerResolver = require('3id-resolver') +const { createLink, validateLink } = require('3id-blockchain-utils') const ThreeId = require('./3id') const Replicator = require('./replicator') @@ -15,12 +16,6 @@ const API = require('./api') const IPFSRepo = require('ipfs-repo') const LevelStore = require('datastore-level') -const ACCOUNT_TYPES = { - ethereum: 'ethereum', - ethereumEOA: 'ethereum-eoa', - erc1271: 'erc1271' -} - const PINNING_NODE = config.pinning_node const ADDRESS_SERVER_URL = config.address_server_url const IPFS_OPTIONS = config.ipfs_options @@ -92,7 +87,7 @@ class Box { await this._3id.authenticate() const rootstoreName = this._3id.muportFingerprint + '.root' const key = (await this._3id.getPublicKeys(null, true)).signingKey - await this.replicator.new(rootstoreName, key, this.DID) + await this.replicator.new(rootstoreName, key, this._3id.DID, this._3id.muportDID) this._publishRootStore(this.replicator.rootstore.address.toString()) } this.replicator.rootstore.setIdentity(await this._3id.getOdbId()) @@ -101,6 +96,10 @@ class Box { this._3id.events.on('new-auth-method', authData => { this._writeRootstoreEntry(Replicator.entryTypes.AUTH_DATA, authData) }) + this._3id.events.on('new-link-proof', proof => { + this._writeAddressLink(proof) + }) + this._3id.startUpdatePolling() this.public = new PublicStore(this._3id.muportFingerprint + '.public', this._linkProfile.bind(this), this.replicator, this._3id) this.private = new PrivateStore(this._3id.muportFingerprint + '.private', this.replicator, this._3id) @@ -314,19 +313,28 @@ class Box { async _publishRootStore (rootStoreAddress) { // Sign rootstoreAddress - const addressToken = await this._3id.signJWT({ rootStoreAddress }) + const addressToken = await this._3id.signJWT({ rootStoreAddress }, { use3ID: true }) // Store odbAddress on 3box-address-server - try { - await utils.fetchJson(this._serverUrl + '/odbAddress', { - address_token: addressToken - }) - } catch (err) { - // we capture http errors (500, etc) - // see: https://github.com/3box/3box-js/pull/351 - if (!err.statusCode) { - throw new Error(err) + const publish = async token => { + try { + await utils.fetchJson(this._serverUrl + '/odbAddress', { + address_token: token + }) + } catch (err) { + if (err.message === 'Invalid JWT') { + // we tried to publish before address-server has access to 3ID + // so it can't verify the JWT. Retry until it is available + await new Promise(resolve => setTimeout(resolve, 300)) + await publish(token) + } + // we capture http errors (500, etc) + // see: https://github.com/3box/3box-js/pull/351 + if (!err.statusCode) { + throw new Error(err) + } } } + await publish(addressToken) return true } @@ -346,6 +354,7 @@ class Box { * @property {String} DID the DID of the user */ get DID () { + // TODO - update once verification service supports 3ID return this._3id.muportDID } @@ -353,35 +362,16 @@ class Box { * Creates a proof that links an ethereum address to the 3Box account of the user. If given proof, it will simply be added to the root store. * * @param {Object} [link] Optional link object with type or proof - * @param {String} [link.type='ethereum-eoa'] The type of link (default 'ethereum') * @param {Object} [link.proof] Proof object, should follow [spec](https://github.com/3box/3box/blob/master/3IPs/3ip-5.md) */ async linkAddress (link = {}) { if (link.proof) { - let valid - if (link.proof.type === ACCOUNT_TYPES.ethereumEOA) { - valid = await utils.recoverPersonalSign(link.proof.message, link.proof.signature) - } else if (link.proof.type === ACCOUNT_TYPES.erc1271) { - valid = await utils.isValidSignature(link.proof, true, this._web3provider) - } else { - throw new Error('Missing or invalid property "type" in proof') - } - if (!valid) { - throw new Error('There was an issue verifying the supplied proof: ', valid) - } - await this._writeRootstoreEntry(Replicator.entryTypes.ADDRESS_LINK, link.proof) - return - } - if (!link.type || link.type === ACCOUNT_TYPES.ethereumEOA) { + await this._writeAddressLink(link.proof) + } else { await this._linkProfile() } } - async linkAccount (type = ACCOUNT_TYPES.ethereumEOA) { - console.warn('linkAccount: deprecated, please use linkAddress going forward') - await this.linkAddress(type) - } - /** * Remove given address link, returns true if successful * @@ -396,7 +386,7 @@ class Box { type: 'delete-address-link' } const oneHour = 60 * 60 - const deleteToken = await this._3id.signJWT(payload, { expiresIn: oneHour }) + const deleteToken = await this._3id.signJWT(payload, { expiresIn: oneHour, use3ID: true }) try { await utils.fetchJson(this._serverUrl + '/linkdelete', { @@ -432,11 +422,6 @@ class Box { return Boolean(linksQuery) } - async isAccountLinked (type = ACCOUNT_TYPES.ethereumEOA) { - console.warn('isAccountLinked: deprecated, please use isAddressLinked going forward') - return this.isAddressLinked(type) - } - /** * Lists address links associated with this 3Box * @@ -453,66 +438,49 @@ class Box { }, []) } + async _writeAddressLink (proof) { + const validProof = validateLink(proof) + if (!validProof) { + throw new Error('tried to write invalid link proof', proof) + } + if (await this.isAddressLinked({ address: validProof.address })) return true // address already linked + await this._writeRootstoreEntry(Replicator.entryTypes.ADDRESS_LINK, proof) + await utils.fetchJson(this._serverUrl + '/link', proof) + } + async _linkProfile () { const address = await this._3id.getAddress() - let linkData = await this._readAddressLink(address) - - if (!linkData) { - const did = this.DID - - let consent - try { - // TODO - this should be handled in the 3ID class - if (this._web3provider.is3idProvider) { - consent = await utils.callRpc(this._web3provider, '3id_linkManagementKey', { did }) - } else { - consent = await utils.getLinkConsent(address, did, this._web3provider) - } - } catch (e) { - throw new Error('Link consent message must be signed before adding data, to link address to store') - } + let proof = await this._readAddressLink(address) - const addressType = await this._detectAddressType(address) - if (addressType === ACCOUNT_TYPES.erc1271) { - const chainId = await utils.getChainId(this._web3provider) - linkData = { - version: 1, - type: ACCOUNT_TYPES.erc1271, - chainId, - address, - message: consent.msg, - timestamp: consent.timestamp, - signature: consent.sig + if (!proof) { + if (!this._web3provider.is3idProvider) { + try { + proof = await createLink(this._3id.DID, address, this._web3provider) + } catch (e) { + throw new Error('Link consent message must be signed before adding data, to link address to store', e) } - } else { - linkData = { - version: 1, - type: ACCOUNT_TYPES.ethereumEOA, - message: consent.msg, - signature: consent.sig, - timestamp: consent.timestamp + try { + await this._writeAddressLink(proof) + } catch (err) { + throw new Error('An error occured while publishing link:', err) } } - try { - await this._writeRootstoreEntry(Replicator.entryTypes.ADDRESS_LINK, linkData) - } catch (err) { - throw new Error('An error occured while publishing link:', err) - } } else { // Send consentSignature to 3box-address-server to link profile with ethereum address // _writeAddressLink already does this if the other conditional is called - if (!this.hasPublishedLink[linkData.signature]) { + if (!this.hasPublishedLink[proof.signature]) { // Don't want to publish on every call to _linkProfile - this.hasPublishedLink[linkData.signature] = true + this.hasPublishedLink[proof.signature] = true try { // Send consentSignature to 3box-address-server to link profile with ethereum address - await utils.fetchJson(this._serverUrl + '/link', linkData) + await utils.fetchJson(this._serverUrl + '/link', proof) } catch (err) { throw new Error('An error occured while publishing link:', err) } } } // Ensure we self-published our did + // TODO - is this still needed? if (!(await this.public.get('proof_did'))) { // we can just sign an empty JWT as a proof that we own this DID await this.public.set('proof_did', await this._3id.signJWT(), { noLink: true }) @@ -522,16 +490,19 @@ class Box { async _writeRootstoreEntry (type, payload) { const cid = (await this._ipfs.dag.put(payload)).toBaseEncodedString() await this._ipfs.pin.add(cid) - const linkExist = await this._typeCIDExists(type, cid) - if (linkExist) return - const link = { + const entryExist = await this._typeCIDExists(type, cid) + if (entryExist) return + const entry = { type, data: cid } - await this.replicator.rootstore.add(link) - if (type === Replicator.entryTypes.ADDRESS_LINK) { - await utils.fetchJson(this._serverUrl + '/link', payload) - } + // the below code prevents multiple simultaneous writes, + // which orbitdb doesn't support + const prev = this._rootstoreQueue + this._rootstoreQueue = (async () => { + if (prev) await prev + await this.replicator.rootstore.add(entry) + })() } async _typeCIDExists (type, cid) { @@ -549,16 +520,7 @@ class Box { async _readAddressLinks () { const links = await this.replicator.getAddressLinks() - const allLinks = await Promise.all(links.map(async linkObj => { - if (!linkObj.address) { - linkObj.address = utils.recoverPersonalSign(linkObj.message, linkObj.signature) - } - const isErc1271 = linkObj.type === ACCOUNT_TYPES.erc1271 - if (!(await utils.isValidSignature(linkObj, isErc1271, this._web3provider))) { - return null - } - return linkObj - })) + const allLinks = await Promise.all(links.map(validateLink)) return allLinks.filter(Boolean) } @@ -568,19 +530,6 @@ class Box { return links.find(link => link.address.toLowerCase() === address) } - async _detectAddressType (address) { - try { - const bytecode = await utils.getCode(this._web3provider, address).catch(() => null) - if (!bytecode || bytecode === '0x' || bytecode === '0x0' || bytecode === '0x00') { - return ACCOUNT_TYPES.ethereumEOA - } - return ACCOUNT_TYPES.erc1271 - } catch (e) { - // Throws an error assume the provider is a 3id provider only - return ACCOUNT_TYPES.ethereumEOA - } - } - async close () { await this.replicator.stop() } @@ -643,7 +592,7 @@ function initIPFSRepo () { async function initIPFS (ipfs, iframeStore, ipfsOptions) { // if (!ipfs && !ipfsProxy) throw new Error('No IPFS object configured and no default available for environment') - if (!!ipfs && iframeStore) console.log('Warning: iframeStore true, orbit db cache in iframe, but the given ipfs object is being used, and may not be running in same iframe.') + if (!!ipfs && iframeStore) console.warn('Warning: iframeStore true, orbit db cache in iframe, but the given ipfs object is being used, and may not be running in same iframe.') if (ipfs) { return ipfs } else { diff --git a/src/3id/__tests__/3id.test.js b/src/3id/__tests__/3id.test.js index 45b04340..b0a35281 100644 --- a/src/3id/__tests__/3id.test.js +++ b/src/3id/__tests__/3id.test.js @@ -23,7 +23,7 @@ const clearLocalStorage3id = (address) => { localstorage.remove(STORAGE_KEY + address) } -const ID_WALLET_SEED = '0x8726348762348723487238476238746827364872634876234876234' +const ID_WALLET_SEED = '0x95838ece1ac686bde68823b21ce9f564bc536eebb9c3500fa6da81f17086a6be' const ADDR_1 = '0x12345' const ADDR_2 = '0xabcde' const ADDR_3 = '0xlmnop' @@ -214,10 +214,8 @@ describe('3id', () => { describe('get 3ID using IdentityWallet', () => { it('instantiate threeId with IdentityWallet', async () => { - const idWallet = new IdentityWallet({ seed: ID_WALLET_SEED }) + const idWallet = new IdentityWallet(() => true, { seed: ID_WALLET_SEED }) const provider = idWallet.get3idProvider() - // monkey patch because we're not using latest version of idwallet - provider.is3idProvider = true idw3id = await ThreeId.getIdFromEthAddress(null, provider, ipfs) expect(idw3id.DID).toBeUndefined() await idw3id.authenticate() @@ -258,7 +256,7 @@ describe('3id', () => { expect(await idw3id.decrypt(enc1)).toEqual(message) const enc2 = await idw3id.encrypt(message, SPACE_1) expect(await idw3id.decrypt(enc2, SPACE_1)).toEqual(message) - //await expect(idw3id.decrypt(enc1, SPACE_1)).rejects.toMatchSnapshot() + await expect(idw3id.decrypt(enc1, SPACE_1)).rejects.toMatchSnapshot() }) }) diff --git a/src/3id/__tests__/__snapshots__/3id.test.js.snap b/src/3id/__tests__/__snapshots__/3id.test.js.snap index 6358073d..b95b6b6a 100644 --- a/src/3id/__tests__/__snapshots__/3id.test.js.snap +++ b/src/3id/__tests__/__snapshots__/3id.test.js.snap @@ -6,38 +6,39 @@ Object { "@context": "https://w3id.org/did/v1", "authentication": Array [ Object { - "publicKey": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", + "publicKey": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", "type": "Secp256k1SignatureAuthentication2018", }, ], - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", "publicKey": Array [ Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#encryptionKey", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#encryptionKey", + "publicKeyBase64": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", "type": "Curve25519EncryptionPublicKey", }, Object { - "ethereumAddress": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#managementKey", + "ethereumAddress": "0x2D10ce5C50000496715891073804577E0Af964C0", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#managementKey", "type": "Secp256k1VerificationKey2018", }, ], }, - "issuer": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", - "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpYXQiOm51bGwsImRhdGEiOiJzb21lIGRhdGEiLCJpc3MiOiJkaWQ6MzpiYWZ5cmVpYXVtZ3d3azRzZHoya3lmc3BxZG92M3M2N240YXpzNm5lYzRhY2p5bnZsZ3Vna3R5eTVyYSJ9.N2Dx4jw_QeWIXJvGDamtUm0Bae7__WjBlUsO8dmHFQWgv74AqsaiDJybEOnFfM67u7vuJRgGZuADXntJtiVJzw", + "issuer": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", + "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpYXQiOm51bGwsImRhdGEiOiJzb21lIGRhdGEiLCJpc3MiOiJkaWQ6MzpiYWZ5cmVpZmd3ZWdrems2cnhlbWZjazJ2Zm0yenB3MjIzaGtsMzdlcXZ0bXM2Z2R3dTJlam5ia3JseSJ9.09GTxgPRtf9vXW3woqrdWGZAQCvpW0ocBRXr6762cI5N_ZurKLGsKhEaUGDjSmHfTBeQDZN81S_JZswF3FF8fQ", "payload": Object { "data": "some data", "iat": null, - "iss": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "iss": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", }, "signer": Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, } @@ -49,73 +50,75 @@ Object { "@context": "https://w3id.org/did/v1", "authentication": Array [ Object { - "publicKey": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subSigningKey", + "publicKey": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subSigningKey", "type": "Secp256k1SignatureAuthentication2018", }, ], - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi", "proof": Object { "alg": "ES256K", - "signature": "E4SqeAewYh6-1iczgYHTOKqHK8BPbRR5--ddWrOJR0Jg4QLVgA48dqZRwKyKkSXydKMhEdmN8wkKVGlHd-B8MA", + "signature": "W5OpzAu5gy5FgKrkq_KS2Y7dlHGrLDn-dg73nHmN7rMVA6nP_4zzXPivUMCKgG3b9bylrREtZM4XpAlXJvXQXA", }, "publicKey": Array [ Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#encryptionKey", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#encryptionKey", + "publicKeyBase64": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", "type": "Curve25519EncryptionPublicKey", }, Object { - "ethereumAddress": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#managementKey", + "ethereumAddress": "0x2D10ce5C50000496715891073804577E0Af964C0", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#managementKey", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subSigningKey", - "publicKeyHex": "043348d76fea638731116fc350c1922393a997db43362efdaeb950a3d5d9c84ccb05f856cd0fba76120d645e7e76e87577481fedf9aee33647ed44197e13d34ef1", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subSigningKey", + "publicKeyHex": "04db9c88d0202a2d2539ef88978609fb5c198cbf620a06a68ab3b4cdb6efbee62dcb970716398cded19d31f4d3f29d92354c882f5ac89f00f3ec8be2b4ff71f0a3", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subEncryptionKey", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subEncryptionKey", + "publicKeyBase64": "43OpI6iE3LSNhaN1r6YWEQWhjF1LpAD7rMUUZHl3/V0=", "type": "Curve25519EncryptionPublicKey", }, ], - "root": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "root": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", "space": "space1", }, - "issuer": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi", - "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpYXQiOm51bGwsImRhdGEiOiJzb21lIGRhdGEiLCJpc3MiOiJkaWQ6MzpiYWZ5cmVpaHZhcDN1ZnBuczdtYmZzYmc1bTczbHdxbm5ndnNjZ3R3Z2djdGNrZWx3cW9oeWkyeWxiaSJ9.6c639QMKB6fBevDAJx3WFqCjtwZmoeaYlkix11K8nT9MEdmKlMKxr13FMUGKWzvYtMeYPxlVr_o5l3CfRYhIiA", + "issuer": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi", + "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpYXQiOm51bGwsImRhdGEiOiJzb21lIGRhdGEiLCJpc3MiOiJkaWQ6MzpiYWZ5cmVpZDJwYTczY2Y2N2d4aWk0cWIzeGR5dzZtZWY3ZW5xMjYybXpnN25lYndoZXF5dW01bmZvaSJ9.W1ktZ3JePY1fqURAz5cbbc0u6Sq0dnXncieti4FfhA-nCSL-UwnbWAlagozWcYHcNtjc3jMAYkk1NPvjQLtKVA", "payload": Object { "data": "some data", "iat": null, - "iss": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi", + "iss": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi", }, "signer": Object { - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subSigningKey", - "publicKeyHex": "043348d76fea638731116fc350c1922393a997db43362efdaeb950a3d5d9c84ccb05f856cd0fba76120d645e7e76e87577481fedf9aee33647ed44197e13d34ef1", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subSigningKey", + "publicKeyHex": "04db9c88d0202a2d2539ef88978609fb5c198cbf620a06a68ab3b4cdb6efbee62dcb970716398cded19d31f4d3f29d92354c882f5ac89f00f3ec8be2b4ff71f0a3", "type": "Secp256k1VerificationKey2018", }, } `; -exports[`3id get 3ID using IdentityWallet instantiate threeId with IdentityWallet 1`] = `"did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra"`; +exports[`3id get 3ID using IdentityWallet instantiate threeId with IdentityWallet 1`] = `"did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly"`; exports[`3id get 3ID using IdentityWallet instantiate threeId with IdentityWallet 2`] = ` Object { - "encryptionKey": "gEtBz4I7u67NlVuB75nmRQfYviv4Yo5WWldkTjiS2mQ=", - "managementKey": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "signingKey": "020c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55eded", + "asymEncryptionKey": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", + "managementKey": "0x2D10ce5C50000496715891073804577E0Af964C0", + "signingKey": "032dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6f", } `; exports[`3id get 3ID using IdentityWallet instantiate threeId with IdentityWallet 3`] = ` Object { - "encryptionKey": "gEtBz4I7u67NlVuB75nmRQfYviv4Yo5WWldkTjiS2mQ=", - "managementKey": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "signingKey": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "asymEncryptionKey": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", + "managementKey": "0x2D10ce5C50000496715891073804577E0Af964C0", + "signingKey": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", } `; @@ -124,154 +127,161 @@ Object { "@context": "https://w3id.org/did/v1", "authentication": Array [ Object { - "publicKey": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", + "publicKey": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", "type": "Secp256k1SignatureAuthentication2018", }, ], - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", "publicKey": Array [ Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#encryptionKey", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#encryptionKey", + "publicKeyBase64": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", "type": "Curve25519EncryptionPublicKey", }, Object { - "ethereumAddress": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#managementKey", + "ethereumAddress": "0x2D10ce5C50000496715891073804577E0Af964C0", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#managementKey", "type": "Secp256k1VerificationKey2018", }, ], } `; +exports[`3id get 3ID using IdentityWallet keyring logic should encrypt and decrypt correctly 1`] = `[Error: IdentityWallet: Could not decrypt message]`; + exports[`3id get 3ID using IdentityWallet keyring logic should get public keys correctly 1`] = ` Object { - "encryptionKey": "gEtBz4I7u67NlVuB75nmRQfYviv4Yo5WWldkTjiS2mQ=", - "managementKey": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "signingKey": "020c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55eded", + "asymEncryptionKey": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", + "managementKey": "0x2D10ce5C50000496715891073804577E0Af964C0", + "signingKey": "032dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6f", } `; exports[`3id get 3ID using IdentityWallet keyring logic should get public keys correctly 2`] = ` Object { - "encryptionKey": "2G5n/HprsVf4xXgW7By6ZYW8ZZXiylPzUbJ+z7FGvzw=", + "asymEncryptionKey": "43OpI6iE3LSNhaN1r6YWEQWhjF1LpAD7rMUUZHl3/V0=", "managementKey": null, - "signingKey": "043348d76fea638731116fc350c1922393a997db43362efdaeb950a3d5d9c84ccb05f856cd0fba76120d645e7e76e87577481fedf9aee33647ed44197e13d34ef1", + "signingKey": "04db9c88d0202a2d2539ef88978609fb5c198cbf620a06a68ab3b4cdb6efbee62dcb970716398cded19d31f4d3f29d92354c882f5ac89f00f3ec8be2b4ff71f0a3", } `; exports[`3id get 3ID using IdentityWallet keyring logic should get public keys correctly 3`] = ` Object { - "encryptionKey": "gEtBz4I7u67NlVuB75nmRQfYviv4Yo5WWldkTjiS2mQ=", - "managementKey": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "signingKey": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "asymEncryptionKey": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", + "managementKey": "0x2D10ce5C50000496715891073804577E0Af964C0", + "signingKey": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", } `; exports[`3id get 3ID using IdentityWallet keyring logic should get public keys correctly 4`] = ` Object { - "encryptionKey": "2G5n/HprsVf4xXgW7By6ZYW8ZZXiylPzUbJ+z7FGvzw=", + "asymEncryptionKey": "43OpI6iE3LSNhaN1r6YWEQWhjF1LpAD7rMUUZHl3/V0=", "managementKey": null, - "signingKey": "043348d76fea638731116fc350c1922393a997db43362efdaeb950a3d5d9c84ccb05f856cd0fba76120d645e7e76e87577481fedf9aee33647ed44197e13d34ef1", + "signingKey": "04db9c88d0202a2d2539ef88978609fb5c198cbf620a06a68ab3b4cdb6efbee62dcb970716398cded19d31f4d3f29d92354c882f5ac89f00f3ec8be2b4ff71f0a3", } `; -exports[`3id get 3ID using IdentityWallet keyring logic should hashDBKey correctly 1`] = `"124036393264373332313662353537376162613765613432343131656139396163366333316666373132323462656564323963393663623366346637356132646661"`; +exports[`3id get 3ID using IdentityWallet keyring logic should hashDBKey correctly 1`] = `"124039353564383561613461336166303636393362653637393131663134636463636634393131363534313662626462366433373839366365636339323532653939"`; -exports[`3id get 3ID using IdentityWallet keyring logic should hashDBKey correctly 2`] = `"124037663937366435316639316361363564656365653362383161666332643933646239626330666339343236366161613166303061316464353933396265393064"`; +exports[`3id get 3ID using IdentityWallet keyring logic should hashDBKey correctly 2`] = `"124032393236383765643933363365616464643434393632396538346632323633653165383964376362663332366437386636356134663761646639653935616264"`; -exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 1`] = `"did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi"`; +exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 1`] = `"did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi"`; exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 2`] = ` Object { "@context": "https://w3id.org/did/v1", "authentication": Array [ Object { - "publicKey": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subSigningKey", + "publicKey": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subSigningKey", "type": "Secp256k1SignatureAuthentication2018", }, ], - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi", "proof": Object { "alg": "ES256K", - "signature": "E4SqeAewYh6-1iczgYHTOKqHK8BPbRR5--ddWrOJR0Jg4QLVgA48dqZRwKyKkSXydKMhEdmN8wkKVGlHd-B8MA", + "signature": "W5OpzAu5gy5FgKrkq_KS2Y7dlHGrLDn-dg73nHmN7rMVA6nP_4zzXPivUMCKgG3b9bylrREtZM4XpAlXJvXQXA", }, "publicKey": Array [ Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#encryptionKey", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#encryptionKey", + "publicKeyBase64": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", "type": "Curve25519EncryptionPublicKey", }, Object { - "ethereumAddress": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#managementKey", + "ethereumAddress": "0x2D10ce5C50000496715891073804577E0Af964C0", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#managementKey", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subSigningKey", - "publicKeyHex": "043348d76fea638731116fc350c1922393a997db43362efdaeb950a3d5d9c84ccb05f856cd0fba76120d645e7e76e87577481fedf9aee33647ed44197e13d34ef1", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subSigningKey", + "publicKeyHex": "04db9c88d0202a2d2539ef88978609fb5c198cbf620a06a68ab3b4cdb6efbee62dcb970716398cded19d31f4d3f29d92354c882f5ac89f00f3ec8be2b4ff71f0a3", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreihvap3ufpns7mbfsbg5m73lwqnngvscgtwggctckelwqohyi2ylbi#subEncryptionKey", + "id": "did:3:bafyreid2pa73cf67gxii4qb3xdyw6mef7enq262mzg7nebwheqyum5nfoi#subEncryptionKey", + "publicKeyBase64": "43OpI6iE3LSNhaN1r6YWEQWhjF1LpAD7rMUUZHl3/V0=", "type": "Curve25519EncryptionPublicKey", }, ], - "root": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "root": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", "space": "space1", } `; -exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 3`] = `"did:3:bafyreidlcarpsxnux4qdvmg5vtn6kaqgdek2q4wp33nov3jdhs5suh5vee"`; +exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 3`] = `"did:3:bafyreidfhxbxlygsak5amqlktutzu6swvki5fumpbf72ny5hm5ig5fq4re"`; exports[`3id get 3ID using IdentityWallet keyring logic should init space keyrings correctly 4`] = ` Object { "@context": "https://w3id.org/did/v1", "authentication": Array [ Object { - "publicKey": "did:3:bafyreidlcarpsxnux4qdvmg5vtn6kaqgdek2q4wp33nov3jdhs5suh5vee#subSigningKey", + "publicKey": "did:3:bafyreidfhxbxlygsak5amqlktutzu6swvki5fumpbf72ny5hm5ig5fq4re#subSigningKey", "type": "Secp256k1SignatureAuthentication2018", }, ], - "id": "did:3:bafyreidlcarpsxnux4qdvmg5vtn6kaqgdek2q4wp33nov3jdhs5suh5vee", + "id": "did:3:bafyreidfhxbxlygsak5amqlktutzu6swvki5fumpbf72ny5hm5ig5fq4re", "proof": Object { "alg": "ES256K", - "signature": "1yxv71HG1L9cF00_guvUEjDEEVyIMFYe3SREskceJqDi0JINp3Db0rpXgXah6vB4KY_lECi-rlots9S_HQuzlw", + "signature": "jDDIpI8vn-VkzjNMYU27-EWiA9J5vx-yGqmd0i4m5oXwo0qg76SgmDi0thidsgdVslNHrqJapp6hrupaf-4d2w", }, "publicKey": Array [ Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#signingKey", - "publicKeyHex": "040c7062c8a227af1239fff421099f0d77b2b1ff50d21c50406db270ffee55ededb8cbdb9c5de8efe1fe91869e0138dfc90c5d0d80b253fb11066bc22d78a72300", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#signingKey", + "publicKeyHex": "042dec3aabcbe632644e7251fb0124493233e70caf427c2ba229e977b4c317de6fc55e6061bc0091213c18cd0afb67a9f67fc9d87f1e24d2bf180606442a43038b", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#encryptionKey", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#encryptionKey", + "publicKeyBase64": "U6UYbPZs+t9WOjCHIAaFCzEM8+U4JZ+LssEO/YNBXxE=", "type": "Curve25519EncryptionPublicKey", }, Object { - "ethereumAddress": "0x2918486bb140899533Cc661e879aA512316aB8a2", - "id": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra#managementKey", + "ethereumAddress": "0x2D10ce5C50000496715891073804577E0Af964C0", + "id": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly#managementKey", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreidlcarpsxnux4qdvmg5vtn6kaqgdek2q4wp33nov3jdhs5suh5vee#subSigningKey", - "publicKeyHex": "0444c963eae74f260a51f6a5a6a45a17932062c74ab13c5d4b51d86b2ca14fbea765089b441fd6ea75e848dc32b7109b4cbcbdbcd178605b545eaf86754b64cf12", + "id": "did:3:bafyreidfhxbxlygsak5amqlktutzu6swvki5fumpbf72ny5hm5ig5fq4re#subSigningKey", + "publicKeyHex": "047a494fb9681baa97d476d3d11d941c28510db24067896451ab3c78ad28a45ecc9dace481442e183eca38c3ac59003ff82f5c79504578b6030e41015fd84745ce", "type": "Secp256k1VerificationKey2018", }, Object { - "id": "did:3:bafyreidlcarpsxnux4qdvmg5vtn6kaqgdek2q4wp33nov3jdhs5suh5vee#subEncryptionKey", + "id": "did:3:bafyreidfhxbxlygsak5amqlktutzu6swvki5fumpbf72ny5hm5ig5fq4re#subEncryptionKey", + "publicKeyBase64": "6PPQJNXpQB7WTmcpC5OtL/yWxb9IKL9pqgppSgM+XQ4=", "type": "Curve25519EncryptionPublicKey", }, ], - "root": "did:3:bafyreiaumgwwk4sdz2kyfspqdov3s67n4azs6nec4acjynvlgugktyy5ra", + "root": "did:3:bafyreifgwegkzk6rxemfck2vfm2zpw223hkl37eqvtms6gdwu2ejnbkrly", "space": "space2", } `; diff --git a/src/3id/index.js b/src/3id/index.js index f35ae03f..9c62e6da 100644 --- a/src/3id/index.js +++ b/src/3id/index.js @@ -14,6 +14,7 @@ const config = require('../config.js') const DID_METHOD_NAME = '3' const STORAGE_KEY = 'serialized3id_' const MUPORT_IPFS = { host: config.muport_ipfs_host, port: config.muport_ipfs_port, protocol: config.muport_ipfs_protocol} +const POLL_INTERVAL = 500 class ThreeId { constructor (provider, ipfs, opts = {}) { @@ -23,15 +24,20 @@ class ThreeId { this._ipfs = ipfs this._muportIpfs = opts.muportIpfs || MUPORT_IPFS this._pubkeys = { spaces: {} } + } + + startUpdatePolling () { if (this._has3idProv) { - setInterval(async () => { - const result = await utils.callRpc(this._provider, '3id_newAuthMethodPoll') - if (result.length) { - result.map(authData => { - this.events.emit('new-auth-method', authData) - }) - } - }, 500) + const poll = async (method, event) => { + const result = await utils.callRpc(this._provider, method) + result.map(data => { + this.events.emit(event, data) + }) + } + setInterval(() => { + poll('3id_newAuthMethodPoll', 'new-auth-method') + poll('3id_newLinkPoll', 'new-link-proof') + }, POLL_INTERVAL) } } diff --git a/src/__mocks__/3ID.js b/src/__mocks__/3ID.js index 2988524f..8276964e 100644 --- a/src/__mocks__/3ID.js +++ b/src/__mocks__/3ID.js @@ -49,6 +49,7 @@ const threeIDMockFactory = (did) => { signJWT, getPublicKeys, getOdbId, + startUpdatePolling: () => {}, events: { on: () => {} }, getSubDID } diff --git a/src/__tests__/3box.test.js b/src/__tests__/3box.test.js index 2732e964..d34e0659 100644 --- a/src/__tests__/3box.test.js +++ b/src/__tests__/3box.test.js @@ -22,7 +22,7 @@ const DIDMUPORT2 = DID2.replace('3', 'muport') const randomStr = () => `${Math.floor(Math.random() * 1000000)}` - +jest.mock('3id-resolver') jest.mock('../3id', () => { const randomStr = () => `${Math.floor(Math.random() * 1000000)}` const { threeIDMockFactory, didResolverMock } = require('../__mocks__/3ID') @@ -111,6 +111,18 @@ jest.mock('../replicator', () => { } }) +jest.mock('3id-blockchain-utils', () => ({ + createLink: jest.fn(async (did, address, provider) => ({ + message: 'I agree to stuff,' + did, + signature: '0xSuchRealSig,' + address, + timestamp: 111, + type: 'ethereum-eoa', + version: 1 + })), + validateLink: (proof, did) => { + return 'todo' + } +})) jest.mock('../utils/verifier') jest.mock('../utils/index', () => { @@ -122,7 +134,6 @@ jest.mock('../utils/index', () => { let linkNum = 0 return { getMessageConsent: actualUtils.getMessageConsent, - recoverPersonalSign: () => '0x8726348762348723487238476238746827364872634876234876234', openBoxConsent: jest.fn(async () => '0x8726348762348723487238476238746827364872634876234876234'), fetchJson: jest.fn(async (url, body) => { const split = url.split('/') @@ -162,22 +173,6 @@ jest.mock('../utils/index', () => { } } }), - getLinkConsent: jest.fn(async (address, did, web3prov) => { - return { - msg: 'I agree to stuff,' + did, - sig: '0xSuchRealSig,' + address, - timestamp: 111 - } - }), - getChainId: jest.fn(async (web3prov) => { - return 1 - }), - getCode: jest.fn(async (web3prov, address) => { - return '0x' - }), - isValidSignature: jest.fn(async (linkObj, isErc1271, web3Provider) => { - return true - }), sha256Multihash: jest.fn(str => { if (str === 'did:muport:Qmsdsdf87g329') return 'ab8c73d8f' return 'b932fe7ab' @@ -187,6 +182,7 @@ jest.mock('../utils/index', () => { }) const mockedUtils = require('../utils/index') +const { createLink } = require('3id-blockchain-utils') const mocked3id = require('../3id') const MOCK_HASH_SERVER = 'address-server' const MOCK_PROFILE_SERVER = 'profile-server' @@ -198,9 +194,9 @@ describe('3Box', () => { const clearMocks = () => { mockedUtils.openBoxConsent.mockClear() mockedUtils.fetchJson.mockClear() - mockedUtils.getLinkConsent.mockClear() mocked3id.getIdFromEthAddress.mockClear() mocked3id.logoutFn.mockClear() + createLink.mockClear() } beforeAll(async () => { @@ -271,7 +267,7 @@ describe('3Box', () => { it('should handle error and not link profile on first call to _linkProfile', async () => { const box = await Box.openBox('0x12345','web3prov', boxOpts) - const didMuPort = box._3id.muportDID + const did = box._3id.DID clearMocks() // first two calls in our mock will throw an error @@ -282,17 +278,17 @@ describe('3Box', () => { // It will check the self-signed did expect(mockedUtils.fetchJson).toHaveBeenCalledTimes(1) expect(mockedUtils.fetchJson).toHaveBeenNthCalledWith(1, 'address-server/link', { - message: `I agree to stuff,${didMuPort}`, + message: `I agree to stuff,${did}`, signature: "0xSuchRealSig,0x12345", timestamp: 111, type: "ethereum-eoa", version: 1, }) - expect(mockedUtils.getLinkConsent).toHaveBeenCalledTimes(1) + expect(createLink).toHaveBeenCalledTimes(1) await box.close() }) - it('should not call getLinkConsent if ethereum_proof in rootStore on call to _linkProfile', async () => { + it('should not call createLink if ethereum_proof in rootStore on call to _linkProfile', async () => { const boxWithLinks = await Box.openBox('0x12345', 'web3prov', boxOpts) clearMocks() @@ -324,7 +320,7 @@ describe('3Box', () => { type: "ethereum-eoa", version: 1, }) - expect(mockedUtils.getLinkConsent).toHaveBeenCalledTimes(0) + expect(createLink).toHaveBeenCalledTimes(0) expect(boxWithLinks.public.set).toHaveBeenCalledTimes(0) await boxWithLinks.close() @@ -332,7 +328,7 @@ describe('3Box', () => { it('should link profile on call to _linkProfile', async () => { const box = await Box.openBox('0x12345', 'web3prov', boxOpts) - const didMuPort = box._3id.muportDID + const did = box._3id.DID clearMocks() box.public.set.mockClear() @@ -341,13 +337,13 @@ describe('3Box', () => { expect(mockedUtils.fetchJson).toHaveBeenCalledTimes(1) expect(mockedUtils.fetchJson).toHaveBeenNthCalledWith(1, 'address-server/link', { - message: `I agree to stuff,${didMuPort}`, + message: `I agree to stuff,${did}`, signature: "0xSuchRealSig,0x12345", timestamp: 111, type: "ethereum-eoa", version: 1, }) - expect(mockedUtils.getLinkConsent).toHaveBeenCalledTimes(1) + expect(createLink).toHaveBeenCalledTimes(1) expect(box.public.set).toHaveBeenCalledTimes(1) // did proof await box.close() }) diff --git a/src/__tests__/__snapshots__/3box.test.js.snap b/src/__tests__/__snapshots__/3box.test.js.snap index 7fed30f1..3e37bca0 100644 --- a/src/__tests__/__snapshots__/3box.test.js.snap +++ b/src/__tests__/__snapshots__/3box.test.js.snap @@ -2,4 +2,4 @@ exports[`3Box should handle error and not link profile on first call to _linkProfile 1`] = `[Error: An error occured while publishing link:]`; -exports[`3Box should not call getLinkConsent if ethereum_proof in rootStore on call to _linkProfile 1`] = `[Error: An error occured while publishing link:]`; +exports[`3Box should not call createLink if ethereum_proof in rootStore on call to _linkProfile 1`] = `[Error: An error occured while publishing link:]`; diff --git a/src/__tests__/idWallet.integration.js b/src/__tests__/idWallet.integration.js index 13029f65..c428599b 100644 --- a/src/__tests__/idWallet.integration.js +++ b/src/__tests__/idWallet.integration.js @@ -7,7 +7,8 @@ const IdentityWallet = require('identity-wallet') const PINNING_ROOM = '3box-pinning' jest.mock('node-fetch', () => { - const rootStoreAddress = '/orbitdb/QmZggbAyvHMBgQX6vSFXpG31BvqwVAiLF6UUJn4s91ZUP2/122099b9c5866419e91e3d470b364b721e4b43e9f699fb0b032bdc0d402a0ac41a27.root' + // be careful, this address might change + const rootStoreAddress = '/orbitdb/QmX25N5fMa9bw6g3dqstjbDGuMMGf4u5SaPaBJGy37tanz/1220693f7b44d61924943390395980d9f76c01f9d029129e15f4bcff77280104cace.root' let called = false return (url, opts) => { //console.log('fetch', url, opts) @@ -39,17 +40,8 @@ jest.mock('node-fetch', () => { }) const utils = require('../utils/index') -utils.recoverPersonalSign = () => '0x2D10ce5C50000496715891073804577E0Af964C0' - -const mockEthProvider = { - sendAsync: (d, fn) => { - if (d.method.startsWith('3id')) { - fn('error!') - } else { - fn(null, 0x12345) - } - } -} + +const getConsent = () => true describe('Integration Test: IdentityWallet', () => { @@ -61,11 +53,10 @@ describe('Integration Test: IdentityWallet', () => { let rootStoreAddress, pubAddr, privAddr const SEED = '0x95838ece1ac686bde68823b21ce9f564bc536eebb9c3500fa6da81f17086a6be' - const ADDRESS = '0x2D10ce5C50000496715891073804577E0Af964C0' const AUTH_1 = '68b682d67f0fccb0c56236c27ccdd70577722c385c65c00ed1c3d4fbee57db3c' - const AUTH_2 = '05273ade0b139165d9e5864a18d1ad6b291a1a1ebc841fd68d126c593c89ce7f ' + const AUTH_2 = '05273ade0b139165d9e5864a18d1ad6b291a1a1ebc841fd68d126c593c89ce7f' const publishHasEntries = async () => { - await testUtils.delay(900) + await testUtils.delay(2000) pubsub.publish(PINNING_ROOM, { type: 'HAS_ENTRIES', odbAddress: rootStoreAddress, numEntries: 2 }) pubsub.publish(PINNING_ROOM, { type: 'HAS_ENTRIES', odbAddress: privAddr, numEntries: 0 }) pubsub.publish(PINNING_ROOM, { type: 'HAS_ENTRIES', odbAddress: pubAddr, numEntries: 2 }) @@ -85,7 +76,7 @@ describe('Integration Test: IdentityWallet', () => { }) beforeEach(async () => { - idWallet = new IdentityWallet({ seed: SEED }) + idWallet = new IdentityWallet(getConsent, { seed: SEED }) pubsub.subscribe(PINNING_ROOM, (topic, data) => {}, () => {}) }) @@ -96,8 +87,6 @@ describe('Integration Test: IdentityWallet', () => { it('should openBox correctly when idWallet is passed', async () => { const provider = idWallet.get3idProvider() - // monkey patch because we're not using latest version of idwallet - provider.is3idProvider = true const box = await Box.openBox(null, provider, opts) await box.syncDone await box.public.set('a', 1) @@ -111,10 +100,8 @@ describe('Integration Test: IdentityWallet', () => { }) it('should get same state on second openBox', async () => { - publishHasEntries() const provider = idWallet.get3idProvider() - // monkey patch because we're not using latest version of idwallet - provider.is3idProvider = true + publishHasEntries() const box = await Box.openBox(null, provider, opts) await box.syncDone expect(await box.public.all()).toEqual(pubState) @@ -128,11 +115,9 @@ describe('Integration Test: IdentityWallet', () => { }) it('should get same state on openBox with IdentityWallet opened using first authSecret', async () => { - publishHasEntries() - idWallet = new IdentityWallet({ authSecret: AUTH_1, ethereumAddress: ADDRESS }) + idWallet = new IdentityWallet(getConsent, { authSecret: AUTH_1 }) const provider = idWallet.get3idProvider() - // monkey patch because we're not using latest version of idwallet - provider.is3idProvider = true + publishHasEntries() const box = await Box.openBox(null, provider, opts) await box.syncDone expect(await box.public.all()).toEqual(pubState) @@ -146,11 +131,9 @@ describe('Integration Test: IdentityWallet', () => { }) it('should get same state on openBox with IdentityWallet opened using second authSecret', async () => { - publishHasEntries() - idWallet = new IdentityWallet({ authSecret: AUTH_2, ethereumAddress: ADDRESS }) + idWallet = new IdentityWallet(getConsent, { authSecret: AUTH_2 }) const provider = idWallet.get3idProvider() - // monkey patch because we're not using latest version of idwallet - provider.is3idProvider = true + publishHasEntries() const box = await Box.openBox(null, provider, opts) await box.syncDone expect(await box.public.all()).toEqual(pubState) diff --git a/src/replicator.js b/src/replicator.js index 7c09b287..275b32bf 100644 --- a/src/replicator.js +++ b/src/replicator.js @@ -124,7 +124,7 @@ class Replicator { this.syncDone = waitForSync() } - async new (rootstoreName, pubkey, did) { + async new (rootstoreName, pubkey, did, muportDID) { if (this.rootstore) throw new Error('This method can only be called once before the replicator has started') const opts = { ...ODB_STORE_OPTS, @@ -133,7 +133,7 @@ class Replicator { opts.accessController.write = [pubkey] this.rootstore = await this._orbitdb.feed(rootstoreName, opts) this._pinningRoomFilter = [] - this._publishDB({ odbAddress: this.rootstore.address.toString(), did }) + this._publishDB({ odbAddress: this.rootstore.address.toString(), did, muportDID }) await this.rootstore.load() this.rootstoreSyncDone = Promise.resolve() this.syncDone = Promise.resolve() @@ -261,7 +261,7 @@ class Replicator { } } - async _publishDB ({ odbAddress, did, isThread }, unsubscribe) { + async _publishDB ({ odbAddress, did, muportDID, isThread }, unsubscribe) { this._joinPinningRoom() odbAddress = odbAddress || this.rootstore.address.toString() // make sure that the pinning node is in the pubsub room before publishing @@ -279,6 +279,7 @@ class Replicator { type: isThread ? 'SYNC_DB' : 'PIN_DB', odbAddress, did, + muportDID, thread: isThread }) this.events.removeAllListeners('pinning-room-peer') diff --git a/src/utils/index.js b/src/utils/index.js index cc5c64c7..d05c564f 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -1,9 +1,6 @@ const fetch = typeof window !== 'undefined' ? window.fetch : require('node-fetch') const Multihash = require('multihashes') const sha256 = require('js-sha256').sha256 -const { Contract } = require('@ethersproject/contracts') -const { Web3Provider } = require('@ethersproject/providers') -const { verifyMessage } = require('@ethersproject/wallet') const ENC_BLOCK_SIZE = 24 const MAGIC_ERC1271_VALUE = '0x20c13b0b' @@ -51,15 +48,6 @@ module.exports = { getMessageConsent, callRpc, - recoverPersonalSign: (msg, personalSig) => { - if (!msg || !personalSig) throw new Error('recoverPersonalSign: missing arguments, msg and/or personalSig') - const msgParams = { - data: msg, - sig: personalSig - } - return verifyMessage(msg , personalSig) - }, - openBoxConsent: (fromAddress, ethereum) => { const text = 'This app wants to view and update your 3Box profile.' var msg = '0x' + Buffer.from(text, 'utf8').toString('hex') @@ -88,68 +76,6 @@ module.exports = { }) }, - getLinkConsent: async (fromAddress, toDID, ethereum) => { - const timestamp = Math.floor(new Date().getTime() / 1000) - const text = getMessageConsent(toDID, timestamp) - const msg = '0x' + Buffer.from(text, 'utf8').toString('hex') - const params = [msg, fromAddress] - const method = 'personal_sign' - - const sig = await safeSend(ethereum, { - jsonrpc: '2.0', - id: 0, - method, - params, - fromAddress - }) - return { - msg: text, - sig, - timestamp - } - }, - - getChainId: async (ethereumProvider) => { - const method = 'eth_chainId' - const params = [] - - const chainIdHex = await safeSend(ethereumProvider, { - jsonrpc: '2.0', - id: 0, - method, - params - }) - return parseInt(chainIdHex, 16) - }, - - getCode: async (ethereumProvider, address) => { - const method = 'eth_getCode' - const params = [address, 'latest'] - - const code = await safeSend(ethereumProvider, { - jsonrpc: '2.0', - id: 1, - method, - params - }) - return code - }, - - isValidSignature: async (linkObj, isErc1271, web3Provider) => { - if (!linkObj.address) return false - if (!isErc1271) return true - - const abi = [ - 'function isValidSignature(bytes _messageHash, bytes _signature) public view returns (bytes4 magicValue)' - ] - const ethersProvider = new Web3Provider(web3Provider) - const contract = new Contract(linkObj.address, abi, ethersProvider) - const message = '0x' + Buffer.from(linkObj.message, 'utf8').toString('hex') - const returnValue = await contract.isValidSignature(message, linkObj.signature) - - return returnValue === MAGIC_ERC1271_VALUE - }, - fetchJson: async (url, body) => { let opts if (body) { @@ -158,7 +84,8 @@ module.exports = { const r = await fetch(url, opts) if (r.ok) { - return r.json() + let res = await r.json() + return res } else { throw HTTPError(r.status, (await r.json()).message) } diff --git a/src/utils/verifier.js b/src/utils/verifier.js index 39b23ce1..7e514441 100644 --- a/src/utils/verifier.js +++ b/src/utils/verifier.js @@ -102,6 +102,8 @@ module.exports = { * @return {String} The ethereum address used to sign the message */ verifyEthereum: async (ethProof, did) => { + // TODO - is this function needed? Can it be removed in + // favour of proofs that are in the rootstore? const consentMsg = ethProof.version ? ethProof.message : ethProof['consent_msg'] const consentSig = ethProof.version ? ethProof.signature : ethProof['consent_signature'] From 97ada0f0db36def929667c0b006d922329cc8609 Mon Sep 17 00:00:00 2001 From: Joel Torstensson Date: Mon, 2 Dec 2019 19:46:45 +0100 Subject: [PATCH 4/4] Release v1.14.0 --- README.md | 9 ++++----- RELEASE-NOTES.md | 8 +++++++- package.json | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bd9bcce6..25ca230a 100644 --- a/README.md +++ b/README.md @@ -420,11 +420,10 @@ Creates a proof that links an ethereum address to the 3Box account of the user. **Kind**: instance method of [Box](#Box) -| Param | Type | Default | Description | -| --- | --- | --- | --- | -| [link] | Object | | Optional link object with type or proof | -| [link.type] | String | 'ethereum-eoa' | The type of link (default 'ethereum') | -| [link.proof] | Object | | Proof object, should follow [spec](https://github.com/3box/3box/blob/master/3IPs/3ip-5.md) | +| Param | Type | Description | +| --- | --- | --- | +| [link] | Object | Optional link object with type or proof | +| [link.proof] | Object | Proof object, should follow [spec](https://github.com/3box/3box/blob/master/3IPs/3ip-5.md) | diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 37e67ade..b9c68d7c 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,11 @@ # Release Notes -j + +## v1.14.0 - 2019-12-02 +* feat: Support IdentityWallet v1.0.0 🎉 +* chore: use ethers v5 + +* fix: add 'latest' parameter to `get_code` call (note: this was moved to the 3id-blockchain-utils package) + ## v1.13.2 - 2019-11-15 * fix: check for 3id provider support in a better way diff --git a/package.json b/package.json index e56ec427..47c9518b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "3box", - "version": "1.13.2", + "version": "1.14.0", "description": "Interact with user data", "main": "lib/3box.js", "directories": {