From 32670456da281744380ca881e16d0383f13b5961 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Thu, 12 Nov 2020 16:58:31 +0200 Subject: [PATCH 1/2] Minor changes, up breeze --- packages/concordia-app/package.json | 6 +- .../src/assets/images/orbitdb_logo.png | Bin 114402 -> 0 bytes .../src/assets/images/orbitdb_logo.svg | 1 + .../src/components/LoadingComponent.jsx | 2 +- .../src/options/breezeOptions.js | 4 +- .../src/redux/sagas/peerDbReplicationSaga.js | 16 +- packages/concordia-contracts/package.json | 4 +- yarn.lock | 1165 +++-------------- 8 files changed, 213 insertions(+), 985 deletions(-) delete mode 100644 packages/concordia-app/src/assets/images/orbitdb_logo.png create mode 100644 packages/concordia-app/src/assets/images/orbitdb_logo.svg diff --git a/packages/concordia-app/package.json b/packages/concordia-app/package.json index afb2d22..7ed10de 100644 --- a/packages/concordia-app/package.json +++ b/packages/concordia-app/package.json @@ -8,8 +8,8 @@ "test": "react-scripts test", "eject": "react-scripts eject", "postinstall": "patch-package", - "analyze": "source-map-explorer 'build/static/js/*.js'", - "lint": "yarn run eslint --ext js,jsx . --format table" + "analyze": "react-scripts build && source-map-explorer 'build/static/js/*.js' --gzip", + "lint": "eslint --ext js,jsx . --format table" }, "browserslist": { "production": [ @@ -24,7 +24,7 @@ ] }, "dependencies": { - "@ezerous/breeze": "~0.3.0", + "@ezerous/breeze": "~0.4.0", "@ezerous/drizzle": "~0.4.0", "@reduxjs/toolkit": "~1.4.0", "@welldone-software/why-did-you-render": "^6.0.0-rc.1", diff --git a/packages/concordia-app/src/assets/images/orbitdb_logo.png b/packages/concordia-app/src/assets/images/orbitdb_logo.png deleted file mode 100644 index 39dc99cdf5a54889854e3a8d820ca1635b6c01dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114402 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

il9Sm?#!B;})cysx|<{4COc2!f@fCQOnDwzJCH; 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

G&(&E%TN{k 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 F{{n9Ue*ypi diff --git a/packages/concordia-app/src/assets/images/orbitdb_logo.svg b/packages/concordia-app/src/assets/images/orbitdb_logo.svg new file mode 100644 index 0000000..01c0d9b --- /dev/null +++ b/packages/concordia-app/src/assets/images/orbitdb_logo.svg @@ -0,0 +1 @@ +orbit_db_logo_color \ No newline at end of file diff --git a/packages/concordia-app/src/components/LoadingComponent.jsx b/packages/concordia-app/src/components/LoadingComponent.jsx index 7472b65..4875800 100644 --- a/packages/concordia-app/src/components/LoadingComponent.jsx +++ b/packages/concordia-app/src/components/LoadingComponent.jsx @@ -9,7 +9,7 @@ import '../assets/css/loading-component.css'; // Images import ethereumLogo from '../assets/images/ethereum_logo.svg'; import ipfsLogo from '../assets/images/ipfs_logo.svg'; -import orbitdbLogo from '../assets/images/orbitdb_logo.png'; +import orbitdbLogo from '../assets/images/orbitdb_logo.svg'; import appLogo from '../assets/images/app_logo.png'; const LoadingComponent = (props) => { diff --git a/packages/concordia-app/src/options/breezeOptions.js b/packages/concordia-app/src/options/breezeOptions.js index 7390580..3dee844 100644 --- a/packages/concordia-app/src/options/breezeOptions.js +++ b/packages/concordia-app/src/options/breezeOptions.js @@ -26,11 +26,11 @@ const breezeOptions = { identityProvider: EthereumIdentityProvider, databases: [ { - name: 'topics', + address: 'topics', type: 'keyvalue', }, { - name: 'posts', + address: 'posts', type: 'keyvalue', }, ], diff --git a/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js b/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js index d5e1165..f07fa7d 100644 --- a/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js +++ b/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js @@ -2,10 +2,10 @@ import { call, put, select, takeEvery, } from 'redux-saga/effects'; import { - createOrbitDatabase, - ORBIT_DATABASE_READY, - ORBIT_DATABASE_REPLICATED, - ORBIT_DATABASE_WRITE, + addOrbitDB, + ORBIT_DB_READY, + ORBIT_DB_REPLICATED, + ORBIT_DB_WRITE, } from '@ezerous/breeze/src/orbit/orbitActions'; import determineKVAddress from '../../orbit/orbitUtils'; import { FETCH_USER_DATABASE, UPDATE_ORBIT_DATA } from '../actions/peerDbReplicationActions'; @@ -15,7 +15,7 @@ function* fetchUserDb({ orbit, userAddress }) { orbit, dbName: 'topics', userAddress, }); - yield put(createOrbitDatabase(orbit, { name: peerDbAddress, type: 'keyvalue' })); + yield put(addOrbitDB({ address: peerDbAddress, type: 'keyvalue' })); } function* updateReduxState({ database }) { @@ -71,9 +71,9 @@ function* updateReduxState({ database }) { function* peerDbReplicationSaga() { yield takeEvery(FETCH_USER_DATABASE, fetchUserDb); - yield takeEvery(ORBIT_DATABASE_REPLICATED, updateReduxState); - yield takeEvery(ORBIT_DATABASE_READY, updateReduxState); - yield takeEvery(ORBIT_DATABASE_WRITE, updateReduxState); + yield takeEvery(ORBIT_DB_REPLICATED, updateReduxState); + yield takeEvery(ORBIT_DB_READY, updateReduxState); + yield takeEvery(ORBIT_DB_WRITE, updateReduxState); } export default peerDbReplicationSaga; diff --git a/packages/concordia-contracts/package.json b/packages/concordia-contracts/package.json index dac6ef5..aba8e5d 100644 --- a/packages/concordia-contracts/package.json +++ b/packages/concordia-contracts/package.json @@ -10,7 +10,7 @@ "_eslint": "yarn eslint . --format table", "_solhint": "yarn solhint --formatter table contracts/*.sol test/*.sol", "test": "yarn truffle test", - "migrate": "yarn truffle migrate --network develop" + "migrate": "yarn truffle migrate --network develop --reset" }, "dependencies": { "@openzeppelin/contracts": "~3.2.0", @@ -23,6 +23,6 @@ "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-react": "^7.19.0", "eslint-plugin-react-hooks": "^4.2.0", - "solhint": "~3.2.0" + "solhint": "~3.3.2" } } diff --git a/yarn.lock b/yarn.lock index 1a2a1ea..1d11a7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1524,13 +1524,13 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ezerous/breeze@~0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@ezerous/breeze/-/breeze-0.3.0.tgz#22207658d2e45a7b5fd0d666ba3f0e785e9e1330" - integrity sha512-Wlq3kvypOqr954qBhOBRLA6ZKjtHra/upVCOMo869j7EnBNk/PVza1c3Dqq14yYgEZw6YILjQmLlPVTSicxdRw== +"@ezerous/breeze@~0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@ezerous/breeze/-/breeze-0.4.0.tgz#f20f37eee3fe447e2af989863c416fb76994542f" + integrity sha512-TGYwiWvOfaPio64QrFQ+bzYawadcr6dopU9a252ui/YHUIBb4sDaZiofZiALd+soW3D3BrCCKJBeqkiwFggnpw== dependencies: deepmerge "~4.2.2" - ipfs "~0.51.0" + ipfs "~0.52.0" is-plain-object "~5.0.0" orbit-db "~0.26.0" orbit-db-identity-provider "~0.3.1" @@ -2205,10 +2205,10 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== -"@solidity-parser/parser@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.1.tgz#1b606578af86b9ad10755409804a6ba83f9ce8a4" - integrity sha512-DF7H6T8I4lo2IZOE2NZwt3631T8j1gjpQLjmvY2xBNK50c4ltslR4XPKwT6RkeSd4+xCAK0GHC/k7sbRDBE4Yw== +"@solidity-parser/parser@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.2.tgz#a6a5e93ac8dca6884a99a532f133beba59b87b69" + integrity sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ== "@svgr/babel-plugin-add-jsx-attribute@^4.2.0": version "4.2.0" @@ -2435,11 +2435,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== -"@types/node@10.12.18": - version "10.12.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" - integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== - "@types/node@^12.12.6": version "12.19.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.3.tgz#a6e252973214079155f749e8bef99cc80af182fa" @@ -2450,11 +2445,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.30.tgz#1ed6e01e4ca576d5aec9cc802cc3bcf94c274192" integrity sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA== -"@types/node@^8.0.24": - version "8.10.66" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" - integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== - "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -2738,13 +2728,6 @@ abstract-leveldown@0.12.3: dependencies: xtend "~3.0.0" -abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz#f7128e1f86ccabf7d2893077ce5d06d798e386c6" - integrity sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A== - dependencies: - xtend "~4.0.0" - abstract-leveldown@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" @@ -2756,20 +2739,6 @@ abstract-leveldown@^6.2.1: level-supports "~1.0.0" xtend "~4.0.0" -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - abstract-leveldown@~6.0.0, abstract-leveldown@~6.0.1, abstract-leveldown@~6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz#b4b6159343c74b0c5197b2817854782d8f748c4a" @@ -2976,7 +2945,7 @@ any-signal@^1.1.0: dependencies: abort-controller "^3.0.0" -any-signal@^2.0.0, any-signal@^2.1.0: +any-signal@^2.0.0, any-signal@^2.1.0, any-signal@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.1.tgz#6458f7ce08cfdd8df21953016ae03ca129b07e35" integrity sha512-kjyMTtHQsB3yZAVDZlLVucPJnmnrXhamB/rm3Td3jse5Q+16FXXolP4elWU0yLFDyrxTkjjDXtIdjSPiEznf3w== @@ -3081,11 +3050,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -3244,12 +3208,7 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.0.1, async@^2.6.1, async@^2.6.2: +async@^2.6.1, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -3534,7 +3493,7 @@ bcrypto@^5.2.0: bufio "~1.0.7" loady "~0.0.5" -bech32@1.1.4, bech32@^1.1.2: +bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== @@ -3566,7 +3525,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== -bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -3578,57 +3537,13 @@ bintrees@1.0.1: resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524" integrity sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ= -bip174@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/bip174/-/bip174-2.0.1.tgz#39cf8ca99e50ce538fb762589832f4481d07c254" - integrity sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ== - -bip32@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" - integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== - dependencies: - "@types/node" "10.12.18" - bs58check "^2.1.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - tiny-secp256k1 "^1.1.3" - typeforce "^1.11.5" - wif "^2.0.6" - -bip66@^1.1.0, bip66@^1.1.5: +bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI= dependencies: safe-buffer "^5.0.1" -bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" - integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== - -bitcoinjs-lib@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.2.0.tgz#caf8b5efb04274ded1b67e0706960b93afb9d332" - integrity sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ== - dependencies: - bech32 "^1.1.2" - bip174 "^2.0.1" - bip32 "^2.0.4" - bip66 "^1.1.0" - bitcoin-ops "^1.4.0" - bs58check "^2.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.3" - merkle-lib "^2.0.10" - pushdata-bitcoin "^1.0.1" - randombytes "^2.0.1" - tiny-secp256k1 "^1.1.1" - typeforce "^1.11.3" - varuint-bitcoin "^1.0.4" - wif "^2.0.1" - bl@^4.0.0, bl@^4.0.1, bl@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" @@ -3650,6 +3565,13 @@ blob-to-it@0.0.2: dependencies: browser-readablestream-to-it "^0.0.2" +blob-to-it@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.1.tgz#a520e21351badd50064d776589639aa197ef97e4" + integrity sha512-papO4swPtR4MtNQ2foUkaS9e7HlD8XFQEBL3HZNhT4Qp6RQ/7t4C6bo4kRKtJV6A3AIgKR05Z9sbB+na6u+QYA== + dependencies: + browser-readablestream-to-it "^1.0.1" + blob@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" @@ -3781,6 +3703,11 @@ browser-readablestream-to-it@0.0.2, browser-readablestream-to-it@^0.0.2: resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-0.0.2.tgz#4a5c2a20567623c106125ca6b640f68b081cea25" integrity sha512-bbiTccngeAbPmpTUJcUyr6JhivADKV9xkNJVLdA91vjdzXyFBZ6fgrzElQsV3k1UNGQACRTl3p4y+cEGG9U48A== +browser-readablestream-to-it@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.1.tgz#50ac349f38f6c0ace3c338f90699f7dc936c46ca" + integrity sha512-vLeoyPpVY8IL5R4AEMI5nICVpuK1VBwBi6OUyuD1U9NUOL7UmAgP4agfbkkkZf+cBZaYtCYrgASd6YyVbIbsjA== + browser-resolve@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" @@ -3881,7 +3808,7 @@ bs58@^4.0.0, bs58@^4.0.1: dependencies: base-x "^3.0.2" -bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1, bs58check@^2.1.2: +bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -3902,11 +3829,6 @@ btoa@^1.2.1: resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - buffer-from@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0" @@ -4104,14 +4026,6 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - camelcase@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" @@ -4122,11 +4036,6 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -4610,7 +4519,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.6.2: +concat-stream@^1.5.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4813,7 +4722,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -4842,15 +4751,6 @@ cross-spawn@7.0.1: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -4871,7 +4771,7 @@ cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@3.12.0, crypto-browserify@^3.10.0, crypto-browserify@^3.11.0: +crypto-browserify@3.12.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -5109,13 +5009,6 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" @@ -5207,7 +5100,7 @@ dateformat@^3.0.3: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -5242,7 +5135,7 @@ debug@~3.1.0: dependencies: ms "2.0.0" -decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -5306,21 +5199,6 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -deferred-leveldown@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz#0b0570087827bf480a23494b398f04c128c19a20" - integrity sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww== - dependencies: - abstract-leveldown "~5.0.0" - inherits "^2.0.3" - deferred-leveldown@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.1.0.tgz#c21e40641a8e48530255a4ad31371cc7fe76b332" @@ -5432,7 +5310,7 @@ detect-newline@^2.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= -detect-node@^2.0.3, detect-node@^2.0.4: +detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== @@ -5685,56 +5563,11 @@ ejs@^3.1.5: dependencies: jake "^10.6.1" -electron-download@^3.0.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-3.3.0.tgz#2cfd54d6966c019c4d49ad65fbe65cc9cdef68c8" - integrity sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg= - dependencies: - debug "^2.2.0" - fs-extra "^0.30.0" - home-path "^1.0.1" - minimist "^1.2.0" - nugget "^2.0.0" - path-exists "^2.1.0" - rc "^1.1.2" - semver "^5.3.0" - sumchecker "^1.2.0" - -electron-eval@^0.9.0: - version "0.9.10" - resolved "https://registry.yarnpkg.com/electron-eval/-/electron-eval-0.9.10.tgz#9f97818b0d711ae8ae103fd186eeb0e9588a2921" - integrity sha512-VrAw2MrAjCwM8EGQsY+n48/f9P4W+AH56adERtDEb9bl5Hw9aN+ectmuK9QIi2XA11g+owQlyj2N4AzvdT363A== - dependencies: - cross-spawn "^5.1.0" - electron "^1.6.11" - ndjson "^1.5.0" - optionalDependencies: - headless "https://github.com/paulkernfeld/node-headless/tarball/master" - electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.585: version "1.3.591" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017" integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw== -electron-webrtc@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/electron-webrtc/-/electron-webrtc-0.3.0.tgz#546d1ca81a445348c32062cb9da5e7a4a6acadcf" - integrity sha1-VG0cqBpEU0jDIGLLnaXnpKasrc8= - dependencies: - debug "^2.2.0" - electron-eval "^0.9.0" - get-browser-rtc "^1.0.2" - hat "^0.0.3" - -electron@^1.6.11: - version "1.8.8" - resolved "https://registry.yarnpkg.com/electron/-/electron-1.8.8.tgz#a90cddb075291f49576993e6f5c8bb4439301cae" - integrity sha512-1f9zJehcTTGjrkb06o6ds+gsRq6SYhZJyxOk6zIWjRH8hVy03y/RzUDELzNas71f5vcvXmfGVvyjeEsadDI8tg== - dependencies: - "@types/node" "^8.0.24" - electron-download "^3.0.1" - extract-zip "^1.0.3" - elliptic@6.5.3, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -5788,17 +5621,6 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" -encoding-down@~5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-5.0.4.tgz#1e477da8e9e9d0f7c8293d320044f8b2cd8e9614" - integrity sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw== - dependencies: - abstract-leveldown "^5.0.0" - inherits "^2.0.3" - level-codec "^9.0.0" - level-errors "^2.0.0" - xtend "^4.0.1" - encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -5972,11 +5794,6 @@ es6-iterator@2.0.3, es6-iterator@~2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" -es6-promise@^4.0.5: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - es6-symbol@^3.1.1, es6-symbol@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" @@ -6434,26 +6251,6 @@ ethereum-cryptography@^0.1.3: secp256k1 "^4.0.1" setimmediate "^1.0.5" -ethereumjs-account@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" - integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== - dependencies: - ethereumjs-util "^6.0.0" - rlp "^2.2.1" - safe-buffer "^5.1.1" - -ethereumjs-block@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" - integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" @@ -6467,19 +6264,6 @@ ethereumjs-tx@^2.1.1: ethereumjs-common "^1.5.0" ethereumjs-util "^6.0.0" -ethereumjs-util@^5.0.0, ethereumjs-util@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - ethereumjs-util@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" @@ -6537,7 +6321,7 @@ ethjs-unit@0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@0.1.6, ethjs-util@^0.1.3: +ethjs-util@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -6744,16 +6528,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-zip@^1.0.3: - version "1.7.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" - integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== - dependencies: - concat-stream "^1.6.2" - debug "^2.6.9" - mkdirp "^0.5.4" - yauzl "^2.10.0" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -6837,13 +6611,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -7141,17 +6908,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" - integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - fs-extra@^4.0.2, fs-extra@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -7241,7 +6997,7 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: +functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= @@ -7278,7 +7034,7 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-browser-rtc@^1.0.0, get-browser-rtc@^1.0.2: +get-browser-rtc@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9" integrity sha1-u81AyEUaftTvXDc7gWmkCd0dEdk= @@ -7320,11 +7076,6 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -7499,7 +7250,7 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -7696,20 +7447,11 @@ hashlru@^2.3.0: resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51" integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== -hat@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a" - integrity sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo= - he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -"headless@https://github.com/paulkernfeld/node-headless/tarball/master": - version "1.1.0" - resolved "https://github.com/paulkernfeld/node-headless/tarball/master#0ded78103ce64e40d1ca65a57b95faebaa664dd1" - heap@~0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" @@ -7748,11 +7490,6 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: dependencies: react-is "^16.7.0" -home-path@^1.0.1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.7.tgz#cf77d7339ff3ddc3347a23c52612b1f5e7e56313" - integrity sha512-tM1pVa+u3ZqQwIkXcWfhUlY3HWS3TsnKsfi2OHHvnhkX52s9etyktPyy1rQotkr0euWimChDq+QkQuDe8ngUlQ== - hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -8093,13 +7830,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -8275,21 +8005,21 @@ ipaddr.js@1.9.1, ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipfs-bitswap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ipfs-bitswap/-/ipfs-bitswap-3.0.0.tgz#23bb90a62e33a233313f2de4db3ad86ac4ea79da" - integrity sha512-9rX9vMUEegk61O4OoUWBUcU/WLLwALhyzHQdJzqW1DCn+nNnZVbRrzIWY1v5PnlywMtcUvd/ennpegVKCPuiUA== +ipfs-bitswap@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ipfs-bitswap/-/ipfs-bitswap-4.0.0.tgz#1c9e67d98d1356ea0e23e805e9c71b7f262027a3" + integrity sha512-KQjRX6h2bU0DgHxCFTAgn0JJPs3sF2eTwn5kD54M1A+KeKmHG21EVyXo/ZSO2iDWgERmL66WnA+jX7xM1p2k+Q== dependencies: abort-controller "^3.0.0" - any-signal "^1.1.0" + any-signal "^2.1.1" bignumber.js "^9.0.0" cids "^1.0.0" debug "^4.1.0" - ipld-block "^0.10.0" + ipld-block "^0.11.0" it-length-prefixed "^3.0.0" it-pipe "^1.1.0" just-debounce-it "^1.1.0" - libp2p-interfaces "^0.4.1" + libp2p-interfaces "^0.7.1" moving-average "^1.0.0" multicodec "^2.0.0" multihashing-async "^2.0.1" @@ -8306,10 +8036,10 @@ ipfs-block-service@^0.18.0: err-code "^2.0.0" streaming-iterables "^5.0.2" -ipfs-cli@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ipfs-cli/-/ipfs-cli-0.1.0.tgz#be30f0f4f2f04e76c3d043e9c30f7097cc577e6c" - integrity sha512-spzMpCMPRVs2BPRfK6ukPSQ/0YbOLSxNREXhl8W47b4eJM/aAJEd9Ti0WI8A1/jHh7msF5o2U/CUAr4Ceuez+A== +ipfs-cli@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ipfs-cli/-/ipfs-cli-0.2.0.tgz#fd0fb5f32227a3757e68098957b809255cd0f84e" + integrity sha512-Wn908CBbVRG9QHIYrgT1IJgmPoZXWMW+i/Sd/t9OBf+V4+Vvof2uj+GlVCAWFSsb1UjN5Jlc6Kjk8838KK5hNA== dependencies: bignumber.js "^9.0.0" byteman "^1.3.5" @@ -8317,27 +8047,26 @@ ipfs-cli@^0.1.0: cids "^1.0.0" debug "^4.1.1" dlv "^1.1.3" - electron-webrtc "^0.3.0" err-code "^2.0.3" execa "^4.0.3" get-folder-size "^2.0.1" - ipfs-core "^0.1.0" - ipfs-core-utils "^0.5.0" - ipfs-http-client "^48.0.0" - ipfs-http-gateway "^0.1.0" - ipfs-http-server "^0.1.0" - ipfs-repo "^6.0.3" + ipfs-core "^0.2.0" + ipfs-core-utils "^0.5.1" + ipfs-http-client "^48.1.0" + ipfs-http-gateway "^0.1.1" + ipfs-http-server "^0.1.1" + ipfs-repo "^7.0.0" ipfs-utils "^4.0.0" ipld-dag-cbor "^0.17.0" ipld-dag-pb "^0.20.0" it-all "^1.0.4" it-concat "^1.0.1" it-first "^1.0.4" - it-glob "0.0.8" + it-glob "0.0.10" it-pipe "^1.1.0" jsondiffpatch "^0.4.1" just-safe-set "^2.1.0" - libp2p "^0.29.0" + libp2p "^0.29.3" libp2p-crypto "^0.18.0" libp2p-delegated-content-routing "^0.8.0" libp2p-delegated-peer-routing "^0.8.0" @@ -8374,25 +8103,25 @@ ipfs-core-utils@^0.4.0: it-peekable "0.0.1" uint8arrays "^1.1.0" -ipfs-core-utils@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.5.0.tgz#4721e03ca5331d3d11e309b2205da39c7193a74e" - integrity sha512-yXioQTgwX2gaJuIxofqyTd0tPBPwZbbFAebiMDPxmbERtbkLBupx3ElsTqFGoHQONw6GYBPo2yTqLRJKJofeZw== +ipfs-core-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.5.1.tgz#2721717606727113ba6552488c289a9a13fad9b2" + integrity sha512-Roj59glxZMNcmWB0vwaVxyvhqSX0heTmY3LpoUKRyukB1eDWg4kUNpfxPbXMpdkCHiZkwyB4kIWJsbB9xHZo+Q== dependencies: - blob-to-it "0.0.2" - browser-readablestream-to-it "0.0.2" + blob-to-it "^1.0.1" + browser-readablestream-to-it "^1.0.1" cids "^1.0.0" err-code "^2.0.3" ipfs-utils "^4.0.0" it-all "^1.0.4" it-map "^1.0.4" - it-peekable "0.0.1" + it-peekable "^1.0.1" uint8arrays "^1.1.0" -ipfs-core@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ipfs-core/-/ipfs-core-0.1.0.tgz#116c5ee778c20cd1f7d77dc338c492f59a2fa87b" - integrity sha512-ImCY4EzlTYJTozVRHC9LuZUPCeT9a1u0fE/3j2FFk1H9f+2poi9ntiZ/NlyKbwumouctPHfU9bV+Y+uPxosPyg== +ipfs-core@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ipfs-core/-/ipfs-core-0.2.0.tgz#0a6ac8ea9fe024463fee3a9b77c68e70b81ede88" + integrity sha512-JEi6/5blvUDn5aWRmprFIWQMgZTQJDf2Nm4exKtMbJTciJ4z2zcCO128C/W2mha66t5wMnCNTiUL3K2mfaWq3w== dependencies: any-signal "^2.0.0" array-shuffle "^1.0.1" @@ -8409,23 +8138,19 @@ ipfs-core@^0.1.0: hamt-sharding "^1.0.0" hashlru "^2.3.0" interface-datastore "^2.0.0" - ipfs-bitswap "^3.0.0" + ipfs-bitswap "^4.0.0" ipfs-block-service "^0.18.0" - ipfs-core-utils "^0.5.0" - ipfs-repo "^6.0.3" + ipfs-core-utils "^0.5.1" + ipfs-repo "^7.0.0" ipfs-unixfs "^2.0.3" ipfs-unixfs-exporter "^3.0.4" - ipfs-unixfs-importer "^3.0.4" + ipfs-unixfs-importer "^4.0.0" ipfs-utils "^4.0.0" - ipld "^0.27.2" - ipld-bitcoin "^0.4.0" - ipld-block "^0.10.1" + ipld "^0.28.0" + ipld-block "^0.11.0" ipld-dag-cbor "^0.17.0" ipld-dag-pb "^0.20.0" - ipld-ethereum "^5.0.1" - ipld-git "^0.6.1" ipld-raw "^6.0.0" - ipld-zcash "^0.5.0" ipns "^0.8.0" is-domain-name "^1.0.1" is-ipfs "^2.0.0" @@ -8434,7 +8159,7 @@ ipfs-core@^0.1.0: it-first "^1.0.4" it-last "^1.0.4" it-pipe "^1.1.0" - libp2p "^0.29.0" + libp2p "^0.29.3" libp2p-bootstrap "^0.12.1" libp2p-crypto "^0.18.0" libp2p-floodsub "^0.23.1" @@ -8502,23 +8227,23 @@ ipfs-http-client@^47.0.1: stream-to-it "^0.2.1" uint8arrays "^1.1.0" -ipfs-http-client@^48.0.0: - version "48.0.0" - resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-48.0.0.tgz#1eb8f2b72710f66862a8a2464c0604c4909e795d" - integrity sha512-Nz26Aeytc5QvikiDVOwmrE3vkLRsdGrcCTeIdN/1dxFI6n0K+jFUL/2c3H3rJWRgEcD7yMPxNU9KtLF0x0okXA== +ipfs-http-client@^48.1.0: + version "48.1.0" + resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-48.1.0.tgz#09748f2f4dadb579a9cfbe4457077b10ee5441e8" + integrity sha512-sbF480doYitcJYmMvpIE0kmXpCLNxMfmuvefQdVWsqs2Q+nwjoI/1cAo1OS6byGOQdSFGoBO9ybKo0yIvksMpA== dependencies: any-signal "^2.0.0" bignumber.js "^9.0.0" cids "^1.0.0" debug "^4.1.1" form-data "^3.0.0" - ipfs-core-utils "^0.5.0" + ipfs-core-utils "^0.5.1" ipfs-utils "^4.0.0" - ipld-block "^0.10.1" + ipld-block "^0.11.0" ipld-dag-cbor "^0.17.0" ipld-dag-pb "^0.20.0" ipld-raw "^6.0.0" - iso-url "^0.4.7" + iso-url "^1.0.0" it-last "^1.0.4" it-map "^1.0.4" it-tar "^1.2.2" @@ -8536,10 +8261,10 @@ ipfs-http-client@^48.0.0: stream-to-it "^0.2.2" uint8arrays "^1.1.0" -ipfs-http-gateway@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ipfs-http-gateway/-/ipfs-http-gateway-0.1.0.tgz#57553913178b36888c1dc31f9b6079c902099ef2" - integrity sha512-9ReMkVNBPQS1Lvf40p4YHez8oqWxHrHWKR4vSgymX+wsMzPkVLskAh8rcAiigwHHfS6V5Ml874/6YLd4Mx33iQ== +ipfs-http-gateway@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ipfs-http-gateway/-/ipfs-http-gateway-0.1.1.tgz#3787fbee253b81b11dee1fa443630862a52664dc" + integrity sha512-dMzs+IVL6USHKcS4N3c3PfzgDcRHiMiut7meDc/BXvFy/zS35vi3rCPxuRfwNlH6JhffT90CPl3dTDoXxwUk8w== dependencies: "@hapi/ammo" "^5.0.1" "@hapi/boom" "^9.1.0" @@ -8547,7 +8272,7 @@ ipfs-http-gateway@^0.1.0: cids "^1.0.0" debug "^4.1.1" hapi-pino "^8.3.0" - ipfs-core-utils "^0.5.0" + ipfs-core-utils "^0.5.1" ipfs-http-response "^0.6.0" is-ipfs "^2.0.0" it-all "^1.0.4" @@ -8574,10 +8299,10 @@ ipfs-http-response@^0.6.0: multihashes "^3.0.1" p-try-each "^1.0.1" -ipfs-http-server@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ipfs-http-server/-/ipfs-http-server-0.1.0.tgz#5d0dd05370b0bf3522624104248d6b3b13212cfa" - integrity sha512-742vjnIoLgbiTGRVIHHHDkC8FYOJeGrK9pBrtT1Dtktr5cRCO9uPq/j0svdRoF9bPGxdWp1ux1neDAGQ08qApw== +ipfs-http-server@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ipfs-http-server/-/ipfs-http-server-0.1.1.tgz#afaf3fbae759b8df0038af016dd9f32a7deefda8" + integrity sha512-Wmz6hkduiwOhi8l0ro4leTeaETdBnJcGjzcsTsZuERmvsZ3xQ4ysvoMm2eu4QGi0aKiLb+NCgOzOfCImZ5RcEQ== dependencies: "@hapi/boom" "^9.1.0" "@hapi/content" "^5.0.2" @@ -8587,8 +8312,8 @@ ipfs-http-server@^0.1.0: dlv "^1.1.3" err-code "^2.0.3" hapi-pino "^8.3.0" - ipfs-core-utils "^0.5.0" - ipfs-http-gateway "^0.1.0" + ipfs-core-utils "^0.5.1" + ipfs-http-gateway "^0.1.1" ipfs-unixfs "^2.0.3" ipld-dag-pb "^0.20.0" it-all "^1.0.4" @@ -8666,10 +8391,10 @@ ipfs-repo-migrations@^5.0.3: uint8arrays "^1.0.0" varint "^5.0.0" -ipfs-repo@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/ipfs-repo/-/ipfs-repo-6.0.3.tgz#0693cbfd0785eb7b1636a01f7a8ac06d2e615d0c" - integrity sha512-98dAkXAbX0JDGg2ML+h3usEZbQzghF/sCfAM/1Knh/VLdC7xcy34MqZQl+LyRTQEz872iUgk/TqqjkX2Sr2j2A== +ipfs-repo@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ipfs-repo/-/ipfs-repo-7.0.0.tgz#7f7306bcc0c2a65f3447e5551efd0b5c37bbe12d" + integrity sha512-crTbJiiRpuTytWWZ5SCLmKn1fDsoK5maVSBDfKCy0MWkbrRA0GN1+cQ2Dx8PtxDIRY+bBsicSIE4gH/aZvsPuw== dependencies: bignumber.js "^9.0.0" bytes "^3.1.0" @@ -8681,8 +8406,8 @@ ipfs-repo@^6.0.3: err-code "^2.0.0" interface-datastore "^2.0.0" ipfs-repo-migrations "^5.0.3" - ipfs-utils "^2.3.1" - ipld-block "^0.10.0" + ipfs-utils "^4.0.0" + ipld-block "^0.11.0" it-map "^1.0.2" it-pushable "^1.4.0" just-safe-get "^2.0.0" @@ -8706,10 +8431,10 @@ ipfs-unixfs-exporter@^3.0.4: it-last "^1.0.1" multihashing-async "^2.0.0" -ipfs-unixfs-importer@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ipfs-unixfs-importer/-/ipfs-unixfs-importer-3.1.0.tgz#739c24f24fd430b843ee3b962146e9e4384c02a1" - integrity sha512-DXBfoPwom0CkLtR/3UtGwKzW9J1gur8PlE9t7n4MStzQY/SxzOAcPlF75iXJHvFQA6JsO3BkWjxXo9srYRE3Qg== +ipfs-unixfs-importer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ipfs-unixfs-importer/-/ipfs-unixfs-importer-4.0.0.tgz#da9906225fbe0eb9d3ebed05c6ed4a41b5812376" + integrity sha512-ybTcgjNBaB6azQz8jJYESweATJFoc6D+Xo8USM0GahRx9xlFS+4qjnmGbC6H9RcFFt81amcP/P1zX9v83wo3cA== dependencies: bl "^4.0.0" err-code "^2.0.0" @@ -8792,32 +8517,19 @@ ipfs-utils@^4.0.0: node-fetch "^2.6.0" stream-to-it "^0.2.0" -ipfs@~0.51.0: - version "0.51.0" - resolved "https://registry.yarnpkg.com/ipfs/-/ipfs-0.51.0.tgz#03674a06c4bc3ca4459feeb4606d109839689f76" - integrity sha512-oy3+huiSgXV/W/ygQYsjjiMU2cAN7GcJI8SvKSU+5gRLL3AZ+G9iCH/YTXxT3G6Arw1KTytlPsxmM4XB1EOJ/w== +ipfs@~0.52.0: + version "0.52.0" + resolved "https://registry.yarnpkg.com/ipfs/-/ipfs-0.52.0.tgz#a68b3386981e07cdd7162f4277909f53ffac5300" + integrity sha512-Wf1aXjZEtcE1bmrv9kxizuTQkh1xFwPAen/IQScp50mWsUPCUGpoejnQAV9qLaggibqVC8kPDXdNBC6cOJlIwQ== dependencies: debug "^4.1.1" - ipfs-cli "^0.1.0" - ipfs-core "^0.1.0" - ipfs-repo "^6.0.3" + ipfs-cli "^0.2.0" + ipfs-core "^0.2.0" + ipfs-repo "^7.0.0" semver "^7.3.2" update-notifier "^5.0.0" -ipld-bitcoin@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/ipld-bitcoin/-/ipld-bitcoin-0.4.0.tgz#451f380d9356b9fe5f6affa7729d2df0baf6fb6d" - integrity sha512-SRcNRMvdeIKlCCMymqas5ZX9tVjAZ/cid2LPd0vWrLtwc1r4liWvHAxbaU/fJa8Xo6neYWuS/XIqaE/yzMAhRw== - dependencies: - bitcoinjs-lib "^5.0.0" - buffer "^5.6.0" - cids "^1.0.0" - multicodec "^2.0.0" - multihashes "^3.0.0" - multihashing-async "^2.0.0" - uint8arrays "^1.0.0" - -ipld-block@^0.10.0, ipld-block@^0.10.1: +ipld-block@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.10.1.tgz#a9de6185257cf56903cc7f71de450672f4871b65" integrity sha512-lPMfW9tA2hVZw9hdO/YSppTxFmA0+5zxcefBOlCTOn+12RLyy+pdepKMbQw8u0KESFu3pYVmabNRWuFGcgHLLw== @@ -8825,6 +8537,13 @@ ipld-block@^0.10.0, ipld-block@^0.10.1: cids "^1.0.0" class-is "^1.1.0" +ipld-block@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.11.0.tgz#71b24b70f4d867b0609a738efa4872ef4df84c7a" + integrity sha512-Kk56OOPmlWAjXfBJXvx2jX5RA6R9qUrcc2JXwF7Y4IL9mlmxcxTNkgcsJYR78DbyMllQbi7yreghjGjtCTYKaw== + dependencies: + cids "^1.0.0" + ipld-dag-cbor@^0.17.0: version "0.17.0" resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.17.0.tgz#760d15515275261d0da6b9d60bc387fb2866f068" @@ -8852,35 +8571,6 @@ ipld-dag-pb@^0.20.0: stable "^0.1.8" uint8arrays "^1.0.0" -ipld-ethereum@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ipld-ethereum/-/ipld-ethereum-5.0.1.tgz#c45a7b3920f5f5d263311e768d89e0cc6f3ce287" - integrity sha512-M0n4z4y0LwsBKIvQev8xHOfxwjwR+jl6ot8z2ujScE6MX+inhojw2/vjvoWIk4N7oleNf3sg4ZxBzdttulvPTA== - dependencies: - buffer "^5.6.0" - cids "^1.0.0" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.1" - ethereumjs-tx "^2.1.1" - merkle-patricia-tree "^3.0.0" - multicodec "^2.0.0" - multihashes "^3.0.1" - multihashing-async "^2.0.0" - rlp "^2.2.4" - -ipld-git@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/ipld-git/-/ipld-git-0.6.1.tgz#b4da330ef7a7af8a26810594dd43907ef5cc306f" - integrity sha512-HjKjmMX8vIEMk+isMBaU0/g+xi6LZOQHQ7oFaQ15wUUYLWe5rwkpdr8/3GqHEt3hKdEeWDCX2FqrmQsT9lrQFA== - dependencies: - buffer "^5.6.0" - cids "^1.0.0" - multicodec "^2.0.0" - multihashing-async "^2.0.1" - smart-buffer "^4.1.0" - strftime "^0.10.0" - uint8arrays "^1.0.0" - ipld-raw@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-6.0.0.tgz#74d947fcd2ce4e0e1d5bb650c1b5754ed8ea6da0" @@ -8890,25 +8580,13 @@ ipld-raw@^6.0.0: multicodec "^2.0.0" multihashing-async "^2.0.0" -ipld-zcash@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/ipld-zcash/-/ipld-zcash-0.5.0.tgz#e7b020b9437b5fc9606f3d40f7587f14ad593d0c" - integrity sha512-nBeyZ/g/hvP3FQl9IODe6mW+UoO10hQMb3k9elcAuwfromljE/rozoDMiMYagZAm03dkSHsk/YSeEWdWqRKaPQ== - dependencies: - buffer "^5.6.0" - cids "^1.0.0" - multicodec "^2.0.0" - multihashes "^3.0.1" - multihashing-async "^2.0.0" - zcash-block "^2.0.0" - -ipld@^0.27.2: - version "0.27.3" - resolved "https://registry.yarnpkg.com/ipld/-/ipld-0.27.3.tgz#084e059a133bb405afcd786f367989965b583a3c" - integrity sha512-t+8AHfXTIq3clj9cIxYUqPECBpmtiyfbB9HkeP87sc4ue1V8PmmLfMwRjlrJx7JjWoO1swYGvC3SLSIE/5LiNA== +ipld@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/ipld/-/ipld-0.28.0.tgz#e3dab16e43ebff654a2134746cc72abdeab12d6d" + integrity sha512-lERRFJb17Phi3x06sSirFgCkmSw8lNqOwn2CiBexu0Amo6ICTXULuSZcDeM1AN4+fSzebQgEc8bBIV4zW7dv0A== dependencies: cids "^1.0.0" - ipld-block "^0.10.0" + ipld-block "^0.11.0" ipld-dag-cbor "^0.17.0" ipld-dag-pb "^0.20.0" ipld-raw "^6.0.0" @@ -9105,11 +8783,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" @@ -9358,11 +9031,6 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -9428,6 +9096,11 @@ iso-url@^0.4.7, iso-url@~0.4.7: resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385" integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog== +iso-url@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.0.0.tgz#2dd32e5915eb0ecca3a6ff419eb35a0c60eeabc8" + integrity sha512-n/MsHgKOoHcFrhsxfbM3aaSdUujoFrrZ3537p3RW80AL7axL36acCseoMwIW4tNOl0n0SnkzNyVh4bREwmHoPQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -9533,6 +9206,14 @@ it-first@^1.0.1, it-first@^1.0.4: resolved "https://registry.yarnpkg.com/it-first/-/it-first-1.0.4.tgz#359f2bf216686ec7498827991dc7fd503283b32b" integrity sha512-L5ZB5k3Ol5ouAzLHo6fOCtByOy2lNjteNJpZLkE+VgmRt0MbC1ibmBW1AbOt6WzDx/QXFG5C8EEvY2nTXHg+Hw== +it-glob@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.10.tgz#4defd9286f693847c3ff483d2ff65f22e1359ad8" + integrity sha512-p1PR15djgPV7pxdLOW9j4WcJdla8+91rJdUU2hU2Jm68vkxpIEXK55VHBeH8Lvqh2vqLtM83t8q4BuJxue6niA== + dependencies: + fs-extra "^9.0.1" + minimatch "^3.0.4" + it-glob@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.8.tgz#b63d24945c18b35de8bb593a8c872fd0257c0cac" @@ -9619,6 +9300,11 @@ it-peekable@0.0.1: resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-0.0.1.tgz#e3f91583d172444b9cd894ed2df6e26f0c176617" integrity sha512-fd0JzbNldseeq+FFWthbqYB991UpKNyjPG6LqFhIOmJviCxSompMyoopKIXvLPLY+fBhhv2CT5PT31O/lEnTHw== +it-peekable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.1.tgz#7e2c485164a37618cb546e8809ae660bb38ed84b" + integrity sha512-civpIsgG1N+nYXNhm4Qzb9S89QZOfn4M6wVpH9IIilkJ9UFcDElWQuO1qmjXkdm3M5yg5fk+blW0aSCmu4SGlA== + it-pipe@^1.0.1, it-pipe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-1.1.0.tgz#f5964c6bb785dd776f11a62d1e75964787ab95ce" @@ -10284,7 +9970,7 @@ json-stringify-deterministic@^1.0.1: resolved "https://registry.yarnpkg.com/json-stringify-deterministic/-/json-stringify-deterministic-1.0.1.tgz#3334798c374d723d46f7ba0e47d6e5e5ac8511f9" integrity sha512-9Fg0OY3uyzozpvJ8TVbUk09PjzhT7O2Q5kEe30g6OrKhbA/Is92igcx0XDDX7E3yAwnIlUcYLRl+ZkVrBYVP7A== -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -10323,13 +10009,6 @@ jsondiffpatch@^0.4.1: chalk "^2.3.0" diff-match-patch "^1.0.0" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -10472,13 +10151,6 @@ klaw-sync@^6.0.0: dependencies: graceful-fs "^4.1.11" -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= - optionalDependencies: - graceful-fs "^4.1.9" - kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -10533,23 +10205,11 @@ level-codec@^9.0.0: dependencies: buffer "^5.6.0" -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - level-concat-iterator@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== - dependencies: - errno "~0.1.1" - level-errors@^2.0.0, level-errors@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" @@ -10557,32 +10217,6 @@ level-errors@^2.0.0, level-errors@~2.0.0: dependencies: errno "~0.1.1" -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-iterator-stream@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz#2c98a4f8820d87cdacab3132506815419077c730" - integrity sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.3.6" - xtend "^4.0.0" - level-iterator-stream@~4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" @@ -10613,14 +10247,6 @@ level-js@^5.0.0: inherits "^2.0.3" ltgt "^2.1.2" -level-mem@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" - integrity sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg== - dependencies: - level-packager "~4.0.0" - memdown "~3.0.0" - level-packager@^5.0.0, level-packager@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" @@ -10629,14 +10255,6 @@ level-packager@^5.0.0, level-packager@^5.1.0: encoding-down "^6.3.0" levelup "^4.3.2" -level-packager@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" - integrity sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q== - dependencies: - encoding-down "~5.0.0" - levelup "^3.0.0" - level-supports@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" @@ -10644,23 +10262,6 @@ level-supports@~1.0.0: dependencies: xtend "^4.0.2" -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -level-ws@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-1.0.0.tgz#19a22d2d4ac57b18cc7c6ecc4bd23d899d8f603b" - integrity sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q== - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.8" - xtend "^4.0.1" - level@^5.0.1, level@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/level/-/level-5.0.1.tgz#8528cc1ee37ac413270129a1eab938c610be3ccb" @@ -10698,29 +10299,6 @@ leveldown@~5.1.1: napi-macros "~1.8.1" node-gyp-build "~4.1.0" -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -levelup@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" - integrity sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg== - dependencies: - deferred-leveldown "~4.0.0" - level-errors "~2.0.0" - level-iterator-stream "~3.0.0" - xtend "~4.0.0" - levelup@^4.3.2: version "4.4.0" resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" @@ -10878,7 +10456,7 @@ libp2p-gossipsub@^0.6.1: time-cache "^0.3.0" uint8arrays "^1.1.0" -libp2p-interfaces@^0.4.0, libp2p-interfaces@^0.4.1: +libp2p-interfaces@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/libp2p-interfaces/-/libp2p-interfaces-0.4.1.tgz#1610034845e7ceb7cf93b5309945cf5ea698c9ee" integrity sha512-LvoK21WtoRxmdLFWGGKMomK4SLXSqcyntoCQ254IOao/EOjis0Za09THENjK+pL1Lk84D1tXLwwK+8pT19EWDw== @@ -10971,6 +10549,40 @@ libp2p-interfaces@^0.6.0: streaming-iterables "^5.0.2" uint8arrays "^1.1.0" +libp2p-interfaces@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/libp2p-interfaces/-/libp2p-interfaces-0.7.2.tgz#77281294b6bba72d0e9bf6c0e0b3471e37330cc3" + integrity sha512-uI4vPiwdi9pKScLoAvwMqXiEjUtUACavtqZEvdm36T1PcmzsfDbGDKGCkGoDENQ/kztsggfb/9PoEAiNw3CQxQ== + dependencies: + abort-controller "^3.0.0" + abortable-iterator "^3.0.0" + chai "^4.2.0" + chai-checkmark "^1.0.1" + class-is "^1.1.0" + debug "^4.1.1" + delay "^4.3.0" + detect-node "^2.0.4" + dirty-chai "^2.0.1" + err-code "^2.0.0" + it-goodbye "^2.0.1" + it-length-prefixed "^3.1.0" + it-pair "^1.0.0" + it-pipe "^1.1.0" + it-pushable "^1.4.0" + libp2p-crypto "^0.18.0" + libp2p-tcp "^0.15.0" + multiaddr "^8.0.0" + multibase "^3.0.0" + multihashes "^3.0.1" + p-defer "^3.0.0" + p-limit "^2.3.0" + p-wait-for "^3.1.0" + peer-id "^0.14.0" + protons "^2.0.0" + sinon "^9.0.2" + streaming-iterables "^5.0.2" + uint8arrays "^1.1.0" + libp2p-kad-dht@^0.20.1: version "0.20.1" resolved "https://registry.yarnpkg.com/libp2p-kad-dht/-/libp2p-kad-dht-0.20.1.tgz#fa72ded6dcc18fccd4a4a891849de88cd06ddc00" @@ -11141,7 +10753,7 @@ libp2p-websockets@^0.14.0: multiaddr-to-uri "^6.0.0" p-timeout "^3.2.0" -libp2p@^0.29.0: +libp2p@^0.29.3: version "0.29.3" resolved "https://registry.yarnpkg.com/libp2p/-/libp2p-0.29.3.tgz#9cee0f44a300a5ac22f2805e5da57d98df442664" integrity sha512-voILMLwpDqe/KafqaeH7CsmMNtOagV7ln6vNl0/2Lgq4zyY+vCmlzULRaStSagU+9V0QWoSoPmIgQdZ/Ydelhw== @@ -11191,17 +10803,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -11419,14 +11020,6 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3 dependencies: js-tokens "^3.0.0 || ^4.0.0" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -11444,14 +11037,6 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -11473,7 +11058,7 @@ lru@^3.1.0: dependencies: inherits "^2.0.1" -ltgt@^2.1.2, ltgt@~2.2.0: +ltgt@^2.1.2: version "2.2.1" resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= @@ -11517,11 +11102,6 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -11553,30 +11133,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memdown@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" - integrity sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA== - dependencies: - abstract-leveldown "~5.0.0" - functional-red-black-tree "~1.0.1" - immediate "~3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -11600,22 +11156,6 @@ menoetius@0.0.2: dependencies: prom-client "^11.5.3" -meow@^3.1.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - merge-deep@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" @@ -11654,38 +11194,6 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -merkle-lib@^2.0.10: - version "2.0.10" - resolved "https://registry.yarnpkg.com/merkle-lib/-/merkle-lib-2.0.10.tgz#82b8dbae75e27a7785388b73f9d7725d0f6f3326" - integrity sha1-grjbrnXieneFOItz+ddyXQ9vMyY= - -merkle-patricia-tree@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkle-patricia-tree@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" - integrity sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ== - dependencies: - async "^2.6.1" - ethereumjs-util "^5.2.0" - level-mem "^3.0.1" - level-ws "^1.0.0" - readable-stream "^3.0.6" - rlp "^2.0.0" - semaphore ">=1.0.1" - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -11807,7 +11315,7 @@ minimatch@*, minimatch@3.0.4, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -11899,7 +11407,7 @@ mkdirp@*, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -12079,7 +11587,7 @@ multicodec@^2.0.0, multicodec@^2.0.1: uint8arrays "1.0.0" varint "^5.0.0" -multihashes@^0.4.15, multihashes@~0.4.13, multihashes@~0.4.14, multihashes@~0.4.15: +multihashes@^0.4.15, multihashes@~0.4.13, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== @@ -12088,7 +11596,7 @@ multihashes@^0.4.15, multihashes@~0.4.13, multihashes@~0.4.14, multihashes@~0.4. multibase "^0.7.0" varint "^5.0.0" -multihashes@^3.0.0, multihashes@^3.0.1, multihashes@~3.0.1: +multihashes@^3.0.1, multihashes@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.0.1.tgz#607c243d5e04ec022ac76c9c114e08416216f019" integrity sha512-fFY67WOtb0359IjDZxaCU3gJILlkwkFbxbwrK9Bej5+NqNaYztzLOj8/NgMNMg/InxmhK+Uu8S/U4EcqsHzB7Q== @@ -12131,16 +11639,6 @@ multihashing-async@~0.6.0: murmurhash3js "^3.0.1" nodeify "^1.0.1" -multihashing@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/multihashing/-/multihashing-0.3.3.tgz#8433d03702a716fd6d9ac78c1ec687ea5c4943fc" - integrity sha512-jXVWf5uqnZUhc1mLFPWOssuOpkj/A/vVLKrtEscD1PzSLobXYocBy9Gqa/Aw4229/heGnl0RBHU3cD53MbHUig== - dependencies: - blakejs "^1.1.0" - js-sha3 "~0.8.0" - multihashes "~0.4.14" - webcrypto "~0.1.1" - multistream-select@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/multistream-select/-/multistream-select-1.0.0.tgz#e88b182965e7442a03d662cee63300261560c634" @@ -12247,16 +11745,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -ndjson@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8" - integrity sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg= - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^2.1.0" - through2 "^2.0.3" - needle@^2.2.1: version "2.5.2" resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.2.tgz#cf1a8fce382b5a280108bba90a14993c00e4010a" @@ -12427,7 +11915,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -12526,19 +12014,6 @@ nth-check@^1.0.2, nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -nugget@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0" - integrity sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA= - dependencies: - debug "^2.1.3" - minimist "^1.1.0" - pretty-bytes "^1.0.2" - progress-stream "^1.1.0" - request "^2.45.0" - single-line-log "^1.1.2" - throttleit "0.0.2" - num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -12614,11 +12089,6 @@ object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -13372,7 +12842,7 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^2.0.0, path-exists@^2.1.0: +path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= @@ -13426,15 +12896,6 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -13500,11 +12961,6 @@ pem-jwk@^2.0.0: dependencies: asn1.js "^5.0.1" -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -14336,14 +13792,6 @@ prettier@^1.14.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -pretty-bytes@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" - integrity sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ= - dependencies: - get-stdin "^4.0.1" - meow "^3.1.0" - pretty-bytes@^5.1.0, pretty-bytes@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" @@ -14387,14 +13835,6 @@ process@~0.5.1: resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= -progress-stream@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77" - integrity sha1-LNPP6jO6OonJwSHsM0er6asSX3c= - dependencies: - speedometer "~0.1.2" - through2 "~0.2.3" - progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -14549,11 +13989,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -14623,13 +14058,6 @@ pupa@^2.1.1: dependencies: escape-goat "^2.0.0" -pushdata-bitcoin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz#15931d3cd967ade52206f523aa7331aef7d43af7" - integrity sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc= - dependencies: - bitcoin-ops "^1.3.0" - q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -14736,7 +14164,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.1.2, rc@^1.2.7, rc@^1.2.8: +rc@^1.2.7, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -14946,14 +14374,6 @@ react@~16.13.1: object-assign "^4.1.1" prop-types "^15.6.2" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -14970,15 +14390,6 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -14997,7 +14408,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.8, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -15010,16 +14421,6 @@ read-pkg@^3.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^1.0.33, readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -15029,16 +14430,6 @@ readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readable-web-to-node-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-2.0.0.tgz#751e632f466552ac0d5c440cc01470352f93c4b7" @@ -15088,14 +14479,6 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - redux-saga@~1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.1.3.tgz#9f3e6aebd3c994bbc0f6901a625f9a42b51d1112" @@ -15250,13 +14633,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - request-promise-core@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" @@ -15273,7 +14649,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.45.0, request@^2.79.0, request@^2.87.0, request@^2.88.0: +request@^2.79.0, request@^2.87.0, request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -15455,7 +14831,7 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -15470,7 +14846,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.3, rlp@^2.2.4: +rlp@^2.2.3: version "2.2.6" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== @@ -15685,11 +15061,6 @@ semantic-ui-react@~1.2.1: react-popper "^1.3.7" shallowequal "^1.1.0" -semaphore@>=1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" @@ -15717,11 +15088,6 @@ semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -15929,13 +15295,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -single-line-log@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364" - integrity sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q= - dependencies: - string-width "^1.0.1" - sinon@^9.0.2: version "9.2.1" resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.2.1.tgz#64cc88beac718557055bd8caa526b34a2231be6d" @@ -15978,11 +15337,6 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -16106,12 +15460,12 @@ sockjs@0.3.20: uuid "^3.4.0" websocket-driver "0.6.5" -solhint@~3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.2.2.tgz#7857dc2d8bf53a3d61b6d218e213db5dff71a8d7" - integrity sha512-cd9AQhmbsIp6YhMc4ezSawx9VQEASEvl4iThGSRFFozmTRM7c0lSxYrcrSk04jHMuw0g3IdnbxwmQV6hpxNhqA== +solhint@~3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.3.2.tgz#ebd7270bb50fd378b427d7a6fc9f2a7fd00216c0" + integrity sha512-8tHCkIAk1axLLG6Qu2WIH3GgNABonj9eAWejJbov3o3ujkZQRNHeHU1cC4/Dmjsh3Om7UzFFeADUHu2i7ZJeiw== dependencies: - "@solidity-parser/parser" "^0.8.1" + "@solidity-parser/parser" "^0.8.2" ajv "^6.6.1" antlr4 "4.7.1" ast-parents "0.0.1" @@ -16266,11 +15620,6 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -speedometer@~0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" - integrity sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0= - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -16278,13 +15627,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split2@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== - dependencies: - through2 "^2.0.2" - split2@^3.1.1: version "3.2.2" resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" @@ -16404,11 +15746,6 @@ streaming-iterables@^5.0.2: resolved "https://registry.yarnpkg.com/streaming-iterables/-/streaming-iterables-5.0.3.tgz#a988de42d55e1c0b28f92769101ef69723816918" integrity sha512-1AgrKjHTvaaK+iA+N3BuTXQWVb7Adyb6+v8yIW3SCTwlBVYEbm76mF8Mf0/IVo+DOk7hoeELOURBKTCMhe/qow== -strftime@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/strftime/-/strftime-0.10.0.tgz#b3f0fa419295202a5a289f6d6be9f4909a617193" - integrity sha1-s/D6QZKVICpaKJ9ta+n0kJphcZM= - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -16500,11 +15837,6 @@ string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.2.0: dependencies: safe-buffer "~5.2.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -16549,13 +15881,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -16586,13 +15911,6 @@ strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed "1.0.0" -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - strip-json-comments@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" @@ -16634,14 +15952,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -sumchecker@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.3.1.tgz#79bb3b4456dd04f18ebdbc0d703a1d1daec5105d" - integrity sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0= - dependencies: - debug "^2.2.0" - es6-promise "^4.0.5" - supports-color@7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" @@ -16833,12 +16143,7 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -throttleit@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" - integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8= - -through2@^2.0.0, through2@^2.0.2, through2@^2.0.3: +through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -16846,14 +16151,6 @@ through2@^2.0.0, through2@^2.0.2, through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through2@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" - integrity sha1-6zKE2k6jEbbMis42U3SKUqvyWj8= - dependencies: - readable-stream "~1.1.9" - xtend "~2.1.1" - through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -16916,17 +16213,6 @@ tiny-queue@0.2.0: resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.0.tgz#c49fcb5c87555be1b4a5df7eb87101d5b78bc9dc" integrity sha1-xJ/LXIdVW+G0pd9+uHEB1beLydw= -tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.5.tgz#3dc37b9bf0fa5b4390b9fa29e953228810cebc18" - integrity sha512-duE2hSLSQIpHGzmK48OgRrGTi+4OTkXLC6aa86uOYQ6LLCYZSarVKIAvEtY7MoXjoL6bOXMSerEGMzrvW4SkDw== - dependencies: - bindings "^1.3.0" - bn.js "^4.11.8" - create-hmac "^1.1.7" - elliptic "^6.4.0" - nan "^2.13.2" - tiny-warning@^1.0.0, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" @@ -17024,11 +16310,6 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - truffle@~5.1.45: version "5.1.52" resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.52.tgz#2fdae57d849e8d90d429a5252a4f8dbeb744f972" @@ -17163,11 +16444,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typeforce@^1.11.3, typeforce@^1.11.5: - version "1.18.0" - resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" - integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== - typescript-compare@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" @@ -17526,13 +16802,6 @@ varint@^5.0.0, varint@~5.0.0: resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== -varuint-bitcoin@^1.0.4: - version "1.1.2" - resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92" - integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw== - dependencies: - safe-buffer "^5.1.1" - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -17861,14 +17130,6 @@ web3@1.3.0, web3@~1.3.0: web3-shh "1.3.0" web3-utils "1.3.0" -webcrypto@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/webcrypto/-/webcrypto-0.1.1.tgz#63316e5ecbce6ce965ab5f259c2faa62c3e782b4" - integrity sha512-BAvoatS38TbHdyt42ECLroi27NmDh5iea5l5rHC6nZTZjlbJlndrT0FoIiEq7fmPHpmNtP0lMFKVMEKZQFIrGA== - dependencies: - crypto-browserify "^3.10.0" - detect-node "^2.0.3" - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -18080,13 +17341,6 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" -wif@^2.0.1, wif@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" - integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ= - dependencies: - bs58check "<3.0.0" - word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -18423,18 +17677,11 @@ xsalsa20@^1.0.2: resolved "https://registry.yarnpkg.com/xsalsa20/-/xsalsa20-1.1.0.tgz#bee27174af1913aaec0fe677d8ba161ec12bf87d" integrity sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw== -xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - xtend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" @@ -18455,11 +17702,6 @@ yaeti@^0.0.6: resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -18578,22 +17820,7 @@ yargs@^16.0.3: y18n "^5.0.2" yargs-parser "^20.2.2" -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - -zcash-block@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/zcash-block/-/zcash-block-2.0.0.tgz#f8023b2350d6629f4792dd255a3488579677ea27" - integrity sha512-I6pv5b+eGE8CJFmltR+ILHnGcnBO8olV78VicQIaWulMhkomlwDmaMeMshJRLPcnd0FBs58QQVcVNBOT9ojH6Q== - dependencies: - multihashing "~0.3.3" From 9cf76dbfe75a1817739a26b21d710d15de63014e Mon Sep 17 00:00:00 2001 From: Ezerous Date: Fri, 13 Nov 2020 19:01:45 +0200 Subject: [PATCH 2/2] Debloating (move Ethereum Identity Provider to separate package) --- packages/concordia-app/package.json | 3 +- .../src/options/breezeOptions.js | 4 +- .../concordia-app/src/orbit/levelUtils.js | 23 -- .../src/orbit/ΕthereumIdentityProvider.js | 136 ----------- .../src/redux/sagas/orbitSaga.js | 8 +- .../src/redux/sagas/peerDbReplicationSaga.js | 2 +- .../src/{orbit => utils}/orbitUtils.js | 4 +- yarn.lock | 215 ++++++++++-------- 8 files changed, 126 insertions(+), 269 deletions(-) delete mode 100644 packages/concordia-app/src/orbit/levelUtils.js delete mode 100644 packages/concordia-app/src/orbit/ΕthereumIdentityProvider.js rename packages/concordia-app/src/{orbit => utils}/orbitUtils.js (80%) diff --git a/packages/concordia-app/package.json b/packages/concordia-app/package.json index 7ed10de..f2bcbf9 100644 --- a/packages/concordia-app/package.json +++ b/packages/concordia-app/package.json @@ -26,15 +26,14 @@ "dependencies": { "@ezerous/breeze": "~0.4.0", "@ezerous/drizzle": "~0.4.0", + "@ezerous/eth-identity-provider": "^0.1.0", "@reduxjs/toolkit": "~1.4.0", "@welldone-software/why-did-you-render": "^6.0.0-rc.1", "concordia-contracts": "~0.1.0", "i18next": "^19.8.3", "i18next-browser-languagedetector": "^6.0.1", "i18next-http-backend": "^1.0.21", - "level": "~6.0.1", "lodash": "^4.17.20", - "orbit-db-identity-provider": "~0.3.1", "prop-types": "~15.7.2", "react": "~16.13.1", "react-dom": "~16.13.1", diff --git a/packages/concordia-app/src/options/breezeOptions.js b/packages/concordia-app/src/options/breezeOptions.js index 3dee844..8a0e894 100644 --- a/packages/concordia-app/src/options/breezeOptions.js +++ b/packages/concordia-app/src/options/breezeOptions.js @@ -1,4 +1,4 @@ -import EthereumIdentityProvider from '../orbit/ΕthereumIdentityProvider'; +import { EthereumContractIdentityProvider } from '@ezerous/eth-identity-provider'; const breezeOptions = { ipfs: { @@ -23,7 +23,7 @@ const breezeOptions = { }, }, orbit: { - identityProvider: EthereumIdentityProvider, + identityProvider: EthereumContractIdentityProvider, databases: [ { address: 'topics', diff --git a/packages/concordia-app/src/orbit/levelUtils.js b/packages/concordia-app/src/orbit/levelUtils.js deleted file mode 100644 index 344fde3..0000000 --- a/packages/concordia-app/src/orbit/levelUtils.js +++ /dev/null @@ -1,23 +0,0 @@ -import level from 'level'; - -/* Used in development only to store the identity.signatures.publicKey so developers don't have to -repeatedly sign theOrbitDB creation transaction in MetaMask when React development server reloads -the app */ -const concordiaDB = level('./concordia/identities'); - -async function storeIdentitySignaturePubKey(key, signaturePubKey) { - await concordiaDB.put(key, signaturePubKey); -} - -// If it exists, it returns the identity.signatures.publicKey for the given key (key is the -// concatenation of identity.publicKey + identity.signatures.id) -async function getIdentitySignaturePubKey(key) { - try { - return await concordiaDB.get(key); - } catch (err) { - if (err && err.notFound) return null; // Not found - throw err; - } -} - -export { storeIdentitySignaturePubKey, getIdentitySignaturePubKey }; diff --git a/packages/concordia-app/src/orbit/ΕthereumIdentityProvider.js b/packages/concordia-app/src/orbit/ΕthereumIdentityProvider.js deleted file mode 100644 index 96fffac..0000000 --- a/packages/concordia-app/src/orbit/ΕthereumIdentityProvider.js +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable no-return-await */ -import IdentityProvider from 'orbit-db-identity-provider'; -import { getIdentitySignaturePubKey, storeIdentitySignaturePubKey } from './levelUtils'; - -const LOGGING_PREFIX = 'EthereumIdentityProvider: '; - -class EthereumIdentityProvider extends IdentityProvider { - constructor(options = {}) { - if (!EthereumIdentityProvider.web3) { - throw new Error(`${LOGGING_PREFIX}Couldn't create identity, because web3 wasn't set. ` - + 'Please use setWeb3(web3) first!'); - } - - if (!EthereumIdentityProvider.contractAddress) { - throw new Error(`${LOGGING_PREFIX}Couldn't create identity, because contractAddress wasn't set. ` - + 'Please use setContractAddress(contractAddress) first!'); - } - - super(options); - - // Orbit's Identity Id (user's Ethereum address) - Optional (will be grabbed later if omitted) - const { id } = options; - if (id) { - const { userAddress, contractAddress } = EthereumIdentityProvider.splitId(id); - if (EthereumIdentityProvider.web3.utils.isAddress(userAddress) - && EthereumIdentityProvider.contractAddress === contractAddress) { - this.id = id; - this.userAddress = userAddress; - } else throw new Error(`${LOGGING_PREFIX}Couldn't create identity, because an invalid id was supplied.`); - } - } - - static get type() { return 'ethereum'; } - - async getId() { - // Id wasn't in the constructor, grab it now - if (!this.id) { - const accounts = await EthereumIdentityProvider.web3.eth.getAccounts(); - if (!accounts[0]) { - throw new Error(`${LOGGING_PREFIX}Couldn't create identity, because no web3 accounts were found ( - locked Metamask?).`); - } - [this.userAddress] = accounts; - this.id = this.userAddress + EthereumIdentityProvider.contractAddress; - } - return this.id; - } - - async signIdentity(data) { - if (process.env.NODE_ENV === 'development') { // Don't sign repeatedly while in development - console.debug(`${LOGGING_PREFIX}Attempting to find stored Orbit identity data...`); - const signaturePubKey = await getIdentitySignaturePubKey(data); - if (signaturePubKey) { - const identityInfo = { - userAddress: this.userAddress, - pubKeySignId: data, - signaturePubKey, - }; - if (await EthereumIdentityProvider.verifyIdentityInfo(identityInfo)) { - console.debug(`${LOGGING_PREFIX}Found and verified stored Orbit identity data!`); - return signaturePubKey; - } - console.debug(`${LOGGING_PREFIX}Stored Orbit identity data couldn't be verified.`); - } else console.debug(`${LOGGING_PREFIX}No stored Orbit identity data were found.`); - } - return await this.doSignIdentity(data); - } - - // eslint-disable-next-line consistent-return - async doSignIdentity(data) { - try { - const signaturePubKey = await EthereumIdentityProvider.web3.eth.personal.sign(data, this.userAddress, ''); - if (process.env.NODE_ENV === 'development') { - storeIdentitySignaturePubKey(data, signaturePubKey) - .then(() => { - console.debug(`${LOGGING_PREFIX}Successfully stored current Orbit identity data.`); - }) - .catch(() => { - console.warn(`${LOGGING_PREFIX}Couldn't store current Orbit identity data...`); - }); - } - return signaturePubKey; // Password not required for MetaMask - } catch (error) { - if (error.code && error.code === 4001) { - console.debug(`${LOGGING_PREFIX}User denied message signature.`); - return await this.doSignIdentity(data); - } - - console.error(`${LOGGING_PREFIX}Failed to sign data.`); - console.error(error); - } - } - - static async verifyIdentity(identity) { - const { userAddress } = EthereumIdentityProvider.splitId(identity.id); - - // Verify that identity was signed by the ID - return new Promise((resolve) => { - resolve(EthereumIdentityProvider.web3.eth.accounts.recover(identity.publicKey + identity.signatures.id, - identity.signatures.publicKey) === userAddress); - }); - } - - static async verifyIdentityInfo(identityInfo) { - // Verify that identity was signed by the ID - return new Promise((resolve) => { - resolve(EthereumIdentityProvider.web3.eth.accounts.recover(identityInfo.pubKeySignId, - identityInfo.signaturePubKey) === identityInfo.userAddress); - }); - } - - // Initialize by supplying a web3 object - static setWeb3(web3) { - EthereumIdentityProvider.web3 = web3; - } - - // Initialize by supplying a contract's address (to be used as a point of reference) - static setContractAddress(contractAddress) { - EthereumIdentityProvider.contractAddress = contractAddress; - } - - static splitId(id) { - const regex = /(0x.*)(0x.*)/g; - const match = regex.exec(id); - if (match && match.length === 3) { - return { userAddress: match[1], contractAddress: match[2] }; - } - throw new Error(`${LOGGING_PREFIX}Invalid id ${id}! Couldn't split it to userAddress, contractAddress.`); - } -} - -EthereumIdentityProvider.web3 = {}; -EthereumIdentityProvider.contractAddress = {}; - -export default EthereumIdentityProvider; diff --git a/packages/concordia-app/src/redux/sagas/orbitSaga.js b/packages/concordia-app/src/redux/sagas/orbitSaga.js index 7b58949..543a80a 100644 --- a/packages/concordia-app/src/redux/sagas/orbitSaga.js +++ b/packages/concordia-app/src/redux/sagas/orbitSaga.js @@ -6,11 +6,11 @@ import { breezeActions } from '@ezerous/breeze'; import { drizzleActions } from '@ezerous/drizzle'; import { forumContract } from 'concordia-contracts'; -import EthereumIdentityProvider from '../../orbit/ΕthereumIdentityProvider'; +import { EthereumContractIdentityProvider } from '@ezerous/eth-identity-provider'; function* initOrbitDatabases(action) { const { account, breeze } = action; - yield put(breezeActions.orbit.orbitInit(breeze, account + EthereumIdentityProvider.contractAddress)); // same as breeze.initOrbit(account); + yield put(breezeActions.orbit.orbitInit(breeze, account + EthereumContractIdentityProvider.contractAddress)); // same as breeze.initOrbit(account); } function* orbitSaga() { @@ -24,8 +24,8 @@ function* orbitSaga() { const networkId = yield call([web3.eth.net, web3.eth.net.getId]); const contractAddress = forumContract.networks[networkId].address; - EthereumIdentityProvider.setContractAddress(contractAddress); - EthereumIdentityProvider.setWeb3(web3); + EthereumContractIdentityProvider.setContractAddress(contractAddress); + EthereumContractIdentityProvider.setWeb3(web3); yield initOrbitDatabases({ breeze: res[1].breeze, account: res[2].accounts[0] }); } diff --git a/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js b/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js index f07fa7d..dd5b70c 100644 --- a/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js +++ b/packages/concordia-app/src/redux/sagas/peerDbReplicationSaga.js @@ -7,7 +7,7 @@ import { ORBIT_DB_REPLICATED, ORBIT_DB_WRITE, } from '@ezerous/breeze/src/orbit/orbitActions'; -import determineKVAddress from '../../orbit/orbitUtils'; +import determineKVAddress from '../../utils/orbitUtils'; import { FETCH_USER_DATABASE, UPDATE_ORBIT_DATA } from '../actions/peerDbReplicationActions'; function* fetchUserDb({ orbit, userAddress }) { diff --git a/packages/concordia-app/src/orbit/orbitUtils.js b/packages/concordia-app/src/utils/orbitUtils.js similarity index 80% rename from packages/concordia-app/src/orbit/orbitUtils.js rename to packages/concordia-app/src/utils/orbitUtils.js index 1460113..ae6117e 100644 --- a/packages/concordia-app/src/orbit/orbitUtils.js +++ b/packages/concordia-app/src/utils/orbitUtils.js @@ -1,5 +1,5 @@ // https://github.com/orbitdb/orbit-db/blob/master/GUIDE.md#address -import EthereumIdentityProvider from './ΕthereumIdentityProvider'; +import { EthereumContractIdentityProvider } from '@ezerous/eth-identity-provider'; async function determineDBAddress({ orbit, dbName, type, identityId, @@ -12,7 +12,7 @@ async function determineDBAddress({ async function determineKVAddress({ orbit, dbName, userAddress }) { return determineDBAddress({ - orbit, dbName, type: 'keyvalue', identityId: userAddress + EthereumIdentityProvider.contractAddress, + orbit, dbName, type: 'keyvalue', identityId: userAddress + EthereumContractIdentityProvider.contractAddress, }); } diff --git a/yarn.lock b/yarn.lock index 1d11a7b..af511d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1547,6 +1547,14 @@ redux-saga "~1.1.3" web3 "~1.3.0" +"@ezerous/eth-identity-provider@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@ezerous/eth-identity-provider/-/eth-identity-provider-0.1.0.tgz#061bdffe9835dd3a9424799fe36e609e57cee162" + integrity sha512-2RwxzMGdimvxoqzpPJJCpzX3kaDzUn7reJOOlclKNtpTOp8X8RK1rooUDRZDObo6I5mdntoYyL8gEXV2ypzJIQ== + dependencies: + level "~6.0.1" + orbit-db-identity-provider "~0.3.1" + "@fluentui/react-component-event-listener@~0.51.0": version "0.51.2" resolved "https://registry.yarnpkg.com/@fluentui/react-component-event-listener/-/react-component-event-listener-0.51.2.tgz#bb403c96acfa9fb4ea338f3f2bf66e672085a4c7" @@ -1660,9 +1668,9 @@ integrity sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ== "@hapi/hapi@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@hapi/hapi/-/hapi-20.0.1.tgz#005dd0414182090b4f60851207e38ac389cf844e" - integrity sha512-v8NapLf5vkKWIJoBCUBIOk6ZdH9vrxZco4GZbjdM3ROQBDl4eXwW3pySTBL7xWANYp3Nzdn+fiFWjDwdgsSoQg== + version "20.0.2" + resolved "https://registry.yarnpkg.com/@hapi/hapi/-/hapi-20.0.2.tgz#654315d2e1a25cf41d0f8cb6a306e82bc74710d1" + integrity sha512-F59cZOZhEXpOL+o7RT76M/QDUwSn3u+RBkB+9l2NqTPEA11+inaiEZ0Z2DrRoo9g5EzWVU/gygdP4uo5aXQNHg== dependencies: "@hapi/accept" "^5.0.1" "@hapi/ammo" "^5.0.1" @@ -2344,9 +2352,9 @@ "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214" - integrity sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q== + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2431,14 +2439,14 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" - integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== + version "14.14.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" + integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== "@types/node@^12.12.6": - version "12.19.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.3.tgz#a6e252973214079155f749e8bef99cc80af182fa" - integrity sha512-8Jduo8wvvwDzEVJCOvS/G6sgilOLvvhn1eMmK3TW8/T217O7u1jdrK6ImKLv80tVryaPSVeKu6sjDEiFjd4/eg== + version "12.19.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.4.tgz#cdfbb62e26c7435ed9aab9c941393cc3598e9b46" + integrity sha512-o3oj1bETk8kBwzz1WlO6JWL/AfAA3Vm6J1B3C9CsdxHYp7XgPiH7OEXPUbZTndHlRaIElrANkQfe6ZmfJb3H2w== "@types/node@^13.7.0": version "13.13.30" @@ -3451,9 +3459,9 @@ base64-arraybuffer@0.1.5: integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= base64-js@^1.0.2, base64-js@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base64id@2.0.0: version "2.0.0" @@ -3592,7 +3600,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: +bn.js@^5.0.0, bn.js@^5.1.1: version "5.1.3" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== @@ -3752,11 +3760,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -3792,14 +3800,15 @@ browserslist@4.10.0: pkg-up "^3.1.0" browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: - version "4.14.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457" - integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== + version "4.14.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" + integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== dependencies: - caniuse-lite "^1.0.30001154" - electron-to-chromium "^1.3.585" + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + electron-to-chromium "^1.3.591" escalade "^3.1.1" - node-releases "^1.1.65" + node-releases "^1.1.66" bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" @@ -3871,6 +3880,14 @@ buffer@^5.0.5, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.2.tgz#ca9ab87dffd0e864977f541f09844f06a60a8acd" + integrity sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + bufferutil@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.2.tgz#79f68631910f6b993d870fc77dc0a2894eb96cd5" @@ -4046,10 +4063,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: - version "1.0.30001156" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" - integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: + version "1.0.30001157" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" + integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== capture-exit@^2.0.0: version "2.0.0" @@ -4323,9 +4340,9 @@ cliui@^6.0.0: wrap-ansi "^6.2.0" cliui@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz#ef180f26c8d9bff3927ee52428bfec2090427981" - integrity sha512-Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw== + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" @@ -4880,9 +4897,9 @@ css-tree@1.0.0-alpha.37: source-map "^0.6.1" css-tree@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" - integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.1.tgz#7726678dfe2a57993a018d9dce519bf1760e3b6d" + integrity sha512-WroX+2MvsYcRGP8QA0p+rxzOniT/zpAoQ/DTKDSJzh5T3IQKUkFHeIIfgIapm2uaP178GWY3Mime1qbk8GO/tA== dependencies: mdn-data "2.0.12" source-map "^0.6.1" @@ -5057,23 +5074,23 @@ data-urls@^1.0.0, data-urls@^1.1.0: whatwg-url "^7.0.0" datastore-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-2.0.0.tgz#49e3c96cdfc4729fcd5c92d64b3b614429cb4472" - integrity sha512-E6SS3GEZNMCRZScWO98qQ14MIb7+3MLsJtcgla/ULCjfnhThsUE21HN+wT0+QLoYrKR54puWy/3XKp5N+5+zyA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-2.0.1.tgz#604065d0d2f3128d33498da3c019489375ea41a1" + integrity sha512-er9DVcug5aM/qJFaG7pFmYah1f5XvUsHZ5nf9+MOFUKB3pCLlQIrClSu+Nl9hfROS9yiou6i5dFZu9PL9IQ+gQ== dependencies: debug "^4.1.1" interface-datastore "^2.0.0" - ipfs-utils "^2.3.1" + ipfs-utils "^4.0.1" datastore-fs@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/datastore-fs/-/datastore-fs-2.0.1.tgz#3ccb036fbdb3d2bc16d7a3ff4f24296b8ea0f38a" - integrity sha512-W0qOEJDHVmzSfCXMBcgnHI7n0SROQ7vpD24v9AicVWE/DPju4CUWl/1NHSQO3RR3ooaFdG31c1J2OjDKJO6+Fg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/datastore-fs/-/datastore-fs-2.0.2.tgz#69d708024bbd1b12bff0d3c3ef0675852c2d7c4a" + integrity sha512-OA1jKopZy5fMMIJNASRRJoj36AgD/v1TIp843o+3B7x4ffSiUArHUzbLRIBchD6VGLklz/3i4mtZeIaALsh/ZQ== dependencies: datastore-core "^2.0.0" fast-write-atomic "^0.2.0" interface-datastore "^2.0.0" - it-glob "0.0.8" + it-glob "0.0.10" mkdirp "^1.0.4" datastore-level@^2.0.0: @@ -5371,9 +5388,9 @@ dns-equal@^1.0.0: integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-over-http-resolver@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.1.0.tgz#9b49d3ec30ea439729864d88c77e180e8892367d" - integrity sha512-0ltD/8BLqLfZMiTaudwj/DJQK/1RmXBv0SGHyhxtuOVKXw5hqlPVFQI5zOU+FIOlM2JBOfpRgH9BlAO8MN57vQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.0.tgz#1f9c808c88810b9ffe5c4a6ece449764e9658002" + integrity sha512-LJ1sEbQgwY+qmL6z3kNIKi0vHA9nSUdZb8vf3G6z43ZVIF6WhhNHXztLMOOvaMIvtCsCZBjAie11MtUD3+H0YA== dependencies: debug "^4.2.0" native-fetch "^2.0.1" @@ -5563,10 +5580,10 @@ ejs@^3.1.5: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.585: - version "1.3.591" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017" - integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw== +electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.591: + version "1.3.595" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.595.tgz#e8a9e7c6919963419f892ea981d7b3438ccb834d" + integrity sha512-JpaBIhdBkF9FLG7x06ONfe0f5bxPrxRcq0X+Sc8vsCt+OPWIzxOD+qM71NEHLGbDfN9Q6hbtHRv4/dnvcOxo6g== elliptic@6.5.3, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: version "6.5.3" @@ -7735,7 +7752,7 @@ idna-uts46-hx@^2.3.1: dependencies: punycode "2.1.0" -ieee754@^1.1.13, ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -7936,13 +7953,13 @@ inquirer@^7.0.0: through "^2.3.6" interface-datastore@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-2.0.0.tgz#a0c2de1df9e42553e4723428c02242d9c47a2cc9" - integrity sha512-wOImix5uVEZWo+8zPSRMJ9nHbszZi3PhZ14KHLN7oRQjaYQtjtOpYj6n5EXTjDAfIQI8KN9vntHXxyAw1lcRIA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-2.0.1.tgz#a2d6ed22ca00082ef6a11b1bffb25934a74d0bde" + integrity sha512-a4xHvVE8JCG8UItP0CCq+UJyBHZxhMp3esuFNjb3U9rP+tzKiG0HZXz8gIIwic6VbuE0Gui2whbJyJOFpMxhLg== dependencies: class-is "^1.1.0" err-code "^2.0.1" - ipfs-utils "^2.3.1" + ipfs-utils "^4.0.1" iso-random-stream "^1.1.1" it-all "^1.0.2" it-drain "^1.0.1" @@ -8459,7 +8476,7 @@ ipfs-unixfs@^2.0.3, ipfs-unixfs@^2.0.4: err-code "^2.0.0" protons "^2.0.0" -ipfs-utils@^2.2.0, ipfs-utils@^2.3.1: +ipfs-utils@^2.2.0: version "2.4.0" resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-2.4.0.tgz#113db5f5625b1bf0411a6d6dbd5317dfff5287f9" integrity sha512-0RH8rMIEhrXyrbh87V8SQC6E6/5EJs+YionqZGAXnVoTzkpFhxC3x3FlsxwZ9s72yaieGP1Mx1tRYgfCFM/mJg== @@ -8496,20 +8513,20 @@ ipfs-utils@^3.0.0: node-fetch "^2.6.0" stream-to-it "^0.2.0" -ipfs-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-4.0.0.tgz#f53b79294f500e43661cb6b2a9d7fa301d3fa3d3" - integrity sha512-HVeDUm4K4fYb44O1y2l4sNvDuzIB3+K6ZqYj45Bv3oqGmpBkm+ELq2Sssghpwk5b4ppsfOzSUoupMFdlg+Fk7w== +ipfs-utils@^4.0.0, ipfs-utils@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-4.0.1.tgz#8856ba3ee7251f0a8f08f2f33ca5b62a2691da4d" + integrity sha512-6mg+S1sbjj+Ff+uoHOhVeC4myfV2tb2sHcdYwfpJ4ZcBo9WfdxSMnWFLiC5bIqByyJuN/g5aWgz3ozjKDzND1Q== dependencies: "@achingbrain/electron-fetch" "^1.7.2" abort-controller "^3.0.0" any-signal "^2.1.0" - buffer "^5.6.0" + buffer "^6.0.1" err-code "^2.0.0" fs-extra "^9.0.1" is-electron "^2.2.0" - iso-url "^0.4.7" - it-glob "0.0.8" + iso-url "^1.0.0" + it-glob "0.0.10" merge-options "^2.0.0" nanoid "^3.1.3" native-abort-controller "0.0.3" @@ -8702,7 +8719,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0: +is-core-module@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== @@ -10441,9 +10458,9 @@ libp2p-floodsub@^0.23.1: uint8arrays "^1.1.0" libp2p-gossipsub@^0.6.1: - version "0.6.4" - resolved "https://registry.yarnpkg.com/libp2p-gossipsub/-/libp2p-gossipsub-0.6.4.tgz#7f4f2d525d7a997f02d3586126c47f65e46bfea4" - integrity sha512-zCS2Ze0ZgxcpL0jkkfV6SJM8sV3SfeOjfMH02G7OrVQYksFKXH//F3ZbksWjUeoAggdpP9+a66IWPBkj16CfCA== + version "0.6.6" + resolved "https://registry.yarnpkg.com/libp2p-gossipsub/-/libp2p-gossipsub-0.6.6.tgz#24f24fc26ff5f41303c662fbf48f6b37389b5735" + integrity sha512-oW/d7Y099RmxJ8KKWSlzuh3giuKb94d/VpKCxTqUJlsuA3SHjiOiKCO3oadrK5pkYgFMBXxYEnbZ84tft3MtRQ== dependencies: "@types/debug" "^4.1.5" debug "^4.1.1" @@ -11889,7 +11906,7 @@ node-pre-gyp@^0.13.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.52, node-releases@^1.1.65: +node-releases@^1.1.52, node-releases@^1.1.66: version "1.1.66" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== @@ -14572,9 +14589,9 @@ regexpu-core@^4.7.1: unicode-match-property-value-ecmascript "^1.2.0" registry-auth-token@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da" - integrity sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w== + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== dependencies: rc "^1.2.8" @@ -14756,11 +14773,11 @@ resolve@1.15.0: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: - is-core-module "^2.0.0" + is-core-module "^2.1.0" path-parse "^1.0.6" responselike@^1.0.2: @@ -16072,9 +16089,9 @@ tdigest@^0.1.1: bintrees "1.0.1" temp@^0.9.1: - version "0.9.2" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.2.tgz#06728e6e4b847e3ea5579c69c44bcc3ee6a47100" - integrity sha512-KLVd6CXeUYsqmI/LBWDLg3bFkdZPg0Xr/Gn79GUuPNiISzp6v/EKUaCOrxqeH1w/wVNmrljyDRgKxhZV9JzyJA== + version "0.9.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" + integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== dependencies: mkdirp "^0.5.1" rimraf "~2.6.2" @@ -16311,9 +16328,9 @@ tr46@^1.0.1: punycode "^2.1.0" truffle@~5.1.45: - version "5.1.52" - resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.52.tgz#2fdae57d849e8d90d429a5252a4f8dbeb744f972" - integrity sha512-8KwPuHumZnfDBJOoUEdXo7BFr1a/RSh1CDI4AoHsIC+STajJnr7EvJdaniJRlA3S+6Hn12b3PY8Zaarba8VSvQ== + version "5.1.53" + resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.53.tgz#3c984317d092f230d84b7d138d69dace106b5c2b" + integrity sha512-JXuuhPOsh/K9K9PJTcZDRy6ByxreOrchMIM1SgEVRi85MF6XWQSZwwV1kXF+JRtP938lfRmmpgWQb1MzFBY7qw== dependencies: app-module-path "^2.2.0" mocha "8.1.2" @@ -16352,9 +16369,9 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tsparticles@^1.18.10: - version "1.18.10" - resolved "https://registry.yarnpkg.com/tsparticles/-/tsparticles-1.18.10.tgz#d2e80af398ba90e2fdeb29dff9afdf65a7fb6be4" - integrity sha512-0OIGYwbXVJjd48GUdcTkv7Cn/BIoTOxUleeMhKqbFL5tV1CJevyhfXkMtGrY4FwRYxcNorxeaOE4dH1MO9AONQ== + version "1.18.11" + resolved "https://registry.yarnpkg.com/tsparticles/-/tsparticles-1.18.11.tgz#924d74cf40656727f5df047b53c4761463a4f6e7" + integrity sha512-F5czk8foRoywWHDYDT0eZhQwCXOHz7OGhJCsoybThTUIT+nwc1Eclltm/TMrnnxZZghF3Fo0VL8nN4inf+pQbA== optionalDependencies: pathseg "^1.2.0" @@ -16861,23 +16878,23 @@ warning@^4.0.2, warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.6.0: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -17592,9 +17609,9 @@ ws@^6.1.2, ws@^6.2.1: async-limiter "~1.0.0" ws@^7.1.2, ws@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== ws@~6.1.0: version "6.1.4" @@ -17742,9 +17759,9 @@ yargs-parser@^18.1.2: decamelize "^1.2.0" yargs-parser@^20.2.2: - version "20.2.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" - integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-unparser@1.6.1: version "1.6.1"