From e52d3f9119db89d6fc3ea197667900d414c34230 Mon Sep 17 00:00:00 2001 From: Szymon Szlachtowicz <38212223+Szymx95@users.noreply.github.com> Date: Tue, 24 Aug 2021 13:49:18 +0200 Subject: [PATCH] Use dapp (#24) --- packages/example/package.json | 1 + packages/example/src/components/TopBar.tsx | 41 +++- packages/example/src/index.tsx | 34 +++- packages/example/src/pages/Poling.tsx | 14 +- .../react-components/src/WakuPolling/Poll.tsx | 11 +- .../src/WakuPolling/PollList.tsx | 2 +- .../src/WakuPolling/index.tsx | 18 +- yarn.lock | 187 +++++++++++++++++- 8 files changed, 280 insertions(+), 28 deletions(-) diff --git a/packages/example/package.json b/packages/example/package.json index 35327d2..36c9adc 100644 --- a/packages/example/package.json +++ b/packages/example/package.json @@ -14,6 +14,7 @@ }, "dependencies": { "@status-waku-voting/react-components": "link:../react-components", + "@usedapp/core": "^0.4.6", "assert": "^2.0.0", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", diff --git a/packages/example/src/components/TopBar.tsx b/packages/example/src/components/TopBar.tsx index efc8039..f16e1b1 100644 --- a/packages/example/src/components/TopBar.tsx +++ b/packages/example/src/components/TopBar.tsx @@ -1,12 +1,14 @@ import React from 'react' import styled from 'styled-components' - +import { useEthers, shortenAddress } from '@usedapp/core' type TopBarProps = { logo: string title: string } export function TopBar({ logo, title }: TopBarProps) { + const { activateBrowserWallet, account } = useEthers() + return ( @@ -15,11 +17,46 @@ export function TopBar({ logo, title }: TopBarProps) {
{text}
))} - + {account ? ( + + + <>{shortenAddress(account)} + + ) : ( + + )}
) } +const GreenDot = styled.div` + width: 6px; + height: 6px; + border-radius: 50%; + background: #4ebc60; + margin-right: 5px; +` + +const AccountDiv = styled.div` + width: 130px; + height: 44px; + background: #ffffff; + border: 1px solid #eef2f5; + box-sizing: border-box; + border-radius: 21px; + display: flex; + flex-direction: row; + align-items: center; + padding: 0px 12px; + margin: auto; + margin-right: 40px; + font-family: Inter; + font-style: normal; + font-weight: 500; + font-size: 13px; + line-height: 22px; +` + const TitleWrapper = styled.div` display: flex; flex-direction: column; diff --git a/packages/example/src/index.tsx b/packages/example/src/index.tsx index b7821cd..13c8e42 100644 --- a/packages/example/src/index.tsx +++ b/packages/example/src/index.tsx @@ -5,6 +5,24 @@ import styled, { createGlobalStyle } from 'styled-components' import { Polling } from './pages/Poling' import { BrowserRouter } from 'react-router-dom' import { Redirect, Route, Switch } from 'react-router' +import { DAppProvider, ChainId } from '@usedapp/core' +import { DEFAULT_CONFIG } from '@usedapp/core/dist/cjs/src/model/config/default' + +const config = { + readOnlyChainId: ChainId.Ropsten, + readOnlyUrls: { + [ChainId.Ropsten]: 'https://ropsten.infura.io/v3/b4451d780cc64a078ccf2181e872cfcf', + }, + multicallAddresses: { + ...DEFAULT_CONFIG.multicallAddresses, + 1337: process.env.GANACHE_MULTICALL_CONTRACT ?? '0x0000000000000000000000000000000000000000', + }, + supportedChains: [...DEFAULT_CONFIG.supportedChains, 1337], + notifications: { + checkInterval: 500, + expirationPeriod: 50000, + }, +} export const GlobalStyle = createGlobalStyle` * { @@ -24,13 +42,15 @@ const Page = styled.div` ReactDOM.render( - - - - } /> - - - + + + + + } /> + + + + , document.getElementById('root') ) diff --git a/packages/example/src/pages/Poling.tsx b/packages/example/src/pages/Poling.tsx index d71b499..412259b 100644 --- a/packages/example/src/pages/Poling.tsx +++ b/packages/example/src/pages/Poling.tsx @@ -1,13 +1,23 @@ -import React from 'react' +import React, { useEffect, useState } from 'react' import { WakuPolling } from '@status-waku-voting/react-components' import styled from 'styled-components' import { TopBar } from '../components/TopBar' import pollingIcon from '../assets/images/pollingIcon.svg' +import { JsonRpcSigner } from '@ethersproject/providers' +import { useEthers } from '@usedapp/core' + export function Polling() { + const { account, library } = useEthers() + const [signer, setSigner] = useState(undefined) + + useEffect(() => { + setSigner(library?.getSigner()) + }, [account]) + return ( - + ) } diff --git a/packages/react-components/src/WakuPolling/Poll.tsx b/packages/react-components/src/WakuPolling/Poll.tsx index 612c483..42864e2 100644 --- a/packages/react-components/src/WakuPolling/Poll.tsx +++ b/packages/react-components/src/WakuPolling/Poll.tsx @@ -12,7 +12,7 @@ import { PollResults } from './PollResults' type PollProps = { poll: DetailedTimedPoll wakuVoting: WakuVoting | undefined - signer: Wallet | JsonRpcSigner + signer: Wallet | JsonRpcSigner | undefined } export function Poll({ poll, wakuVoting, signer }: PollProps) { @@ -22,7 +22,11 @@ export function Poll({ poll, wakuVoting, signer }: PollProps) { const [userInVoters, setUserInVoters] = useState(-1) useEffect(() => { - signer.getAddress().then((e) => setAddress(e)) + if (signer) { + signer.getAddress().then((e) => setAddress(e)) + } else { + setAddress('') + } }, [signer]) useEffect(() => { @@ -57,8 +61,9 @@ export function Poll({ poll, wakuVoting, signer }: PollProps) { {userInVoters < 0 && ( { - if (wakuVoting) { + if (wakuVoting && signer) { wakuVoting.sendTimedPollVote( signer, poll.poll.id, diff --git a/packages/react-components/src/WakuPolling/PollList.tsx b/packages/react-components/src/WakuPolling/PollList.tsx index 76dc9be..212a406 100644 --- a/packages/react-components/src/WakuPolling/PollList.tsx +++ b/packages/react-components/src/WakuPolling/PollList.tsx @@ -8,7 +8,7 @@ import styled from 'styled-components' type PollListProps = { wakuVoting: WakuVoting | undefined - signer: Wallet | JsonRpcSigner + signer: Wallet | JsonRpcSigner | undefined } export function PollList({ wakuVoting, signer }: PollListProps) { diff --git a/packages/react-components/src/WakuPolling/index.tsx b/packages/react-components/src/WakuPolling/index.tsx index d0b6e61..7fb17a7 100644 --- a/packages/react-components/src/WakuPolling/index.tsx +++ b/packages/react-components/src/WakuPolling/index.tsx @@ -5,33 +5,29 @@ import { PollList } from './PollList' import styled from 'styled-components' import { PollCreation } from './PollCreation' import { Button } from '../components/misc/Buttons' - -const provider = new providers.Web3Provider((window as any).ethereum) +import { JsonRpcSigner } from '@ethersproject/providers' type WakuPollingProps = { appName: string + signer: JsonRpcSigner | undefined } -function WakuPolling({ appName }: WakuPollingProps) { - const [signer, setSigner] = useState(provider.getSigner()) +function WakuPolling({ appName, signer }: WakuPollingProps) { const [wakuVoting, setWakuVoting] = useState(undefined) const [showPollCreation, setShowPollCreation] = useState(false) useEffect(() => { - ;(window as any).ethereum.on('accountsChanged', async () => { - provider.send('eth_requestAccounts', []) - setSigner(provider.getSigner()) - }) WakuVoting.create(appName, '0x01').then((e) => setWakuVoting(e)) - provider.send('eth_requestAccounts', []) }, []) return ( showPollCreation && setShowPollCreation(false)}> - {showPollCreation && ( + {showPollCreation && signer && ( )} - setShowPollCreation(true)}>Create a poll + setShowPollCreation(true)}> + Create a poll + ) diff --git a/yarn.lock b/yarn.lock index cfee652..5222e59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -268,6 +268,19 @@ "@ethersproject/properties" "^5.4.0" "@ethersproject/strings" "^5.4.0" +"@ethersproject/abstract-provider@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.0.tgz#415331031b0f678388971e1987305244edc04e1d" + integrity sha512-vPBR7HKUBY0lpdllIn7tLIzNN7DrVnhCLKSzY0l8WAwxz686m/aL7ASDzrVxV93GJtIub6N2t4dfZ29CkPOxgA== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + "@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.4.0": version "5.4.1" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e" @@ -281,6 +294,17 @@ "@ethersproject/transactions" "^5.4.0" "@ethersproject/web" "^5.4.0" +"@ethersproject/abstract-signer@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.0.tgz#cd5f50b93141ee9f9f49feb4075a0b3eafb57d65" + integrity sha512-AieQAzt05HJZS2bMofpuxMEp81AHufA5D6M4ScKwtolj041nrfIbIi8ciNW7+F59VYxXq+V4c3d568Q6l2m8ew== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.4.0": version "5.4.1" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81" @@ -318,6 +342,15 @@ "@ethersproject/bytes" "^5.4.0" "@ethersproject/properties" "^5.4.0" +"@ethersproject/bignumber@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.0.tgz#be8dea298c0ec71208ee60f0b245be0761217ad9" + integrity sha512-OXUu9f9hO3vGRIPxU40cignXZVaYyfx6j9NNMjebKdnaCL3anCLSSy8/b8d03vY6dh7duCC0kW72GEC4tZer2w== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + bn.js "^4.11.9" + "@ethersproject/bignumber@5.4.1", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.4.0": version "5.4.1" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.1.tgz#64399d3b9ae80aa83d483e550ba57ea062c1042d" @@ -341,6 +374,22 @@ dependencies: "@ethersproject/bignumber" "^5.4.0" +"@ethersproject/contracts@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.0.tgz#e05fe6bd33acc98741e27d553889ec5920078abb" + integrity sha512-hkO3L3IhS1Z3ZtHtaAG/T87nQ7KiPV+/qnvutag35I0IkiQ8G3ZpCQ9NNOpSCzn4pWSW4CfzmtE02FcqnLI+hw== + dependencies: + "@ethersproject/abi" "^5.4.0" + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/contracts@5.4.1": version "5.4.1" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470" @@ -408,7 +457,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.4.0": +"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.0-beta.130", "@ethersproject/keccak256@^5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== @@ -421,6 +470,13 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9" integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ== +"@ethersproject/networks@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.1.tgz#2ce83b8e42aa85216e5d277a7952d97b6ce8d852" + integrity sha512-8SvowCKz9Uf4xC5DTKI8+il8lWqOr78kmiqAVLYT9lzB8aSmJHQMD1GSuJI0CW4hMAnzocpGpZLgiMdzsNSPig== + dependencies: + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.4.0": version "5.4.2" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35" @@ -443,6 +499,31 @@ dependencies: "@ethersproject/logger" "^5.4.0" +"@ethersproject/providers@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.1.tgz#654267b563b833046b9c9647647cfc8267cb93b4" + integrity sha512-p06eiFKz8nu/5Ju0kIX024gzEQIgE5pvvGrBCngpyVjpuLtUIWT3097Agw4mTn9/dEA0FMcfByzFqacBMSgCVg== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/basex" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/providers@5.4.3": version "5.4.3" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.3.tgz#4cd7ccd9e12bc3875b33df8b24abf735663958a5" @@ -1185,6 +1266,14 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@17.0.1": + version "17.0.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.1.tgz#eb1f1407dea8da3bc741879c1192aa703ab9975b" + integrity sha512-w8t9f53B2ei4jeOqf/gxtc2Sswnc3LBK5s0DyJcg5xd10tMHXts2N31cKjWfH9IC/JvEPa/YF1U4YeP1t4R6HQ== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + "@types/react@^17.0.16": version "17.0.16" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.16.tgz#056f40c45645761527baeb7d89d842a6abdf285a" @@ -1313,11 +1402,64 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== +"@usedapp/core@^0.4.6": + version "0.4.6" + resolved "https://registry.yarnpkg.com/@usedapp/core/-/core-0.4.6.tgz#cdc7f376d2f5c9378e4f80f01ac08d93c5cc39a0" + integrity sha512-yN3asyUoMlXv8F69NcND26oyyFUlDTb5mhcz56nfnee8WPv0gEyxILIkTTAvG3nsfiPK3CqDSEvkkF1YG7EhMg== + dependencies: + "@types/react" "17.0.1" + "@web3-react/core" "6.1.1" + "@web3-react/injected-connector" "6.0.7" + "@web3-react/network-connector" "6.1.5" + ethers "5.4.1" + nanoid "3.1.22" + "@vascosantos/moving-average@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@vascosantos/moving-average/-/moving-average-1.1.0.tgz#8d5793b09b2d6021ba5e620c6a0f876c20db7eaa" integrity sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w== +"@web3-react/abstract-connector@^6.0.7": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/abstract-connector/-/abstract-connector-6.0.7.tgz#401b3c045f1e0fab04256311be49d5144e9badc6" + integrity sha512-RhQasA4Ox8CxUC0OENc1AJJm8UTybu/oOCM61Zjg6y0iF7Z0sqv1Ai1VdhC33hrQpA8qSBgoXN9PaP8jKmtdqg== + dependencies: + "@web3-react/types" "^6.0.7" + +"@web3-react/core@6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@web3-react/core/-/core-6.1.1.tgz#06c853890723f600b387b738a4b71ef41d5cccb7" + integrity sha512-HKXOgPNCmFvrVsed+aW/HlVhwzs8t3b+nzg3BoxgJQo/5yLiJXSumHRBdUrPxhBQiHkHRZiVPAvzf/8JMnm74Q== + dependencies: + "@ethersproject/keccak256" "^5.0.0-beta.130" + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-invariant "^1.0.6" + tiny-warning "^1.0.3" + +"@web3-react/injected-connector@6.0.7": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/injected-connector/-/injected-connector-6.0.7.tgz#1e0be23f51fa07fe6547fe986768a46b74c3a426" + integrity sha512-Y7aJSz6pg+MWKtvdyuqyy6LWuH+4Tqtph1LWfiyVms9II9ar/9B/de4R8wh4wjg91wmHkU+D75yP09E/Soh2RA== + dependencies: + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-warning "^1.0.3" + +"@web3-react/network-connector@6.1.5": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@web3-react/network-connector/-/network-connector-6.1.5.tgz#1fcce1dc7b03dac23fcc01ad0b0c870cb0e39e0b" + integrity sha512-Uwk8iMG8YCnTeKmyXt3Q7QJN28qTs0YTTW8/aes2R26KmYWCk3GdL2eal0QcXUixJy/IjrhXzbwzHgpneJqrWg== + dependencies: + "@web3-react/abstract-connector" "^6.0.7" + "@web3-react/types" "^6.0.7" + tiny-invariant "^1.0.6" + +"@web3-react/types@^6.0.7": + version "6.0.7" + resolved "https://registry.yarnpkg.com/@web3-react/types/-/types-6.0.7.tgz#34a6204224467eedc6123abaf55fbb6baeb2809f" + integrity sha512-ofGmfDhxmNT1/P/MgVa8IKSkCStFiyvXe+U5tyZurKdrtTDFU+wJ/LxClPDtFerWpczNFPUSrKcuhfPX1sI6+A== + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -4667,6 +4809,42 @@ ethereumjs-wallet@0.6.5: utf8 "^3.0.0" uuid "^3.3.2" +ethers@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.1.tgz#bcff1e9f45bf1a061bf313ec04e8d9881d2d53f9" + integrity sha512-SrcddMdCgP1hukDvCPd87Aipbf4NWjQvdfAbZ65XSZGbfyuYPtIrUJPDH5B1SBRsdlfiEgX3eoz28DdBDzMNFg== + dependencies: + "@ethersproject/abi" "5.4.0" + "@ethersproject/abstract-provider" "5.4.0" + "@ethersproject/abstract-signer" "5.4.0" + "@ethersproject/address" "5.4.0" + "@ethersproject/base64" "5.4.0" + "@ethersproject/basex" "5.4.0" + "@ethersproject/bignumber" "5.4.0" + "@ethersproject/bytes" "5.4.0" + "@ethersproject/constants" "5.4.0" + "@ethersproject/contracts" "5.4.0" + "@ethersproject/hash" "5.4.0" + "@ethersproject/hdnode" "5.4.0" + "@ethersproject/json-wallets" "5.4.0" + "@ethersproject/keccak256" "5.4.0" + "@ethersproject/logger" "5.4.0" + "@ethersproject/networks" "5.4.1" + "@ethersproject/pbkdf2" "5.4.0" + "@ethersproject/properties" "5.4.0" + "@ethersproject/providers" "5.4.1" + "@ethersproject/random" "5.4.0" + "@ethersproject/rlp" "5.4.0" + "@ethersproject/sha2" "5.4.0" + "@ethersproject/signing-key" "5.4.0" + "@ethersproject/solidity" "5.4.0" + "@ethersproject/strings" "5.4.0" + "@ethersproject/transactions" "5.4.0" + "@ethersproject/units" "5.4.0" + "@ethersproject/wallet" "5.4.0" + "@ethersproject/web" "5.4.0" + "@ethersproject/wordlists" "5.4.0" + ethers@^5.0.0, ethers@^5.0.1, ethers@^5.0.2, ethers@^5.4.4: version "5.4.4" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.4.tgz#35cce530505b84c699da944162195cfb3f894947" @@ -8030,6 +8208,11 @@ nano-json-stream-parser@^0.1.2: resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= +nanoid@3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== + nanoid@3.1.23: version "3.1.23" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" @@ -10656,7 +10839,7 @@ timeout-abort-controller@^1.1.1: abort-controller "^3.0.0" retimer "^2.0.0" -tiny-invariant@^1.0.2: +tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: version "1.1.0" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==