From ae8ba51c842a14bf574ca15f62574e7a1ce2c51a Mon Sep 17 00:00:00 2001 From: Felipe Mendes Date: Wed, 26 Apr 2023 16:31:39 -0300 Subject: [PATCH 01/19] feat: UI work on navbar responsivity (#244) * feat: add useMediaQuery * feat: add menu icon * feat: add navbar responsivity * feat: add current path indication for navigation * feat: prevent screen zoom * refactor: move logo to navbar folder * refactor: move sidebar to single file * refactor: set icon names to kebab case * feat: add alpha color function * feat: add backdrop filter on navbar --- ui/index.html | 5 +- ui/src/components/core/icon/icon-library.tsx | 8 +- .../layout/nav-bar/connect-wallet-button.tsx | 2 +- ui/src/components/layout/nav-bar/logo.tsx | 19 +++ .../layout/nav-bar/nav-bar.styles.ts | 124 ++++++++++++++++-- ui/src/components/layout/nav-bar/nav-bar.tsx | 23 +--- .../components/layout/nav-bar/navigation.tsx | 35 +++++ ui/src/components/layout/nav-bar/sidebar.tsx | 45 +++++++ ui/src/components/logo/index.ts | 1 - ui/src/components/logo/logo.styles.ts | 15 --- ui/src/components/logo/logo.tsx | 19 --- ui/src/hooks/index.ts | 1 + ui/src/hooks/use-media-query.ts | 42 ++++++ ui/src/theme/alpha-color.ts | 9 ++ ui/src/theme/foundations/colors.ts | 1 + ui/src/theme/index.ts | 1 + ui/src/theme/themes.ts | 1 - 17 files changed, 280 insertions(+), 71 deletions(-) create mode 100644 ui/src/components/layout/nav-bar/logo.tsx create mode 100644 ui/src/components/layout/nav-bar/navigation.tsx create mode 100644 ui/src/components/layout/nav-bar/sidebar.tsx delete mode 100644 ui/src/components/logo/index.ts delete mode 100644 ui/src/components/logo/logo.styles.ts delete mode 100644 ui/src/components/logo/logo.tsx create mode 100644 ui/src/hooks/use-media-query.ts create mode 100644 ui/src/theme/alpha-color.ts diff --git a/ui/index.html b/ui/index.html index 8a7863a..e272873 100644 --- a/ui/index.html +++ b/ui/index.html @@ -11,7 +11,10 @@ href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&display=swap" rel="stylesheet" /> - + { if (ensName && address) setEnsNameStore(ensName, address); return ( - - - - + {enableSidebar ? : } ); diff --git a/ui/src/components/layout/nav-bar/navigation.tsx b/ui/src/components/layout/nav-bar/navigation.tsx new file mode 100644 index 0000000..90ffe34 --- /dev/null +++ b/ui/src/components/layout/nav-bar/navigation.tsx @@ -0,0 +1,35 @@ +import { Link, useLocation } from 'react-router-dom'; + +import { forwardStyledRef } from '@/theme'; + +import { NavBarStyles as S } from './nav-bar.styles'; + +const Paths = [ + { path: '/explore', name: 'Explore', activeRegex: /\/$|\/explore/ }, + { path: '/mint', name: 'Create', activeRegex: /\/mint/ }, + { path: '/', name: 'Learn', activeRegex: /\/learn/ }, +]; + +export const Navigation = forwardStyledRef< + HTMLDivElement, + React.ComponentPropsWithRef +>((props, ref) => { + const location = useLocation(); + + return ( + + {Paths.map(({ path, name, activeRegex }) => ( + + {name} + + ))} + + ); +}); diff --git a/ui/src/components/layout/nav-bar/sidebar.tsx b/ui/src/components/layout/nav-bar/sidebar.tsx new file mode 100644 index 0000000..085740b --- /dev/null +++ b/ui/src/components/layout/nav-bar/sidebar.tsx @@ -0,0 +1,45 @@ +import { useEffect, useRef, useState } from 'react'; + +import { Button, Icon } from '@/components/core'; + +import { NavBarStyles as Styles } from './nav-bar.styles'; +import { Navigation } from './navigation'; + +export const Sidebar: React.FC = () => { + const [isOpen, setIsOpen] = useState(false); + const sidebarRef = useRef(null); + + const handleToggle = (): void => setIsOpen(!isOpen); + + const handleNavigationClick = (): void => setIsOpen(false); + + useEffect(() => { + if (!isOpen) return; + const { current } = sidebarRef; + if (!current) return; + + const handleClickOutside = (event: MouseEvent): void => { + if (current && !current.contains(event.target as Node)) setIsOpen(false); + }; + + document.addEventListener('mousedown', handleClickOutside); + return () => document.removeEventListener('mousedown', handleClickOutside); + }, [isOpen, sidebarRef]); + + return ( + <> + + + + + + + + + ); +}; diff --git a/ui/src/components/logo/index.ts b/ui/src/components/logo/index.ts deleted file mode 100644 index 147e5bd..0000000 --- a/ui/src/components/logo/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './logo'; diff --git a/ui/src/components/logo/logo.styles.ts b/ui/src/components/logo/logo.styles.ts deleted file mode 100644 index 7adcc6d..0000000 --- a/ui/src/components/logo/logo.styles.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { styled } from '@/theme'; - -import { Flex } from '../layout'; - -export abstract class LogoStyles { - static readonly Container = styled(Flex, { - cursor: 'pointer', - flex: 1, - }); - - static readonly Logo = styled('img', { - width: '$6', - height: 'auto', - }); -} diff --git a/ui/src/components/logo/logo.tsx b/ui/src/components/logo/logo.tsx deleted file mode 100644 index dbb0e91..0000000 --- a/ui/src/components/logo/logo.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { useNavigate } from 'react-router-dom'; - -import { Icon } from '../core/icon'; -import { LogoStyles as LS } from './logo.styles'; - -export const Logo: React.FC = () => { - const navigate = useNavigate(); - return ( - navigate('/home')}> - - - - - ); -}; diff --git a/ui/src/hooks/index.ts b/ui/src/hooks/index.ts index c32fad0..4d2b39c 100644 --- a/ui/src/hooks/index.ts +++ b/ui/src/hooks/index.ts @@ -1,3 +1,4 @@ export * from './use-transaction-cost'; export * from './use-window-scroll-end'; export * from './use-debounce'; +export * from './use-media-query'; diff --git a/ui/src/hooks/use-media-query.ts b/ui/src/hooks/use-media-query.ts new file mode 100644 index 0000000..f97d586 --- /dev/null +++ b/ui/src/hooks/use-media-query.ts @@ -0,0 +1,42 @@ +import { useEffect, useState } from 'react'; + +export const useMediaQuery = (query: string): boolean => { + const getMatches = (query: string): boolean => { + // Prevents SSR issues + if (typeof window !== 'undefined') { + return window.matchMedia(query).matches; + } + return false; + }; + + const [matches, setMatches] = useState(getMatches(query)); + + const handleChange = (): void => { + setMatches(getMatches(query)); + }; + + useEffect(() => { + const matchMedia = window.matchMedia(query); + + // Triggered at the first client-side load and if query changes + handleChange(); + + // Listen matchMedia + if (matchMedia.addListener) { + matchMedia.addListener(handleChange); + } else { + matchMedia.addEventListener('change', handleChange); + } + + return () => { + if (matchMedia.removeListener) { + matchMedia.removeListener(handleChange); + } else { + matchMedia.removeEventListener('change', handleChange); + } + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [query]); + + return matches; +}; diff --git a/ui/src/theme/alpha-color.ts b/ui/src/theme/alpha-color.ts new file mode 100644 index 0000000..95addd0 --- /dev/null +++ b/ui/src/theme/alpha-color.ts @@ -0,0 +1,9 @@ +import { config, theme } from './themes'; + +config.theme.colors; +export const alphaColor = ( + color: keyof typeof theme.colors, + value: number +): string => + config.theme.colors[color] + + `00${Math.round(0xff * value).toString(16)}`.slice(-2); diff --git a/ui/src/theme/foundations/colors.ts b/ui/src/theme/foundations/colors.ts index 587394f..6f3d305 100644 --- a/ui/src/theme/foundations/colors.ts +++ b/ui/src/theme/foundations/colors.ts @@ -23,6 +23,7 @@ export const colors = { ...amber, }; export const darkColors = { + black: '#000000', ...grayDark, ...slateDark, ...blueDark, diff --git a/ui/src/theme/index.ts b/ui/src/theme/index.ts index 5c1c2bf..4d72f1b 100644 --- a/ui/src/theme/index.ts +++ b/ui/src/theme/index.ts @@ -2,3 +2,4 @@ export * from './themes'; export * from './foundations'; export * from './key-frames'; export * from './forward-styled-ref'; +export * from './alpha-color'; diff --git a/ui/src/theme/themes.ts b/ui/src/theme/themes.ts index 6cd2c5d..b6dfd7d 100644 --- a/ui/src/theme/themes.ts +++ b/ui/src/theme/themes.ts @@ -59,7 +59,6 @@ const createDripStitches = < }, theme: { colors: { - black: '#000000', ...darkColors, // TODO: replace with light colors once it's done the light mode ...(theme?.colors || {}), }, From 787e4d6fef5ab4f447dbd51e08fbffae553679a1 Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:47:35 +0330 Subject: [PATCH 02/19] feat: create smart contract helper for serverless (#232) * feat: add log decoder helper and import web3. * feat: create the web3 helper and install the package. update ts config to use JSONs in the helper script. * feat: use nfaContract in submitBuildInfo handler. * refactor: make the setTokenBuild params self-explanatory. * docs: comment the placeholder. --- serverless/package.json | 3 +- serverless/src/functions/builds/handler.ts | 10 + serverless/src/libs/log-decoder.ts | 8 + serverless/src/libs/nfa-contract.ts | 9 + serverless/tsconfig.json | 2 + serverless/yarn.lock | 1926 +++++++++++++++++++- 6 files changed, 1937 insertions(+), 21 deletions(-) create mode 100644 serverless/src/libs/log-decoder.ts create mode 100644 serverless/src/libs/nfa-contract.ts diff --git a/serverless/package.json b/serverless/package.json index ac65205..7323d62 100644 --- a/serverless/package.json +++ b/serverless/package.json @@ -28,6 +28,7 @@ "@middy/http-json-body-parser": "^4.2.7", "@middy/http-response-serializer": "^4.2.8", "aws-sdk": "^2.1342.0", - "uuid": "^9.0.0" + "uuid": "^9.0.0", + "web3": "^1.9.0" } } diff --git a/serverless/src/functions/builds/handler.ts b/serverless/src/functions/builds/handler.ts index 6b04097..315a4e7 100644 --- a/serverless/src/functions/builds/handler.ts +++ b/serverless/src/functions/builds/handler.ts @@ -2,6 +2,7 @@ import { APIGatewayProxyResult } from 'aws-lambda'; import { formatJSONResponse } from '@libs/api-gateway'; import { v4 } from 'uuid'; +import { nfaContract } from '@libs/nfa-contract'; export const submitBuildInfo = async (): Promise => { try { @@ -11,6 +12,15 @@ export const submitBuildInfo = async (): Promise => { createdAt: new Date().toISOString(), }; + // place holder call + nfaContract.methods + .setTokenBuild(1, 'hash', 'repo') + .call((err: string | undefined, res: any) => { + if (err) throw new Error(err); + console.log('result'); + console.log(res); + }); + return formatJSONResponse({ buildInfo, }); diff --git a/serverless/src/libs/log-decoder.ts b/serverless/src/libs/log-decoder.ts new file mode 100644 index 0000000..3635589 --- /dev/null +++ b/serverless/src/libs/log-decoder.ts @@ -0,0 +1,8 @@ +var Web3 = require('web3'); + +var web3 = new Web3(Web3.givenProvider || "ws://localhost:17895"); + +export const logDecoder = (eventFieldsABI: { indexed: boolean; internalType: string; name: string; type: string; }[], data: string, topics: string[]) => { + return web3.eth.abi.decodeLog(eventFieldsABI, data, topics); +}; + \ No newline at end of file diff --git a/serverless/src/libs/nfa-contract.ts b/serverless/src/libs/nfa-contract.ts new file mode 100644 index 0000000..7fbbda4 --- /dev/null +++ b/serverless/src/libs/nfa-contract.ts @@ -0,0 +1,9 @@ +import Web3 from 'web3'; +import * as abiFile from '../../../contracts/deployments/goerli/FleekERC721.json'; + +const contract_address = abiFile.address; +const abi = abiFile.abi as any; + +const web3 = new Web3('https://rpc.goerli.mudit.blog'); + +export const nfaContract = new web3.eth.Contract(abi, contract_address); diff --git a/serverless/tsconfig.json b/serverless/tsconfig.json index 9e4c11d..4f49e29 100644 --- a/serverless/tsconfig.json +++ b/serverless/tsconfig.json @@ -1,6 +1,8 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { + "esModuleInterop": true, + "resolveJsonModule": true, "lib": ["ESNext"], "moduleResolution": "node", "noUnusedLocals": true, diff --git a/serverless/yarn.lock b/serverless/yarn.lock index 6dd7e31..1ef210a 100644 --- a/serverless/yarn.lock +++ b/serverless/yarn.lock @@ -842,6 +842,207 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.12.tgz#3a11d13e9a5b0c05db88991b234d8baba1f96487" integrity sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw== +"@ethereumjs/common@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" + integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.1" + +"@ethereumjs/common@^2.5.0": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" + +"@ethereumjs/tx@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" + integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== + dependencies: + "@ethereumjs/common" "^2.5.0" + ethereumjs-util "^7.1.2" + +"@ethersproject/abi@^5.6.3": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@hapi/accept@6.0.1", "@hapi/accept@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.1.tgz#36378307a67fe38a626fbfaf7f130cdb654d0385" @@ -1282,7 +1483,7 @@ uuid "^8.3.2" write-file-atomic "^4.0.2" -"@sindresorhus/is@^4.0.0": +"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": version "4.6.0" resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== @@ -1294,6 +1495,13 @@ dependencies: defer-to-connect "^2.0.0" +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + "@tokenizer/token@^0.3.0": version "0.3.0" resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz" @@ -1324,7 +1532,14 @@ resolved "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.114.tgz" integrity sha512-M8WpEGfC9iQ6V2Ccq6nGIXoQgeVc6z0Ngk8yCOL5V/TYIxshvb0MWQYLFFTZDesL0zmsoBc4OBjG9DB/4rei6w== -"@types/cacheable-request@^6.0.1": +"@types/bn.js@^5.1.0", "@types/bn.js@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + +"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": version "6.0.3" resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz" integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== @@ -1361,6 +1576,18 @@ resolved "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz" integrity sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew== +"@types/node@^12.12.6": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" @@ -1373,11 +1600,31 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + "@types/uuid@^9.0.1": version "9.0.1" resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz" integrity sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA== +abortcontroller-polyfill@^1.7.3: + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + acorn-walk@^8.1.1, acorn-walk@^8.2.0: version "8.2.0" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" @@ -1415,6 +1662,16 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" +ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^8.0.0, ajv@^8.12.0: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" @@ -1530,6 +1787,11 @@ array-buffer-byte-length@^1.0.0: call-bind "^1.0.2" is-array-buffer "^3.0.1" +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + array-unflat-js@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/array-unflat-js/-/array-unflat-js-0.1.3.tgz#e1c516a50d9a4e86f127f5c76bae2c51e2981e1e" @@ -1545,6 +1807,23 @@ asap@^2.0.0: resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + async@^3.2.0, async@^3.2.3: version "3.2.4" resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" @@ -1597,6 +1876,16 @@ aws-sdk@^2.1342.0: uuid "8.0.0" xml2js "0.4.19" +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + axios@^0.21.1: version "0.21.4" resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" @@ -1609,11 +1898,25 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + bestzip@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/bestzip/-/bestzip-2.2.1.tgz" @@ -1625,6 +1928,11 @@ bestzip@^2.2.1: which "^2.0.2" yargs "^16.2.0" +bignumber.js@^9.0.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" + integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" @@ -1647,11 +1955,67 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird@^3.7.2: +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.5.0, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.6, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +body-parser@^1.16.0: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + bowser@^2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" @@ -1693,6 +2057,39 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.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== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" @@ -1716,6 +2113,16 @@ buffer-fill@^1.0.0: resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== +buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + buffer@4.9.2: version "4.9.2" resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" @@ -1725,7 +2132,7 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.2.1, buffer@^5.5.0: +buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -1733,6 +2140,13 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +bufferutil@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" + integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== + dependencies: + node-gyp-build "^4.3.0" + builtin-modules@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" @@ -1743,11 +2157,21 @@ builtins@^1.0.3: resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== +cacheable-lookup@^6.0.4: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" + integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== + cacheable-request@^7.0.2: version "7.0.2" resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz" @@ -1779,6 +2203,11 @@ camelcase@^7.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" @@ -1823,6 +2252,11 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + chownr@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" @@ -1833,6 +2267,30 @@ ci-info@^3.8.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== +cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" @@ -1927,7 +2385,7 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.8: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1964,23 +2422,60 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -content-disposition@^0.5.4: +content-disposition@0.5.4, content-disposition@^0.5.4: version "0.5.4" resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" +content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + cookiejar@^2.1.3: version "2.1.4" resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + crc-32@^1.2.0: version "1.2.2" resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" @@ -1994,6 +2489,29 @@ crc32-stream@^4.0.2: crc-32 "^1.2.0" readable-stream "^3.4.0" +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.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== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" @@ -2006,6 +2524,13 @@ cron-parser@^4.2.0: dependencies: luxon "^3.2.1" +cross-fetch@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" @@ -2034,6 +2559,13 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + data-uri-to-buffer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" @@ -2044,6 +2576,13 @@ dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@4, debug@^4.1.1, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" @@ -2051,6 +2590,18 @@ debug@4, debug@^4.1.1, debug@^4.3.3, debug@^4.3.4: dependencies: ms "2.1.2" +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" @@ -2118,7 +2669,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -defer-to-connect@^2.0.0: +defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== @@ -2152,11 +2703,21 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + desm@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/desm/-/desm-1.3.0.tgz#109f8f134b33d429bff4124ca6ca02f96a07711f" integrity sha512-RvlHN2gfYA0BpCfjpWzCdQeR6p5U+84f5DzcirLow86UA/OcpwuOqXRC4Oz0bG9rzcJPVtMT6ZgNtjp4qh+uqA== +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + dezalgo@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" @@ -2177,6 +2738,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + dotenv-expand@^9.0.0: version "9.0.0" resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-9.0.0.tgz" @@ -2200,6 +2766,32 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -2210,6 +2802,11 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" @@ -2293,6 +2890,11 @@ es6-iterator@^2.0.3, es6-iterator@~2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" +es6-promise@^4.2.8: + 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-set@^0.1.6: version "0.1.6" resolved "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz" @@ -2356,6 +2958,11 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" @@ -2381,6 +2988,87 @@ essentials@^1.2.0: dependencies: uni-global "^1.0.0" +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + event-emitter@^0.3.5: version "0.3.5" resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" @@ -2389,11 +3077,24 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" +eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + events@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" @@ -2424,6 +3125,43 @@ execa@^6.1.0: signal-exit "^3.0.7" strip-final-newline "^3.0.0" +express@^4.14.0: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext-list@^2.0.0: version "2.2.2" resolved "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" @@ -2446,6 +3184,11 @@ ext@^1.1.2, ext@^1.4.0, ext@^1.6.0, ext@^1.7.0: dependencies: type "^2.7.2" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + external-editor@^3.0.3: version "3.1.0" resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" @@ -2455,6 +3198,16 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -2471,6 +3224,11 @@ fast-glob@^3.2.7, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + fast-safe-stringify@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" @@ -2572,6 +3330,19 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + find-requires@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/find-requires/-/find-requires-1.0.0.tgz" @@ -2597,6 +3368,16 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data-encoder@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" + integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== + form-data@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" @@ -2606,6 +3387,15 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + formdata-polyfill@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" @@ -2623,11 +3413,21 @@ formidable@^2.0.1: once "^1.4.0" qs "^6.11.0" +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + fp-ts@^2.13.1: version "2.13.1" resolved "https://registry.npmjs.org/fp-ts/-/fp-ts-2.13.1.tgz" integrity sha512-0eu5ULPS2c/jsa1lGFneEFFEdTbembJv8e4QKXeVJ3lm/5hyve06dlKZrpxmMwJt6rYen7sxmHHK2CLaXvWuWQ== +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" @@ -2651,6 +3451,15 @@ fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -2661,6 +3470,13 @@ fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" @@ -2758,6 +3574,13 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" @@ -2777,6 +3600,14 @@ glob@^7.0.5, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" @@ -2803,7 +3634,26 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -got@^11.8.6: +got@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" + integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== + dependencies: + "@sindresorhus/is" "^4.6.0" + "@szmarczak/http-timer" "^5.0.1" + "@types/cacheable-request" "^6.0.2" + "@types/responselike" "^1.0.0" + cacheable-lookup "^6.0.4" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + form-data-encoder "1.7.1" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^2.0.0" + +got@^11.8.5, got@^11.8.6: version "11.8.6" resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz" integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== @@ -2820,7 +3670,7 @@ got@^11.8.6: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.10, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10: +graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2832,6 +3682,19 @@ graphlib@^2.1.8: dependencies: lodash "^4.17.15" +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -2878,16 +3741,67 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + hexoid@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + http-cache-semantics@^4.0.0: version "4.1.1" resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" @@ -2896,6 +3810,14 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" +http2-wrapper@^2.1.10: + version "2.2.0" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" + integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" @@ -2914,13 +3836,20 @@ human-signals@^3.0.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== -iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + ieee754@1.1.13: version "1.1.13" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" @@ -2959,7 +3888,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2994,6 +3923,11 @@ internal-slot@^1.0.5: has "^1.0.3" side-channel "^1.0.4" +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + is-arguments@^1.0.4: version "1.1.1" resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" @@ -3060,6 +3994,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" @@ -3074,6 +4013,11 @@ is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" @@ -3166,6 +4110,11 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: gopd "^1.0.1" has-tostringtag "^1.0.0" +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" @@ -3200,6 +4149,11 @@ isomorphic-ws@^4.0.1: resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + java-invoke-local@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/java-invoke-local/-/java-invoke-local-0.0.6.tgz#0e04b20b5e306a1e8384846a9ac286790ee6d868" @@ -3215,6 +4169,16 @@ jose@^4.11.2: resolved "https://registry.yarnpkg.com/jose/-/jose-4.13.1.tgz#449111bb5ab171db85c03f1bd2cb1647ca06db1c" integrity sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ== +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== + js-string-escape@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" @@ -3235,6 +4199,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" @@ -3268,16 +4237,38 @@ json-schema-to-ts@^2.7.2: "@types/json-schema" "^7.0.9" ts-algebra "^1.2.0" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + json-schema-traverse@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +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 sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + json5@^2.2.2: version "2.2.3" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" @@ -3297,6 +4288,16 @@ jsonschema@^1.4.1: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + jszip@^3.10.1: version "3.10.1" resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" @@ -3317,6 +4318,15 @@ jwt-decode@^3.1.2: resolved "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== +keccak@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keyv@^4.0.0: version "4.5.2" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz" @@ -3413,6 +4423,11 @@ lowercase-keys@^2.0.0: resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" @@ -3451,6 +4466,20 @@ make-error@^1.1.1: resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + memoizee@^0.4.14, memoizee@^0.4.15: version "0.4.15" resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" @@ -3465,6 +4494,11 @@ memoizee@^0.4.14, memoizee@^0.4.15: next-tick "^1.1.0" timers-ext "^0.1.7" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" @@ -3475,7 +4509,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@^1.1.2: +methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== @@ -3493,13 +4527,18 @@ mime-db@1.52.0, mime-db@^1.28.0, mime-db@^1.52.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + mime@2.6.0: version "2.6.0" resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" @@ -3525,6 +4564,23 @@ mimic-response@^3.1.0: resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" @@ -3544,6 +4600,14 @@ minimist@^1.2.6: resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + minipass@^3.0.0: version "3.3.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" @@ -3556,6 +4620,13 @@ minipass@^4.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz" integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" @@ -3564,26 +4635,100 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== + dependencies: + mkdirp "*" + +mkdirp@*: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.0.tgz#758101231418bda24435c0888a91d9bd91f1372d" + integrity sha512-7+JDnNsyCvZXoUJdkMR0oUE2AmAdsNXGTmRbiOjYIwQ6q+bL6NwrozGQdPcmYaNcrhH37F50HHBUzoaBV6FITQ== + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.3: +ms@2.1.3, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + +multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multihashes@^0.4.15, 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== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + mute-stream@0.0.8: version "0.0.8" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== + native-promise-only@^0.8.1: version "0.8.1" resolved "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz" @@ -3603,6 +4748,11 @@ ncjsm@^4.3.2: fs2 "^0.3.9" type "^2.7.2" +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + next-tick@1, next-tick@^1.0.0, next-tick@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" @@ -3613,6 +4763,11 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + node-dir@^0.1.17: version "0.1.17" resolved "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" @@ -3625,6 +4780,13 @@ node-domexception@^1.0.0: resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^2.6.7, node-fetch@^2.6.8, node-fetch@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" @@ -3641,6 +4803,11 @@ node-fetch@^3.3.0: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + node-schedule@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/node-schedule/-/node-schedule-2.1.1.tgz#6958b2c5af8834954f69bb0a7a97c62b97185de3" @@ -3687,7 +4854,20 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -object-assign@^4.0.1: +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -3725,6 +4905,20 @@ object.hasown@^1.1.2: define-properties "^1.1.4" es-abstract "^1.20.4" +oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== + dependencies: + http-https "^1.0.0" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" @@ -3788,6 +4982,11 @@ p-cancelable@^2.0.0: resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + p-event@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz" @@ -3835,6 +5034,16 @@ pako@~1.0.2: resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" @@ -3863,6 +5072,11 @@ path-loader@^1.0.10: native-promise-only "^0.8.1" superagent "^7.1.6" +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -3873,6 +5087,17 @@ path2@^0.1.0: resolved "https://registry.npmjs.org/path2/-/path2-0.1.0.tgz" integrity sha512-TX+cz8Jk+ta7IvRy2FAej8rdlbrP0+uBIkP/5DTODez/AuL/vSb30KuAdDxGVREXzn8QfAiu5mJYJ1XjbOhEPA== +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + peek-readable@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz" @@ -3883,6 +5108,11 @@ pend@~1.2.0: resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" @@ -3925,11 +5155,29 @@ process-utils@^4.0.0: memoizee "^0.4.14" type "^2.1.0" +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + promise-queue@^2.2.5: version "2.2.5" resolved "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz" integrity sha512-p/iXrPSVfnqPft24ZdNNLECw/UrtLTpT3jpAAMzl/o5/rDsGCPo3/CQS2611flL6LkoEJ3oQZw7C8Q80ZISXRQ== +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + pump@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" @@ -3943,11 +5191,23 @@ punycode@1.3.2: resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== -punycode@^2.1.0: +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== + +punycode@^2.1.0, punycode@^2.1.1: version "2.3.0" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + qs@^6.10.3, qs@^6.11.0: version "6.11.1" resolved "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz" @@ -3955,6 +5215,20 @@ qs@^6.10.3, qs@^6.11.0: dependencies: side-channel "^1.0.4" +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + querystring@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" @@ -3980,6 +5254,38 @@ ramda@^0.28.0: resolved "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz" integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" @@ -4037,6 +5343,32 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" +request@^2.79.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -4047,7 +5379,7 @@ require-from-string@^2.0.2: resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -resolve-alpn@^1.0.0: +resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== @@ -4077,6 +5409,21 @@ reusify@^1.0.4: resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" @@ -4103,7 +5450,7 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-buffer@5.2.1, safe-buffer@^5.1.1, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -4122,7 +5469,7 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4137,6 +5484,20 @@ sax@>=0.6.0: resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + seek-bzip@^1.0.5: version "1.0.6" resolved "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz" @@ -4161,6 +5522,35 @@ semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: dependencies: lru-cache "^6.0.0" +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + serverless-esbuild@^1.42.0: version "1.42.0" resolved "https://registry.npmjs.org/serverless-esbuild/-/serverless-esbuild-1.42.0.tgz" @@ -4271,11 +5661,35 @@ serverless@^3.28.1: uuid "^9.0.0" yaml-ast-parser "0.0.43" +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" @@ -4314,6 +5728,20 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-git@^3.16.0: version "3.17.0" resolved "https://registry.npmjs.org/simple-git/-/simple-git-3.17.0.tgz" @@ -4366,6 +5794,26 @@ sprintf-kit@^2.0.1: dependencies: es5-ext "^0.10.53" +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + stream-promise@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/stream-promise/-/stream-promise-3.2.0.tgz" @@ -4375,6 +5823,11 @@ stream-promise@^3.2.0: es5-ext "^0.10.49" is-stream "^1.1.0" +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" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -4470,6 +5923,13 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + strip-outer@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz" @@ -4528,6 +5988,23 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" +swarm-js@^0.1.40: + version "0.1.42" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" + integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^11.8.5" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request "^1.0.1" + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz" @@ -4552,6 +6029,19 @@ tar-stream@^2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" +tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + tar@^6.1.13: version "6.1.13" resolved "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz" @@ -4574,6 +6064,11 @@ through@^2.3.6, through@^2.3.8: resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== + timers-ext@^0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" @@ -4601,6 +6096,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + token-types@^4.1.1: version "4.2.1" resolved "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz" @@ -4609,6 +6109,14 @@ token-types@^4.1.1: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" @@ -4669,6 +6177,18 @@ tslib@^2.1.0, tslib@^2.3.1, tslib@^2.5.0: resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + type-fest@^0.21.3: version "0.21.3" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" @@ -4684,6 +6204,14 @@ type-fest@^3.0.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.7.1.tgz#94f1bac89863e507c3635d96010012040aba9215" integrity sha512-8LZNdvuztgxCF4eYpEmPYUPS0lbbByM2qHcp2oMxHZhWLIQB9QE36EeQ1PKwsUIDZXEP8HCBEmkBbT1//kLU4Q== +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + type@^1.0.1: version "1.2.0" resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" @@ -4703,11 +6231,23 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typescript@^5.0.2: version "5.0.2" resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz" integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -4733,11 +6273,21 @@ uni-global@^1.0.0: dependencies: type "^2.5.0" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + untildify@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" @@ -4750,6 +6300,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== + url@0.10.3: version "0.10.3" resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" @@ -4758,12 +6313,24 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.4: +util@^0.12.4, util@^0.12.5: version "0.12.5" resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -4774,11 +6341,21 @@ util@^0.12.4: is-typed-array "^1.1.3" which-typed-array "^1.1.2" +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + uuid@8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz" integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + uuid@^8.3.2: version "8.3.2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" @@ -4801,6 +6378,16 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + velocityjs@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/velocityjs/-/velocityjs-2.0.6.tgz#fbd5ec5bc6e75a889f73c1d67baddd4e0af7b35a" @@ -4808,6 +6395,15 @@ velocityjs@^2.0.6: dependencies: debug "^4.3.3" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" @@ -4820,11 +6416,252 @@ web-streams-polyfill@^3.0.3: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== +web3-bzz@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.9.0.tgz#3334049f386e73e2b3dcfa96432e65391538d8ac" + integrity sha512-9Zli9dikX8GdHwBb5/WPzpSVuy3EWMKY3P4EokCQra31fD7DLizqAAaTUsFwnK7xYkw5ogpHgelw9uKHHzNajg== + dependencies: + "@types/node" "^12.12.6" + got "12.1.0" + swarm-js "^0.1.40" + +web3-core-helpers@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.9.0.tgz#a1ca4ac7b9cec822886643312d2e98b0e4d8f1bc" + integrity sha512-NeJzylAp9Yj9xAt2uTT+kyug3X0DLnfBdnAcGZuY6HhoNPDIfQRA9CkJjLngVRlGTLZGjNp9x9eR+RyZQgUlXg== + dependencies: + web3-eth-iban "1.9.0" + web3-utils "1.9.0" + +web3-core-method@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.9.0.tgz#81da8aa21503b470537c9f075f30adfad194a2d8" + integrity sha512-sswbNsY2xRBBhGeaLt9c/eDc+0yDDhi6keUBAkgIRa9ueSx/VKzUY9HMqiV6bXDcGT2fJyejq74FfEB4lc/+/w== + dependencies: + "@ethersproject/transactions" "^5.6.2" + web3-core-helpers "1.9.0" + web3-core-promievent "1.9.0" + web3-core-subscriptions "1.9.0" + web3-utils "1.9.0" + +web3-core-promievent@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.9.0.tgz#2598a4d91b4edd3607366529f52bc96dee9f6d83" + integrity sha512-PHG1Mn23IGwMZhnPDN8dETKypqsFbHfiyRqP+XsVMPmTHkVfzDQTCBU/c2r6hUktBDoGKut5xZQpGfhFk71KbQ== + dependencies: + eventemitter3 "4.0.4" + +web3-core-requestmanager@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.9.0.tgz#9d7d0e7f890cf7a24e9c568b9772c64d57fc4fcd" + integrity sha512-hcJ5PCtTIJpj+8qWxoseqlCovDo94JJjTX7dZOLXgwp8ah7E3WRYozhGyZocerx+KebKyg1mCQIhkDpMwjfo9Q== + dependencies: + util "^0.12.5" + web3-core-helpers "1.9.0" + web3-providers-http "1.9.0" + web3-providers-ipc "1.9.0" + web3-providers-ws "1.9.0" + +web3-core-subscriptions@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.9.0.tgz#dc67b478875dab1875844df3307a986dd7d468dd" + integrity sha512-MaIo29yz7hTV8X8bioclPDbHFOVuHmnbMv+D3PDH12ceJFJAXGyW8GL5KU1DYyWIj4TD1HM4WknyVA/YWBiiLA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.9.0" + +web3-core@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.9.0.tgz#9cfafb2f8c01931429108af75205610406a5a1ab" + integrity sha512-DZ+TPmq/ZLlx4LSVzFgrHCP/QFpKDbGWO4HoquZSdu24cjk5SZ+FEU1SZB2OaK3/bgBh+25mRbmv8y56ysUu1w== + dependencies: + "@types/bn.js" "^5.1.1" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.9.0" + web3-core-method "1.9.0" + web3-core-requestmanager "1.9.0" + web3-utils "1.9.0" + +web3-eth-abi@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.9.0.tgz#18662ef68bd3d25eedd9a1a1484089c39529c652" + integrity sha512-0BLQ3FKMrzJkA930jOX3fMaybAyubk06HChclLpiR0NWmgWXm1tmBrJdkyRy2ZTZpmfuZc9xTFRfl0yZID1voA== + dependencies: + "@ethersproject/abi" "^5.6.3" + web3-utils "1.9.0" + +web3-eth-accounts@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.9.0.tgz#fab7d563c63bdff2aa5ad89a94faf128961d9504" + integrity sha512-VeIZVevmnSll0AC1k5F/y398ZE89d1SRuYk8IewLUhL/tVAsFEsjl2SGgm0+aDcHmgPrkW+qsCJ+C7rWg/N4ZA== + dependencies: + "@ethereumjs/common" "2.5.0" + "@ethereumjs/tx" "3.3.2" + eth-lib "0.2.8" + ethereumjs-util "^7.1.5" + scrypt-js "^3.0.1" + uuid "^9.0.0" + web3-core "1.9.0" + web3-core-helpers "1.9.0" + web3-core-method "1.9.0" + web3-utils "1.9.0" + +web3-eth-contract@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.9.0.tgz#00b7ac8314d562d10d7dd0c7d0f52555c3862995" + integrity sha512-+j26hpSaEtAdUed0TN5rnc+YZOcjPxMjFX4ZBKatvFkImdbVv/tzTvcHlltubSpgb2ZLyZ89lSL6phKYwd2zNQ== + dependencies: + "@types/bn.js" "^5.1.1" + web3-core "1.9.0" + web3-core-helpers "1.9.0" + web3-core-method "1.9.0" + web3-core-promievent "1.9.0" + web3-core-subscriptions "1.9.0" + web3-eth-abi "1.9.0" + web3-utils "1.9.0" + +web3-eth-ens@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.9.0.tgz#2014b16e1116be5ab34404a8db29ad1d8632ced0" + integrity sha512-LOJZeN+AGe9arhuExnrPPFYQr4WSxXEkpvYIlst/joOEUNLDwfndHnJIK6PI5mXaYSROBtTx6erv+HupzGo7vA== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.9.0" + web3-core-helpers "1.9.0" + web3-core-promievent "1.9.0" + web3-eth-abi "1.9.0" + web3-eth-contract "1.9.0" + web3-utils "1.9.0" + +web3-eth-iban@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.9.0.tgz#a8f838e42c20d49ff58aaa9f67ece47a968e40b1" + integrity sha512-jPAm77PuEs1kE/UrrBFJdPD2PN42pwfXA0gFuuw35bZezhskYML9W4QCxcqnUtceyEA4FUn7K2qTMuCk+23fog== + dependencies: + bn.js "^5.2.1" + web3-utils "1.9.0" + +web3-eth-personal@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.9.0.tgz#f5092bcb2688979dd7778d5a56ae6922c341ce52" + integrity sha512-r9Ldo/luBqJlv1vCUEQnUS+C3a3ZdbYxVHyfDkj6RWMyCqqo8JE41HWE+pfa0RmB1xnGL2g8TbYcHcqItck/qg== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.9.0" + web3-core-helpers "1.9.0" + web3-core-method "1.9.0" + web3-net "1.9.0" + web3-utils "1.9.0" + +web3-eth@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.9.0.tgz#1fe82ba429a44b1aa0a3b95de3e79e6c5a9eb00c" + integrity sha512-c5gSWk9bLNr6VPATHmZ1n7LTIefIZQnJMzfnvkoBcIFGKJbGmsuRhv6lEXsKdAO/FlqYnSbaw3fOq1fVFiIOFQ== + dependencies: + web3-core "1.9.0" + web3-core-helpers "1.9.0" + web3-core-method "1.9.0" + web3-core-subscriptions "1.9.0" + web3-eth-abi "1.9.0" + web3-eth-accounts "1.9.0" + web3-eth-contract "1.9.0" + web3-eth-ens "1.9.0" + web3-eth-iban "1.9.0" + web3-eth-personal "1.9.0" + web3-net "1.9.0" + web3-utils "1.9.0" + +web3-net@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.9.0.tgz#ee8799bf766039aa5b157d6db0be5ffdecd39d64" + integrity sha512-L+fDZFgrLM5Y15aonl2q6L+RvfaImAngmC0Jv45hV2FJ5IfRT0/2ob9etxZmvEBWvOpbqSvghfOhJIT3XZ37Pg== + dependencies: + web3-core "1.9.0" + web3-core-method "1.9.0" + web3-utils "1.9.0" + +web3-providers-http@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.9.0.tgz#93cd3eb42fff974c9f7634ede1a9795d6435c3fe" + integrity sha512-5+dMNDAE0rRFz6SJpfnBqlVi2J5bB/Ivr2SanMt2YUrkxW5t8betZbzVwRkTbwtUvkqgj3xeUQzqpOttiv+IqQ== + dependencies: + abortcontroller-polyfill "^1.7.3" + cross-fetch "^3.1.4" + es6-promise "^4.2.8" + web3-core-helpers "1.9.0" + +web3-providers-ipc@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.9.0.tgz#db486cb0dde9062ac6055478861e3d37535924d2" + integrity sha512-cPXU93Du40HCylvjaa5x62DbnGqH+86HpK/+kMcFIzF6sDUBhKpag2tSbYhGbj7GMpfkmDTUiiMLdWnFV6+uBA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.9.0" + +web3-providers-ws@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.9.0.tgz#568330766e8abbb6eb43e1153a72fb24398fcb7e" + integrity sha512-JRVsnQZ7j2k1a2yzBNHe39xqk1ijOv01dfIBFw52VeEkSRzvrOcsPIM/ttSyBuJqt70ntMxXY0ekCrqfleKH/w== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.9.0" + websocket "^1.0.32" + +web3-shh@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.9.0.tgz#75a37cd9f78d485ee5f018e2e66853e1e1c6ce4f" + integrity sha512-bIBZlralgz4ICCrwkefB2nPPJWfx28NuHIpjB7d9ADKynElubQuqudYhKtSEkKXACuME/BJm0pIFJcJs/gDnMg== + dependencies: + web3-core "1.9.0" + web3-core-method "1.9.0" + web3-core-subscriptions "1.9.0" + web3-net "1.9.0" + +web3-utils@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.9.0.tgz#7c5775a47586cefb4ad488831be8f6627be9283d" + integrity sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.9.0.tgz#4fde5d134f8ee11355ed5bfa1bb41f8bc58e23f3" + integrity sha512-E9IvVy/d2ozfQQsCiV+zh/LmlZGv9fQxI0UedDVjm87yOKf4AYbBNEn1iWtHveiGzAk2CEMZMUzAZzaQNSSYog== + dependencies: + web3-bzz "1.9.0" + web3-core "1.9.0" + web3-eth "1.9.0" + web3-eth-personal "1.9.0" + web3-net "1.9.0" + web3-shh "1.9.0" + web3-utils "1.9.0" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== +websocket@^1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" @@ -4908,6 +6745,15 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + ws@^7.5.3: version "7.5.9" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" @@ -4918,6 +6764,36 @@ ws@^8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== +xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + +xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== + dependencies: + buffer-to-arraybuffer "^0.0.5" + object-assign "^4.1.1" + query-string "^5.0.1" + simple-get "^2.7.0" + timed-out "^4.0.1" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr@^2.0.4, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + xml2js@0.4.19: version "0.4.19" resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz" @@ -4941,6 +6817,16 @@ y18n@^5.0.5: resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== + +yallist@^3.0.0, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" From 8f1263e43d318210fda53140edca75e668a1d817 Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:48:31 +0330 Subject: [PATCH 03/19] feat: define submit build info interface and parameters. (#231) --- serverless/serverless.yaml | 12 +++++++++++- serverless/src/functions/builds/handler.ts | 7 +++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/serverless/serverless.yaml b/serverless/serverless.yaml index a0904ff..30a05ab 100644 --- a/serverless/serverless.yaml +++ b/serverless/serverless.yaml @@ -31,12 +31,22 @@ custom: functions: submitBuildInfo: - handler: dist/functions/builds/handler.submitBuildInfo + handler: src/functions/builds/handler.submitBuildInfo events: - http: path: build method: post cors: true + request: + parameters: + querystrings: + githubOrg: true + githubRepo: true + commitHash: true + author: true + timestamp: true + ipfsHash: true + tokenId: true submitMintInfo: handler: dist/functions/mints/handler.submitMintInfo diff --git a/serverless/src/functions/builds/handler.ts b/serverless/src/functions/builds/handler.ts index 315a4e7..0b22c07 100644 --- a/serverless/src/functions/builds/handler.ts +++ b/serverless/src/functions/builds/handler.ts @@ -1,15 +1,18 @@ -import { APIGatewayProxyResult } from 'aws-lambda'; +import { APIGatewayProxyResult, APIGatewayEvent } from 'aws-lambda'; import { formatJSONResponse } from '@libs/api-gateway'; +const querystring = require('querystring'); import { v4 } from 'uuid'; import { nfaContract } from '@libs/nfa-contract'; -export const submitBuildInfo = async (): Promise => { +export const submitBuildInfo = async (event: APIGatewayEvent): Promise => { try { + const eventData = querystring.parse(event.body); const id = v4(); const buildInfo = { buildId: id, createdAt: new Date().toISOString(), + submittedData: eventData }; // place holder call From d838f1a449b3dae285c678035ee174a152df991a Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:01:21 +0330 Subject: [PATCH 04/19] feat: MongoDB & Prisma [serverless] (#224) * feat: init prisma. * feat: update the prisma model. * feat: write client tests. * feat: Prisma integration and helper [serverless] (#229) * refactor: rename the prisma folder to prisma-setup. * feat: install prisma client. * feat: add new build and invoke commands for prisma and the modules. * feat: add prisma helper, update serverless config for testing purposes * docs: update readme and include a .env.example file. * feat: zoruka's suggestion on using finally instead of catch. Co-authored-by: Felipe Mendes --------- Co-authored-by: Felipe Mendes * feat: prisma-setup restructure. --------- Co-authored-by: Felipe Mendes --- serverless/.env.example | 7 +++++++ serverless/README.md | 12 +++++++++++ serverless/examples/client/index.ts | 32 +++++++++++++++++++++++++++++ serverless/package.json | 9 +++++++- serverless/prisma/schema.prisma | 16 +++++++++++++++ serverless/serverless.yaml | 4 ++-- serverless/src/libs/query-prisma.ts | 16 +++++++++++++++ serverless/tsconfig.json | 6 ++++++ serverless/yarn.lock | 24 ++++++++++++++++++++++ 9 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 serverless/.env.example create mode 100644 serverless/examples/client/index.ts create mode 100644 serverless/prisma/schema.prisma create mode 100644 serverless/src/libs/query-prisma.ts diff --git a/serverless/.env.example b/serverless/.env.example new file mode 100644 index 0000000..99aa18b --- /dev/null +++ b/serverless/.env.example @@ -0,0 +1,7 @@ +# Environment variables declared in this file are automatically made available to Prisma. +# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema + +# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB. +# See the documentation for all the connection string options: https://pris.ly/d/connection-strings + +DATABASE_URL="mongodb+srv://root:randompassword@cluster0.ab1cd.mongodb.net/mydb?retryWrites=true&w=majority" \ No newline at end of file diff --git a/serverless/README.md b/serverless/README.md index f1fcee9..10c1fae 100644 --- a/serverless/README.md +++ b/serverless/README.md @@ -36,3 +36,15 @@ To deploy to development environment: To deploy to production environment: `yarn sls deploy --stage prd` + + +### Prisma configuration + +In order to use and integrate Prisma, both of the `prisma` and `@prisma/client` packages are needed. The `prisma` package reads the schema and generates a version of Prisma Client that is tailored to our modules. + +Run the following commands to install the packages and generate the customized Prisma Client version based on the schema: + +``` +yarn add prisma @prisma/client +yarn prisma:generate +``` \ No newline at end of file diff --git a/serverless/examples/client/index.ts b/serverless/examples/client/index.ts new file mode 100644 index 0000000..fd61fff --- /dev/null +++ b/serverless/examples/client/index.ts @@ -0,0 +1,32 @@ +import { PrismaClient } from '@prisma/client'; + +const prisma = new PrismaClient(); + +async function main() { + // Connect the client + await prisma.$connect(); + + // Query the total count of tokens + const allTokens = await prisma.tokens.findMany(); + console.log('Total tokens:'); + console.log(allTokens.length); + + // Query the token associated with tokenId 1 + const tokenOne = await prisma.tokens.findRaw({ + filter: { + tokenId: 1, + }, + }); + console.log('Token Id One:'); + console.log(tokenOne); +} + +main() + .then(async () => { + await prisma.$disconnect(); + }) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + }); diff --git a/serverless/package.json b/serverless/package.json index 7323d62..81315f6 100644 --- a/serverless/package.json +++ b/serverless/package.json @@ -5,7 +5,9 @@ "main": "index.js", "scripts": { "build": "yarn tsc", - "test": "echo \"Error: no test specified\" && exit 1" + "invoke:build": "yarn build && serverless invoke local --function submitBuildInfo", + "prisma:generate": "npx prisma generate", + "prisma:pull": "npx prisma db pull" }, "author": "fleek", "license": "MIT", @@ -27,8 +29,13 @@ "@middy/core": "^4.2.7", "@middy/http-json-body-parser": "^4.2.7", "@middy/http-response-serializer": "^4.2.8", + "@prisma/client": "^4.13.0", "aws-sdk": "^2.1342.0", + "prisma": "^4.13.0", "uuid": "^9.0.0", + "@types/node": "^18.15.11", + "ts-node": "^10.9.1", + "typescript": "^5.0.4" "web3": "^1.9.0" } } diff --git a/serverless/prisma/schema.prisma b/serverless/prisma/schema.prisma new file mode 100644 index 0000000..0a13b0b --- /dev/null +++ b/serverless/prisma/schema.prisma @@ -0,0 +1,16 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mongodb" + url = env("DATABASE_URL") +} + +model tokens { + id String @id @default(auto()) @map("_id") @db.ObjectId + commit_hash String + github_url String + owner String + tokenId Int +} diff --git a/serverless/serverless.yaml b/serverless/serverless.yaml index 30a05ab..2261f52 100644 --- a/serverless/serverless.yaml +++ b/serverless/serverless.yaml @@ -31,7 +31,7 @@ custom: functions: submitBuildInfo: - handler: src/functions/builds/handler.submitBuildInfo + handler: src/functions/builds/handler.submitBuildInfo # Change `src` to `dist` for deployment events: - http: path: build @@ -49,7 +49,7 @@ functions: tokenId: true submitMintInfo: - handler: dist/functions/mints/handler.submitMintInfo + handler: src/functions/mints/handler.submitMintInfo events: - http: path: mint diff --git a/serverless/src/libs/query-prisma.ts b/serverless/src/libs/query-prisma.ts new file mode 100644 index 0000000..66799e0 --- /dev/null +++ b/serverless/src/libs/query-prisma.ts @@ -0,0 +1,16 @@ +import { PrismaClient } from '@prisma/client'; + +export const prisma = new PrismaClient(); + +export async function initPrisma() { + // Connect the client + await prisma.$connect(); +} + +initPrisma() + .catch(async (e) => { + console.error(e); + }) + .finally(async () => { + await prisma.$disconnect(); + }); diff --git a/serverless/tsconfig.json b/serverless/tsconfig.json index 4f49e29..38f60c3 100644 --- a/serverless/tsconfig.json +++ b/serverless/tsconfig.json @@ -9,6 +9,12 @@ "noUnusedParameters": true, "removeComments": true, "outDir": "dist", + "target": "es2016", + "module": "commonjs", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, "baseUrl": ".", "paths": { "@functions/*": ["src/functions/*"], diff --git a/serverless/yarn.lock b/serverless/yarn.lock index 1ef210a..ca8ad81 100644 --- a/serverless/yarn.lock +++ b/serverless/yarn.lock @@ -1384,6 +1384,23 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@prisma/client@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.13.0.tgz#271d2b9756503ea17bbdb459c7995536cf2a6191" + integrity sha512-YaiiICcRB2hatxsbnfB66uWXjcRw3jsZdlAVxmx0cFcTc/Ad/sKdHCcWSnqyDX47vAewkjRFwiLwrOUjswVvmA== + dependencies: + "@prisma/engines-version" "4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a" + +"@prisma/engines-version@4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a": + version "4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a.tgz#ae338908d11685dee50e7683502d75442b955bf9" + integrity sha512-fsQlbkhPJf08JOzKoyoD9atdUijuGBekwoOPZC3YOygXEml1MTtgXVpnUNchQlRSY82OQ6pSGQ9PxUe4arcSLQ== + +"@prisma/engines@4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.13.0.tgz#582a6b90b6efeb0f465984f1fe0e72a4afaaa5ae" + integrity sha512-HrniowHRZXHuGT9XRgoXEaP2gJLXM5RMoItaY2PkjvuZ+iHc0Zjbm/302MB8YsPdWozAPHHn+jpFEcEn71OgPw== + "@serverless/dashboard-plugin@^6.2.3": version "6.2.3" resolved "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.3.tgz" @@ -5140,6 +5157,13 @@ pinkie@^2.0.0: resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== +prisma@^4.13.0: + version "4.13.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.13.0.tgz#0b83f40acf50cd47d7463a135c4e9b275713e602" + integrity sha512-L9mqjnSmvWIRCYJ9mQkwCtj4+JDYYTdhoyo8hlsHNDXaZLh/b4hR0IoKIBbTKxZuyHQzLopb/+0Rvb69uGV7uA== + dependencies: + "@prisma/engines" "4.13.0" + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" From fd4b7c953c2cee2f50578fb4f556a8adcae0f46c Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Thu, 27 Apr 2023 10:30:53 -0300 Subject: [PATCH 05/19] chore: UI remove tailwind from input component (#241) * refactor: refactor styles repository selection * refactor: remove tailwind from input component * chore: change input group component * chore: review changes on input component --- ui/src/components/core/input/input.styles.ts | 57 +++++++++++++++---- ui/src/components/core/input/input.tsx | 38 +++---------- .../explore-list/nfa-search.fragment.tsx | 18 +++--- .../explore/explore-list/nfa-search.styles.ts | 5 +- .../github-repository-selection.styles.ts | 29 ++++++++++ .../github-repository-selection.tsx | 41 +++++++------ 6 files changed, 124 insertions(+), 64 deletions(-) create mode 100644 ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.styles.ts diff --git a/ui/src/components/core/input/input.styles.ts b/ui/src/components/core/input/input.styles.ts index a2a9a4d..bb82e2e 100644 --- a/ui/src/components/core/input/input.styles.ts +++ b/ui/src/components/core/input/input.styles.ts @@ -1,9 +1,6 @@ import { styled } from '@/theme'; -import { Icon } from '../icon'; - const styles = { - all: 'unset', width: '100%', boxSizing: 'border-box', borderStyle: 'solid', @@ -32,7 +29,9 @@ const styles = { color: '$slate8', }, }, +}; +const variants = { variants: { size: { sm: { @@ -59,13 +58,49 @@ const styles = { }, }; -export const InputStyled = styled('input', styles); - -export const InputIconStyled = styled(Icon, { - position: 'absolute', - left: '$4', - top: '0.9375rem', - color: 'slate8', +export const InputStyled = styled('input', { + all: 'unset', + ...variants, + ...styles, }); -export const TextareaStyled = styled('textarea', styles); +export const InputGroupStyled = styled('div', { + display: 'flex', + flexDirection: 'row', + gap: '$2h', + + ...styles, + + variants: { + size: { + sm: { + borderRadius: '$md', + fontSize: '$xs', + lineHeight: '$4', + }, + md: { + borderRadius: '$lg', + fontSize: '$sm', + height: '$11', + px: '$3h', + }, + lg: { + borderRadius: '$xl', + fontSize: '$md', + }, + }, + }, + defaultVariants: { + size: 'md', + }, +}); + +export const InputGroupTextSyled = styled('input', { + all: 'unset', +}); + +export const TextareaStyled = styled('textarea', { + all: 'unset', + ...variants, + ...styles, +}); diff --git a/ui/src/components/core/input/input.tsx b/ui/src/components/core/input/input.tsx index 2d48507..94e9434 100644 --- a/ui/src/components/core/input/input.tsx +++ b/ui/src/components/core/input/input.tsx @@ -1,37 +1,17 @@ -import React from 'react'; - -import { forwardStyledRef } from '@/theme'; - -import { IconName } from '../icon'; -import { InputIconStyled, InputStyled, TextareaStyled } from './input.styles'; +import { + InputGroupStyled, + InputGroupTextSyled, + InputStyled, + TextareaStyled, +} from './input.styles'; import { StyledInputFile } from './input-file'; export const Textarea = TextareaStyled; export const LogoFileInput = StyledInputFile; -type InputProps = { - leftIcon?: IconName; - wrapperClassName?: string; //tailwind css -} & React.ComponentPropsWithRef; +export const Input = InputStyled; -export const Input = forwardStyledRef( - (props, ref) => { - const { leftIcon, wrapperClassName: css = '', ...ownProps } = props; +export const InputGroup = InputGroupStyled; - return ( -
- {leftIcon && ( - - )} - -
- ); - } -); - -Input.displayName = 'Input'; +export const InputGroupText = InputGroupTextSyled; diff --git a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx index 91b9c82..4ed683f 100644 --- a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx +++ b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx @@ -1,6 +1,11 @@ import { useState } from 'react'; -import { Dropdown, DropdownItem, Input } from '@/components'; +import { + Dropdown, + DropdownItem, + InputGroup, + InputGroupText, +} from '@/components'; import { useDebounce } from '@/hooks'; import { Explore } from '../explore.context'; @@ -69,12 +74,11 @@ export const NFASearchFragment: React.FC = () => { - + + + + + { }; return ( - + { /> } /> - - - + + + - - + + + + + {queryLoading === 'loading' || queryUserAndOrganizations === 'loading' ? ( ) : ( )} - - - + + + ); }; From 9f48213e28b75826ae6e1f5bccfd2b221821210a Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Thu, 27 Apr 2023 10:51:25 -0300 Subject: [PATCH 06/19] refactor: remove dropdown component and use combobox instead (#242) --- serverless/package.json | 2 +- serverless/src/functions/builds/handler.ts | 6 +- serverless/src/functions/mints/handler.ts | 79 ++++---- serverless/src/functions/mints/index.ts | 2 +- serverless/src/libs/log-decoder.ts | 16 +- ui/src/components/core/combobox/dropdown.tsx | 186 ------------------ ui/src/components/core/combobox/index.ts | 1 - .../views/components-test/combobox-test.tsx | 33 ++-- .../explore-list/nfa-search.fragment.tsx | 99 ++++++---- .../explore/explore-list/nfa-search.styles.ts | 4 - 10 files changed, 133 insertions(+), 295 deletions(-) delete mode 100644 ui/src/components/core/combobox/dropdown.tsx diff --git a/serverless/package.json b/serverless/package.json index 81315f6..87247fb 100644 --- a/serverless/package.json +++ b/serverless/package.json @@ -35,7 +35,7 @@ "uuid": "^9.0.0", "@types/node": "^18.15.11", "ts-node": "^10.9.1", - "typescript": "^5.0.4" + "typescript": "^5.0.4", "web3": "^1.9.0" } } diff --git a/serverless/src/functions/builds/handler.ts b/serverless/src/functions/builds/handler.ts index 0b22c07..a1eb399 100644 --- a/serverless/src/functions/builds/handler.ts +++ b/serverless/src/functions/builds/handler.ts @@ -5,14 +5,16 @@ const querystring = require('querystring'); import { v4 } from 'uuid'; import { nfaContract } from '@libs/nfa-contract'; -export const submitBuildInfo = async (event: APIGatewayEvent): Promise => { +export const submitBuildInfo = async ( + event: APIGatewayEvent +): Promise => { try { const eventData = querystring.parse(event.body); const id = v4(); const buildInfo = { buildId: id, createdAt: new Date().toISOString(), - submittedData: eventData + submittedData: eventData, }; // place holder call diff --git a/serverless/src/functions/mints/handler.ts b/serverless/src/functions/mints/handler.ts index b691f31..313fab5 100644 --- a/serverless/src/functions/mints/handler.ts +++ b/serverless/src/functions/mints/handler.ts @@ -1,45 +1,44 @@ import { - APIGatewayProxyResult, - APIGatewayEvent, - ///APIGatewayEventRequestContext, - } from 'aws-lambda'; - import { formatJSONResponse } from '@libs/api-gateway'; - - import { v4 } from 'uuid'; - - export const submitMintInfo = async ( - event: APIGatewayEvent, - ///context: APIGatewayEventRequestContext - ): Promise => { - try { - const id = v4(); - - /**if (!verifyAlchemySig(event.headers.xalchemywork)) { + APIGatewayProxyResult, + APIGatewayEvent, + ///APIGatewayEventRequestContext, +} from 'aws-lambda'; +import { formatJSONResponse } from '@libs/api-gateway'; + +import { v4 } from 'uuid'; + +export const submitMintInfo = async ( + event: APIGatewayEvent + ///context: APIGatewayEventRequestContext +): Promise => { + try { + const id = v4(); + + /**if (!verifyAlchemySig(event.headers.xalchemywork)) { throw new Error('Invalid sig'); }**/ - if (event.body == undefined) { - throw new Error('Undefined data'); - } - - const mintInfo = { - buildId: id, - createdAt: new Date().toISOString(), - body: JSON.parse(event.body), - }; - - // check if we have it in mongo - // if so, trigger verification call - // if not, add to mongo - - return formatJSONResponse({ - mintInfo, - }); - } catch (e) { - return formatJSONResponse({ - status: 500, - message: e, - }); + if (event.body == undefined) { + throw new Error('Undefined data'); } - }; - \ No newline at end of file + + const mintInfo = { + buildId: id, + createdAt: new Date().toISOString(), + body: JSON.parse(event.body), + }; + + // check if we have it in mongo + // if so, trigger verification call + // if not, add to mongo + + return formatJSONResponse({ + mintInfo, + }); + } catch (e) { + return formatJSONResponse({ + status: 500, + message: e, + }); + } +}; diff --git a/serverless/src/functions/mints/index.ts b/serverless/src/functions/mints/index.ts index f8d0528..e969a36 100644 --- a/serverless/src/functions/mints/index.ts +++ b/serverless/src/functions/mints/index.ts @@ -10,4 +10,4 @@ export const newMint = { }, }, ], -}; \ No newline at end of file +}; diff --git a/serverless/src/libs/log-decoder.ts b/serverless/src/libs/log-decoder.ts index 3635589..e7d1268 100644 --- a/serverless/src/libs/log-decoder.ts +++ b/serverless/src/libs/log-decoder.ts @@ -1,8 +1,16 @@ var Web3 = require('web3'); -var web3 = new Web3(Web3.givenProvider || "ws://localhost:17895"); +var web3 = new Web3(Web3.givenProvider || 'ws://localhost:17895'); -export const logDecoder = (eventFieldsABI: { indexed: boolean; internalType: string; name: string; type: string; }[], data: string, topics: string[]) => { - return web3.eth.abi.decodeLog(eventFieldsABI, data, topics); +export const logDecoder = ( + eventFieldsABI: { + indexed: boolean; + internalType: string; + name: string; + type: string; + }[], + data: string, + topics: string[] +) => { + return web3.eth.abi.decodeLog(eventFieldsABI, data, topics); }; - \ No newline at end of file diff --git a/ui/src/components/core/combobox/dropdown.tsx b/ui/src/components/core/combobox/dropdown.tsx deleted file mode 100644 index abf80ed..0000000 --- a/ui/src/components/core/combobox/dropdown.tsx +++ /dev/null @@ -1,186 +0,0 @@ -import { Listbox, Transition } from '@headlessui/react'; -import { Fragment } from 'react'; - -import { Flex } from '@/components'; -import { Icon } from '@/components/core/icon'; - -type DropdownOptionProps = { - option: DropdownItem; -}; - -const DropdownOption: React.FC = ({ - option, -}: DropdownOptionProps) => ( - - `relative cursor-default select-none py-2 px-3.5 text-slate11 rounded-xl mb-2 text-sm max-w-full ${ - active ? 'bg-slate5 text-slate12' : 'bg-transparent' - }` - } - value={option} - > - {({ selected, active }) => ( - - - {option.label} - - {selected && ( - - )} - - )} - -); - -type DropdownButtonProps = { - /** - * The selected value of the dropdown. - */ - selectedValue: DropdownItem | undefined; - /** - * If it's true, the list of options will be displayed - */ - open: boolean; - /** - * Background color of the dropdown. Should be on tailwind palette. - */ - backgroundColor?: string; - /** - * Text color of the dropdown. Should be on tailwind palette. - */ - textColor?: string; -}; - -const DropdownButton: React.FC = ({ - selectedValue, - backgroundColor, - textColor, -}: DropdownButtonProps) => { - const textColorCss = textColor ? `text-${textColor}` : 'text-slate12'; - const borderColor = backgroundColor - ? `border-${backgroundColor}` - : 'border-slate7'; - const backgroundColorClass = backgroundColor - ? `bg-${backgroundColor}` - : 'bg-transparent'; - - return ( - - - {selectedValue && selectedValue.label ? selectedValue.label : 'Select'} - - - - - - ); -}; - -export type DropdownItem = { - /** - * The key of the item. - */ - value: string; - /** - * The label to display of the item. - */ - label: string; -}; - -export type DropdownProps = { - /** - * List of items to be displayed in the dropdown. - */ - items: DropdownItem[]; - /** - * The selected value of the dropdown. - */ - selectedValue: DropdownItem | undefined; - /** - * Callback when the selected value changes. - */ - onChange(option: DropdownItem): void; - /** - * Background color of the dropdown. Should be on tailwind palette. https://tailwindcss.com/docs/background-color - */ - backgroundColor?: string; - /** - * Text color of the dropdown. Should be on tailwind palette. https://tailwindcss.com/docs/text-color - */ - textColor?: string; - /** - * Width of the options list. Should be on tailwind width. https://tailwindcss.com/docs/width - */ - optionsWidth?: string; -}; - -export const Dropdown: React.FC = ({ - items, - selectedValue, - onChange, - backgroundColor, - textColor, - optionsWidth, -}: DropdownProps) => { - const handleDropdownChange = (option: DropdownItem): void => { - onChange(option); - }; - const width = optionsWidth ? `w-${optionsWidth}` : 'w-full'; - - return ( - - {({ open }) => ( -
- - - - {items.map((option: DropdownItem) => ( - - ))} - - -
- )} -
- ); -}; diff --git a/ui/src/components/core/combobox/index.ts b/ui/src/components/core/combobox/index.ts index 3f0b164..00c1d53 100644 --- a/ui/src/components/core/combobox/index.ts +++ b/ui/src/components/core/combobox/index.ts @@ -1,2 +1 @@ -export * from './dropdown'; export * from './combobox'; diff --git a/ui/src/views/components-test/combobox-test.tsx b/ui/src/views/components-test/combobox-test.tsx index 6a9f39d..d8e5262 100644 --- a/ui/src/views/components-test/combobox-test.tsx +++ b/ui/src/views/components-test/combobox-test.tsx @@ -4,14 +4,23 @@ import { Combobox, Flex, Icon, IconName } from '@/components'; type Item = { id: number; label: string; icon: IconName }; +type ItemDropdown = { id: number; label: string }; + const Items: Item[] = [ { id: 1, label: 'Option 1', icon: 'branch' }, { id: 2, label: 'Option 2', icon: 'ethereum' }, { id: 3, label: 'Option 3', icon: 'metamask' }, ]; +const ItemsDropdown: ItemDropdown[] = [ + { id: 1, label: 'Option 1' }, + { id: 2, label: 'Option 2' }, + { id: 3, label: 'Option 3' }, +]; + export const ComboboxTest: React.FC = () => { const selected = useState(); + const selectedDropdown = useState(ItemsDropdown[0]); return ( { alignSelf: 'center', }} > - + {({ Field, Options }) => ( <> - - {(selected) => ( - <> - - {selected?.label || 'Select an option'} - - )} + + {(selected) => <>{selected?.label || 'Select an option'}} - - {(item) => ( - <> - {item.label} - - )} - + {(item) => <>{item.label}} )} diff --git a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx index 4ed683f..ce697bd 100644 --- a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx +++ b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx @@ -1,17 +1,18 @@ import { useState } from 'react'; -import { - Dropdown, - DropdownItem, - InputGroup, - InputGroupText, -} from '@/components'; +import { Combobox, InputGroup, InputGroupText } from '@/components'; import { useDebounce } from '@/hooks'; +import { AppLog } from '@/utils'; import { Explore } from '../explore.context'; import { NFASearchFragmentStyles as S } from './nfa-search.styles'; -const orderResults: DropdownItem[] = [ +type SortItem = { + value: string; + label: string; +}; + +const orderResults: SortItem[] = [ { value: 'newest', label: 'Newest' }, { value: 'oldest', label: 'Oldest' }, { value: 'a-z', label: 'Sort A-Z' }, @@ -26,34 +27,36 @@ export const NFASearchFragment: React.FC = () => { setSearch, setPageNumber, } = Explore.useContext(); - const [selectedValue, setSelectedValue] = useState( - orderResults[0] - ); + const [selectedValue, setSelectedValue] = useState(orderResults[0]); - const handleSortChange = (item: DropdownItem): void => { - setSelectedValue(item); - setPageNumber(0); - setEndReached(false); + const handleSortChange = (item: SortItem | undefined): void => { + if (item) { + setSelectedValue(item); + setPageNumber(0); + setEndReached(false); - switch (item.value) { - case 'newest': - setOrderBy('tokenId'); - setOrderDirection('desc'); - break; - case 'oldest': - setOrderBy('tokenId'); - setOrderDirection('asc'); - break; - case 'a-z': - setOrderBy('name'); - setOrderDirection('asc'); - break; - case 'z-a': - setOrderBy('name'); - setOrderDirection('desc'); - break; - default: - break; + switch (item.value) { + case 'newest': + setOrderBy('tokenId'); + setOrderDirection('desc'); + break; + case 'oldest': + setOrderBy('tokenId'); + setOrderDirection('asc'); + break; + case 'a-z': + setOrderBy('name'); + setOrderDirection('asc'); + break; + case 'z-a': + setOrderBy('name'); + setOrderDirection('desc'); + break; + default: + break; + } + } else { + AppLog.errorToast('Error selecting sort option. Try again'); } }; @@ -78,15 +81,29 @@ export const NFASearchFragment: React.FC = () => { - - + selected={[selectedValue, handleSortChange]} + css={{ minWidth: '$28' }} + queryKey="label" + > + {({ Field, Options }) => ( + <> + + {(selected) => selected?.label || 'Select'} + + + {(item) => item.label} + + + )} +
); diff --git a/ui/src/views/explore/explore-list/nfa-search.styles.ts b/ui/src/views/explore/explore-list/nfa-search.styles.ts index c64607d..9955ee0 100644 --- a/ui/src/views/explore/explore-list/nfa-search.styles.ts +++ b/ui/src/views/explore/explore-list/nfa-search.styles.ts @@ -31,10 +31,6 @@ export const NFASearchFragmentStyles = { width: '100%', maxWidth: '30rem', justifySelf: 'center', - - button: { - minWidth: '$28', - }, }), Icon: styled(Icon, { fontSize: '$lg', From ce6fd030e39f9e509bf1be5d1c6689f7da049c9b Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Thu, 27 Apr 2023 11:25:40 -0300 Subject: [PATCH 07/19] fix: UI repo configuration step fix styles (#243) * feat: create row data component * chore: remove margin from left icons * styles: add styles for icon on row data --- ui/src/components/index.ts | 1 + ui/src/components/row-data/index.ts | 1 + ui/src/components/row-data/row-data.styles.ts | 26 ++++++++++++++++ ui/src/components/row-data/row-data.tsx | 25 ++++++++++++++++ .../ap-form-step/create-ap-form-body.tsx | 25 ++++------------ .../access-point/nfa-icon/nfa-icon.styles.ts | 1 - .../repo-configuration-body.tsx | 22 +++++++++----- .../repository.tsx | 15 +++++----- .../mint/github-step/steps/repository-row.tsx | 30 ------------------- 9 files changed, 81 insertions(+), 65 deletions(-) create mode 100644 ui/src/components/row-data/index.ts create mode 100644 ui/src/components/row-data/row-data.styles.ts create mode 100644 ui/src/components/row-data/row-data.tsx delete mode 100644 ui/src/views/mint/github-step/steps/repository-row.tsx diff --git a/ui/src/components/index.ts b/ui/src/components/index.ts index f877380..62f959e 100644 --- a/ui/src/components/index.ts +++ b/ui/src/components/index.ts @@ -9,3 +9,4 @@ export * from './nfa-card'; export * from './nfa-preview'; export * from './card-tag'; export * from './resolved-address'; +export * from './row-data'; diff --git a/ui/src/components/row-data/index.ts b/ui/src/components/row-data/index.ts new file mode 100644 index 0000000..e6e16df --- /dev/null +++ b/ui/src/components/row-data/index.ts @@ -0,0 +1 @@ +export * from './row-data'; diff --git a/ui/src/components/row-data/row-data.styles.ts b/ui/src/components/row-data/row-data.styles.ts new file mode 100644 index 0000000..0a46dc3 --- /dev/null +++ b/ui/src/components/row-data/row-data.styles.ts @@ -0,0 +1,26 @@ +import { Flex, Text } from '@/components'; +import { styled } from '@/theme'; + +import { IconStyles } from '../core/icon/icon.styles'; + +export const RowDataStyles = { + Container: styled(Flex, { + justifyContent: 'space-between', + }), + Text: { + Container: styled(Flex, { + alignItems: 'center', + maxWidth: '60%', + gap: '$2', + + [`${IconStyles.Container}`]: { + fontSize: '$2xl', + }, + }), + Label: styled(Text, { + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', + overflow: 'hidden', + }), + }, +}; diff --git a/ui/src/components/row-data/row-data.tsx b/ui/src/components/row-data/row-data.tsx new file mode 100644 index 0000000..bc8c660 --- /dev/null +++ b/ui/src/components/row-data/row-data.tsx @@ -0,0 +1,25 @@ +import { forwardStyledRef } from '@/theme'; + +import { RowDataStyles as S } from './row-data.styles'; + +type RowDataProps = { + leftIcon: React.ReactNode; + label: string; + rightComponent: React.ReactNode; +}; + +export const RowData = forwardStyledRef( + ({ leftIcon, label, rightComponent, ...props }, ref) => { + return ( + + + {leftIcon} + {label} + + {rightComponent} + + ); + } +); + +RowData.displayName = 'RowData'; diff --git a/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx b/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx index a632748..9cdd56f 100644 --- a/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx +++ b/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx @@ -9,6 +9,7 @@ import { CardTag, Flex, Form, + RowData, Spinner, Stepper, Text, @@ -26,25 +27,11 @@ export const SelectedNFA: React.FC = () => { const { nfa } = CreateAccessPoint.useContext(); return ( - - - - - {nfa.name} - - - Selected NFA - + } + label={nfa.name} + rightComponent={Selected NFA} + /> ); }; diff --git a/ui/src/views/access-point/nfa-icon/nfa-icon.styles.ts b/ui/src/views/access-point/nfa-icon/nfa-icon.styles.ts index 39e91c7..50480f3 100644 --- a/ui/src/views/access-point/nfa-icon/nfa-icon.styles.ts +++ b/ui/src/views/access-point/nfa-icon/nfa-icon.styles.ts @@ -6,7 +6,6 @@ export const NFAIconStyles = { borderRadius: '$full', width: '$7', height: '$7', - mr: '$2', }), Image: styled('img', { width: '100%', diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-configuration-body.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-configuration-body.tsx index 26569a9..5971561 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-configuration-body.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-configuration-body.tsx @@ -1,8 +1,15 @@ -import { Button, Card, CardTag, Flex, Stepper } from '@/components'; +import { + Button, + Card, + CardTag, + Flex, + Icon, + RowData, + Stepper, +} from '@/components'; import { Mint } from '@/views/mint/mint.context'; import { useMintFormContext } from '@/views/mint/nfa-step/form-step'; -import { RepoRow } from '../../repository-row'; import { RepoBranchCommitFields } from './repo-branch-commit-fields'; export const RepoConfigurationBody: React.FC = () => { @@ -21,12 +28,13 @@ export const RepoConfigurationBody: React.FC = () => { }; return ( - + - Use for NFA} + } + label={repositoryName?.name || ''} + css={{ cursor: 'default' }} + rightComponent={Use for NFA} /> void; }; export const RowData = forwardStyledRef( - ({ leftIcon, label, rightComponent, ...props }, ref) => { + ({ leftIcon, label, rightComponent, onClick, ...props }, ref) => { + const handleOnClick = (): void => { + if (onClick) onClick(); + }; + return ( - + {leftIcon} {label} diff --git a/ui/src/components/step/step.styles.ts b/ui/src/components/step/step.styles.ts new file mode 100644 index 0000000..1a6ed4f --- /dev/null +++ b/ui/src/components/step/step.styles.ts @@ -0,0 +1,26 @@ +import { Flex } from '@/components'; +import { styled } from '@/theme'; + +export const StepStyles = { + Container: styled(Flex, { + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + width: '$full', + gap: '$6', + + '@media (min-width: 768px)': { + flexDirection: 'row', + justifyContent: 'center', + }, + + '@media (min-width: 1024px)': { + gap: '$34', + }, + }), + Indicator: styled(Flex, { + flexDirection: 'column', + justifyContent: 'center', + maxWidth: '$106', + }), +}; diff --git a/ui/src/components/step/step.tsx b/ui/src/components/step/step.tsx index 57d00af..bfa6beb 100644 --- a/ui/src/components/step/step.tsx +++ b/ui/src/components/step/step.tsx @@ -1,37 +1,6 @@ -import { Flex, Stepper } from '@/components'; +import { Stepper } from '@/components'; -type StepperIndicatorContainerProps = { - children: React.ReactNode; -}; - -const StepperIndicatorContainer: React.FC = ({ - children, -}: StepperIndicatorContainerProps) => { - return ( - - {children} - - ); -}; - -type MintStepContainerProps = { - children: React.ReactNode; -}; - -const Container: React.FC = ({ - children, -}: MintStepContainerProps) => ( - - {children} - -); +import { StepStyles as S } from './step.styles'; type StepProps = { children: React.ReactNode; @@ -40,12 +9,12 @@ type StepProps = { export const Step: React.FC = ({ children, header }: StepProps) => { return ( - - + +

{header}

-
+ {children} -
+
); }; diff --git a/ui/src/theme/globals.ts b/ui/src/theme/globals.ts index 7d4fff9..25df9c7 100644 --- a/ui/src/theme/globals.ts +++ b/ui/src/theme/globals.ts @@ -10,6 +10,7 @@ export const themeGlobals = globalCss({ fontFamily: 'Manrope', fontSize: '16px', + '@media (max-width: 850px)': { fontSize: '13px', }, diff --git a/ui/src/views/access-point/ap-form-step/create-ap-form.tsx b/ui/src/views/access-point/ap-form-step/create-ap-form.tsx index 0ff5e55..cce66db 100644 --- a/ui/src/views/access-point/ap-form-step/create-ap-form.tsx +++ b/ui/src/views/access-point/ap-form-step/create-ap-form.tsx @@ -6,7 +6,7 @@ export const CreateAccessPointForm: React.FC = () => { const { prevStep } = Stepper.useContext(); return ( - + { return ( - + diff --git a/ui/src/views/access-point/create-ap-preview.tsx b/ui/src/views/access-point/create-ap-preview.tsx index 6ac9159..069248b 100644 --- a/ui/src/views/access-point/create-ap-preview.tsx +++ b/ui/src/views/access-point/create-ap-preview.tsx @@ -111,7 +111,7 @@ export const CreateAccessPointPreview: React.FC = () => { }, [writeStatus, transactionStatus]); return ( - + { const { nfa } = CreateAccessPoint.useContext(); return ( - + ; + +export const ButtonConnection = forwardStyledRef< + HTMLButtonElement, + ButtonConnectionProps +>(({ icon, label, ...props }, ref) => { + return ( + + ); +}); diff --git a/ui/src/views/mint/github-step/steps/github-connect/github-button.tsx b/ui/src/views/mint/github-step/steps/github-connect/github-button.tsx index 38ef902..1a03f96 100644 --- a/ui/src/views/mint/github-step/steps/github-connect/github-button.tsx +++ b/ui/src/views/mint/github-step/steps/github-connect/github-button.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect } from 'react'; -import { Button, Icon } from '@/components'; import { githubActions, useAppDispatch, useGithubStore } from '@/store'; +import { ButtonConnection } from '@/views/mint/button-connection'; import { Mint } from '@/views/mint/mint.context'; export const GithubButton: React.FC = () => { @@ -18,22 +18,11 @@ export const GithubButton: React.FC = () => { }, [setGithubStep, state]); return ( - + /> ); }; diff --git a/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx b/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx index 14c1efb..a69030b 100644 --- a/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx +++ b/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx @@ -7,13 +7,18 @@ export const GithubConnect: React.FC = () => { const { prevStep } = Stepper.useContext(); return ( - + After connecting your GitHub, your repositories will show here. diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.styles.ts b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.styles.ts new file mode 100644 index 0000000..aba1a84 --- /dev/null +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.styles.ts @@ -0,0 +1,13 @@ +import { Text } from '@/components'; +import { styled } from '@/theme'; + +export const TextStyles = styled(Text, { + maxWidth: '12.5rem', + + '@media (min-width: 375px)': { + maxWidth: '17rem', + }, + '@media (min-width: 425px)': { + maxWidth: '18rem', + }, +}); diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx index e91250c..e3ea135 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx @@ -10,6 +10,7 @@ import { import { AppLog } from '@/utils'; import { Mint } from '@/views/mint/mint.context'; import { useMintFormContext } from '@/views/mint/nfa-step/form-step'; +import { TextStyles } from './repo-branch-commit-fields.styles'; export const RepoBranchCommitFields: React.FC = () => { const { queryLoading, branches } = useGithubStore(); @@ -105,12 +106,16 @@ export const RepoBranchCommitFields: React.FC = () => { {(selected) => ( <> - {selected?.name || 'Select a branch'} + + {selected?.name || 'Select a branch'} + )} - {(item) => item.name} + + {(item) => {item.name}} + )} diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx index 8804c71..9e3a7ba 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx @@ -5,7 +5,7 @@ import { RepoConfigurationHeader } from './repo-configuration-header'; export const GithubRepoConfiguration: React.FC = () => { return ( - + diff --git a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx index 2053e33..5fb69ba 100644 --- a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx +++ b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx @@ -81,9 +81,10 @@ export const GithubRepositoryConnection: React.FC = () => { - + diff --git a/ui/src/views/mint/github-step/steps/github-repository-selection/repository.tsx b/ui/src/views/mint/github-step/steps/github-repository-selection/repository.tsx index 60f810d..c11ef5b 100644 --- a/ui/src/views/mint/github-step/steps/github-repository-selection/repository.tsx +++ b/ui/src/views/mint/github-step/steps/github-repository-selection/repository.tsx @@ -30,11 +30,11 @@ export const Repository: React.FC = ({ leftIcon={} label={repository.name} css={{ cursor: 'pointer', my: '$4' }} + onClick={handleSelectRepo} rightComponent={ ); } else { return ( - + /> ); } }} diff --git a/ui/src/views/mint/wallet-step/wallet-step.tsx b/ui/src/views/mint/wallet-step/wallet-step.tsx index 76dacd7..f3bef32 100644 --- a/ui/src/views/mint/wallet-step/wallet-step.tsx +++ b/ui/src/views/mint/wallet-step/wallet-step.tsx @@ -4,7 +4,7 @@ import { ConnectWalletButton } from './connect-wallet-button'; export const WalletStep: React.FC = () => { return ( - + { Connect with the wallet you want to mint & own the NFA. From a20ec8bb226b1b450ce0b521144136fffe5003cb Mon Sep 17 00:00:00 2001 From: Felipe Mendes Date: Fri, 28 Apr 2023 12:22:51 -0300 Subject: [PATCH 10/19] feat: subgraph updated handlers (#235) * feat: add verifier when contract is initialized * feat: initialize git repository on new mint * feat: add created at in token entity * feat: add created at in ap entity * feat: handle verifier role grant and revoke * feat: add verified field to token * refactor: create constants file * feat: add total tokens counter on collection entity * refactor: verify verifier address for mint event * refactor: remove collection id --- subgraph/schema.graphql | 14 ++++-- subgraph/src/access-control.ts | 88 +++++++++++++++++++-------------- subgraph/src/access-point.ts | 1 + subgraph/src/constants.ts | 8 +++ subgraph/src/contract.ts | 13 ++++- subgraph/src/metadata-update.ts | 4 +- subgraph/src/mint.ts | 40 +++++++++++++-- subgraph/yarn.lock | 23 +-------- 8 files changed, 123 insertions(+), 68 deletions(-) create mode 100644 subgraph/src/constants.ts diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index 11292c6..5b5b28f 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -31,7 +31,7 @@ type NewMint @entity(immutable: true) { color: Int! accessPointAutoApproval: Boolean! triggeredBy: Bytes! # address - owner: Owner! # address + owner: Owner! # address verifier: Bytes! blockNumber: BigInt! blockTimestamp: BigInt! @@ -79,7 +79,9 @@ type Token @entity { gitRepository: GitRepository! commitHash: String! accessPoints: [AccessPoint!] @derivedFrom(field: "token") - verifier: Verifier! # Address + verifier: Verifier # Address + verified: Boolean! + createdAt: BigInt! } # Owner entity for collection, access points, and tokens @@ -115,4 +117,10 @@ type AccessPoint @entity { nameVerified: Boolean! owner: Owner! creationStatus: String! -} \ No newline at end of file + createdAt: BigInt! +} + +type Collection @entity { + id: Bytes! + totalTokens: BigInt! +} diff --git a/subgraph/src/access-control.ts b/subgraph/src/access-control.ts index d482072..f41256e 100644 --- a/subgraph/src/access-control.ts +++ b/subgraph/src/access-control.ts @@ -1,4 +1,4 @@ -import { Bytes, log } from '@graphprotocol/graph-ts'; +import { Bytes, log, store } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { @@ -7,15 +7,8 @@ import { } from '../generated/FleekNFA/FleekNFA'; // Entity Imports [based on the schema] -import { Owner, Token } from '../generated/schema'; - -enum CollectionRoles { - Owner, -} - -enum TokenRoles { - Controller, -} +import { Owner, Token, Verifier } from '../generated/schema'; +import { CollectionRoles, TokenRoles } from './constants'; export function handleCollectionRoleChanged( event: CollectionRoleChangedEvent @@ -25,35 +18,56 @@ export function handleCollectionRoleChanged( const role = event.params.role; const status = event.params.status; - if (role === CollectionRoles.Owner) { - // Owner role - if (status) { - // granted - let owner = Owner.load(toAddress); - if (!owner) { - owner = new Owner(toAddress); + switch (role) { + case CollectionRoles.Owner: + // Owner role + if (status) { + // granted + let owner = Owner.load(toAddress); + if (!owner) { + owner = new Owner(toAddress); + } + owner.collection = true; + owner.save(); + } else { + // revoked + const owner = Owner.load(toAddress); + if (!owner) { + log.error( + 'Owner entity not found. Role: {}, byAddress: {}, toAddress: {}', + [role.toString(), byAddress.toHexString(), toAddress.toHexString()] + ); + return; + } + owner.collection = false; + owner.save(); } - owner.collection = true; - owner.save(); - } else { - // revoked - const owner = Owner.load(toAddress); - if (!owner) { - log.error( - 'Owner entity not found. Role: {}, byAddress: {}, toAddress: {}', - [role.toString(), byAddress.toHexString(), toAddress.toHexString()] - ); - return; + break; + + case CollectionRoles.Verifier: + // Verifier role + if (status) { + // granted + let verifier = Verifier.load(toAddress); + if (!verifier) { + verifier = new Verifier(toAddress); + } + verifier.save(); + } else { + // revoked + const verifier = Verifier.load(toAddress); + if (verifier) { + store.remove('Verifier', verifier.id.toString()); + } } - owner.collection = false; - owner.save(); - } - } else { - log.error('Role not supported. Role: {}, byAddress: {}, toAddress: {}', [ - role.toString(), - byAddress.toHexString(), - toAddress.toHexString(), - ]); + + break; + default: + log.error('Role not supported. Role: {}, byAddress: {}, toAddress: {}', [ + role.toString(), + byAddress.toHexString(), + toAddress.toHexString(), + ]); } } diff --git a/subgraph/src/access-point.ts b/subgraph/src/access-point.ts index f3f074b..5e0aa65 100644 --- a/subgraph/src/access-point.ts +++ b/subgraph/src/access-point.ts @@ -29,6 +29,7 @@ export function handleNewAccessPoint(event: NewAccessPointEvent): void { accessPointEntity.token = Bytes.fromByteArray( Bytes.fromBigInt(event.params.tokenId) ); + accessPointEntity.createdAt = event.block.timestamp; // Load / Create an Owner entity let ownerEntity = Owner.load(event.params.owner); diff --git a/subgraph/src/constants.ts b/subgraph/src/constants.ts new file mode 100644 index 0000000..c2d272c --- /dev/null +++ b/subgraph/src/constants.ts @@ -0,0 +1,8 @@ +export enum CollectionRoles { + Owner, + Verifier, +} + +export enum TokenRoles { + Controller, +} diff --git a/subgraph/src/contract.ts b/subgraph/src/contract.ts index 1b6d918..0162ee9 100644 --- a/subgraph/src/contract.ts +++ b/subgraph/src/contract.ts @@ -1,10 +1,10 @@ -import { log, ethereum } from '@graphprotocol/graph-ts'; +import { log, ethereum, BigInt } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { Initialized as InitializedEvent } from '../generated/FleekNFA/FleekNFA'; // Entity Imports [based on the schema] -import { Owner } from '../generated/schema'; +import { Collection, Owner, Verifier } from '../generated/schema'; export function handleInitialized(event: InitializedEvent): void { // This is the contract creation transaction. log.warning('This is the contract creation transaction.', []); @@ -14,9 +14,18 @@ export function handleInitialized(event: InitializedEvent): void { receipt.contractAddress.toHexString(), ]); + // start collection entity + const collection = new Collection(event.address.toHexString()); + collection.totalTokens = BigInt.fromU32(0); + collection.save(); + // add owner const owner = new Owner(event.transaction.from); owner.collection = true; owner.save(); + + // add verifier + const verifier = new Verifier(event.transaction.from); + verifier.save(); } } diff --git a/subgraph/src/metadata-update.ts b/subgraph/src/metadata-update.ts index 449e2c1..4d1ebaf 100644 --- a/subgraph/src/metadata-update.ts +++ b/subgraph/src/metadata-update.ts @@ -2,7 +2,6 @@ import { Bytes } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { - MetadataUpdate as MetadataUpdateEvent, MetadataUpdate1 as MetadataUpdateEvent1, MetadataUpdate2 as MetadataUpdateEvent2, MetadataUpdate3 as MetadataUpdateEvent3, @@ -159,6 +158,9 @@ export function handleMetadataUpdateWithBooleanValue( if (event.params.key == 'accessPointAutoApproval') { token.accessPointAutoApproval = event.params.value; } + if (event.params.key == 'verified') { + token.verified = event.params.value; + } token.save(); } } diff --git a/subgraph/src/mint.ts b/subgraph/src/mint.ts index a0b24d1..64e1a77 100644 --- a/subgraph/src/mint.ts +++ b/subgraph/src/mint.ts @@ -1,10 +1,17 @@ -import { Bytes, log } from '@graphprotocol/graph-ts'; +import { BigInt, Bytes, log } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { NewMint as NewMintEvent } from '../generated/FleekNFA/FleekNFA'; // Entity Imports [based on the schema] -import { Owner, NewMint, Token } from '../generated/schema'; +import { + Owner, + NewMint, + Token, + GitRepository, + Collection, + Verifier, +} from '../generated/schema'; export function handleNewMint(event: NewMintEvent): void { const newMintEntity = new NewMint( @@ -67,14 +74,41 @@ export function handleNewMint(event: NewMintEvent): void { token.color = color; token.accessPointAutoApproval = accessPointAutoApproval; token.owner = ownerAddress; - token.verifier = verifierAddress; + token.verified = false; token.mintTransaction = event.transaction.hash.concatI32( event.logIndex.toI32() ); token.mintedBy = event.params.minter; token.controllers = [ownerAddress]; + token.createdAt = event.block.timestamp; + + if (Verifier.load(verifierAddress)) { + token.verifier = verifierAddress; + } + + // Populate GitRepository entity + let repository = GitRepository.load(gitRepository); + if (!repository) { + repository = new GitRepository(gitRepository); + } + + let repositoryTokens = repository.tokens; + if (repositoryTokens === null) { + repositoryTokens = [token.id]; + } else { + repositoryTokens.push(token.id); + } + repository.tokens = repositoryTokens; + + // Increase total tokens counter + const collection = Collection.load(event.address.toHexString()); + if (collection) { + collection.totalTokens = collection.totalTokens.plus(BigInt.fromU32(1)); + collection.save(); + } // Save entities owner.save(); token.save(); + repository.save(); } diff --git a/subgraph/yarn.lock b/subgraph/yarn.lock index b0f6dd6..e14c5dd 100644 --- a/subgraph/yarn.lock +++ b/subgraph/yarn.lock @@ -256,13 +256,6 @@ dependencies: assemblyscript "0.19.10" -"@graphprotocol/graph-ts@^0.27.0": - version "0.27.0" - resolved "https://registry.yarnpkg.com/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz#948fe1716f6082964a01a63a19bcbf9ac44e06ff" - integrity sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w== - dependencies: - assemblyscript "0.19.10" - "@rescript/std@9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@rescript/std/-/std-9.0.0.tgz#df53f3fa5911cb4e85bd66b92e9e58ddf3e4a7e1" @@ -496,7 +489,7 @@ assemblyscript@0.19.10: binaryen "101.0.0-nightly.20210723" long "^4.0.0" -assemblyscript@0.19.23, assemblyscript@^0.19.20: +assemblyscript@0.19.23: version "0.19.23" resolved "https://registry.yarnpkg.com/assemblyscript/-/assemblyscript-0.19.23.tgz#16ece69f7f302161e2e736a0f6a474e6db72134c" integrity sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA== @@ -2227,15 +2220,6 @@ mafmt@^7.0.0: dependencies: multiaddr "^7.3.0" -matchstick-as@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/matchstick-as/-/matchstick-as-0.5.0.tgz#cdafc1ef49d670b9cbe98e933bc2a5cb7c450aeb" - integrity sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg== - dependencies: - "@graphprotocol/graph-ts" "^0.27.0" - assemblyscript "^0.19.20" - wabt "1.0.24" - md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -3399,11 +3383,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -wabt@1.0.24: - version "1.0.24" - resolved "https://registry.yarnpkg.com/wabt/-/wabt-1.0.24.tgz#c02e0b5b4503b94feaf4a30a426ef01c1bea7c6c" - integrity sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg== - wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" From 69ebd36a5be1aac706afb63bb21c193efa0184ff Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Tue, 2 May 2023 13:38:12 +0330 Subject: [PATCH 11/19] docs: update readme, add serverless section. (#237) --- README.md | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index bc014ff..95b8423 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Fleek Non Fungible Apps +# Fleek Non-Fungible Apps -**The repository for Fleek Non Fungible Apps project** +**The repository for Fleek Non-Fungible Apps project** > 🚧 IMPORTANT 🚧 - This initiative is under development, so this repo should be treated as a WIP. The goals and the roadmap might change as the project is shaped. @@ -21,44 +21,48 @@ You can find the wiki [here](https://github.com/fleekxyz/non-fungible-apps/wiki) ### 📁 Project Structure Inside the root folder you are going to find: -- [contracts](./contracts): all the developed contracts +- [contracts](./contracts): All the developed contracts - [subgraph](./subgraph): The Graph project related code -- [ui](./ui): a web application to interact with deployed contracts +- [serverless](./serverless): The serverless and Mongo/Prisma set-up +- [ui](./ui): A web application to interact with deployed contracts You can see breakdowns of other folders in the README within those folders. ### Contracts -Within the project is the contracts folder which houses the contracts, utils, tests and deployment scripts associated with the Solidity smart contracts. Check the [contracts readme](./contracts/README.md) for more info. - - -### 🖥️ User Interface - -Within the project is included a [React](https://reactjs.org/) web application to expose and test the interaction with deployed scripts. Check the [UI readme](./ui/README.md) for more info. +Within the project is the contracts folder which houses the contracts, utils, tests, and deployment scripts associated with the Solidity smart contracts. Check the [contracts readme](./contracts/README.md) for more info. ### Subgraph -In order to index data offchain, we use TheGraph and this section is the code required for our subgraph. Check the [subgraph readme](./subgraph/README.md) for more info. +To index data off-chain, we use TheGraph and this section is the code required for our subgraph. Check the [subgraph readme](./subgraph/README.md) for more info. + +### Serverless + +For verification purposes and our off-chain stack, we are using a MongoDB instance integrated with Prisma and serverless handlers. Check the [serverless readme](./serverless/README.md) for more info. + +### User Interface (UI) + +Within the project is included a [React](https://reactjs.org/) web application to expose and test the interaction with deployed scripts. Check the [UI readme](./ui/README.md) for more info. ### 💅 Code Styling -For code formatting we are using [Prettier](https://prettier.io/) and following the [styling guide from Solidity documentation](https://docs.soliditylang.org/en/v0.8.16/style-guide.html). For formatting the code you are able to run: +For code formatting, we are using [Prettier](https://prettier.io/) and following the [styling guide from Solidity documentation](https://docs.soliditylang.org/en/v0.8.16/style-guide.html). For formatting the code you can run: ``` $ yarn format ``` -> ⚠️ Please make sure you are following the code styling guid before pushing code +> ⚠️ Please make sure you are following the code styling guide before pushing the code ## 🛣️ Roadmap -Our goal is to reach a point where trustable Solidity contracts can be used for identifying properly the data about web3 applications. Within that goal, we want to also provide ways for users to organize and list information about their application. To get at this we are currently starting with: +Our goal is to reach a point where trustable Solidity contracts can be used for identifying properly the data about web3 applications. Within that goal, we want to also provide ways for users to organize and list information about their applications. To get at this we are currently starting with: - Define trustable and extendable smart contracts and standards -- Prove how the concept would be applicable using static sites -- Prove community hosted apps via these contracts +- Prove how the concept would be applied using static sites +- Prove community-hosted apps via these contracts -Later on, when the initiative prove its value, a service will be added to Fleek's platform in a friendly way for anyone be able to get their applications onboard. +Later on, when the initiative proves its value, a service will be added to Fleek's platform in a friendly way for anyone to be able to get their applications onboard. ## 💡 Proof of concept @@ -66,7 +70,7 @@ The proof of concept was concluded last year and you can reach more information ## 📚 Dependency Highlights -We use the following libraries to develop Fleek Non Fungible Apps +We use the following libraries to develop Fleek Non-Fungible Apps - [Eslint](https://eslint.org/) + [Prettier](https://prettier.io/) - [Ethers](https://docs.ethers.io/v5/) @@ -79,11 +83,11 @@ We use the following libraries to develop Fleek Non Fungible Apps ## 🙏 Contributing -This is an open source initiative! Any new idea is welcome, if you want to help us to improve the project please checkout [the contributing guide](/CONTRIBUTING.md). +This is an open-source initiative! Any new idea is welcome, if you want to help us to improve the project please check out [the contributing guide](/CONTRIBUTING.md). ## 📜 License -Fleek Non Fungible Apps is released under the [MIT License](LICENSE). +Fleek Non-Fungible Apps is released under the [MIT License](LICENSE). ## 🐛 Bug reporting From d2f81ee98e64dd12d9eed495c386d477f873e5df Mon Sep 17 00:00:00 2001 From: Felipe Mendes Date: Tue, 2 May 2023 10:57:24 -0300 Subject: [PATCH 12/19] fix: script deployment store for libraries and proxy (#248) --- contracts/scripts/deploy.js | 3 +-- contracts/scripts/utils/deploy-store.js | 16 +++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/contracts/scripts/deploy.js b/contracts/scripts/deploy.js index c516273..20a7917 100644 --- a/contracts/scripts/deploy.js +++ b/contracts/scripts/deploy.js @@ -25,7 +25,7 @@ const libraryDeployment = async (hre) => { const libContract = await hre.ethers.getContractFactory(lib); const libInstance = await libContract.deploy(); await libInstance.deployed(); - deployStore(hre.network.name, lib, libInstance); + await deployStore(hre.network.name, lib, libInstance, false); console.log(`Library "${lib}" deployed at ${libInstance.address}`); libraries[lib] = libInstance.address; } @@ -70,7 +70,6 @@ module.exports = async (taskArgs, hre) => { `Contract ${CONTRACT_NAME} upgraded at "${deployResult.address}" by account "${deployResult.signer.address}"` ); console.log('\x1b[0m'); - await deployStore(network, CONTRACT_NAME, deployResult); } catch (e) { if ( e.message === 'new-proxy-instance' || diff --git a/contracts/scripts/utils/deploy-store.js b/contracts/scripts/utils/deploy-store.js index c01011c..ba3ef52 100644 --- a/contracts/scripts/utils/deploy-store.js +++ b/contracts/scripts/utils/deploy-store.js @@ -33,22 +33,16 @@ const getBuildData = async (contractName) => { }; }; -const deployStore = async (network, contractName, contract) => { +const deployStore = async (network, contractName, contract, isProxy = true) => { const filePath = getDeployFilePath(network, contractName); const { buildId, solcInput, abi, bytecode, metadata, storageLayout } = await getBuildData(contractName); - const implementationAddress = await getImplementationAddress( - hre.network.provider, - contract.address - ); - const data = { buildId, timestamp: new Date().toLocaleString('en-US'), address: contract.address, - implementationAddress, transactionHash: contract.deployTransaction.hash, args: contract.deployTransaction.args, gasPrice: contract.deployTransaction.gasPrice.toNumber(), @@ -58,6 +52,14 @@ const deployStore = async (network, contractName, contract) => { storageLayout, }; + if (isProxy) { + const implementationAddress = await getImplementationAddress( + hre.network.provider, + contract.address + ); + data.implementationAddress = implementationAddress; + } + try { const solcInputsFilePath = filePath.split('/').slice(0, -1).join('/') + From 85d14483cb0ca7df107fe1e62e6c1876218270e4 Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Tue, 2 May 2023 19:19:02 +0330 Subject: [PATCH 13/19] fix: decrement total tokens by one for each burn, fix the collection id, remove tokens field of git repo in the mapping file. (#249) --- subgraph/src/contract.ts | 4 ++-- subgraph/src/mint.ts | 10 +--------- subgraph/src/transfer.ts | 12 ++++++++++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/subgraph/src/contract.ts b/subgraph/src/contract.ts index 0162ee9..824e0fe 100644 --- a/subgraph/src/contract.ts +++ b/subgraph/src/contract.ts @@ -1,4 +1,4 @@ -import { log, ethereum, BigInt } from '@graphprotocol/graph-ts'; +import { log, ethereum, BigInt, Address } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { Initialized as InitializedEvent } from '../generated/FleekNFA/FleekNFA'; @@ -15,7 +15,7 @@ export function handleInitialized(event: InitializedEvent): void { ]); // start collection entity - const collection = new Collection(event.address.toHexString()); + const collection = new Collection(event.address); collection.totalTokens = BigInt.fromU32(0); collection.save(); diff --git a/subgraph/src/mint.ts b/subgraph/src/mint.ts index 64e1a77..c0b3472 100644 --- a/subgraph/src/mint.ts +++ b/subgraph/src/mint.ts @@ -92,16 +92,8 @@ export function handleNewMint(event: NewMintEvent): void { repository = new GitRepository(gitRepository); } - let repositoryTokens = repository.tokens; - if (repositoryTokens === null) { - repositoryTokens = [token.id]; - } else { - repositoryTokens.push(token.id); - } - repository.tokens = repositoryTokens; - // Increase total tokens counter - const collection = Collection.load(event.address.toHexString()); + const collection = Collection.load(event.address); if (collection) { collection.totalTokens = collection.totalTokens.plus(BigInt.fromU32(1)); collection.save(); diff --git a/subgraph/src/transfer.ts b/subgraph/src/transfer.ts index ec49ba8..c7fe98a 100644 --- a/subgraph/src/transfer.ts +++ b/subgraph/src/transfer.ts @@ -1,10 +1,10 @@ -import { Bytes, log, store } from '@graphprotocol/graph-ts'; +import { BigInt, Bytes, log, store } from '@graphprotocol/graph-ts'; // Event Imports [based on the yaml config] import { Transfer as TransferEvent } from '../generated/FleekNFA/FleekNFA'; // Entity Imports [based on the schema] -import { Owner, Token, Transfer } from '../generated/schema'; +import { Collection, Owner, Token, Transfer } from '../generated/schema'; export function handleTransfer(event: TransferEvent): void { const transfer = new Transfer( @@ -39,6 +39,14 @@ export function handleTransfer(event: TransferEvent): void { // Remove the entity from storage // Its controllers and owner will be affected. store.remove('Token', TokenId.toString()); + // decrement the collection entity's token count + const collection = Collection.load(event.address); + if (collection) { + collection.totalTokens = collection.totalTokens.minus( + BigInt.fromU32(1) + ); + collection.save(); + } } else { // Transfer // Load the Token by using its TokenId From 393c4a316d9657bf88c7b36ab4c21a8ce9a87b24 Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Tue, 9 May 2023 10:31:29 -0300 Subject: [PATCH 14/19] feat: NFA detail page subraph integration (#254) * feat: nfa detail page with data from the subgraph * Update ui/src/views/indexed-nfa/fragments/aside.fragment.tsx Co-authored-by: Felipe Mendes --------- Co-authored-by: Felipe Mendes --- ui/graphql/queries.graphql | 29 +++- ui/src/utils/format.ts | 42 +++++ .../ap-form-step/create-ap-form-body.tsx | 4 +- .../views/access-point/create-ap.context.tsx | 14 +- .../explore/explore-list/nfa-search.styles.ts | 2 +- .../indexed-nfa/fragments/aside.fragment.tsx | 4 +- .../indexed-nfa/fragments/main.fragment.tsx | 146 ++++++------------ ui/src/views/indexed-nfa/indexed-nfa.tsx | 13 +- .../repo-branch-commit-fields.tsx | 1 + 9 files changed, 136 insertions(+), 119 deletions(-) diff --git a/ui/graphql/queries.graphql b/ui/graphql/queries.graphql index a7cac93..e68bcd3 100644 --- a/ui/graphql/queries.graphql +++ b/ui/graphql/queries.graphql @@ -38,7 +38,7 @@ query getLatestNFAs { } } -query getNFA($id: ID!) { +query getNFADetail($id: ID!) { token(id: $id) { tokenId owner { @@ -50,6 +50,33 @@ query getNFA($id: ID!) { externalURL logo color + createdAt + accessPoints { + createdAt + contentVerified + owner { + id + } + id + } + verified + verifier { + id + } + gitRepository { + id + } + } +} + +query getNFA($id: ID!) { + token(id: $id) { + tokenId + name + ENS + externalURL + logo + color } } diff --git a/ui/src/utils/format.ts b/ui/src/utils/format.ts index 04914b2..d5eeb18 100644 --- a/ui/src/utils/format.ts +++ b/ui/src/utils/format.ts @@ -10,3 +10,45 @@ export const getRepoAndCommit = (url: string): object => { export const contractAddress = (address: string): string => { return `${address.slice(0, 6)}...${address.slice(-4)}`; }; + +export const getRepositoryFromURL = (url: string): string => { + const urlSplitted = url.split('/'); + return `${urlSplitted[3]}/${urlSplitted[4]}`; +}; + +export const getDate = (date: number): string => { + return new Date(date * 1000).toLocaleDateString(); +}; + +/** + * @param date date in tiemstamp format + * @returns time since date + */ +export const getTimeSince = (date: number): string => { + const now = new Date().getTime(); //in timestamp format + + const milliseconds = now - date * 1000; + const seconds = milliseconds / 1000; + const minutes = Math.round((seconds / 60) % 60); + const days = Math.round(seconds / (60 * 60 * 24)); + const hours = Math.round(minutes % 60); + const months = Math.round(days / 30.5); + const years = Math.round(months / 12); + + if (years > 0) { + return `${years} year${years > 1 ? 's' : ''} ago`; + } + if (months > 0) { + return `${months} month${months > 1 ? 's' : ''} ago`; + } + if (days > 0) { + return `${days} day${days > 1 ? 's' : ''} ago`; + } + if (hours > 0) { + return `${hours} hour${hours > 1 ? 's' : ''} ago`; + } + if (minutes > 0) { + return `${minutes} min ago`; + } + return `${Math.round(seconds)} sec ago}`; +}; diff --git a/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx b/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx index 9cdd56f..b00c1bc 100644 --- a/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx +++ b/ui/src/views/access-point/ap-form-step/create-ap-form-body.tsx @@ -64,8 +64,8 @@ export const CreateAccessPointFormBody: React.FC = () => { }, onCompleted(data) { if (data.token && id) { - const { name, tokenId, logo, color, externalURL: domain } = data.token; - setNfa({ name, tokenId, logo, color, domain }); + const { name, tokenId, logo, color, externalURL } = data.token; + setNfa({ name, tokenId, logo, color, externalURL }); } else { AppLog.errorToast("We couldn't find the NFA you are looking for"); } diff --git a/ui/src/views/access-point/create-ap.context.tsx b/ui/src/views/access-point/create-ap.context.tsx index 119f29c..68bc729 100644 --- a/ui/src/views/access-point/create-ap.context.tsx +++ b/ui/src/views/access-point/create-ap.context.tsx @@ -2,17 +2,15 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { useState } from 'react'; +import { Token } from '@/graphclient'; import { EthereumHooks } from '@/integrations'; import { useFleekERC721Billing } from '@/store'; import { AppLog, createContext } from '@/utils'; -export type NFA = { - tokenId: string; - name: string; - logo: string; - color: number; - domain: string; -}; +export type NFA = Pick< + Token, + 'tokenId' | 'name' | 'logo' | 'color' | 'externalURL' +>; export type AccessPointContext = { billing: string | undefined; @@ -43,7 +41,7 @@ export abstract class CreateAccessPoint { name: '', logo: '', color: 0, - domain: '', + externalURL: '', }); const value = { diff --git a/ui/src/views/explore/explore-list/nfa-search.styles.ts b/ui/src/views/explore/explore-list/nfa-search.styles.ts index 9955ee0..95c9b2b 100644 --- a/ui/src/views/explore/explore-list/nfa-search.styles.ts +++ b/ui/src/views/explore/explore-list/nfa-search.styles.ts @@ -1,4 +1,4 @@ -import { Flex, Icon, Input } from '@/components'; +import { Flex, Icon } from '@/components'; import { styled } from '@/theme'; export const NFASearchFragmentStyles = { diff --git a/ui/src/views/indexed-nfa/fragments/aside.fragment.tsx b/ui/src/views/indexed-nfa/fragments/aside.fragment.tsx index 69f07c0..b28c640 100644 --- a/ui/src/views/indexed-nfa/fragments/aside.fragment.tsx +++ b/ui/src/views/indexed-nfa/fragments/aside.fragment.tsx @@ -2,6 +2,7 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import { Link } from 'react-router-dom'; import { Button, Flex, Icon, NFAPreview } from '@/components'; +import { parseNumberToHexColor } from '@/utils/color'; import { IndexedNFA } from '../indexed-nfa.context'; import { IndexedNFAStyles as S } from '../indexed-nfa.styles'; @@ -10,8 +11,7 @@ const Preview: React.FC = () => { const { nfa } = IndexedNFA.useContext(); const color = useMemo( - // TODO: replace with util function - () => `#${`000000${nfa.color.toString(16)}`.slice(-6)}`, + () => `#${parseNumberToHexColor(nfa.color)}`, [nfa] ); diff --git a/ui/src/views/indexed-nfa/fragments/main.fragment.tsx b/ui/src/views/indexed-nfa/fragments/main.fragment.tsx index 286273e..ba08ed2 100644 --- a/ui/src/views/indexed-nfa/fragments/main.fragment.tsx +++ b/ui/src/views/indexed-nfa/fragments/main.fragment.tsx @@ -1,6 +1,7 @@ import React, { useMemo } from 'react'; import { Flex, Icon, IconName, ResolvedAddress, Text } from '@/components'; +import { getDate, getRepositoryFromURL, getTimeSince } from '@/utils'; import { IndexedNFA } from '../indexed-nfa.context'; import { IndexedNFAStyles as S } from '../indexed-nfa.styles'; @@ -33,10 +34,7 @@ const Header: React.FC = () => { - - {/* TODO: place correct data */} - 12/12/22 - + {getDate(nfa.createdAt)} @@ -81,14 +79,12 @@ const DataWrapper: React.FC = ({ const Traits: React.FC = () => { const { nfa } = IndexedNFA.useContext(); - // TODO: place correct data const traitsToShow = useMemo(() => { return [ [nfa.ENS, 'ENS'], - [nfa.gitRepository.id, 'Repository'], - [10, 'Version'], + [getRepositoryFromURL(nfa.gitRepository.id), 'Repository'], + ['', 'Version'], [nfa.externalURL, 'Domain'], - [nfa.externalURL, 'Domain 2'], ]; }, [nfa]); @@ -137,29 +133,33 @@ const VerificationBanner: React.FC = ({ }; const Verification: React.FC = () => { + const { nfa } = IndexedNFA.useContext(); + return ( <> Verification - {/* TODO: Get verified from context */} - 0.5} /> + - {/* TODO: place correct data */} - polygon.eth - polygon/fe + + {nfa.verifier ? ( + {nfa.verifier?.id} + ) : ( + '-' + )} + + + {getRepositoryFromURL(nfa.gitRepository.id)} + ); }; -// TODO: replace mocks with fetched data -const apMocks = new Array(10).fill(0).map((_, index) => ({ - approved: Math.random() > 0.5, - domain: `domain${index}.com`, - owner: '0x7ED735b7095C05d78dF169F991f2b7f1A1F1A049', - createdAt: `${Math.floor(Math.random() * 30)}m ago`, -})); - const AccessPoints: React.FC = () => { + const { + nfa: { accessPoints }, + } = IndexedNFA.useContext(); + return ( <> Frontends @@ -184,86 +184,33 @@ const AccessPoints: React.FC = () => { - {apMocks.map((item) => ( - - - - - {item.domain} - - {item.owner} - - {item.createdAt} - - + {accessPoints && accessPoints.length > 0 ? ( + accessPoints.map((item) => ( + + + + + {item.id} + + {item.owner.id} + + + {getTimeSince(item.createdAt)} + + + + + + )) + ) : ( + + + No results - ))} - - - - - ); -}; - -// TODO: replace mocks with fetched data -const versionsMock = new Array(10).fill(0).map((_, index) => ({ - live: index === 0, - commit: (Math.random() * 0xfffffffff).toString(16), - preview: `test: subgraph matchstick tests for access points and acl refactor (#150 - ) - - * fix: errors from deprecated entities.`, - time: `${Math.floor(Math.random() * 30)}m ago`, -})); - -const Versions: React.FC = () => { - return ( - <> - Versions - - - - - - - - - - - - - - - Commit - Preview - Time - - - - - {versionsMock.map((item) => ( - - - - {item.live && 'Live'} - - - {item.commit.slice(0, 6)} - - {item.preview} - - {item.time} - - - - - ))} + )} @@ -279,7 +226,6 @@ export const IndexedNFAMainFragment: React.FC = () => { - ); }; diff --git a/ui/src/views/indexed-nfa/indexed-nfa.tsx b/ui/src/views/indexed-nfa/indexed-nfa.tsx index 88cb844..232909a 100644 --- a/ui/src/views/indexed-nfa/indexed-nfa.tsx +++ b/ui/src/views/indexed-nfa/indexed-nfa.tsx @@ -2,8 +2,7 @@ import { useQuery } from '@apollo/client'; import { ethers } from 'ethers'; import { useNavigate, useParams } from 'react-router-dom'; -import { getNFADocument } from '@/graphclient'; -import { NFAMock } from '@/mocks'; +import { getNFADetailDocument } from '@/graphclient'; import { AppLog } from '@/utils'; import { @@ -26,7 +25,7 @@ export const IndexedNFAView: React.FC = () => { navigate('/', { replace: true }); }; - const { loading, data = { token: {} } } = useQuery(getNFADocument, { + const { loading, data = { token: {} } } = useQuery(getNFADetailDocument, { skip: id === undefined, variables: { id: ethers.utils.hexlify(Number(id)), @@ -43,9 +42,13 @@ export const IndexedNFAView: React.FC = () => { return ; } - // TODO: replace NFAMock with real data from useQuery + if (!data.token) { + //TODO add 404 page + return
Token not found
; + } + return ( - + diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx index e3ea135..62300fb 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-body/repo-branch-commit-fields.tsx @@ -10,6 +10,7 @@ import { import { AppLog } from '@/utils'; import { Mint } from '@/views/mint/mint.context'; import { useMintFormContext } from '@/views/mint/nfa-step/form-step'; + import { TextStyles } from './repo-branch-commit-fields.styles'; export const RepoBranchCommitFields: React.FC = () => { From 70f2df42108141e403466444157dc7a4befe1809 Mon Sep 17 00:00:00 2001 From: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com> Date: Tue, 9 May 2023 21:25:19 +0330 Subject: [PATCH 15/19] feat: verifications and mongo write operations (#253) * integration * refactor: rename the mintId parameter, add serverless offline. * docs: update documentation readme. * feat: add the create call for handling new mint info. * feat: add build record db, write the signed transaction call to the contract, query builds in the mint handler. * feat: new prisma schema. * feat: add logic to the build handler and update mint handler to pass the verified field. * feat: update token record in the build handler, add start command to package.json * feat: add dotenv to read the private key variable from the main .env file. * feat: add domain and ipfs hash to mint and setTokenBuild functions. Alter the structs accordingly. * test: update mint parameters with ipfsHash for foundry and hardhat tests. * feat: add build record entity to subgraph. * feat: add domain field, update schema, remove tokenId from build handler. * test: fix missing parameters. * fix: build info test parameters missing. * test: final test fix for the foundry metadataupdate params. * refactor: tsconfig changes and pr feedback. --- contracts/contracts/FleekERC721.sol | 14 +- contracts/contracts/IERCX.sol | 12 +- .../foundry/FleekERC721/AccessControl.t.sol | 12 +- .../test/foundry/FleekERC721/Billing.t.sol | 3 + .../test/foundry/FleekERC721/Constants.sol | 2 + .../test/foundry/FleekERC721/GetToken.t.sol | 4 +- contracts/test/foundry/FleekERC721/Mint.t.sol | 6 + .../test/foundry/FleekERC721/TestBase.sol | 1 + .../test/foundry/FleekERC721/TokenURI.t.sol | 22 +- .../contracts/FleekERC721/billing.t.ts | 1 + .../FleekERC721/collection-roles.t.ts | 1 + .../hardhat/contracts/FleekERC721/ens.t.ts | 2 + .../FleekERC721/get-last-token-id.t.ts | 1 + .../FleekERC721/helpers/constants.ts | 1 + .../contracts/FleekERC721/helpers/events.ts | 2 +- .../contracts/FleekERC721/helpers/fixture.ts | 1 + .../contracts/FleekERC721/minting.t.ts | 4 + .../contracts/FleekERC721/pausable.t.ts | 1 + .../FleekERC721/update-properties.t.ts | 14 +- contracts/test/hardhat/scripts/deploy.ts | 1 + package.json | 1 + serverless/README.md | 16 + serverless/package.json | 10 +- serverless/prisma/schema.prisma | 23 +- serverless/src/functions/builds/handler.ts | 83 +- serverless/src/functions/mints/handler.ts | 170 +- serverless/src/libs/nfa-contract.ts | 15 +- .../src/libs/{query-prisma.ts => prisma.ts} | 6 +- serverless/tsconfig.json | 1 - serverless/yarn.lock | 17 +- subgraph/schema.graphql | 17 +- subgraph/src/metadata-update.ts | 32 +- subgraph/src/mint.ts | 4 +- subgraph/subgraph.yaml | 8 +- yarn.lock | 2866 ++++++++++++++++- 35 files changed, 3268 insertions(+), 106 deletions(-) rename serverless/src/libs/{query-prisma.ts => prisma.ts} (81%) diff --git a/contracts/contracts/FleekERC721.sol b/contracts/contracts/FleekERC721.sol index ca501c5..ccd5c5c 100644 --- a/contracts/contracts/FleekERC721.sol +++ b/contracts/contracts/FleekERC721.sol @@ -39,6 +39,7 @@ contract FleekERC721 is string ENS, string commitHash, string gitRepository, + string ipfsHash, string logo, uint24 color, bool accessPointAutoApproval, @@ -108,6 +109,7 @@ contract FleekERC721 is string calldata ens, string memory commitHash, string memory gitRepository, + string memory ipfsHash, string memory logo, uint24 color, bool accessPointAutoApproval, @@ -131,7 +133,7 @@ contract FleekERC721 is // The mint interaction is considered to be the first build of the site. Updates from now on all increment the currentBuild by one and update the mapping. app.currentBuild = 0; - app.builds[0] = Build(commitHash, gitRepository); + app.builds[0] = Build(commitHash, gitRepository, ipfsHash, externalURL); emit NewMint( tokenId, @@ -141,6 +143,7 @@ contract FleekERC721 is ens, commitHash, gitRepository, + ipfsHash, logo, color, accessPointAutoApproval, @@ -396,11 +399,14 @@ contract FleekERC721 is function setTokenBuild( uint256 tokenId, string memory _commitHash, - string memory _gitRepository + string memory _gitRepository, + string memory _ipfsHash, + string memory _domain ) public virtual requireTokenRole(tokenId, TokenRoles.Controller) { _requireMinted(tokenId); - _apps[tokenId].builds[++_apps[tokenId].currentBuild] = Build(_commitHash, _gitRepository); - emit MetadataUpdate(tokenId, "build", [_commitHash, _gitRepository], msg.sender); + _apps[tokenId].builds[++_apps[tokenId].currentBuild] = Build(_commitHash, _gitRepository, _ipfsHash, _domain); + // Note from Nima: should we update the externalURL field with each new domain? + emit MetadataUpdate(tokenId, "build", [_commitHash, _gitRepository, _ipfsHash, _domain], msg.sender); } /** diff --git a/contracts/contracts/IERCX.sol b/contracts/contracts/IERCX.sol index a0e6c85..3d26434 100644 --- a/contracts/contracts/IERCX.sol +++ b/contracts/contracts/IERCX.sol @@ -24,7 +24,7 @@ interface IERCX { */ event MetadataUpdate(uint256 indexed _tokenId, string key, string value, address indexed triggeredBy); event MetadataUpdate(uint256 indexed _tokenId, string key, uint24 value, address indexed triggeredBy); - event MetadataUpdate(uint256 indexed _tokenId, string key, string[2] value, address indexed triggeredBy); + event MetadataUpdate(uint256 indexed _tokenId, string key, string[4] value, address indexed triggeredBy); event MetadataUpdate(uint256 indexed _tokenId, string key, bool value, address indexed triggeredBy); /** @@ -33,6 +33,8 @@ interface IERCX { struct Build { string commitHash; string gitRepository; + string ipfsHash; + string domain; } /** @@ -84,7 +86,13 @@ interface IERCX { /** * @dev Sets a minted token's build. */ - function setTokenBuild(uint256 tokenId, string memory commitHash, string memory gitRepository) external; + function setTokenBuild( + uint256 tokenId, + string memory commitHash, + string memory gitRepository, + string memory ipfsHash, + string memory domain + ) external; /** * @dev Returns the token metadata for a given tokenId. diff --git a/contracts/test/foundry/FleekERC721/AccessControl.t.sol b/contracts/test/foundry/FleekERC721/AccessControl.t.sol index 71fdb29..12b90f0 100644 --- a/contracts/test/foundry/FleekERC721/AccessControl.t.sol +++ b/contracts/test/foundry/FleekERC721/AccessControl.t.sol @@ -369,29 +369,31 @@ contract Test_FleekERC721_AccessControl is Test_FleekERC721_Base, Test_FleekERC7 function test_setTokenBuild() public { string memory commitHash = "commitHash"; string memory gitRepository = "gitRepository"; + string memory ipfsHash = "ipfsHash"; + string memory domain = "domain"; // ColletionOwner vm.prank(collectionOwner); expectRevertWithTokenRole(tokenId, FleekAccessControl.TokenRoles.Controller); - CuT.setTokenBuild(tokenId, commitHash, gitRepository); + CuT.setTokenBuild(tokenId, commitHash, gitRepository, ipfsHash, domain); // CollectionVerifier vm.prank(collectionVerifier); expectRevertWithTokenRole(tokenId, FleekAccessControl.TokenRoles.Controller); - CuT.setTokenBuild(tokenId, commitHash, gitRepository); + CuT.setTokenBuild(tokenId, commitHash, gitRepository, ipfsHash, domain); // TokenOwner vm.prank(tokenOwner); - CuT.setTokenBuild(tokenId, commitHash, gitRepository); + CuT.setTokenBuild(tokenId, commitHash, gitRepository, ipfsHash, domain); // TokenController vm.prank(tokenController); - CuT.setTokenBuild(tokenId, commitHash, gitRepository); + CuT.setTokenBuild(tokenId, commitHash, gitRepository, ipfsHash, domain); // AnyAddress vm.prank(anyAddress); expectRevertWithTokenRole(tokenId, FleekAccessControl.TokenRoles.Controller); - CuT.setTokenBuild(tokenId, commitHash, gitRepository); + CuT.setTokenBuild(tokenId, commitHash, gitRepository, ipfsHash, domain); } function test_burn() public { diff --git a/contracts/test/foundry/FleekERC721/Billing.t.sol b/contracts/test/foundry/FleekERC721/Billing.t.sol index 8a87e79..925fc3a 100644 --- a/contracts/test/foundry/FleekERC721/Billing.t.sol +++ b/contracts/test/foundry/FleekERC721/Billing.t.sol @@ -54,6 +54,7 @@ contract Test_FleekERC721_Billing is Test_FleekERC721_Base, Test_FleekERC721_Bil TestConstants.APP_ENS, TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, TestConstants.APP_ACCESS_POINT_AUTO_APPROVAL_SETTINGS, @@ -75,6 +76,7 @@ contract Test_FleekERC721_Billing is Test_FleekERC721_Base, Test_FleekERC721_Bil TestConstants.APP_ENS, TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, TestConstants.APP_ACCESS_POINT_AUTO_APPROVAL_SETTINGS, @@ -98,6 +100,7 @@ contract Test_FleekERC721_Billing is Test_FleekERC721_Base, Test_FleekERC721_Bil TestConstants.APP_ENS, TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, TestConstants.APP_ACCESS_POINT_AUTO_APPROVAL_SETTINGS, diff --git a/contracts/test/foundry/FleekERC721/Constants.sol b/contracts/test/foundry/FleekERC721/Constants.sol index bd89a10..cc2ca62 100644 --- a/contracts/test/foundry/FleekERC721/Constants.sol +++ b/contracts/test/foundry/FleekERC721/Constants.sol @@ -15,6 +15,8 @@ library TestConstants { string public constant APP_GIT_REPOSITORY = "https://github.com/fleekxyz/non-fungible-apps"; + string public constant APP_IPFS_HASH = "mtwirsqawjuoloq2gvtyug2tc3jbf5htm2zeo4rsknfiv3fdp46a"; + uint24 public constant APP_COLOR = 0x123456; bool public constant APP_ACCESS_POINT_AUTO_APPROVAL_SETTINGS = true; diff --git a/contracts/test/foundry/FleekERC721/GetToken.t.sol b/contracts/test/foundry/FleekERC721/GetToken.t.sol index dfcce32..e7d3a3e 100644 --- a/contracts/test/foundry/FleekERC721/GetToken.t.sol +++ b/contracts/test/foundry/FleekERC721/GetToken.t.sol @@ -39,6 +39,8 @@ contract Test_FleekERC721_GetToken is Test_FleekERC721_Base { string memory newENS, string memory newCommitHash, string memory newRepository, + string memory newIpfsHash, + string memory newDomain, string memory newLogo, uint24 newColor ) public { @@ -47,7 +49,7 @@ contract Test_FleekERC721_GetToken is Test_FleekERC721_Base { CuT.setTokenExternalURL(tokenId, newExternalURL); transferENS(newENS, deployer); CuT.setTokenENS(tokenId, newENS); - CuT.setTokenBuild(tokenId, newCommitHash, newRepository); + CuT.setTokenBuild(tokenId, newCommitHash, newRepository, newIpfsHash, newDomain); CuT.setTokenLogoAndColor(tokenId, newLogo, newColor); ( diff --git a/contracts/test/foundry/FleekERC721/Mint.t.sol b/contracts/test/foundry/FleekERC721/Mint.t.sol index be0c178..4bf4f52 100644 --- a/contracts/test/foundry/FleekERC721/Mint.t.sol +++ b/contracts/test/foundry/FleekERC721/Mint.t.sol @@ -36,6 +36,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { "fleek.eth", "94e8ba38568aea4fb277a37a4c472d94a6ce880a", "https://github.com/a-different/repository", + "mtwirsqawjuoloq2gvtyug2tc3jbf5htm2zeo4rsknfiv3fdp46a", TestConstants.LOGO_1, 0x654321, false, @@ -56,6 +57,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { "fleek.eth", "94e8ba38568aea4fb277a37a4c472d94a6ce880a", "https://github.com/a-different/repository", + "mtwirsqawjuoloq2gvtyug2tc3jbf5htm2zeo4rsknfiv3fdp46a", TestConstants.LOGO_1, 0x654321, true, @@ -81,6 +83,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { string memory ens, string memory commitHash, string memory gitRepository, + string memory ipfsHash, string memory logo, uint24 color, bool autoApprovalAp @@ -95,6 +98,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { ens, commitHash, gitRepository, + ipfsHash, logo, color, autoApprovalAp, @@ -115,6 +119,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { TestConstants.APP_ENS, TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, false, @@ -131,6 +136,7 @@ contract Test_FleekERC721_Mint is Test_FleekERC721_Base { "", TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, false, diff --git a/contracts/test/foundry/FleekERC721/TestBase.sol b/contracts/test/foundry/FleekERC721/TestBase.sol index 27cb5d3..7bcf612 100644 --- a/contracts/test/foundry/FleekERC721/TestBase.sol +++ b/contracts/test/foundry/FleekERC721/TestBase.sol @@ -81,6 +81,7 @@ abstract contract Test_FleekERC721_Base is Test, Test_FleekERC721_Assertions { TestConstants.APP_ENS, TestConstants.APP_COMMIT_HASH, TestConstants.APP_GIT_REPOSITORY, + TestConstants.APP_IPFS_HASH, TestConstants.LOGO_0, TestConstants.APP_COLOR, false, // Auto Approval Is OFF diff --git a/contracts/test/foundry/FleekERC721/TokenURI.t.sol b/contracts/test/foundry/FleekERC721/TokenURI.t.sol index 8204502..a2ff6af 100644 --- a/contracts/test/foundry/FleekERC721/TokenURI.t.sol +++ b/contracts/test/foundry/FleekERC721/TokenURI.t.sol @@ -6,7 +6,7 @@ import "./TestBase.sol"; contract Test_FleekERC721_TokenURIAssertions is Test { event MetadataUpdate(uint256 indexed _tokenId, string key, string value, address indexed triggeredBy); - event MetadataUpdate(uint256 indexed _tokenId, string key, string[2] value, address indexed triggeredBy); + event MetadataUpdate(uint256 indexed _tokenId, string key, string[4] value, address indexed triggeredBy); event MetadataUpdate(uint256 indexed _tokenId, string key, uint24 value, address indexed triggeredBy); function expectMetadataUpdate( @@ -22,7 +22,7 @@ contract Test_FleekERC721_TokenURIAssertions is Test { function expectMetadataUpdate( uint256 _tokenId, string memory key, - string[2] memory value, + string[4] memory value, address triggeredBy ) public { vm.expectEmit(true, true, true, true); @@ -57,7 +57,13 @@ contract Test_FleekERC721_TokenURI is Test_FleekERC721_Base, Test_FleekERC721_To CuT.setTokenExternalURL(tokenId, "https://new-url.com"); transferENS("new-ens.eth", deployer); CuT.setTokenENS(tokenId, "new-ens.eth"); - CuT.setTokenBuild(tokenId, "ce1a3fc141e29f8e1d00a654e156c4982d7711bf", "https://github.com/other/repo"); + CuT.setTokenBuild( + tokenId, + "ce1a3fc141e29f8e1d00a654e156c4982d7711bf", + "https://github.com/other/repo", + "ipfsHash", + "domain" + ); CuT.setTokenLogoAndColor(tokenId, TestConstants.LOGO_1, 0x654321); CuT.setTokenVerified(tokenId, true); @@ -96,10 +102,16 @@ contract Test_FleekERC721_TokenURI is Test_FleekERC721_Base, Test_FleekERC721_To expectMetadataUpdate( tokenId, "build", - ["ce1a3fc141e29f8e1d00a654e156c4982d7711bf", "https://github.com/other/repo"], + ["ce1a3fc141e29f8e1d00a654e156c4982d7711bf", "https://github.com/other/repo", "ipfshash", "domain"], deployer ); - CuT.setTokenBuild(tokenId, "ce1a3fc141e29f8e1d00a654e156c4982d7711bf", "https://github.com/other/repo"); + CuT.setTokenBuild( + tokenId, + "ce1a3fc141e29f8e1d00a654e156c4982d7711bf", + "https://github.com/other/repo", + "ipfshash", + "domain" + ); expectMetadataUpdate(tokenId, "logo", TestConstants.LOGO_1, deployer); CuT.setTokenLogo(tokenId, TestConstants.LOGO_1); diff --git a/contracts/test/hardhat/contracts/FleekERC721/billing.t.ts b/contracts/test/hardhat/contracts/FleekERC721/billing.t.ts index fe9943d..c69518c 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/billing.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/billing.t.ts @@ -21,6 +21,7 @@ describe('FleekERC721.Billing', () => { MintParams.ens, MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, diff --git a/contracts/test/hardhat/contracts/FleekERC721/collection-roles.t.ts b/contracts/test/hardhat/contracts/FleekERC721/collection-roles.t.ts index b211d05..e91241c 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/collection-roles.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/collection-roles.t.ts @@ -187,6 +187,7 @@ describe('FleekERC721.CollectionRoles', () => { TestConstants.MintParams.ens, TestConstants.MintParams.commitHash, TestConstants.MintParams.gitRepository, + TestConstants.MintParams.ipfsHash, TestConstants.MintParams.logo, TestConstants.MintParams.color, TestConstants.MintParams.accessPointAutoApprovalSettings, diff --git a/contracts/test/hardhat/contracts/FleekERC721/ens.t.ts b/contracts/test/hardhat/contracts/FleekERC721/ens.t.ts index bc60c8a..0ed57cf 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/ens.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/ens.t.ts @@ -22,6 +22,7 @@ describe('FleekERC721.ENS', () => { 'app.eth', MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, @@ -43,6 +44,7 @@ describe('FleekERC721.ENS', () => { 'app.eth', MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, diff --git a/contracts/test/hardhat/contracts/FleekERC721/get-last-token-id.t.ts b/contracts/test/hardhat/contracts/FleekERC721/get-last-token-id.t.ts index f9193f2..951c9c6 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/get-last-token-id.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/get-last-token-id.t.ts @@ -14,6 +14,7 @@ describe('FleekERC721.GetLastTokenId', () => { TestConstants.MintParams.ens, TestConstants.MintParams.commitHash, TestConstants.MintParams.gitRepository, + TestConstants.MintParams.ipfsHash, TestConstants.MintParams.logo, TestConstants.MintParams.color, false, diff --git a/contracts/test/hardhat/contracts/FleekERC721/helpers/constants.ts b/contracts/test/hardhat/contracts/FleekERC721/helpers/constants.ts index b4086aa..fa938ee 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/helpers/constants.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/helpers/constants.ts @@ -23,6 +23,7 @@ export const TestConstants = Object.freeze({ externalUrl: 'https://fleek.co', commitHash: 'b72e47171746b6a9e29b801af9cb655ecf4d665c', gitRepository: 'https://github.com/fleekxyz/non-fungible-apps', + ipfsHash: 'mtwirsqawjuoloq2gvtyug2tc3jbf5htm2zeo4rsknfiv3fdp46a', logo: 'data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjI1MDAiIHdpZHRoPSIyMTgzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjQgMTQxLjUzMTk5OTk5OTk5OTk4Ij48cGF0aCBkPSJNMTAuMzgzIDEyNi44OTRMMCAwbDEyNCAuMjU1LTEwLjk3OSAxMjYuNjM5LTUwLjU1MyAxNC42Mzh6IiBmaWxsPSIjZTM0ZjI2Ii8+PHBhdGggZD0iTTYyLjQ2OCAxMjkuMjc3VjEyLjA4NWw1MS4wNjQuMTctOS4xMDYgMTA0Ljg1MXoiIGZpbGw9IiNlZjY1MmEiLz48cGF0aCBkPSJNOTkuNDkgNDEuMzYybDEuNDQ2LTE1LjQ5SDIyLjM4M2w0LjM0IDQ3LjQ5aDU0LjIxM0w3OC44MSA5My42MTdsLTE3LjM2MiA0LjY4LTE3LjYxNy01LjEwNi0uOTM2LTEyLjA4NUgyNy4zMTlsMi4xMjggMjQuNjgxIDMyIDguOTM2IDMyLjI1NS04LjkzNiA0LjM0LTQ4LjE3SDQxLjEwN0wzOS40OSA0MS4zNjJ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+', color: 0xe34f26, accessPointAutoApprovalSettings: false, diff --git a/contracts/test/hardhat/contracts/FleekERC721/helpers/events.ts b/contracts/test/hardhat/contracts/FleekERC721/helpers/events.ts index 3c7cdd7..014351c 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/helpers/events.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/helpers/events.ts @@ -2,6 +2,6 @@ export const Events = Object.freeze({ MetadataUpdate: { string: 'MetadataUpdate(uint256,string,string,address)', uint24: 'MetadataUpdate(uint256,string,uint24,address)', - stringTuple: 'MetadataUpdate(uint256,string,string[2],address)', + stringArray4: 'MetadataUpdate(uint256,string,string[4],address)', }, }); diff --git a/contracts/test/hardhat/contracts/FleekERC721/helpers/fixture.ts b/contracts/test/hardhat/contracts/FleekERC721/helpers/fixture.ts index 7e82e64..ba27a7c 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/helpers/fixture.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/helpers/fixture.ts @@ -44,6 +44,7 @@ export abstract class Fixtures { TestConstants.MintParams.ens, TestConstants.MintParams.commitHash, TestConstants.MintParams.gitRepository, + TestConstants.MintParams.ipfsHash, TestConstants.MintParams.logo, TestConstants.MintParams.color, TestConstants.MintParams.accessPointAutoApprovalSettings, diff --git a/contracts/test/hardhat/contracts/FleekERC721/minting.t.ts b/contracts/test/hardhat/contracts/FleekERC721/minting.t.ts index a21a94e..4764df7 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/minting.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/minting.t.ts @@ -17,6 +17,7 @@ describe('FleekERC721.Minting', () => { MintParams.ens, MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, @@ -40,6 +41,7 @@ describe('FleekERC721.Minting', () => { MintParams.ens, MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, @@ -66,6 +68,7 @@ describe('FleekERC721.Minting', () => { MintParams.ens, MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, @@ -87,6 +90,7 @@ describe('FleekERC721.Minting', () => { '', MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, MintParams.accessPointAutoApprovalSettings, diff --git a/contracts/test/hardhat/contracts/FleekERC721/pausable.t.ts b/contracts/test/hardhat/contracts/FleekERC721/pausable.t.ts index ee4bc46..aa6cc33 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/pausable.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/pausable.t.ts @@ -18,6 +18,7 @@ describe('FleekERC721.Pausable', () => { MintParams.ens, MintParams.commitHash, MintParams.gitRepository, + MintParams.ipfsHash, MintParams.logo, MintParams.color, false, diff --git a/contracts/test/hardhat/contracts/FleekERC721/update-properties.t.ts b/contracts/test/hardhat/contracts/FleekERC721/update-properties.t.ts index 57db432..775c48b 100644 --- a/contracts/test/hardhat/contracts/FleekERC721/update-properties.t.ts +++ b/contracts/test/hardhat/contracts/FleekERC721/update-properties.t.ts @@ -51,12 +51,20 @@ describe('FleekERC721.UpdateProperties', () => { it('should emit event for build change', async () => { const { contract, tokenId, owner } = fixture; - await expect(contract.setTokenBuild(tokenId, 'commitHash', 'gitRepository')) - .to.emit(contract, Events.MetadataUpdate.stringTuple) + await expect( + contract.setTokenBuild( + tokenId, + 'commitHash', + 'gitRepository', + 'ipfsHash', + 'domain' + ) + ) + .to.emit(contract, Events.MetadataUpdate.stringArray4) .withArgs( tokenId, 'build', - ['commitHash', 'gitRepository'], + ['commitHash', 'gitRepository', 'ipfsHash', 'domain'], owner.address ); }); diff --git a/contracts/test/hardhat/scripts/deploy.ts b/contracts/test/hardhat/scripts/deploy.ts index d04ba3f..ad6274a 100644 --- a/contracts/test/hardhat/scripts/deploy.ts +++ b/contracts/test/hardhat/scripts/deploy.ts @@ -99,6 +99,7 @@ describe('Deploy', () => { TestConstants.MintParams.ens, TestConstants.MintParams.commitHash, TestConstants.MintParams.gitRepository, + TestConstants.MintParams.ipfsHash, TestConstants.MintParams.logo, TestConstants.MintParams.color, TestConstants.MintParams.accessPointAutoApprovalSettings, diff --git a/package.json b/package.json index 9051c1e..e6ee55c 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "pinst": "^3.0.0", "prettier": "^2.8.4", "prettier-plugin-solidity": "^1.0.0", + "serverless-offline": "^12.0.4", "typescript": "^4.9.5" } } diff --git a/serverless/README.md b/serverless/README.md index 10c1fae..2738bbc 100644 --- a/serverless/README.md +++ b/serverless/README.md @@ -37,6 +37,22 @@ To deploy to development environment: To deploy to production environment: `yarn sls deploy --stage prd` +### Running MongoDB + +The first step to run MongoDB is making sure the service is installed on the machine locally. You can check the [official MongoDB website](https://www.mongodb.com/docs/manual/installation/#mongodb-installation-tutorials) for more information on the installation process. + +To process database transactions such as `create` calls, Prisma needs the MongoDB instance to be running as a replica set. Run the commands below to start a replica set with `mongod` and `mongosh`: + +``` +// You should replace the dbpath with the actual path on your machine and assign a name to your replica set. (Default path on linux is: /var/lib/mongodb) +// Do not close the terminal tab after running mongod. +$ sudo mongod --port 27017 --dbpath /path/to/db --replSet replicaName --bind_ip localhost,127.0.0.1 +// Start a mongosh session and run the replica set initiation command in the mongo shell. +$ mongosh + > rs.initiate() +``` + +Make sure you copy the connection string that is presented in the `Connecting to` field when the mongosh service starts to run. We need the connection string to access the replica set. Rename the `.env.example` file to `.env` and replace the connection string placeholder in the file with the one you copied. ### Prisma configuration diff --git a/serverless/package.json b/serverless/package.json index 87247fb..a87bce7 100644 --- a/serverless/package.json +++ b/serverless/package.json @@ -7,7 +7,8 @@ "build": "yarn tsc", "invoke:build": "yarn build && serverless invoke local --function submitBuildInfo", "prisma:generate": "npx prisma generate", - "prisma:pull": "npx prisma db pull" + "prisma:pull": "npx prisma db pull --force", + "start": "serverless offline" }, "author": "fleek", "license": "MIT", @@ -30,12 +31,13 @@ "@middy/http-json-body-parser": "^4.2.7", "@middy/http-response-serializer": "^4.2.8", "@prisma/client": "^4.13.0", - "aws-sdk": "^2.1342.0", - "prisma": "^4.13.0", - "uuid": "^9.0.0", "@types/node": "^18.15.11", + "aws-sdk": "^2.1342.0", + "dotenv": "^16.0.3", + "prisma": "^4.13.0", "ts-node": "^10.9.1", "typescript": "^5.0.4", + "uuid": "^9.0.0", "web3": "^1.9.0" } } diff --git a/serverless/prisma/schema.prisma b/serverless/prisma/schema.prisma index 0a13b0b..4ecf390 100644 --- a/serverless/prisma/schema.prisma +++ b/serverless/prisma/schema.prisma @@ -7,10 +7,21 @@ datasource db { url = env("DATABASE_URL") } -model tokens { - id String @id @default(auto()) @map("_id") @db.ObjectId - commit_hash String - github_url String - owner String - tokenId Int +model builds { + id String @id @default(auto()) @map("_id") @db.ObjectId + commitHash String + domain String + githubRepository String + ipfsHash String +} + +model tokens { + id String @id @default(auto()) @map("_id") @db.ObjectId + commitHash String + domain String + githubRepository String + ipfsHash String + owner String + tokenId Int + verified Boolean } diff --git a/serverless/src/functions/builds/handler.ts b/serverless/src/functions/builds/handler.ts index a1eb399..31a43d8 100644 --- a/serverless/src/functions/builds/handler.ts +++ b/serverless/src/functions/builds/handler.ts @@ -1,30 +1,91 @@ import { APIGatewayProxyResult, APIGatewayEvent } from 'aws-lambda'; import { formatJSONResponse } from '@libs/api-gateway'; -const querystring = require('querystring'); import { v4 } from 'uuid'; -import { nfaContract } from '@libs/nfa-contract'; +import { prisma } from '@libs/prisma'; +import { account, nfaContract } from '@libs/nfa-contract'; export const submitBuildInfo = async ( event: APIGatewayEvent ): Promise => { try { - const eventData = querystring.parse(event.body); + if (event.body === null) { + return formatJSONResponse({ + status: 422, + message: 'Required parameters were not passed.', + }); + } + + const data = JSON.parse(event.body); + const id = v4(); const buildInfo = { buildId: id, createdAt: new Date().toISOString(), - submittedData: eventData, + githubRepository: data.githubRepository, + commitHash: data.commitHash, + ipfsHash: data.ipfsHash, + domain: data.domain, }; - // place holder call - nfaContract.methods - .setTokenBuild(1, 'hash', 'repo') - .call((err: string | undefined, res: any) => { - if (err) throw new Error(err); - console.log('result'); - console.log(res); + // Add build record to the database, if it's not already added + const buildRecord = await prisma.builds.findMany({ + where: { + commitHash: buildInfo.commitHash, + githubRepository: buildInfo.githubRepository, + ipfsHash: buildInfo.ipfsHash, + domain: buildInfo.domain, + }, + }); + + if (buildRecord.length == 0) { + await prisma.builds.create({ + data: { + githubRepository: buildInfo.githubRepository, + commitHash: buildInfo.commitHash, + ipfsHash: buildInfo.ipfsHash, + domain: buildInfo.domain, + }, }); + } + + const mintRecord = await prisma.tokens.findMany({ + where: { + ipfsHash: buildInfo.ipfsHash, + domain: buildInfo.domain, + commitHash: buildInfo.commitHash, + githubRepository: buildInfo.githubRepository, + verified: false, + }, + }); + + if (mintRecord.length > 0) { + // Trigger verification + + // Mark the token as verified in the contract + // call the `setTokenVerified` method + await nfaContract.methods + .setTokenVerified(mintRecord[0].tokenId, true) + .send({ + from: account.address, + gas: '1000000', + }) + .catch(console.error); + + // Update the database record in the tokens collection + await prisma.tokens.updateMany({ + where: { + ipfsHash: buildInfo.ipfsHash, + domain: buildInfo.domain, + commitHash: buildInfo.commitHash, + githubRepository: buildInfo.githubRepository, + verified: false, + }, + data: { + verified: true, + }, + }); + } return formatJSONResponse({ buildInfo, diff --git a/serverless/src/functions/mints/handler.ts b/serverless/src/functions/mints/handler.ts index 313fab5..aee1ee3 100644 --- a/serverless/src/functions/mints/handler.ts +++ b/serverless/src/functions/mints/handler.ts @@ -6,31 +6,185 @@ import { import { formatJSONResponse } from '@libs/api-gateway'; import { v4 } from 'uuid'; +import { initPrisma, prisma } from '@libs/prisma'; +import { account, nfaContract, web3 } from '@libs/nfa-contract'; export const submitMintInfo = async ( event: APIGatewayEvent ///context: APIGatewayEventRequestContext ): Promise => { try { + if (event.body === null) { + return formatJSONResponse({ + status: 422, + message: 'Required parameters were not passed.', + }); + } const id = v4(); /**if (!verifyAlchemySig(event.headers.xalchemywork)) { throw new Error('Invalid sig'); }**/ - if (event.body == undefined) { - throw new Error('Undefined data'); - } + const eventBody = JSON.parse(event.body); + const topics = eventBody.event.data.block.logs[1].slice(1, 3); + const hexCalldata = eventBody.event.data.block.logs[1].data; + + const decodedLogs = web3.eth.abi.decodeLog( + [ + { + indexed: true, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'string', + name: 'name', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'description', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'externalURL', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'ENS', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'commitHash', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'gitRepository', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'ipfsHash', + type: 'string', + }, + { + indexed: false, + internalType: 'string', + name: 'logo', + type: 'string', + }, + { + indexed: false, + internalType: 'uint24', + name: 'color', + type: 'uint24', + }, + { + indexed: false, + internalType: 'bool', + name: 'accessPointAutoApproval', + type: 'bool', + }, + { + indexed: true, + internalType: 'address', + name: 'minter', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'verifier', + type: 'address', + }, + ], + hexCalldata, + topics + ); const mintInfo = { - buildId: id, + mintId: id, createdAt: new Date().toISOString(), - body: JSON.parse(event.body), + tokenId: decodedLogs.tokenId, + githubRepository: decodedLogs.gitRepository, + commit_hash: decodedLogs.commitHash, + owner: decodedLogs.owner, + ipfsHash: decodedLogs.ipfsHash, + domain: decodedLogs.externalURL, }; - // check if we have it in mongo - // if so, trigger verification call - // if not, add to mongo + initPrisma(); + + // Check if there is any build associated with the repository, commit hash, tokenId, and ipfsHash + + const build = await prisma.builds.findMany({ + where: { + githubRepository: mintInfo.githubRepository, + commitHash: mintInfo.commit_hash, + ipfsHash: mintInfo.ipfsHash, + domain: mintInfo.domain, + }, + }); + + let verified = false; + + if (build.length > 0) { + // Mark the token as verified in the contract + try { + // call the `setTokenVerified` method + await nfaContract.methods + .setTokenVerified(mintInfo.tokenId, true) + .send({ + from: account.address, + gas: '1000000', + }); + verified = true; + } catch (error) { + // catch transaction error + console.error(error); + } + } + + // Add the record to the database + + const token = await prisma.tokens.findMany({ + where: { + tokenId: Number(mintInfo.tokenId), + }, + }); + + if (token.length == 0) { + await prisma.tokens.create({ + data: { + tokenId: Number(mintInfo.tokenId), + githubRepository: mintInfo.githubRepository, + commitHash: mintInfo.commit_hash, + owner: mintInfo.owner, + ipfsHash: mintInfo.ipfsHash, + verified: verified, + domain: mintInfo.domain, + }, + }); + } return formatJSONResponse({ mintInfo, diff --git a/serverless/src/libs/nfa-contract.ts b/serverless/src/libs/nfa-contract.ts index 7fbbda4..c3681b3 100644 --- a/serverless/src/libs/nfa-contract.ts +++ b/serverless/src/libs/nfa-contract.ts @@ -1,9 +1,18 @@ import Web3 from 'web3'; import * as abiFile from '../../../contracts/deployments/goerli/FleekERC721.json'; +import * as dotenv from 'dotenv'; + +dotenv.config(); + +if (process.env.PRIVATE_KEY === undefined) { + throw Error('Private key environment variable not set.'); +} const contract_address = abiFile.address; -const abi = abiFile.abi as any; - -const web3 = new Web3('https://rpc.goerli.mudit.blog'); +export const abi = abiFile.abi as any; +export const web3 = new Web3('https://rpc.goerli.mudit.blog'); export const nfaContract = new web3.eth.Contract(abi, contract_address); +export const account = web3.eth.accounts.privateKeyToAccount( + process.env.PRIVATE_KEY +); diff --git a/serverless/src/libs/query-prisma.ts b/serverless/src/libs/prisma.ts similarity index 81% rename from serverless/src/libs/query-prisma.ts rename to serverless/src/libs/prisma.ts index 66799e0..e3b7cc5 100644 --- a/serverless/src/libs/query-prisma.ts +++ b/serverless/src/libs/prisma.ts @@ -10,7 +10,9 @@ export async function initPrisma() { initPrisma() .catch(async (e) => { console.error(e); - }) - .finally(async () => { await prisma.$disconnect(); + process.exit(1); + }) + .finally(() => { + prisma.$disconnect(); }); diff --git a/serverless/tsconfig.json b/serverless/tsconfig.json index 38f60c3..dbd4027 100644 --- a/serverless/tsconfig.json +++ b/serverless/tsconfig.json @@ -11,7 +11,6 @@ "outDir": "dist", "target": "es2016", "module": "commonjs", - "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, diff --git a/serverless/yarn.lock b/serverless/yarn.lock index ca8ad81..a67618e 100644 --- a/serverless/yarn.lock +++ b/serverless/yarn.lock @@ -1588,7 +1588,7 @@ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== -"@types/node@*", "@types/node@^18.15.5": +"@types/node@*": version "18.15.5" resolved "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz" integrity sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew== @@ -1598,6 +1598,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^18.15.11": + version "18.16.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.1.tgz#5db121e9c5352925bb1f1b892c4ae620e3526799" + integrity sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA== + "@types/pbkdf2@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" @@ -2767,7 +2772,7 @@ dotenv-expand@^9.0.0: dotenv@^16.0.3: version "16.0.3" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== duration@^0.2.2: @@ -6262,10 +6267,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz" - integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== +typescript@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== ultron@~1.1.0: version "1.1.1" diff --git a/subgraph/schema.graphql b/subgraph/schema.graphql index 5b5b28f..ad347fe 100644 --- a/subgraph/schema.graphql +++ b/subgraph/schema.graphql @@ -27,6 +27,7 @@ type NewMint @entity(immutable: true) { ENS: String! commitHash: String! # string gitRepository: String! # string + ipfsHash: String! logo: String! color: Int! accessPointAutoApproval: Boolean! @@ -44,7 +45,7 @@ type MetadataUpdate @entity(immutable: true) { key: String! stringValue: String uint24Value: Int - doubleStringValue: [String!]! + multipleStringValue: [String!]! booleanValue: Boolean byAddress: Bytes! blockNumber: BigInt! @@ -76,12 +77,20 @@ type Token @entity { owner: Owner! mintedBy: Bytes! controllers: [Controller!] - gitRepository: GitRepository! - commitHash: String! accessPoints: [AccessPoint!] @derivedFrom(field: "token") verifier: Verifier # Address verified: Boolean! createdAt: BigInt! + builds: [Build!]! +} + +type Build @entity { + id: Bytes! # Token ID + gitRepository: GitRepository! + commitHash: String! + ipfsHash: String! + domain: String! + token: Token! @derivedFrom(field: "builds") } # Owner entity for collection, access points, and tokens @@ -106,7 +115,7 @@ type Verifier @entity { type GitRepository @entity { id: String! # transaction hash of the first transaction this repository appeared in - tokens: [Token!] @derivedFrom(field: "gitRepository") + builds: [Build!] @derivedFrom(field: "gitRepository") } type AccessPoint @entity { diff --git a/subgraph/src/metadata-update.ts b/subgraph/src/metadata-update.ts index 4d1ebaf..faba2b3 100644 --- a/subgraph/src/metadata-update.ts +++ b/subgraph/src/metadata-update.ts @@ -13,6 +13,7 @@ import { GitRepository as GitRepositoryEntity, MetadataUpdate, Token, + Build, } from '../generated/schema'; export function handleMetadataUpdateWithStringValue( @@ -61,7 +62,7 @@ export function handleMetadataUpdateWithStringValue( } } -export function handleMetadataUpdateWithDoubleStringValue( +export function handleMetadataUpdateWithMultipleStringValues( event: MetadataUpdateEvent3 ): void { /** @@ -73,30 +74,29 @@ export function handleMetadataUpdateWithDoubleStringValue( entity.key = event.params.key; entity.tokenId = event.params._tokenId; - entity.doubleStringValue = event.params.value; + entity.multipleStringValue = event.params.value; entity.blockNumber = event.block.number; entity.blockTimestamp = event.block.timestamp; entity.transactionHash = event.transaction.hash; entity.save(); - // UPDATE TOKEN - const token = Token.load( + // CREATE BUILD + const build = new Build( Bytes.fromByteArray(Bytes.fromBigInt(event.params._tokenId)) ); - - if (token) { - if (event.params.key == 'build') { - let gitRepositoryEntity = GitRepositoryEntity.load(event.params.value[1]); - if (!gitRepositoryEntity) { - // Create a new gitRepository entity - gitRepositoryEntity = new GitRepositoryEntity(event.params.value[1]); - } - token.commitHash = event.params.value[0]; - token.gitRepository = event.params.value[1]; - token.save(); - gitRepositoryEntity.save(); + if (event.params.key == 'build') { + let gitRepositoryEntity = GitRepositoryEntity.load(event.params.value[1]); + if (!gitRepositoryEntity) { + // Create a new gitRepository entity + gitRepositoryEntity = new GitRepositoryEntity(event.params.value[1]); } + build.commitHash = event.params.value[0]; + build.gitRepository = event.params.value[1]; + build.ipfsHash = event.params.value[2]; + build.domain = event.params.value[3]; + build.save(); + gitRepositoryEntity.save(); } } diff --git a/subgraph/src/mint.ts b/subgraph/src/mint.ts index c0b3472..eb1c577 100644 --- a/subgraph/src/mint.ts +++ b/subgraph/src/mint.ts @@ -23,6 +23,7 @@ export function handleNewMint(event: NewMintEvent): void { const externalURL = event.params.externalURL; const ENS = event.params.ENS; const gitRepository = event.params.gitRepository; + const ipfsHash = event.params.ipfsHash; const commitHash = event.params.commitHash; const logo = event.params.logo; const color = event.params.color; @@ -38,6 +39,7 @@ export function handleNewMint(event: NewMintEvent): void { newMintEntity.ENS = ENS; newMintEntity.commitHash = commitHash; newMintEntity.gitRepository = gitRepository; + newMintEntity.ipfsHash = ipfsHash; newMintEntity.logo = logo; newMintEntity.color = color; newMintEntity.accessPointAutoApproval = accessPointAutoApproval; @@ -68,8 +70,6 @@ export function handleNewMint(event: NewMintEvent): void { token.description = description; token.externalURL = externalURL; token.ENS = ENS; - token.gitRepository = gitRepository; - token.commitHash = commitHash; token.logo = logo; token.color = color; token.accessPointAutoApproval = accessPointAutoApproval; diff --git a/subgraph/subgraph.yaml b/subgraph/subgraph.yaml index de2f258..f971acd 100644 --- a/subgraph/subgraph.yaml +++ b/subgraph/subgraph.yaml @@ -32,7 +32,7 @@ dataSources: - ChangeAccessPointAutoApproval abis: - name: FleekNFA - file: ../contracts/deployments/goerli/FleekERC721.json + file: ../contracts/artifacts/contracts/FleekERC721.sol/FleekERC721.json eventHandlers: - event: Approval(indexed address,indexed address,indexed uint256) handler: handleApproval @@ -41,13 +41,13 @@ dataSources: # Token Events - event: MetadataUpdate(indexed uint256,string,string,indexed address) handler: handleMetadataUpdateWithStringValue - - event: MetadataUpdate(indexed uint256,string,string[2],indexed address) - handler: handleMetadataUpdateWithDoubleStringValue + - event: MetadataUpdate(indexed uint256,string,string[4],indexed address) + handler: handleMetadataUpdateWithMultipleStringValues - event: MetadataUpdate(indexed uint256,string,uint24,indexed address) handler: handleMetadataUpdateWithIntValue - event: MetadataUpdate(indexed uint256,string,bool,indexed address) handler: handleMetadataUpdateWithBooleanValue - - event: NewMint(indexed uint256,string,string,string,string,string,string,string,uint24,bool,indexed address,indexed address,address) + - event: NewMint(indexed uint256,string,string,string,string,string,string,string,string,uint24,bool,indexed address,indexed address,address) handler: handleNewMint - event: Transfer(indexed address,indexed address,indexed uint256) handler: handleTransfer diff --git a/yarn.lock b/yarn.lock index c17bd84..7a7c8b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,771 @@ dependencies: node-fetch "^2.6.1" +"@aws-crypto/crc32@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" + integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" + integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" + integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/sha256-js" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" + integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" + integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" + integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz#0da2d29b823daa03b7c1f0b43de1f030583b4f51" + integrity sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-lambda@^3.241.0": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.321.1.tgz#45f0df184b968dbf52153b99ba8f4ee7913ab719" + integrity sha512-+to+MJi+PzEZodAxZnCjaFaULKHdTccHllptKB1OYl2T1Gz8TfUyxknUnh6TpY3LBH/r4hcmT/Zkenj5rwelwA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.321.1" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/credential-provider-node" "3.321.1" + "@aws-sdk/eventstream-serde-browser" "3.310.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.310.0" + "@aws-sdk/eventstream-serde-node" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-signing" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.321.1" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + "@aws-sdk/util-waiter" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-sso-oidc@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.321.1.tgz#0570f65bb83a2d5526c688d28f56c73bbdab80cb" + integrity sha512-PBVfHQbyrsfzbnO6u9d9Sik8JlXGLhHj3zLd87iBkYXBdHwD5NuvwWu7OtjUtrHjP4SfzodVwfjmTbDAFqbtzw== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.321.1" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-sso@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.321.1.tgz#c17f468881f25e41d3315f8823144bc1a4b107c9" + integrity sha512-ecoT4tBGtRJR5G7oLBTMXZmgZZlff1amhSdKPEtkWxv6kWc8VPb5rRuRgVPsDR9HuesI6ZVlODptvGtnfkIJwA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.321.1" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/client-sts@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.321.1.tgz#37be13d1d69724a4bbfa58f531edb7c7829917c1" + integrity sha512-AB+N4a1TVEKl9Sd5O2TxTprEZp7Va6zPZLMraFAYMdmJVBmCmmwyBs7ygju685DpQ1dos5PRsKCRcossyY5pDQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/credential-provider-node" "3.321.1" + "@aws-sdk/fetch-http-handler" "3.310.0" + "@aws-sdk/hash-node" "3.310.0" + "@aws-sdk/invalid-dependency" "3.310.0" + "@aws-sdk/middleware-content-length" "3.310.0" + "@aws-sdk/middleware-endpoint" "3.310.0" + "@aws-sdk/middleware-host-header" "3.310.0" + "@aws-sdk/middleware-logger" "3.310.0" + "@aws-sdk/middleware-recursion-detection" "3.310.0" + "@aws-sdk/middleware-retry" "3.310.0" + "@aws-sdk/middleware-sdk-sts" "3.310.0" + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/middleware-signing" "3.310.0" + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/middleware-user-agent" "3.319.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/node-http-handler" "3.321.1" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/smithy-client" "3.316.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + "@aws-sdk/util-body-length-browser" "3.310.0" + "@aws-sdk/util-body-length-node" "3.310.0" + "@aws-sdk/util-defaults-mode-browser" "3.316.0" + "@aws-sdk/util-defaults-mode-node" "3.316.0" + "@aws-sdk/util-endpoints" "3.319.0" + "@aws-sdk/util-retry" "3.310.0" + "@aws-sdk/util-user-agent-browser" "3.310.0" + "@aws-sdk/util-user-agent-node" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + fast-xml-parser "4.1.2" + tslib "^2.5.0" + +"@aws-sdk/config-resolver@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz#c02dce96546d5cd25551bc89907b27224e16ca7f" + integrity sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-config-provider" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-env@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz#c52694fb276341db6ce4e816cf9ca90fa5830dad" + integrity sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-imds@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz#d8fb1223fee7e289a81e28177fe55dedf4d2745e" + integrity sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w== + dependencies: + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-ini@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.321.1.tgz#b7e7002a69b7f97ed54923390ca43b695bd4397b" + integrity sha512-prndSVQhiikNaI40bYnM2Q8PkC35FCwhbQnBk6KXNvdtfo9RqatMC639F+6oryb3BuMy++Ij4Yoi8WnPBs5Sww== + dependencies: + "@aws-sdk/credential-provider-env" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/credential-provider-process" "3.310.0" + "@aws-sdk/credential-provider-sso" "3.321.1" + "@aws-sdk/credential-provider-web-identity" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-node@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.321.1.tgz#2a55c531de80296c0fb9cf70e09504d1ea68d32f" + integrity sha512-5B1waOwSvY2JMLGRebo7IUqnTaGoCnby9cRbG/dhi7Ke97M3V8380S9THDJ/bktjL8zHEVfBVZy7HhXHzhSjEg== + dependencies: + "@aws-sdk/credential-provider-env" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/credential-provider-ini" "3.321.1" + "@aws-sdk/credential-provider-process" "3.310.0" + "@aws-sdk/credential-provider-sso" "3.321.1" + "@aws-sdk/credential-provider-web-identity" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-process@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz#0b2ee77f0c48262442d2768044d72332a4ad8884" + integrity sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-sso@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.321.1.tgz#b77c6f372edb47647f716d631e68c53b03a5d113" + integrity sha512-kg0rc1OacJFgAvmZj0TOu+BSc+yRdnC5dO/RAag3XU6+hlQI5/C080RQp9Qj6V7ga0HtAJMRwJcUlCPA3RJPug== + dependencies: + "@aws-sdk/client-sso" "3.321.1" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/token-providers" "3.321.1" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-web-identity@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz#c9fa09b0068027e58d31178e3fa06bf4e9ae9d36" + integrity sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/eventstream-codec@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.310.0.tgz#a5def3633f7ccdc3d477fd0b05e2eb31c5598ed9" + integrity sha512-clIeSgWbZbxwtsxZ/yoedNM0/kJFSIjjHPikuDGhxhqc+vP6TN3oYyVMFrYwFaTFhk2+S5wZcWYMw8Op1pWo+A== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-hex-encoding" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/eventstream-serde-browser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.310.0.tgz#02aef0262b5f740a1c8ffbdeb8459542f90c14dd" + integrity sha512-3S6ziuQVALgEyz0TANGtYDVeG8ArK4Y05mcgrs8qUTmsvlDIXX37cR/DvmVbNB76M4IrsZeSAIajL9644CywkA== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/eventstream-serde-config-resolver@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.310.0.tgz#e4e2358f36b9eb6d37da0a0f0d3fc32da91ad6b4" + integrity sha512-8s1Qdn9STj+sV75nUp9yt0W6fHS4BZ2jTm4Z/1Pcbvh2Gqs0WjH5n2StS+pDW5Y9J/HSGBl0ogmUr5lC5bXFHg== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/eventstream-serde-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.310.0.tgz#6e0fbc400bac677c77b946fd2a5cb00b57503c0e" + integrity sha512-kSnRomCgW43K9TmQYuwN9+AoYPnhyOKroanUMyZEzJk7rpCPMj4OzaUpXfDYOvznFNYn7NLaH6nHLJAr0VPlJA== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/eventstream-serde-universal@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.310.0.tgz#d0f95eaafb8fd09d9a21aec8f23b7f3cee2bb19a" + integrity sha512-Qyjt5k/waV5cDukpgT824ISZAz5U0pwzLz5ztR409u85AGNkF/9n7MS+LSyBUBSb0WJ5pUeSD47WBk+nLq9Nhw== + dependencies: + "@aws-sdk/eventstream-codec" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/fetch-http-handler@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz#f31006b7b3103683d72e177cd27d80354f7a37c4" + integrity sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/querystring-builder" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-base64" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/hash-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz#4c1c89b9a2da3bb9783de84f0b762cc055b90d67" + integrity sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-buffer-from" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/invalid-dependency@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz#b96da9b9f63b12d1c390f9a06eeb28840fcb5b3c" + integrity sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/is-array-buffer@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz#f87a79f1b858c88744f07e8d8d0a791df204017e" + integrity sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/middleware-content-length@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.310.0.tgz#cc9b6c25c10736cec41d0219c94b57cfdb4582a3" + integrity sha512-P8tQZxgDt6CAh1wd/W6WPzjc+uWPJwQkm+F7rAwRlM+k9q17HrhnksGDKcpuuLyIhPQYdmOMIkpKVgXGa4avhQ== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-endpoint@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.310.0.tgz#d4bf8ac3cd4800af789d6bcb469b7e8cfa10badb" + integrity sha512-Z+N2vOL8K354/lstkClxLLsr6hCpVRh+0tCMXrVj66/NtKysCEZ/0b9LmqOwD9pWHNiI2mJqXwY0gxNlKAroUg== + dependencies: + "@aws-sdk/middleware-serde" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/url-parser" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-host-header@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.310.0.tgz#bdd4fbffb58b331bda517df8340aa8b44ce55550" + integrity sha512-QWSA+46/hXorXyWa61ic2K7qZzwHTiwfk2e9mRRjeIRepUgI3qxFjsYqrWtrOGBjmFmq0pYIY8Bb/DCJuQqcoA== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-logger@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.310.0.tgz#8cc6381f49ef867cae1364b8517f939629e4dd9d" + integrity sha512-Lurm8XofrASBRnAVtiSNuDSRsRqPNg27RIFLLsLp/pqog9nFJ0vz0kgdb9S5Z+zw83Mm+UlqOe6D8NTUNp4fVg== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-recursion-detection@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.310.0.tgz#020c986ed8da751bd613fd84c8c8a805c89e0952" + integrity sha512-SuB75/xk/gyue24gkriTwO2jFd7YcUGZDClQYuRejgbXSa3CO0lWyawQtfLcSSEBp9izrEVXuFH24K1eAft5nQ== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-retry@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.310.0.tgz#12e95e962875d44af4acbdebe02db337a1ad5c35" + integrity sha512-oTPsRy2W4s+dfxbJPW7Km+hHtv/OMsNsVfThAq8DDYKC13qlr1aAyOqGLD+dpBy2aKe7ss517Sy2HcHtHqm7/g== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/service-error-classification" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/util-retry" "3.310.0" + tslib "^2.5.0" + uuid "^8.3.2" + +"@aws-sdk/middleware-sdk-sts@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.310.0.tgz#2001b421f317404ca98d4a1cfea408b7a64c35f5" + integrity sha512-+5PFwlYNLvLLIfw0ASAoWV/iIF8Zv6R6QGtyP0CclhRSvNjgbQDVnV0g95MC5qvh+GB/Yjlkt8qAjLSPjHfsrQ== + dependencies: + "@aws-sdk/middleware-signing" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-serde@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.310.0.tgz#e334031b66a1a155375ec901478b26570fbe1783" + integrity sha512-RNeeTVWSLTaentUeCgQKZhAl+C6hxtwD78cQWS10UymWpQFwbaxztzKUu4UQS5xA2j6PxwPRRUjqa4jcFjfLsg== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-signing@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.310.0.tgz#bd62d5623c80f6318b0d738c44780875500c911a" + integrity sha512-f9mKq+XMdW207Af3hKjdTnpNhdtwqWuvFs/ZyXoOkp/g1MY1O6L23Jy6i52m29LxbT4AuNRG1oKODfXM0vYVjQ== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/signature-v4" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-stack@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.310.0.tgz#06c83963998fbdc83e99b67a7a138529312a6224" + integrity sha512-010O1PD+UAcZVKRvqEusE1KJqN96wwrf6QsqbRM0ywsKQ21NDweaHvEDlds2VHpgmofxkRLRu/IDrlPkKRQrRg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/middleware-user-agent@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.319.0.tgz#8fa2d6d5e1824108f2bc618002dc0982801cf5c4" + integrity sha512-ytaLx2dlR5AdMSne6FuDCISVg8hjyKj+cHU20b2CRA/E/z+XXrLrssp4JrCgizRKPPUep0psMIa22Zd6osTT5Q== + dependencies: + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-endpoints" "3.319.0" + tslib "^2.5.0" + +"@aws-sdk/node-config-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz#ba8fb41af2db0316291ba9002267627553ec65ac" + integrity sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/node-http-handler@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.321.1.tgz#2de9380f3ce17f5b8b5d3c1300c8cd37d0ddddc5" + integrity sha512-DdQBrtFFDNtzphJIN3s93Vf+qd9LHSzH6WTQRrWoXhTDMHDzSI2Cn+c5KWfk89Nggp/n3+OTwUPQeCiBT5EBuw== + dependencies: + "@aws-sdk/abort-controller" "3.310.0" + "@aws-sdk/protocol-http" "3.310.0" + "@aws-sdk/querystring-builder" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/property-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz#5fae8a4c11bda052afa9747d47b031f1c4f0f246" + integrity sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/protocol-http@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz#855c3314cba7ff3024a9a9701ca3c641691d997e" + integrity sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/querystring-builder@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz#5307ea52c3a4a1ae6818bbb6987cc6fce68b043f" + integrity sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A== + dependencies: + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-uri-escape" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/querystring-parser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz#438183927e0b06e7c2ee004a1681b8d37c22e104" + integrity sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/service-error-classification@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz#352c1db426dcf54a44393bc9a0607dde796b2abb" + integrity sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw== + +"@aws-sdk/shared-ini-file-loader@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz#07e9c8e8e8bb0de7ed19b8cea908c920a493c9c9" + integrity sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/signature-v4@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.310.0.tgz#ad26426d3f72fa18e6808a36f827beb72d12bf2d" + integrity sha512-1M60P1ZBNAjCFv9sYW29OF6okktaeibWyW3lMXqzoHF70lHBZh+838iUchznXUA5FLabfn4jBFWMRxlAXJUY2Q== + dependencies: + "@aws-sdk/is-array-buffer" "3.310.0" + "@aws-sdk/types" "3.310.0" + "@aws-sdk/util-hex-encoding" "3.310.0" + "@aws-sdk/util-middleware" "3.310.0" + "@aws-sdk/util-uri-escape" "3.310.0" + "@aws-sdk/util-utf8" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/smithy-client@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.316.0.tgz#8ee751d7f396179ccf52d323eb34fa7d9508aeb9" + integrity sha512-6YXOKbRnXeS8r8RWzuL6JMBolDYM5Wa4fD/VY6x/wK78i2xErHOvqzHgyyeLI1MMw4uqyd4wRNJNWC9TMPduXw== + dependencies: + "@aws-sdk/middleware-stack" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/token-providers@3.321.1": + version "3.321.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.321.1.tgz#273f4e33ca7f90e577fc0362d5f200b5d8dfaece" + integrity sha512-I1sXS4qXirSvgvrOIPf+e1D7GvC83DdeyMxHZvuhHgeMCqDAzToS8OLxOX0enN9xZRHWAQYja8xyeGbDL2I0Zw== + dependencies: + "@aws-sdk/client-sso-oidc" "3.321.1" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/shared-ini-file-loader" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/types@3.310.0", "@aws-sdk/types@^3.222.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.310.0.tgz#b83a0580feb38b58417abb8b4ed3eae1a0cb7bc1" + integrity sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/url-parser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz#928c9eac2e3d74c3c5db4c6e364a1de00185dcaa" + integrity sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw== + dependencies: + "@aws-sdk/querystring-parser" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-base64@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz#d0fd49aff358c5a6e771d0001c63b1f97acbe34c" + integrity sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg== + dependencies: + "@aws-sdk/util-buffer-from" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-body-length-browser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz#3fca9d2f73c058edf1907e4a1d99a392fdd23eca" + integrity sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-body-length-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz#4846ae72834ab0636f29f89fc1878520f6543fed" + integrity sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-buffer-from@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz#7a72cb965984d3c6a7e256ae6cf1621f52e54a57" + integrity sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw== + dependencies: + "@aws-sdk/is-array-buffer" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-config-provider@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz#ff21f73d4774cfd7bd16ae56f905828600dda95f" + integrity sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-defaults-mode-browser@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.316.0.tgz#053d8061e51dbb8e6fd009130942c09de3ed18f2" + integrity sha512-6FSqLhYmaihtH2n1s4b2rlLW0ABU8N6VZIfzLfe2ING4PF0MzfaMMhnTFUHVXfKCVGoR8yP6iyFTRCyHGVEL1w== + dependencies: + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-defaults-mode-node@3.316.0": + version "3.316.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.316.0.tgz#5649af63804a552cd53609e4e16a63be2b3b8b3e" + integrity sha512-dkYy10hdjPSScXXvnjGpZpnJxllkb6ICHgLMwZ4JczLHhPM12T/4PQ758YN8HS+muiYDGX1Bl2z1jd/bMcewBQ== + dependencies: + "@aws-sdk/config-resolver" "3.310.0" + "@aws-sdk/credential-provider-imds" "3.310.0" + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/property-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-endpoints@3.319.0": + version "3.319.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.319.0.tgz#9be64762a8fae9eaac004cd3fa95576b3cb6ee38" + integrity sha512-3I64UMoYA2e2++oOUJXRcFtYLpLylnZFRltWfPo1B3dLlf+MIWat9djT+mMus+hW1ntLsvAIVu1hLVePJC0gvw== + dependencies: + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-hex-encoding@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz#19294c78986c90ae33f04491487863dc1d33bd87" + integrity sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz#b071baf050301adee89051032bd4139bba32cc40" + integrity sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-middleware@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz#713c5bfa296f4cf707150a0a1e911afd50dcf939" + integrity sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-retry@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz#4cdc35e2dfdacf2d928ab474ba8b67bbadd6be3c" + integrity sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA== + dependencies: + "@aws-sdk/service-error-classification" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-uri-escape@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz#9f942f09a715d8278875013a416295746b6085ba" + integrity sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q== + dependencies: + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-browser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz#48d463a93351b78b678df324f3518a9798029c44" + integrity sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw== + dependencies: + "@aws-sdk/types" "3.310.0" + bowser "^2.11.0" + tslib "^2.5.0" + +"@aws-sdk/util-user-agent-node@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz#ebefbedc5a4759adc958885741628ec0de1ab197" + integrity sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg== + dependencies: + "@aws-sdk/node-config-provider" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-utf8-browser@^3.0.0": + version "3.259.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz#4a7b9dcebb88e830d3811aeb21e9a6df4273afb4" + integrity sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA== + dependencies: + "@aws-sdk/util-buffer-from" "3.310.0" + tslib "^2.5.0" + +"@aws-sdk/util-waiter@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.310.0.tgz#a410739cfc637af9ccea21de079d00652e9b8363" + integrity sha512-AV5j3guH/Y4REu+Qh3eXQU9igljHuU4XjX2sADAgf54C0kkhcCCkkiuzk3IsX089nyJCqIcj5idbjdvpnH88Vw== + dependencies: + "@aws-sdk/abort-controller" "3.310.0" + "@aws-sdk/types" "3.310.0" + tslib "^2.5.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -467,6 +1232,266 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.2.tgz#6fc464307cbe3c8ca5064549b806360d84457b04" integrity sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA== +"@hapi/accept@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.1.tgz#36378307a67fe38a626fbfaf7f130cdb654d0385" + integrity sha512-aLkYj7zzgC3CSlEVOs84eBOEE3i9xZK2tdQEP+TOj2OFzMWCi9zjkRet82V3GGjecE//zFrCLKIykuaE0uM4bg== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/ammo@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/ammo/-/ammo-6.0.1.tgz#1bc9f7102724ff288ca03b721854fc5393ad123a" + integrity sha512-pmL+nPod4g58kXrMcsGLp05O2jF4P2Q3GiL8qYV7nKYEh3cGf+rV4P5Jyi2Uq0agGhVU63GtaSAfBEZOlrJn9w== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/b64@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/b64/-/b64-6.0.1.tgz#786b47dc070e14465af49e2428c1025bd06ed3df" + integrity sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/boom@^10.0.0", "@hapi/boom@^10.0.1": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-10.0.1.tgz#ebb14688275ae150aa6af788dbe482e6a6062685" + integrity sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/bounce@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@hapi/bounce/-/bounce-3.0.1.tgz#25a51bf95733749c557c6bf948048bffa66435e4" + integrity sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/bourne@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-3.0.0.tgz#f11fdf7dda62fe8e336fa7c6642d9041f30356d7" + integrity sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w== + +"@hapi/call@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@hapi/call/-/call-9.0.1.tgz#569b87d5b67abf0e58fb82a3894a61aaed3ca92e" + integrity sha512-uPojQRqEL1GRZR4xXPqcLMujQGaEpyVPRyBlD8Pp5rqgIwLhtveF9PkixiKru2THXvuN8mUrLeet5fqxKAAMGg== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/catbox-memory@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz#8f6b04c0cf2ce25da470324df360bd4e8d68b6ec" + integrity sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/catbox@^12.1.1": + version "12.1.1" + resolved "https://registry.yarnpkg.com/@hapi/catbox/-/catbox-12.1.1.tgz#9339dca0a5b18b3ca0a825ac5dfc916dbc5bab83" + integrity sha512-hDqYB1J+R0HtZg4iPH3LEnldoaBsar6bYp0EonBmNQ9t5CO+1CqgCul2ZtFveW1ReA5SQuze9GPSU7/aecERhw== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + "@hapi/podium" "^5.0.0" + "@hapi/validate" "^2.0.1" + +"@hapi/content@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hapi/content/-/content-6.0.0.tgz#2427af3bac8a2f743512fce2a70cbdc365af29df" + integrity sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA== + dependencies: + "@hapi/boom" "^10.0.0" + +"@hapi/cryptiles@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/cryptiles/-/cryptiles-6.0.1.tgz#7868a9d4233567ed66f0a9caf85fdcc56e980621" + integrity sha512-9GM9ECEHfR8lk5ASOKG4+4ZsEzFqLfhiryIJ2ISePVB92OHLp/yne4m+zn7z9dgvM98TLpiFebjDFQ0UHcqxXQ== + dependencies: + "@hapi/boom" "^10.0.1" + +"@hapi/file@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@hapi/file/-/file-3.0.0.tgz#f1fd824493ac89a6fceaf89c824afc5ae2121c09" + integrity sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q== + +"@hapi/h2o2@^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@hapi/h2o2/-/h2o2-10.0.1.tgz#a2576db653cbe91ff4902202eb0926225aaa6bb1" + integrity sha512-dcmVAzSn8jmjuTPejP/6VKbTHYh80mFUUuIPSyaRQBaQG2zXac11W5MNs0Xkk7TvJFPp8cB0LWQVZYpofpMN4g== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + "@hapi/validate" "^2.0.1" + "@hapi/wreck" "^18.0.1" + +"@hapi/hapi@^21.1.0": + version "21.3.2" + resolved "https://registry.yarnpkg.com/@hapi/hapi/-/hapi-21.3.2.tgz#f9f94c1c28ccad1444c838d04070fa1cd0409b33" + integrity sha512-tbm0zmsdUj8iw4NzFV30FST/W4qzh/Lsw6Q5o5gAhOuoirWvxm8a4G3o60bqBw8nXvRNJ8uLtE0RKLlZINxHcQ== + dependencies: + "@hapi/accept" "^6.0.1" + "@hapi/ammo" "^6.0.1" + "@hapi/boom" "^10.0.1" + "@hapi/bounce" "^3.0.1" + "@hapi/call" "^9.0.1" + "@hapi/catbox" "^12.1.1" + "@hapi/catbox-memory" "^6.0.1" + "@hapi/heavy" "^8.0.1" + "@hapi/hoek" "^11.0.2" + "@hapi/mimos" "^7.0.1" + "@hapi/podium" "^5.0.1" + "@hapi/shot" "^6.0.1" + "@hapi/somever" "^4.1.1" + "@hapi/statehood" "^8.1.1" + "@hapi/subtext" "^8.1.0" + "@hapi/teamwork" "^6.0.0" + "@hapi/topo" "^6.0.1" + "@hapi/validate" "^2.0.1" + +"@hapi/heavy@^8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@hapi/heavy/-/heavy-8.0.1.tgz#e2be4a6a249005b5a587f7604aafa8ed02461fb6" + integrity sha512-gBD/NANosNCOp6RsYTsjo2vhr5eYA3BEuogk6cxY0QdhllkkTaJFYtTXv46xd6qhBVMbMMqcSdtqey+UQU3//w== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + "@hapi/validate" "^2.0.1" + +"@hapi/hoek@^11.0.2": + version "11.0.2" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-11.0.2.tgz#cb3ea547daac7de5c9cf1d960c3f35c34f065427" + integrity sha512-aKmlCO57XFZ26wso4rJsW4oTUnrgTFw2jh3io7CAtO9w4UltBNwRXvXIVzzyfkaaLRo3nluP/19msA8vDUUuKw== + +"@hapi/iron@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@hapi/iron/-/iron-7.0.1.tgz#f74bace8dad9340c7c012c27c078504f070f14b5" + integrity sha512-tEZnrOujKpS6jLKliyWBl3A9PaE+ppuL/+gkbyPPDb/l2KSKQyH4lhMkVb+sBhwN+qaxxlig01JRqB8dk/mPxQ== + dependencies: + "@hapi/b64" "^6.0.1" + "@hapi/boom" "^10.0.1" + "@hapi/bourne" "^3.0.0" + "@hapi/cryptiles" "^6.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/mimos@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@hapi/mimos/-/mimos-7.0.1.tgz#5b65c76bb9da28ba34b0092215891f2c72bc899d" + integrity sha512-b79V+BrG0gJ9zcRx1VGcCI6r6GEzzZUgiGEJVoq5gwzuB2Ig9Cax8dUuBauQCFKvl2YWSWyOc8mZ8HDaJOtkew== + dependencies: + "@hapi/hoek" "^11.0.2" + mime-db "^1.52.0" + +"@hapi/nigel@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@hapi/nigel/-/nigel-5.0.1.tgz#a6dfe357e9d48d944e2ffc552bd95cb701d79ee9" + integrity sha512-uv3dtYuB4IsNaha+tigWmN8mQw/O9Qzl5U26Gm4ZcJVtDdB1AVJOwX3X5wOX+A07qzpEZnOMBAm8jjSqGsU6Nw== + dependencies: + "@hapi/hoek" "^11.0.2" + "@hapi/vise" "^5.0.1" + +"@hapi/pez@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@hapi/pez/-/pez-6.1.0.tgz#64d9f95580fc7d8f1d13437ee4a8676709954fda" + integrity sha512-+FE3sFPYuXCpuVeHQ/Qag1b45clR2o54QoonE/gKHv9gukxQ8oJJZPR7o3/ydDTK6racnCJXxOyT1T93FCJMIg== + dependencies: + "@hapi/b64" "^6.0.1" + "@hapi/boom" "^10.0.1" + "@hapi/content" "^6.0.0" + "@hapi/hoek" "^11.0.2" + "@hapi/nigel" "^5.0.1" + +"@hapi/podium@^5.0.0", "@hapi/podium@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@hapi/podium/-/podium-5.0.1.tgz#f292b4c0ca3118747394a102c6c3340bda96662f" + integrity sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ== + dependencies: + "@hapi/hoek" "^11.0.2" + "@hapi/teamwork" "^6.0.0" + "@hapi/validate" "^2.0.1" + +"@hapi/shot@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@hapi/shot/-/shot-6.0.1.tgz#ea84d1810b7c8599d5517c23b4ec55a529d7dc16" + integrity sha512-s5ynMKZXYoDd3dqPw5YTvOR/vjHvMTxc388+0qL0jZZP1+uwXuUD32o9DuuuLsmTlyXCWi02BJl1pBpwRuUrNA== + dependencies: + "@hapi/hoek" "^11.0.2" + "@hapi/validate" "^2.0.1" + +"@hapi/somever@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@hapi/somever/-/somever-4.1.1.tgz#b492c78408303c72cd1a39c5060f35d18a404b27" + integrity sha512-lt3QQiDDOVRatS0ionFDNrDIv4eXz58IibQaZQDOg4DqqdNme8oa0iPWcE0+hkq/KTeBCPtEOjDOBKBKwDumVg== + dependencies: + "@hapi/bounce" "^3.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/statehood@^8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@hapi/statehood/-/statehood-8.1.1.tgz#db4bd14c90810a1389763cb0b0b8f221aa4179c1" + integrity sha512-YbK7PSVUA59NArAW5Np0tKRoIZ5VNYUicOk7uJmWZF6XyH5gGL+k62w77SIJb0AoAJ0QdGQMCQ/WOGL1S3Ydow== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/bounce" "^3.0.1" + "@hapi/bourne" "^3.0.0" + "@hapi/cryptiles" "^6.0.1" + "@hapi/hoek" "^11.0.2" + "@hapi/iron" "^7.0.1" + "@hapi/validate" "^2.0.1" + +"@hapi/subtext@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@hapi/subtext/-/subtext-8.1.0.tgz#58733020a6655bc4d978df9e2f75e31696ff3f91" + integrity sha512-PyaN4oSMtqPjjVxLny1k0iYg4+fwGusIhaom9B2StinBclHs7v46mIW706Y+Wo21lcgulGyXbQrmT/w4dus6ww== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/bourne" "^3.0.0" + "@hapi/content" "^6.0.0" + "@hapi/file" "^3.0.0" + "@hapi/hoek" "^11.0.2" + "@hapi/pez" "^6.1.0" + "@hapi/wreck" "^18.0.1" + +"@hapi/teamwork@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hapi/teamwork/-/teamwork-6.0.0.tgz#b3a173cf811ba59fc6ee22318a1b51f4561f06e0" + integrity sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A== + +"@hapi/topo@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-6.0.2.tgz#f219c1c60da8430228af4c1f2e40c32a0d84bbb4" + integrity sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/validate@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@hapi/validate/-/validate-2.0.1.tgz#45cf228c4c8cfc61ba2da7e0a5ba93ff3b9afff1" + integrity sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA== + dependencies: + "@hapi/hoek" "^11.0.2" + "@hapi/topo" "^6.0.1" + +"@hapi/vise@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@hapi/vise/-/vise-5.0.1.tgz#5c9f16bcf1c039ddd4b6cad5f32d71eeb6bb7dac" + integrity sha512-XZYWzzRtINQLedPYlIkSkUr7m5Ddwlu99V9elh8CSygXstfv3UnWIXT0QD+wmR0VAG34d2Vx3olqcEhRRoTu9A== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/wreck@^18.0.1": + version "18.0.1" + resolved "https://registry.yarnpkg.com/@hapi/wreck/-/wreck-18.0.1.tgz#6df04532be25fd128c5244e72ccc21438cf8bb65" + integrity sha512-OLHER70+rZxvDl75xq3xXOfd3e8XIvz8fWY0dqg92UvhZ29zo24vQgfqgHSYhB5ZiuFpSLeriOisAlxAo/1jWg== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/bourne" "^3.0.0" + "@hapi/hoek" "^11.0.2" + "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -579,6 +1604,50 @@ resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== +"@serverless/utils@^6.8.2": + version "6.11.1" + resolved "https://registry.yarnpkg.com/@serverless/utils/-/utils-6.11.1.tgz#f012b2be881bdf11507947f64ad49c0b4a9e448d" + integrity sha512-HIPGwxUOtmJWTsXamJ9P3IYmvpI548c6moY+n4672a6HHo6xK2sShrQVtlJUkosMqvki30LDceydsTtHruVX3w== + dependencies: + archive-type "^4.0.0" + chalk "^4.1.2" + ci-info "^3.8.0" + cli-progress-footer "^2.3.2" + content-disposition "^0.5.4" + d "^1.0.1" + decompress "^4.2.1" + event-emitter "^0.3.5" + ext "^1.7.0" + ext-name "^5.0.0" + file-type "^16.5.4" + filenamify "^4.3.0" + get-stream "^6.0.1" + got "^11.8.6" + inquirer "^8.2.5" + js-yaml "^4.1.0" + jwt-decode "^3.1.2" + lodash "^4.17.21" + log "^6.3.1" + log-node "^8.0.3" + make-dir "^3.1.0" + memoizee "^0.4.15" + ms "^2.1.3" + ncjsm "^4.3.2" + node-fetch "^2.6.9" + open "^8.4.2" + p-event "^4.2.0" + supports-color "^8.1.1" + timers-ext "^0.1.7" + type "^2.7.2" + uni-global "^1.0.0" + uuid "^8.3.2" + write-file-atomic "^4.0.2" + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + "@solidity-parser/parser@^0.15.0": version "0.15.0" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.15.0.tgz#1d359be40be84f174dd616ccfadcf43346c6bf63" @@ -586,6 +1655,18 @@ dependencies: antlr4ts "^0.5.0-alpha.4" +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -611,6 +1692,21 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + "@types/js-yaml@^4.0.0": version "4.0.5" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" @@ -633,6 +1729,13 @@ dependencies: "@types/node" "*" +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + "@types/node@*": version "18.14.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" @@ -643,6 +1746,18 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.1": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" + integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== + "@types/semver@^7.3.12": version "7.3.13" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" @@ -826,6 +1941,13 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -838,6 +1960,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -852,6 +1979,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + antlr4ts@^0.5.0-alpha.4: version "0.5.0-alpha.4" resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" @@ -865,6 +1997,13 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +archive-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-4.0.0.tgz#f92e72233056dfc6969472749c267bdb046b1d70" + integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== + dependencies: + file-type "^4.2.0" + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -875,6 +2014,19 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-unflat-js@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/array-unflat-js/-/array-unflat-js-0.1.3.tgz#e1c516a50d9a4e86f127f5c76bae2c51e2981e1e" + integrity sha512-8pljkLj4vfz2i7Tf3yB31tRrszjP8/kwIyABGfcZ1GcHlvdUB0Sbx0WzQkOPMqUBxa/bu4+/NAyHEpDtZJzlJw== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -899,6 +2051,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -914,6 +2071,14 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -923,6 +2088,25 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + +boxen@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.0.2.tgz#465dd03e846c11f2d4c7eb0d1b3a39d66bd7057e" + integrity sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.0" + chalk "^5.0.1" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.0.1" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -938,12 +2122,35 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== -buffer@^5.5.0: +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + +buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -951,6 +2158,11 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + busboy@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -958,6 +2170,32 @@ busboy@^1.6.0: dependencies: streamsearch "^1.1.0" +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -971,6 +2209,11 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" +camelcase@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + capital-case@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" @@ -989,7 +2232,7 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -997,6 +2240,11 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^5.0.1, chalk@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + change-case-all@1.0.15: version "1.0.15" resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.15.tgz#de29393167fc101d646cd76b0ef23e27d09756ad" @@ -1051,11 +2299,32 @@ chokidar@^3.5.2: optionalDependencies: fsevents "~2.3.2" +ci-info@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + +cli-color@^2.0.1, cli-color@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" + integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.61" + es6-iterator "^2.0.3" + memoizee "^0.4.15" + timers-ext "^0.1.7" + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -1063,11 +2332,34 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-progress-footer@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/cli-progress-footer/-/cli-progress-footer-2.3.2.tgz#1c13ba3c3dd894ef366f4a4f0620b3067284154d" + integrity sha512-uzHGgkKdeA9Kr57eyH1W5HGiNShP8fV1ETq04HDNM1Un6ShXbHhwi/H8LNV9L1fQXKjEw0q5FUkEVNuZ+yZdSw== + dependencies: + cli-color "^2.0.2" + d "^1.0.1" + es5-ext "^0.10.61" + mute-stream "0.0.8" + process-utils "^4.0.0" + timers-ext "^0.1.7" + type "^2.6.0" + cli-spinners@^2.5.0: version "2.7.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== +cli-sprintf-format@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cli-sprintf-format/-/cli-sprintf-format-1.1.1.tgz#ec69955c89ef1c61243b52e68015b75c08fb9188" + integrity sha512-BbEjY9BEdA6wagVwTqPvmAwGB24U93rQPBFZUT8lNCDxXzre5LFHQUTJc70czjgUomVg8u8R5kW8oY9DYRFNeg== + dependencies: + cli-color "^2.0.1" + es5-ext "^0.10.53" + sprintf-kit "^2.0.1" + supports-color "^6.1.0" + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -1090,6 +2382,13 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -1131,6 +2430,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^2.8.1: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + common-tags@1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" @@ -1150,6 +2454,18 @@ constant-case@^3.0.4: tslib "^2.0.3" upper-case "^2.0.2" +content-disposition@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cosmiconfig-typescript-loader@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" @@ -1181,6 +2497,13 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cron-parser@^4.2.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.8.1.tgz#47062ea63d21d78c10ddedb08ea4c5b6fc2750fb" + integrity sha512-jbokKWGcyU4gl6jAfX97E1gDpY12DJ1cLJZmoDzaAln/shZ+S3KBFBuA2Q6WeUN4gJf/8klnV1EfvhA2lK5IRQ== + dependencies: + luxon "^3.2.1" + cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" @@ -1188,7 +2511,7 @@ cross-fetch@^3.1.5: dependencies: node-fetch "2.6.7" -cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1197,6 +2520,19 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + dataloader@2.2.2, dataloader@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0" @@ -1207,13 +2543,73 @@ debounce@^1.2.0: resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -1226,11 +2622,45 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +deferred@^0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/deferred/-/deferred-0.7.11.tgz#8c3f272fd5e6ce48a969cb428c0d233ba2146322" + integrity sha512-8eluCl/Blx4YOGwMapBvXRKxHXhA8ejDXYzEaK8+/gtcm8hRMhSLmXSqDmNUKNc/C8HNSmuyyp/hflhqDAvK2A== + dependencies: + d "^1.0.1" + es5-ext "^0.10.50" + event-emitter "^0.3.5" + next-tick "^1.0.0" + timers-ext "^0.1.7" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +desm@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/desm/-/desm-1.3.0.tgz#109f8f134b33d429bff4124ca6ca02f96a07711f" + integrity sha512-RvlHN2gfYA0BpCfjpWzCdQeR6p5U+84f5DzcirLow86UA/OcpwuOqXRC4Oz0bG9rzcJPVtMT6ZgNtjp4qh+uqA== + detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -1273,6 +2703,19 @@ dset@^3.1.2: resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== +duration@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/duration/-/duration-0.2.2.tgz#ddf149bc3bc6901150fe9017111d016b3357f529" + integrity sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg== + dependencies: + d "1" + es5-ext "~0.10.46" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -1285,6 +2728,18 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1292,12 +2747,118 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.12, es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.49, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@^0.10.62, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-set@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.6.tgz#5669e3b2aa01d61a50ba79964f733673574983b8" + integrity sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + es6-iterator "~2.0.3" + es6-symbol "^3.1.3" + event-emitter "^0.3.5" + type "^2.7.2" + +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" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -1410,6 +2971,14 @@ eslint@^8.35.0: strip-json-comments "^3.1.0" text-table "^0.2.0" +esniff@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-1.1.0.tgz#c66849229f91464dede2e0d40201ed6abf65f2ac" + integrity sha512-vmHXOeOt7FJLsqofvFk4WB3ejvcHizCd8toXXwADmYfd02p2QwHRgkUbhYDX54y08nqk818CUTWipgZGlyN07g== + dependencies: + d "1" + es5-ext "^0.10.12" + espree@^9.4.0: version "9.4.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" @@ -1448,6 +3017,51 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +execa@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" + integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^3.0.1" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +ext@^1.1.2, ext@^1.4.0, ext@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -1517,6 +3131,13 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" +fast-xml-parser@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz#5a98c18238d28a57bbdfa9fe4cda01211fff8f4a" + integrity sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg== + dependencies: + strnum "^1.0.5" + fastq@^1.6.0: version "1.15.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" @@ -1524,6 +3145,21 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -1538,6 +3174,49 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-type@^16.5.4: + version "16.5.4" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + +file-type@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" + integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== + +filenamify@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" + integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.1" + trim-repeated "^1.0.0" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -1545,6 +3224,14 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-requires@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-requires/-/find-requires-1.0.0.tgz#a4a750ed37133dee8a9cc8efd2cc56aca01dd96d" + integrity sha512-UME7hNwBfzeISSFQcBEDemEEskpOjI/shPrpJM5PI4DSdn6hX0dmz+2dL70blZER2z8tSnTRL+2rfzlYgtbBoQ== + dependencies: + es5-ext "^0.10.49" + esniff "^1.1.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -1566,6 +3253,13 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -1575,21 +3269,112 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^11.1.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fs2@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/fs2/-/fs2-0.3.9.tgz#3869e5b2ec7e0622eaa5f4373df540d3d427a9fb" + integrity sha512-WsOqncODWRlkjwll+73bAxVW3JPChDgaPX3DT4iTTm73UmG4VgALa7LaFblP232/DN60itkOrPZ8kaP1feksGQ== + dependencies: + d "^1.0.1" + deferred "^0.7.11" + es5-ext "^0.10.53" + event-emitter "^0.3.5" + ignore "^5.1.8" + memoizee "^0.4.14" + type "^2.1.0" + fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1628,6 +3413,13 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -1640,6 +3432,35 @@ globby@^11.0.3, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.6: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.10, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + grapheme-splitter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" @@ -1676,6 +3497,11 @@ graphql-ws@5.11.3: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.11.3.tgz#eaf8e6baf669d167975cff13ad86abca4ecfe82f" integrity sha512-fU8zwSgAX2noXAsuFiCZ8BtXeXZOzXyK5u1LloCdacsVth4skdBMPO74EG51lBoWSIZ8beUocdpV8+cQHBODnQ== +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1686,6 +3512,37 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + header-case@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" @@ -1694,6 +3551,11 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + http-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" @@ -1703,6 +3565,14 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -1711,6 +3581,11 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" +human-signals@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" + integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== + husky@^8.0.2: version "8.0.3" resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" @@ -1723,16 +3598,21 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.13: +ieee754@^1.1.13, 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== -ignore@^5.2.0: +ignore@^5.1.8, ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -1764,12 +3644,12 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inquirer@^8.0.0: +inquirer@^8.0.0, inquirer@^8.2.5: version "8.2.5" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== @@ -1790,11 +3670,36 @@ inquirer@^8.0.0: through "^2.3.6" wrap-ansi "^7.0.0" +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -1802,6 +3707,31 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1831,6 +3761,23 @@ is-lower-case@^2.0.2: dependencies: tslib "^2.0.3" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -1841,6 +3788,66 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" @@ -1853,6 +3860,25 @@ is-upper-case@^2.0.2: dependencies: tslib "^2.0.3" +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1871,11 +3897,26 @@ isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== +java-invoke-local@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/java-invoke-local/-/java-invoke-local-0.0.6.tgz#0e04b20b5e306a1e8384846a9ac286790ee6d868" + integrity sha512-gZmQKe1QrfkkMjCn8Qv9cpyJFyogTYqkP5WCobX5RNaHsJzIV/6NvAnlnouOcwKr29QrxLGDGcqYuJ+ae98s1A== + +jose@^4.11.2: + version "4.14.3" + resolved "https://registry.yarnpkg.com/jose/-/jose-4.14.3.tgz#3c42f3677d47f74a506f18a811ec82a6e095df98" + integrity sha512-YPM9Q+dmsna4CGWNn5+oHFsuXJdxvKAOVoNjpe2nje3odSoX5Xz4s71rP50vM8uUKJyQtMnEGPmbVCVR+G4W5g== + js-sdsl@^4.1.4: version "4.3.0" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== +js-string-escape@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" + integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -1893,6 +3934,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -1923,11 +3969,30 @@ json-to-pretty-yaml@^1.2.2: remedial "^1.0.7" remove-trailing-spaces "^1.0.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== +jsonpath-plus@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz#7ad94e147b3ed42f7939c315d2b9ce490c5a3899" + integrity sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA== + +jsonschema@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" + integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== + jsonwebtoken@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" @@ -1938,6 +4003,16 @@ jsonwebtoken@^9.0.0: ms "^2.1.1" semver "^7.3.8" +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -1955,6 +4030,18 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +jwt-decode@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" + integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== + +keyv@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" + integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== + dependencies: + json-buffer "3.0.1" + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1963,6 +4050,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -1999,6 +4093,20 @@ lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-node@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/log-node/-/log-node-8.0.3.tgz#441bf1a72f9f1c28b62f5bf42e9eb3765af74d73" + integrity sha512-1UBwzgYiCIDFs8A0rM2QdBFo8Wd8UQ0HrSTu/MNI+/2zN3NoHRj2fhplurAyuxTYUXu3Oohugq1jAn5s05u1MQ== + dependencies: + ansi-regex "^5.0.1" + cli-color "^2.0.1" + cli-sprintf-format "^1.1.1" + d "^1.0.1" + es5-ext "^0.10.53" + sprintf-kit "^2.0.1" + supports-color "^8.1.1" + type "^2.5.0" + log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -2017,6 +4125,24 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +log@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/log/-/log-6.3.1.tgz#fcf9bd71fe2274a51ad608dc95c549dd7512146b" + integrity sha512-McG47rJEWOkXTDioZzQNydAVvZNeEkSyLJ1VWkFwfW+o1knW+QSi8D1KjPn/TnctV+q99lkvJNe1f0E1IjfY2A== + dependencies: + d "^1.0.1" + duration "^0.2.2" + es5-ext "^0.10.53" + event-emitter "^0.3.5" + sprintf-kit "^2.0.1" + type "^2.5.0" + uni-global "^1.0.0" + +long-timeout@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/long-timeout/-/long-timeout-0.1.1.tgz#9721d788b47e0bcb5a24c2e2bee1a0da55dab514" + integrity sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w== + lower-case-first@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b" @@ -2031,6 +4157,11 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -2038,11 +4169,56 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== + dependencies: + es5-ext "~0.10.2" + +luxon@^3.2.0, luxon@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.3.0.tgz#d73ab5b5d2b49a461c47cedbc7e73309b4805b48" + integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg== + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +memoizee@^0.4.14, memoizee@^0.4.15: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -2061,7 +4237,7 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.52.0: +mime-db@1.52.0, mime-db@^1.28.0, mime-db@^1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -2078,6 +4254,21 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + minimatch@4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" @@ -2097,7 +4288,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -2117,6 +4308,25 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +ncjsm@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ncjsm/-/ncjsm-4.3.2.tgz#87fc4be253481969f691060a919ca194ba5ca879" + integrity sha512-6d1VWA7FY31CpI4Ki97Fpm36jfURkVbpktizp8aoVViTZRQgr/0ddmlKerALSSlzfwQRBeSq1qwwVcBJK4Sk7Q== + dependencies: + builtin-modules "^3.3.0" + deferred "^0.7.11" + es5-ext "^0.10.62" + es6-set "^0.1.6" + ext "^1.7.0" + find-requires "^1.0.0" + fs2 "^0.3.9" + type "^2.7.2" + +next-tick@1, next-tick@^1.0.0, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -2125,6 +4335,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -2132,13 +4347,31 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.1: +node-fetch@^2.6.1, node-fetch@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: whatwg-url "^5.0.0" +node-fetch@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" + integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + +node-schedule@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/node-schedule/-/node-schedule-2.1.1.tgz#6958b2c5af8834954f69bb0a7a97c62b97185de3" + integrity sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ== + dependencies: + cron-parser "^4.2.0" + long-timeout "0.1.1" + sorted-array-functions "^1.3.0" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -2151,7 +4384,52 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -once@^1.3.0: +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -2165,6 +4443,22 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +open@^8.4.2: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -2197,6 +4491,23 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-event@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" + integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== + dependencies: + p-timeout "^3.1.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + p-limit@3.1.0, p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -2218,6 +4529,34 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +p-memoize@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/p-memoize/-/p-memoize-7.1.1.tgz#53b1d0e6007288f7261cfa11a7603b84c9261bfa" + integrity sha512-DZ/bONJILHkQ721hSr/E9wMz5Am/OTJ9P6LhLFo2Tu+jL8044tgc9LwHO8g4PiaYePnlVVRAJcKmgy8J9MVFrA== + dependencies: + mimic-fn "^4.0.0" + type-fest "^3.0.0" + +p-retry@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-5.1.2.tgz#c16eaee4f2016f9161d12da40d3b8b0f2e3c1b76" + integrity sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g== + dependencies: + "@types/retry" "0.12.1" + retry "^0.13.1" + +p-timeout@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -2274,16 +4613,53 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +peek-readable@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" + integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + pinst@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pinst/-/pinst-3.0.0.tgz#80dec0a85f1f993c6084172020f3dbf512897eec" @@ -2320,6 +4696,29 @@ prettier@^2.8.4: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/process-utils/-/process-utils-4.0.0.tgz#3e5b204e1d38e62fe39ef3144664a1fe94097b9e" + integrity sha512-fMyMQbKCxX51YxR7YGCzPjLsU3yDzXFkP4oi1/Mt5Ixnk7GO/7uUTj8mrCHUwuvozWzI+V7QSJR9cZYnwNOZPg== + dependencies: + ext "^1.4.0" + fs2 "^0.3.9" + memoizee "^0.4.14" + type "^2.1.0" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^1.3.2: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -2347,6 +4746,24 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + readable-stream@^3.4.0: version "3.6.1" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" @@ -2356,6 +4773,22 @@ readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -2363,6 +4796,15 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +regexp.prototype.flags@^1.4.3: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -2388,6 +4830,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + resolve-from@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" @@ -2398,6 +4845,13 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -2406,6 +4860,11 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -2442,11 +4901,25 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" -safe-buffer@^5.0.1, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -2457,6 +4930,18 @@ scuid@^1.1.0: resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== + dependencies: + commander "^2.8.1" + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@^7.3.7, semver@^7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -2473,6 +4958,43 @@ sentence-case@^3.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" +serverless-offline@^12.0.4: + version "12.0.4" + resolved "https://registry.yarnpkg.com/serverless-offline/-/serverless-offline-12.0.4.tgz#93f60be0423867a5ebcf1cbc8d278e7bfa24e210" + integrity sha512-G256wDHI12vE0CJ0uTJMBlfnaN7o7td4GgClvQtuedt/n7vKoUfN0och+LybD6YVGsR5h1xpYjPPPLy2QFqWaA== + dependencies: + "@aws-sdk/client-lambda" "^3.241.0" + "@hapi/boom" "^10.0.0" + "@hapi/h2o2" "^10.0.0" + "@hapi/hapi" "^21.1.0" + "@serverless/utils" "^6.8.2" + array-unflat-js "^0.1.3" + boxen "^7.0.1" + chalk "^5.2.0" + desm "^1.3.0" + execa "^6.1.0" + fs-extra "^11.1.0" + is-wsl "^2.2.0" + java-invoke-local "0.0.6" + jose "^4.11.2" + js-string-escape "^1.0.1" + jsonpath-plus "^7.2.0" + jsonschema "^1.4.1" + jszip "^3.10.1" + luxon "^3.2.0" + node-fetch "^3.3.0" + node-schedule "^2.1.0" + object.hasown "^1.1.2" + p-memoize "^7.1.1" + p-retry "^5.1.2" + velocityjs "^2.0.6" + ws "^8.11.0" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -2490,7 +5012,16 @@ shell-quote@^1.7.3: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba" integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== -signal-exit@^3.0.2: +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -2531,6 +5062,25 @@ solidity-comments-extractor@^0.0.7: resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +sorted-array-functions@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz#8605695563294dffb2c9796d602bd8459f7a0dd5" + integrity sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA== + sponge-case@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" @@ -2538,6 +5088,13 @@ sponge-case@^1.0.1: dependencies: tslib "^2.0.3" +sprintf-kit@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sprintf-kit/-/sprintf-kit-2.0.1.tgz#bb837e8fa4b28f094531d8e33669120027236bb8" + integrity sha512-2PNlcs3j5JflQKcg4wpdqpZ+AjhQJ2OZEo34NXDtlB0tIPG84xaaXhpA8XFacFiwjKA4m49UOYG83y3hbMn/gQ== + dependencies: + es5-ext "^0.10.53" + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -2557,6 +5114,42 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -2564,6 +5157,13 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -2571,11 +5171,50 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-outer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +strtok3@^6.2.4: + version "6.3.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" + integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.1.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -2583,6 +5222,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -2590,6 +5236,13 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + swap-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" @@ -2597,6 +5250,19 @@ swap-case@^2.0.2: dependencies: tslib "^2.0.3" +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -2607,6 +5273,14 @@ through@^2.3.6, through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" + title-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982" @@ -2621,6 +5295,11 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -2633,11 +5312,26 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +token-types@^4.1.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753" + integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== + dependencies: + escape-string-regexp "^1.0.2" + ts-log@^2.2.3: version "2.2.5" resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.5.tgz#aef3252f1143d11047e2cb6f7cfaac7408d96623" @@ -2662,7 +5356,7 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tslib@^1.8.1: +tslib@^1.11.1, tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -2701,11 +5395,70 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +type-fest@^2.13.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-fest@^3.0.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.9.0.tgz#36a9e46e6583649f9e6098b267bc577275e9e4f4" + integrity sha512-hR8JP2e8UiH7SME5JZjsobBlEiatFoxpzCP+R3ZeCo7kAaG1jXQE5X/buLzogM6GJu8le9Y4OcfNuIQX0rZskA== + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.1.0, type@^2.5.0, type@^2.6.0, type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typescript@^4.9.5: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unbzip2-stream@^1.0.9: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +uni-global@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/uni-global/-/uni-global-1.0.0.tgz#3583c449e87a2d9dc270ea221410a649bcdad040" + integrity sha512-WWM3HP+siTxzIWPNUg7hZ4XO8clKi6NoCAJJWnuRL+BAqyFXF8gC03WNyTefGoUXYc47uYgXxpKLIEvo65PEHw== + dependencies: + type "^2.5.0" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unixify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" @@ -2741,11 +5494,16 @@ urlpattern-polyfill@^6.0.2: dependencies: braces "^3.0.2" -util-deprecate@^1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" @@ -2756,6 +5514,13 @@ value-or-promise@1.0.12, value-or-promise@^1.0.11, value-or-promise@^1.0.12: resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== +velocityjs@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/velocityjs/-/velocityjs-2.0.6.tgz#fbd5ec5bc6e75a889f73c1d67baddd4e0af7b35a" + integrity sha512-QMYLeYLBX6eqekCin3OPmDAHapaUx3foNFE264ml1/yxRZ8TUUlI1+u6rtN4E8tKNqwzpRPeNgJtjLbgRNK4fw== + dependencies: + debug "^4.3.3" + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -2763,7 +5528,7 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-streams-polyfill@^3.2.1: +web-streams-polyfill@^3.0.3, web-streams-polyfill@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== @@ -2797,6 +5562,29 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -2804,6 +5592,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -2827,16 +5622,43 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + ws@8.12.1, ws@^8.12.0: version "8.12.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== +ws@^8.11.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -2875,6 +5697,14 @@ yargs@^17.0.0: y18n "^5.0.5" yargs-parser "^21.1.1" +yauzl@^2.4.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From d2bad871c37b88f93c4adcf873919aba9204103e Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Wed, 10 May 2023 11:44:19 -0300 Subject: [PATCH 16/19] chore: UI transition when wallet is already connected (#177) * chore: wallet auto transition when already connected * chore: display connected address * chore: skip first step if wallet connected * chore: remove useeffect from mint stepper --- ui/src/components/core/button/button.styles.ts | 11 ----------- ui/src/views/mint/mint-stepper.tsx | 1 + .../mint/wallet-step/connect-wallet-button.tsx | 13 ++++--------- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/ui/src/components/core/button/button.styles.ts b/ui/src/components/core/button/button.styles.ts index 0c3756b..884d3a4 100644 --- a/ui/src/components/core/button/button.styles.ts +++ b/ui/src/components/core/button/button.styles.ts @@ -126,17 +126,6 @@ const getButtonCompoundVariant = ({ '&:focus, &:active': { backgroundColor: `$${color}3`, }, - - '&:disabled': { - backgroundColor: `initial`, - '&:hover': { - color: `$${color}11`, - backgroundColor: `initial`, - }, - '& img, & svg': { - filter: 'grayscale(100%)', - }, - }, }; default: diff --git a/ui/src/views/mint/mint-stepper.tsx b/ui/src/views/mint/mint-stepper.tsx index 7fbf817..a4b5306 100644 --- a/ui/src/views/mint/mint-stepper.tsx +++ b/ui/src/views/mint/mint-stepper.tsx @@ -12,6 +12,7 @@ export const MintStepper: React.FC = () => { const { transaction: { isSuccess }, } = Mint.useTransactionContext(); + const { form: { isValid: [, setIsValid], diff --git a/ui/src/views/mint/wallet-step/connect-wallet-button.tsx b/ui/src/views/mint/wallet-step/connect-wallet-button.tsx index a0e3441..273747e 100644 --- a/ui/src/views/mint/wallet-step/connect-wallet-button.tsx +++ b/ui/src/views/mint/wallet-step/connect-wallet-button.tsx @@ -1,6 +1,6 @@ import { ConnectKitButton } from 'connectkit'; -import { Button, Stepper } from '@/components'; +import { Stepper } from '@/components'; import { ButtonConnection } from '../button-connection'; @@ -9,19 +9,14 @@ export const ConnectWalletButton: React.FC = () => { return ( - {({ isConnected, show, truncatedAddress, address }) => { + {({ isConnected, show, address }) => { if (isConnected && address) { - return ( - - ); + nextStep(); } else { return ( ); From cda25b9a3bca06a241bab6c78a1fe4dec485c4ba Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Wed, 10 May 2023 11:44:40 -0300 Subject: [PATCH 17/19] feat: UI refactor card header (#250) * reactor: refactor card header * feat: custom card component * chore: animation on create ap success card * chore: remove old file * chore: global responsiveness (#251) * Update ui/src/components/card/card.tsx Co-authored-by: Felipe Mendes --------- Co-authored-by: Felipe Mendes --- ui/src/components/card/card.styles.ts | 6 +- ui/src/components/card/card.tsx | 24 +--- .../card/custom-card/custom-card.styles.ts | 18 +++ .../card/custom-card/custom-card.tsx | 65 +++++++++++ ui/src/components/card/custom-card/index.ts | 1 + ui/src/components/card/index.ts | 1 + ui/src/components/layout/page/page.styles.ts | 7 +- .../resolved-address.styles.ts | 3 +- ui/src/theme/foundations/media.ts | 1 + .../ap-form-step/create-ap-form.tsx | 34 ++---- .../ap-record-step/ap-record-body.tsx | 9 +- .../ap-record-step/ap-record-header.tsx | 24 +--- .../ap-record-step/ap-record-step.tsx | 6 +- .../views/access-point/create-ap-preview.tsx | 34 ++---- .../create-ap-success.styles.ts | 13 +++ .../create-ap-success.tsx | 29 ++--- .../access-point/create-ap-success/index.ts | 1 + .../display-text/display-text.styles.ts | 5 +- .../display-text/display-text.tsx | 2 +- .../github-connect/github-connect-step.tsx | 19 ++-- .../repo-configuration-header.tsx | 4 +- .../repo-configuration.tsx | 6 +- .../github-repository-selection.styles.ts | 14 ++- .../github-repository-selection.tsx | 32 +----- ui/src/views/mint/mint-card/index.ts | 1 - ui/src/views/mint/mint-card/mint-card.tsx | 35 ------ ui/src/views/mint/mint.styles.ts | 9 +- .../mint/nfa-step/form-step/mint-form.tsx | 30 +++-- .../nfa-step/verify-step/select-verifier.tsx | 74 ++++++++++++ .../verify-step/verify-nfa-step.styles.ts | 22 ++++ .../nfa-step/verify-step/verify-nfa-step.tsx | 105 +++--------------- ui/src/views/mint/nft-card/nft-card.tsx | 31 +++--- ui/src/views/mint/wallet-step/wallet-step.tsx | 27 ++--- 33 files changed, 349 insertions(+), 343 deletions(-) create mode 100644 ui/src/components/card/custom-card/custom-card.styles.ts create mode 100644 ui/src/components/card/custom-card/custom-card.tsx create mode 100644 ui/src/components/card/custom-card/index.ts create mode 100644 ui/src/views/access-point/create-ap-success/create-ap-success.styles.ts rename ui/src/views/access-point/{ => create-ap-success}/create-ap-success.tsx (51%) create mode 100644 ui/src/views/access-point/create-ap-success/index.ts delete mode 100644 ui/src/views/mint/mint-card/index.ts delete mode 100644 ui/src/views/mint/mint-card/mint-card.tsx create mode 100644 ui/src/views/mint/nfa-step/verify-step/select-verifier.tsx create mode 100644 ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.styles.ts diff --git a/ui/src/components/card/card.styles.ts b/ui/src/components/card/card.styles.ts index 495ebdf..9dc6fe8 100644 --- a/ui/src/components/card/card.styles.ts +++ b/ui/src/components/card/card.styles.ts @@ -11,10 +11,8 @@ export abstract class CardStyles { borderWidth: '$default', }); - static readonly Heading = styled('h3', { - color: '$slate12', - fontSize: '$xl', - fontWeight: '$medium', + static readonly Header = styled('div', { + width: '$full', }); static readonly Body = styled('div', { diff --git a/ui/src/components/card/card.tsx b/ui/src/components/card/card.tsx index 7c2043d..1f3f11f 100644 --- a/ui/src/components/card/card.tsx +++ b/ui/src/components/card/card.tsx @@ -1,7 +1,6 @@ /* eslint-disable react/display-name */ import React, { forwardRef } from 'react'; -import { Flex } from '../layout'; import { CardStyles } from './card.styles'; export abstract class Card { @@ -15,18 +14,12 @@ export abstract class Card { } ); - static readonly Heading = forwardRef( - ({ title, leftIcon, rightIcon, css, ...props }, ref) => { + static readonly Header = CardStyles.Header; + ({ children, ...props }, ref) => { return ( - - - {leftIcon} - - {title} - - - {rightIcon} - + + {children} + ); } ); @@ -57,12 +50,7 @@ export namespace Card { typeof CardStyles.Container >; - export type HeadingProps = { - title: string; - css?: React.CSSProperties; - leftIcon?: React.ReactNode; - rightIcon?: React.ReactNode; - } & React.ComponentProps; + export type HeadingProps = React.ComponentProps; export type BodyProps = React.ComponentProps; diff --git a/ui/src/components/card/custom-card/custom-card.styles.ts b/ui/src/components/card/custom-card/custom-card.styles.ts new file mode 100644 index 0000000..7bdeaee --- /dev/null +++ b/ui/src/components/card/custom-card/custom-card.styles.ts @@ -0,0 +1,18 @@ +import { Card, Flex } from '@/components'; +import { styled } from '@/theme'; + +export const CustomCardStyles = { + Container: styled(Card.Container, { + maxWidth: '$107h', + }), + Title: { + Container: styled(Flex, { + justifyContent: 'space-between', + }), + Text: styled('h3', { + color: '$slate12', + fontSize: '$xl', + fontWeight: '$medium', + }), + }, +}; diff --git a/ui/src/components/card/custom-card/custom-card.tsx b/ui/src/components/card/custom-card/custom-card.tsx new file mode 100644 index 0000000..e21e21e --- /dev/null +++ b/ui/src/components/card/custom-card/custom-card.tsx @@ -0,0 +1,65 @@ +import { Card, Flex, Icon, IconButton } from '@/components'; +import { forwardStyledRef } from '@/theme'; + +import { CardStyles } from '../card.styles'; +import { CustomCardStyles as S } from './custom-card.styles'; + +export const CustomCardContainer = S.Container; + +export abstract class CustomCardHeader { + static readonly Default = forwardStyledRef< + HTMLHeadingElement, + CustomCard.HeadingProps + >(({ title, onClickBack, ...props }, ref) => { + return ( + + + + {onClickBack && ( + } + onClick={onClickBack} + /> + )} + {title} + + } + /> + + + ); + }); + + static readonly Success = forwardStyledRef< + HTMLHeadingElement, + Omit + >(({ title, ...props }, ref) => { + return ( + + + + {title} + + + ); + }); +} + +export namespace CustomCard { + export type ContainerProps = React.ComponentProps; + + export type HeadingProps = { + title: string; + onClickBack?: () => void; + } & React.ComponentProps; +} diff --git a/ui/src/components/card/custom-card/index.ts b/ui/src/components/card/custom-card/index.ts new file mode 100644 index 0000000..cf9457d --- /dev/null +++ b/ui/src/components/card/custom-card/index.ts @@ -0,0 +1 @@ +export * from './custom-card'; diff --git a/ui/src/components/card/index.ts b/ui/src/components/card/index.ts index 1e13f64..5c11835 100644 --- a/ui/src/components/card/index.ts +++ b/ui/src/components/card/index.ts @@ -1 +1,2 @@ export * from './card'; +export * from './custom-card'; diff --git a/ui/src/components/layout/page/page.styles.ts b/ui/src/components/layout/page/page.styles.ts index 55e7f81..356b316 100644 --- a/ui/src/components/layout/page/page.styles.ts +++ b/ui/src/components/layout/page/page.styles.ts @@ -10,8 +10,11 @@ export abstract class PageStyles { width: '100%', minHeight: '85vh', maxWidth: '$6xl', - padding: '0 $6', + padding: '$6', margin: '0 auto', - display: 'grid', + + '@md': { + padding: '0 $6', + }, }); } diff --git a/ui/src/components/resolved-address/resolved-address.styles.ts b/ui/src/components/resolved-address/resolved-address.styles.ts index 5b3fb23..472da1a 100644 --- a/ui/src/components/resolved-address/resolved-address.styles.ts +++ b/ui/src/components/resolved-address/resolved-address.styles.ts @@ -1,3 +1,4 @@ +import { Text } from '@/components'; import { keyframes, styled } from '@/theme'; const Loading = keyframes({ @@ -13,7 +14,7 @@ const Loading = keyframes({ }); export const ResolvedAddressStyles = { - Container: styled('span', { + Container: styled(Text, { '&[data-loading="true"]': { animation: `${Loading} 1s ease-in-out infinite`, }, diff --git a/ui/src/theme/foundations/media.ts b/ui/src/theme/foundations/media.ts index 116f217..08d8c86 100644 --- a/ui/src/theme/foundations/media.ts +++ b/ui/src/theme/foundations/media.ts @@ -1,5 +1,6 @@ export const media = { // Breakpoints + xs: '(min-width: 375px)', sm: '(min-width: 640px)', md: '(min-width: 768px)', lg: '(min-width: 1024px)', diff --git a/ui/src/views/access-point/ap-form-step/create-ap-form.tsx b/ui/src/views/access-point/ap-form-step/create-ap-form.tsx index cce66db..bd7b219 100644 --- a/ui/src/views/access-point/ap-form-step/create-ap-form.tsx +++ b/ui/src/views/access-point/ap-form-step/create-ap-form.tsx @@ -1,4 +1,10 @@ -import { Card, Flex, Icon, IconButton, Stepper } from '@/components'; +import { + Card, + CustomCardContainer, + CustomCardHeader, + Flex, + Stepper, +} from '@/components'; import { CreateAccessPointFormBody } from './create-ap-form-body'; @@ -6,28 +12,8 @@ export const CreateAccessPointForm: React.FC = () => { const { prevStep } = Stepper.useContext(); return ( - - } - css={{ mr: '$2' }} - onClick={prevStep} - /> - } - rightIcon={ - } - /> - } - /> + + { - + ); }; diff --git a/ui/src/views/access-point/ap-record-step/ap-record-body.tsx b/ui/src/views/access-point/ap-record-step/ap-record-body.tsx index e14bd96..01308c8 100644 --- a/ui/src/views/access-point/ap-record-step/ap-record-body.tsx +++ b/ui/src/views/access-point/ap-record-step/ap-record-body.tsx @@ -1,6 +1,6 @@ import { useEffect, useMemo } from 'react'; -import { Button, Card, Grid, SpinnerDot, Stepper, Text } from '@/components'; +import { Button, Card, Flex, SpinnerDot, Stepper, Text } from '@/components'; import { bunnyCDNActions, useAppDispatch, useBunnyCDNStore } from '@/store'; import { useAccessPointFormContext } from '../ap-form-step'; @@ -49,9 +49,10 @@ export const APRecordCardBody: React.FC = () => {
) : ( - @@ -73,7 +74,7 @@ export const APRecordCardBody: React.FC = () => { > I added the record - +
)}
); diff --git a/ui/src/views/access-point/ap-record-step/ap-record-header.tsx b/ui/src/views/access-point/ap-record-step/ap-record-header.tsx index 02b6bfd..65c18f4 100644 --- a/ui/src/views/access-point/ap-record-step/ap-record-header.tsx +++ b/ui/src/views/access-point/ap-record-step/ap-record-header.tsx @@ -1,29 +1,9 @@ -import { Card, Icon, IconButton, Stepper } from '@/components'; +import { CustomCardHeader, Stepper } from '@/components'; export const APRecordCardHeader: React.FC = () => { const { prevStep } = Stepper.useContext(); return ( - } - css={{ mr: '$2' }} - onClick={prevStep} - /> - } - rightIcon={ - } - /> - } - /> + ); }; diff --git a/ui/src/views/access-point/ap-record-step/ap-record-step.tsx b/ui/src/views/access-point/ap-record-step/ap-record-step.tsx index 450a9f2..24534e1 100644 --- a/ui/src/views/access-point/ap-record-step/ap-record-step.tsx +++ b/ui/src/views/access-point/ap-record-step/ap-record-step.tsx @@ -1,13 +1,13 @@ -import { Card } from '@/components'; +import { CustomCardContainer } from '@/components'; import { APRecordCardBody } from './ap-record-body'; import { APRecordCardHeader } from './ap-record-header'; export const APRecordStep: React.FC = () => { return ( - + - + ); }; diff --git a/ui/src/views/access-point/create-ap-preview.tsx b/ui/src/views/access-point/create-ap-preview.tsx index 069248b..9076b0d 100644 --- a/ui/src/views/access-point/create-ap-preview.tsx +++ b/ui/src/views/access-point/create-ap-preview.tsx @@ -5,9 +5,9 @@ import { useAccount } from 'wagmi'; import { Button, Card, + CustomCardContainer, + CustomCardHeader, Flex, - Icon, - IconButton, ResolvedAddress, Stepper, Text, @@ -40,7 +40,9 @@ export const AccessPointDataFragment: React.FC = () => { label="Owner" value={ address ? ( - {address || ''} + + {address} + ) : ( 'Please connect to wallet' ) @@ -111,28 +113,8 @@ export const CreateAccessPointPreview: React.FC = () => { }, [writeStatus, transactionStatus]); return ( - - } - css={{ mr: '$2' }} - onClick={prevStep} - /> - } - rightIcon={ - } - /> - } - /> + + @@ -148,6 +130,6 @@ export const CreateAccessPointPreview: React.FC = () => { - + ); }; diff --git a/ui/src/views/access-point/create-ap-success/create-ap-success.styles.ts b/ui/src/views/access-point/create-ap-success/create-ap-success.styles.ts new file mode 100644 index 0000000..0a3eb6a --- /dev/null +++ b/ui/src/views/access-point/create-ap-success/create-ap-success.styles.ts @@ -0,0 +1,13 @@ +import { CustomCardContainer } from '@/components'; +import { keyframes, styled } from '@/theme'; + +const CardKeyFrames = keyframes({ + '0%': { opacity: 0 }, + '100%': { opacity: 1 }, +}); + +export const CreateApSuccessStyles = { + Container: styled(CustomCardContainer, { + animation: `${CardKeyFrames} 0.5s ease-in-out 0s`, + }), +}; diff --git a/ui/src/views/access-point/create-ap-success.tsx b/ui/src/views/access-point/create-ap-success/create-ap-success.tsx similarity index 51% rename from ui/src/views/access-point/create-ap-success.tsx rename to ui/src/views/access-point/create-ap-success/create-ap-success.tsx index 66218d1..588f38a 100644 --- a/ui/src/views/access-point/create-ap-success.tsx +++ b/ui/src/views/access-point/create-ap-success/create-ap-success.tsx @@ -1,29 +1,14 @@ -import { Button, Card, Flex, Icon, IconButton, Text } from '@/components'; +import { Button, Card, CustomCardHeader, Flex, Icon, Text } from '@/components'; -import { CreateAccessPoint } from './create-ap.context'; -import { AccessPointDataFragment } from './create-ap-preview'; +import { CreateAccessPoint } from '../create-ap.context'; +import { AccessPointDataFragment } from '../create-ap-preview'; +import { CreateApSuccessStyles as S } from './create-ap-success.styles'; export const CreateAccessPointSuccess: React.FC = () => { const { nfa } = CreateAccessPoint.useContext(); return ( - - - } - rightIcon={ - } - /> - } - /> + + @@ -42,6 +27,6 @@ export const CreateAccessPointSuccess: React.FC = () => { - + ); }; diff --git a/ui/src/views/access-point/create-ap-success/index.ts b/ui/src/views/access-point/create-ap-success/index.ts new file mode 100644 index 0000000..7868982 --- /dev/null +++ b/ui/src/views/access-point/create-ap-success/index.ts @@ -0,0 +1 @@ +export * from './create-ap-success'; diff --git a/ui/src/views/access-point/display-text/display-text.styles.ts b/ui/src/views/access-point/display-text/display-text.styles.ts index 644be97..f7f26fe 100644 --- a/ui/src/views/access-point/display-text/display-text.styles.ts +++ b/ui/src/views/access-point/display-text/display-text.styles.ts @@ -1,7 +1,6 @@ +import { Flex, Text } from '@/components'; import { styled } from '@/theme'; -import { Flex } from '../../../components/layout'; - export const DisplayTextStyles = { Container: styled(Flex, { flexDirection: 'column', @@ -13,7 +12,7 @@ export const DisplayTextStyles = { fontSize: '$xs', //TODO add variants }), - Input: styled('span', { + Input: styled(Text, { backgroundColor: '$slate1', borderColor: '$slate1', color: '$slate12', diff --git a/ui/src/views/access-point/display-text/display-text.tsx b/ui/src/views/access-point/display-text/display-text.tsx index 5c6f7de..e8f8272 100644 --- a/ui/src/views/access-point/display-text/display-text.tsx +++ b/ui/src/views/access-point/display-text/display-text.tsx @@ -11,7 +11,7 @@ export const DisplayText: React.FC = ({ return ( {label} - {value} + {value} ); }; diff --git a/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx b/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx index a69030b..b47922c 100644 --- a/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx +++ b/ui/src/views/mint/github-step/steps/github-connect/github-connect-step.tsx @@ -1,5 +1,10 @@ -import { Card, Grid, Stepper } from '@/components'; -import { MintCardHeader } from '@/views/mint/mint-card'; +import { + Card, + CustomCardContainer, + CustomCardHeader, + Flex, + Stepper, +} from '@/components'; import { GithubButton } from './github-button'; @@ -7,10 +12,10 @@ export const GithubConnect: React.FC = () => { const { prevStep } = Stepper.useContext(); return ( - - + + - + { After connecting your GitHub, your repositories will show here. - + - + ); }; diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-header.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-header.tsx index d9f47c1..10e99de 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-header.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration-header.tsx @@ -1,5 +1,5 @@ +import { CustomCardHeader } from '@/components'; import { Mint } from '@/views/mint/mint.context'; -import { MintCardHeader } from '@/views/mint/mint-card'; import { useMintFormContext } from '@/views/mint/nfa-step/form-step'; export const RepoConfigurationHeader: React.FC = () => { @@ -22,7 +22,7 @@ export const RepoConfigurationHeader: React.FC = () => { }; return ( - diff --git a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx index 9e3a7ba..5c9ca9a 100644 --- a/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx +++ b/ui/src/views/mint/github-step/steps/github-repo-configuration/repo-configuration.tsx @@ -1,13 +1,13 @@ -import { Card } from '@/components'; +import { CustomCardContainer } from '@/components'; import { RepoConfigurationBody } from './repo-configuration-body'; import { RepoConfigurationHeader } from './repo-configuration-header'; export const GithubRepoConfiguration: React.FC = () => { return ( - + - + ); }; diff --git a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.styles.ts b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.styles.ts index b7b8110..8663fe2 100644 --- a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.styles.ts +++ b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.styles.ts @@ -1,13 +1,21 @@ -import { Card, Flex, Icon } from '@/components'; +import { + Card, + CustomCardContainer, + CustomCardHeader, + Flex, + Icon, +} from '@/components'; import { styled } from '@/theme'; export const GithubRepositorySelectionStyles = { Card: { - Wrapper: styled(Card.Container, { - maxWidth: '$107h', + Wrapper: styled(CustomCardContainer, { maxHeight: '$95h', pr: '$3h', }), + Header: styled(CustomCardHeader.Default, { + pr: '$3h', + }), Body: styled(Card.Body, { pt: '$4', }), diff --git a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx index 5fb69ba..841aa88 100644 --- a/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx +++ b/ui/src/views/mint/github-step/steps/github-repository-selection/github-repository-selection.tsx @@ -1,14 +1,6 @@ import React, { useState } from 'react'; -import { - Card, - Flex, - Icon, - IconButton, - InputGroup, - InputGroupText, - Spinner, -} from '@/components'; +import { Flex, InputGroup, InputGroupText, Spinner } from '@/components'; import { useDebounce } from '@/hooks/use-debounce'; import { useGithubStore } from '@/store'; import { Mint } from '@/views/mint/mint.context'; @@ -55,27 +47,9 @@ export const GithubRepositoryConnection: React.FC = () => { return ( - } - css={{ mr: '$2' }} - onClick={handlePrevStepClick} - /> - } - rightIcon={ - } - /> - } + onClickBack={handlePrevStepClick} /> diff --git a/ui/src/views/mint/mint-card/index.ts b/ui/src/views/mint/mint-card/index.ts deleted file mode 100644 index 805d982..0000000 --- a/ui/src/views/mint/mint-card/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './mint-card'; diff --git a/ui/src/views/mint/mint-card/mint-card.tsx b/ui/src/views/mint/mint-card/mint-card.tsx deleted file mode 100644 index 7c33573..0000000 --- a/ui/src/views/mint/mint-card/mint-card.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Card, Icon, IconButton } from '@/components'; - -type MintCardHeaderProps = { - title: string; - onClickBack: () => void; -}; - -export const MintCardHeader: React.FC = ({ - title, - onClickBack, -}: MintCardHeaderProps) => { - return ( - } - css={{ mr: '$2' }} - onClick={onClickBack} - /> - } - rightIcon={ - } - /> - } - /> - ); -}; diff --git a/ui/src/views/mint/mint.styles.ts b/ui/src/views/mint/mint.styles.ts index 1df6f03..f0b0796 100644 --- a/ui/src/views/mint/mint.styles.ts +++ b/ui/src/views/mint/mint.styles.ts @@ -6,7 +6,14 @@ export const MintStyles = { height: '100%', justifyContent: 'center', - '@media (min-width: 1024px)': { + '@md': { + //to align on center + position: 'absolute', + top: '50%', + transform: 'translateY(-50%)', + }, + + '@lg': { flexDirection: 'row', }, }), diff --git a/ui/src/views/mint/nfa-step/form-step/mint-form.tsx b/ui/src/views/mint/nfa-step/form-step/mint-form.tsx index 563bbfc..fad983d 100644 --- a/ui/src/views/mint/nfa-step/form-step/mint-form.tsx +++ b/ui/src/views/mint/nfa-step/form-step/mint-form.tsx @@ -1,11 +1,17 @@ import { useAccount } from 'wagmi'; -import { Button, Card, Grid, Stepper } from '@/components'; +import { + Button, + Card, + CustomCardContainer, + CustomCardHeader, + Flex, + Stepper, +} from '@/components'; import { AppLog } from '@/utils'; import { parseColorToNumber } from '@/utils/color'; import { Mint } from '../../mint.context'; -import { MintCardHeader } from '../../mint-card'; import { AppDescriptionField, AppNameField, @@ -78,20 +84,24 @@ export const MintFormStep: React.FC = () => { }; return ( - - + + - - + - + - + - + ); }; diff --git a/ui/src/views/mint/nfa-step/verify-step/select-verifier.tsx b/ui/src/views/mint/nfa-step/verify-step/select-verifier.tsx new file mode 100644 index 0000000..dec452e --- /dev/null +++ b/ui/src/views/mint/nfa-step/verify-step/select-verifier.tsx @@ -0,0 +1,74 @@ +import { useQuery } from '@apollo/client'; +import { useEffect, useMemo } from 'react'; + +import { getVerifiersDocument } from '@/../.graphclient'; +import { Form, ResolvedAddress } from '@/components'; +import { useENSStore } from '@/store'; + +import { useMintFormContext } from '../form-step'; + +// TODO: remove mocked items after graphql api is fixed +const mockedItems = [ + '0xdBb04e00D5ec8C9e3aeF811D315Ee7C147c5DBFD', + '0x7ED735b7095C05d78dF169F991f2b7f1A1F1A049', +]; + +export const SelectVerifier: React.FC = () => { + const { + form: { verifier }, + } = useMintFormContext(); + + const { + value: [selectedVerifier, setSelectedVerifier], + } = verifier; + + const { addressMap } = useENSStore(); + + const { data } = useQuery(getVerifiersDocument); + + const items = useMemo(() => { + if (!data) return []; + + const verifiers = data.verifiers + .map((verifier) => verifier.id.toString()) + .concat(mockedItems); + + return verifiers.map((verifier) => ({ + address: verifier, + ens: addressMap[verifier]?.value, + })); + }, [data, addressMap]); + + useEffect(() => { + if (!selectedVerifier && items.length > 0) { + setSelectedVerifier(items[0].address); + } + }, [selectedVerifier, setSelectedVerifier, items]); + + return ( + + item.address} + queryKey={['address', 'ens']} + > + {({ Field, Options }) => ( + <> + + {(selected) => + selected ? ( + {selected.address} + ) : ( + 'Select a Verifier' + ) + } + + + {(item) => {item.address}} + + + )} + + + ); +}; diff --git a/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.styles.ts b/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.styles.ts new file mode 100644 index 0000000..056a3f3 --- /dev/null +++ b/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.styles.ts @@ -0,0 +1,22 @@ +import { Card, Flex, Text } from '@/components'; +import { styled } from '@/theme'; + +export const VerifyNfaStepStyles = { + Body: { + Container: styled(Flex, { + flexDirection: 'column', + gap: '$6', + }), + Text: styled(Text, { + color: '$slate11', + fontSize: '$sm', + }), + VerifyContainer: styled(Card.Text, { + p: '$4', + textAlign: 'left', + flexDirection: 'row', + justifyContent: 'space-between', + borderRadius: '$lg', + }), + }, +}; diff --git a/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.tsx b/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.tsx index 6878c2f..dbafcfd 100644 --- a/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.tsx +++ b/ui/src/views/mint/nfa-step/verify-step/verify-nfa-step.tsx @@ -1,88 +1,17 @@ -import { useQuery } from '@apollo/client'; -import { useEffect, useMemo } from 'react'; - -import { getVerifiersDocument } from '@/../.graphclient'; import { Button, Card, - Flex, - Form, - ResolvedAddress, + CustomCardContainer, + CustomCardHeader, Stepper, Switch, Text, } from '@/components'; -import { useENSStore } from '@/store'; import { Mint } from '../../mint.context'; -import { MintCardHeader } from '../../mint-card'; import { useMintFormContext } from '../form-step'; - -// TODO: remove mocked items after graphql api is fixed -const mockedItems = [ - '0xdBb04e00D5ec8C9e3aeF811D315Ee7C147c5DBFD', - '0x7ED735b7095C05d78dF169F991f2b7f1A1F1A049', -]; - -const SelectVerifier: React.FC = () => { - const { - form: { verifier }, - } = useMintFormContext(); - - const { - value: [selectedVerifier, setSelectedVerifier], - } = verifier; - - const { addressMap } = useENSStore(); - - const { data } = useQuery(getVerifiersDocument); - - const items = useMemo(() => { - if (!data) return []; - - const verifiers = data.verifiers - .map((verifier) => verifier.id.toString()) - .concat(mockedItems); - - return verifiers.map((verifier) => ({ - address: verifier, - ens: addressMap[verifier]?.value, - })); - }, [data, addressMap]); - - useEffect(() => { - if (!selectedVerifier && items.length > 0) { - setSelectedVerifier(items[0].address); - } - }, [selectedVerifier, setSelectedVerifier, items]); - - return ( - - item.address} - queryKey={['address', 'ens']} - > - {({ Field, Options }) => ( - <> - - {(selected) => - selected ? ( - {selected.address} - ) : ( - 'Select a Verifier' - ) - } - - - {(item) => {item.address}} - - - )} - - - ); -}; +import { SelectVerifier } from './select-verifier'; +import { VerifyNfaStepStyles as S } from './verify-nfa-step.styles'; export const VerifyNFAStep: React.FC = () => { const { prevStep } = Stepper.useContext(); @@ -100,30 +29,22 @@ export const VerifyNFAStep: React.FC = () => { }; return ( - - + + - - + + Below you can allow Fleek to be added as a controller to your NFA. This will allow Fleek to automatically verify your NFA and update builds and other metadata. It will not allow Fleek to transfer or burn your NFT. You can change this setting later on your NFA but adding it now will save you a transaction in the future. We recommend it so that your users can get verified NFAs. - - + + Verify NFA - + - + - + ); }; diff --git a/ui/src/views/mint/nft-card/nft-card.tsx b/ui/src/views/mint/nft-card/nft-card.tsx index e98c678..2280076 100644 --- a/ui/src/views/mint/nft-card/nft-card.tsx +++ b/ui/src/views/mint/nft-card/nft-card.tsx @@ -1,4 +1,11 @@ -import { Button, Card, Grid } from '@/components'; +import { + Button, + Card, + CustomCardContainer, + CustomCardHeader, + Flex, + Text, +} from '@/components'; import { NFAPreview } from '@/components'; import { useMintFormContext } from '../nfa-step/form-step'; @@ -16,8 +23,6 @@ type NftCardProps = { export const NftCard: React.FC = ({ title, - leftIcon, - rightIcon, message, buttonText, leftIconButton, @@ -43,23 +48,21 @@ export const NftCard: React.FC = ({ } = useMintFormContext(); return ( - + - - - {message} + + + {message} - + - + ); }; diff --git a/ui/src/views/mint/wallet-step/wallet-step.tsx b/ui/src/views/mint/wallet-step/wallet-step.tsx index f3bef32..ce75314 100644 --- a/ui/src/views/mint/wallet-step/wallet-step.tsx +++ b/ui/src/views/mint/wallet-step/wallet-step.tsx @@ -1,23 +1,18 @@ -import { Card, Grid, Icon, IconButton } from '@/components'; +import { + Card, + CustomCardContainer, + CustomCardHeader, + Flex, +} from '@/components'; import { ConnectWalletButton } from './connect-wallet-button'; export const WalletStep: React.FC = () => { return ( - - } - /> - } - /> + + - + { > Connect with the wallet you want to mint & own the NFA. - + - + ); }; From 349cf57976c58be69cf178e14103309b8fefece2 Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Wed, 10 May 2023 11:44:51 -0300 Subject: [PATCH 18/19] feat: UI show the total nfas (#252) * feat: show total tokens * Update ui/src/views/explore/explore-list/nfa-search.fragment.tsx Co-authored-by: Felipe Mendes * Update ui/src/views/explore/explore-list/nfa-search.fragment.tsx Co-authored-by: Felipe Mendes --------- Co-authored-by: Felipe Mendes --- ui/graphql/queries.graphql | 6 +++--- ui/package.json | 3 ++- .../explore-list/nfa-search.fragment.tsx | 17 +++++++++++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ui/graphql/queries.graphql b/ui/graphql/queries.graphql index e68bcd3..ff09712 100644 --- a/ui/graphql/queries.graphql +++ b/ui/graphql/queries.graphql @@ -25,9 +25,9 @@ query lastNFAsPaginated( } } -query totalTokens { - tokens { - id +query totalTokens($contractId: ID!) { + collection(id: $contractId) { + totalTokens } } diff --git a/ui/package.json b/ui/package.json index 6fdca4e..df56d51 100644 --- a/ui/package.json +++ b/ui/package.json @@ -7,7 +7,8 @@ "scripts": { "dev": "vite", "dev:css": "tailwindcss -o ./tailwind.css --watch && yarn dev", - "build": "yarn graphclient build && vite build", + "build:graph": "yarn graphclient build", + "build": "yarn build:graph && vite build", "postinstall": "graphclient build", "preview": "vite preview", "prod": "yarn build && npx serve dist -s" diff --git a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx index ce697bd..04a3e07 100644 --- a/ui/src/views/explore/explore-list/nfa-search.fragment.tsx +++ b/ui/src/views/explore/explore-list/nfa-search.fragment.tsx @@ -1,7 +1,10 @@ +import { useQuery } from '@apollo/client'; import { useState } from 'react'; import { Combobox, InputGroup, InputGroupText } from '@/components'; +import { totalTokensDocument } from '@/graphclient'; import { useDebounce } from '@/hooks'; +import { FleekERC721 } from '@/integrations/ethereum/contracts'; import { AppLog } from '@/utils'; import { Explore } from '../explore.context'; @@ -21,6 +24,7 @@ const orderResults: SortItem[] = [ export const NFASearchFragment: React.FC = () => { const { + search, setEndReached, setOrderBy, setOrderDirection, @@ -29,6 +33,13 @@ export const NFASearchFragment: React.FC = () => { } = Explore.useContext(); const [selectedValue, setSelectedValue] = useState(orderResults[0]); + const { data: totalTokens } = useQuery(totalTokensDocument, { + variables: { + contractId: FleekERC721.address, + }, + skip: Boolean(search), + }); + const handleSortChange = (item: SortItem | undefined): void => { if (item) { setSelectedValue(item); @@ -72,8 +83,10 @@ export const NFASearchFragment: React.FC = () => { return ( - All NFAs  - (3,271) + {totalTokens?.collection && (<> + All NFAs  + ({totalTokens.collection.totalTokens}) + )} From 346d4efc34d231f741c96af010e984ae8f2c140c Mon Sep 17 00:00:00 2001 From: Camila Sosa Morales Date: Wed, 10 May 2023 19:22:48 -0300 Subject: [PATCH 19/19] fix: fix card header (#257) --- ui/src/components/card/card.tsx | 8 -------- ui/src/utils/color.ts | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/ui/src/components/card/card.tsx b/ui/src/components/card/card.tsx index 1f3f11f..8a1a6e1 100644 --- a/ui/src/components/card/card.tsx +++ b/ui/src/components/card/card.tsx @@ -15,14 +15,6 @@ export abstract class Card { ); static readonly Header = CardStyles.Header; - ({ children, ...props }, ref) => { - return ( - - {children} - - ); - } - ); static readonly Body = forwardRef( ({ children, ...props }, ref) => { diff --git a/ui/src/utils/color.ts b/ui/src/utils/color.ts index 4422f61..a391255 100644 --- a/ui/src/utils/color.ts +++ b/ui/src/utils/color.ts @@ -10,6 +10,5 @@ export const parseColorToNumber = (color: string): number => { * Converts string number to hex color string. */ export const parseNumberToHexColor = (color: number): string => { - const hexColor = color.toString(16); - return hexColor; + return `${`000000${color.toString(16)}`.slice(-6)}`; };