From 992664f3d691cca7d70d13dad4f8438eb07d2caa Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 14 Mar 2023 19:19:45 +0000 Subject: [PATCH 01/68] Trigger staging build --- src/components/Overview/Overview.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/Overview/Overview.tsx b/src/components/Overview/Overview.tsx index 6a8b2e8..a3a065e 100644 --- a/src/components/Overview/Overview.tsx +++ b/src/components/Overview/Overview.tsx @@ -4,7 +4,6 @@ import Stack from '@mui/material/Stack'; import Grid from '@mui/material/Grid'; import Box from '@mui/material/Box'; - import { ICONS, CHAINS } from '../../core/constants'; import ChainOverview from '../ChainOverview'; From aa534ca024f7d635a7607407fa9d8a9df8f84444 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 27 Jun 2023 21:16:48 +0100 Subject: [PATCH 02/68] Update dev_build.sh From 4eba6cb2bf419fe4e357840f90c503162d71197a Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 17 Aug 2023 18:45:13 +0100 Subject: [PATCH 03/68] New Bridge architecture - Vite builder, metaport v2 --- .eslintrc.cjs | 18 + .gitignore | 2 +- .gitmodules | 3 - CODEOWNERS | 2 - build.sh | 45 - config-overrides.js | 47 - dev_build.sh | 11 - env/legacy/chainsData.json | 38 - env/legacy/faucet.json | 2 - env/legacy/metaportConfig.json | 32 - env/mainnet/chainsData.json | 791 - env/mainnet/faucet.json | 30 - env/mainnet/metaportConfig.json | 164 - env/regression/chainsData.json | 38 - env/regression/faucet.json | 2 - env/regression/metaportConfig.json | 32 - env/staging/chainsData.json | 459 - env/staging/faucet.json | 22 - env/staging/metaportConfig.json | 204 - index.html | 20 + package.json | 94 +- public/index.html | 51 - public/manifest.json | 15 - public/robots.txt | 3 - skale-network | 1 - src/AmountInput.tsx | 26 - src/App.css | 42 + src/App.scss | 150 +- src/App.test.js | 8 - src/App.tsx | 154 +- src/Bridge.tsx | 90 + src/Header.js | 73 - src/Header.tsx | 74 + src/Interval.js | 21 - src/Main.tsx | 32 +- src/MetamaskConnector.tsx | 153 - src/OpenMetaportBtn.tsx | 34 - src/Router.tsx | 26 +- src/SelectPage.tsx | 31 - src/SkDrawer.tsx | 40 +- src/Web3Helper.ts | 39 - src/{ => assets}/skale_lg.svg | 0 src/components/AccountMenu/AccountMenu.tsx | 11 +- src/components/ActionCard/ActionCard.scss | 0 src/components/ActionCard/ActionCard.tsx | 76 - src/components/ActionCard/helper.tsx | 81 - src/components/ActionCard/index.ts | 1 - src/components/AmountInput/AmountInput.scss | 50 - src/components/AmountInput/AmountInput.tsx | 34 - src/components/AmountInput/index.ts | 1 - src/components/BalanceBlock/BalanceBlock.tsx | 46 - src/components/BalanceBlock/index.ts | 1 - src/components/BridgePaper/BridgePaper.tsx | 44 - src/components/BridgePaper/index.ts | 1 - src/components/ChainCard/ChainCard.scss | 18 - src/components/ChainCard/ChainCard.tsx | 131 - src/components/ChainCard/index.ts | 1 - src/components/ChainCards/ChainCards.tsx | 60 - src/components/ChainCards/index.ts | 1 - .../ChainOverview/ChainOverview.tsx | 183 - src/components/ChainOverview/index.ts | 1 - .../CommunityPool/CommunityPool.tsx | 326 - src/components/CommunityPool/index.ts | 1 - .../ExitGasWallet/ExitGasWallet.tsx | 29 - src/components/ExitGasWallet/index.ts | 1 - src/components/Footer/Footer.tsx | 36 - src/components/Footer/index.ts | 1 - src/components/HelpZen/HelpZen.scss | 31 - src/components/HelpZen/HelpZen.tsx | 11 +- src/components/History/History.tsx | 86 - src/components/History/index.ts | 1 - src/components/HubIcon/HubIcon.tsx | 47 - src/components/HubIcon/index.ts | 1 - src/components/Main.tsx | 153 + src/components/MoreMenu/MoreMenu.scss | 31 - src/components/MoreMenu/MoreMenu.tsx | 34 +- src/components/Overview/Overview.tsx | 42 - src/components/Overview/index.ts | 1 - src/components/SFuel/SFuel.tsx | 227 - src/components/SFuel/index.ts | 1 - src/components/Search/Search.tsx | 67 - src/components/Search/index.ts | 1 - src/components/Terms/Terms.tsx | 11 +- src/components/TokenButton/TokenButton.tsx | 18 - src/components/TokenButton/index.ts | 1 - src/components/Tokens/Tokens.scss | 0 src/components/Tokens/Tokens.tsx | 29 - src/components/Tokens/index.ts | 1 - .../TokensPreview/TokensPreview.tsx | 50 - src/components/TokensPreview/index.ts | 1 - .../TransactionData/TransactionData.tsx | 80 - src/components/TransactionData/index.ts | 1 - src/components/Transfer/Transfer.scss | 0 src/components/Transfer/Transfer.tsx | 566 - src/components/Transfer/index.ts | 1 - src/components/TransferData/TransferData.tsx | 96 - src/components/TransferData/index.ts | 1 - src/components/TransferDone/TransferDone.tsx | 179 - src/components/TransferDone/index.ts | 1 - src/components/TransferFrom/TransferFrom.tsx | 30 - src/components/TransferFrom/index.ts | 1 - .../TransferStepper/TransferStepper.scss | 30 - .../TransferStepper/TransferStepper.tsx | 33 - src/components/TransferStepper/index.ts | 1 - src/components/TransferTo/TransferTo.tsx | 64 - src/components/TransferTo/index.ts | 1 - src/components/TransferV2/Transfer.scss | 0 src/components/TransferV2/Transfer.tsx | 384 - src/components/TransferV2/index.ts | 1 - src/core/connector.ts | 115 - src/core/constants.ts | 48 +- src/core/convertation.ts | 39 - src/core/dataclasses/TokenData.ts | 70 - src/core/dataclasses/TokenType.ts | 31 - src/core/faucet.ts | 51 - src/core/helper.ts | 107 - src/core/metaportConfig.ts | 101 - src/core/network.ts | 248 - src/core/themes.ts | 21 + src/core/tokens.ts | 98 - src/core/transferHistory.ts | 51 - src/custom.d.ts | 22 - src/enkrypt.png | Bin 222060 -> 0 bytes src/externalTokenIcons.json | 7 - src/icons/$pac.svg | 1 - src/icons/0xbtc.svg | 1 - src/icons/2give.svg | 1 - src/icons/aave.svg | 1 - src/icons/abt.svg | 1 - src/icons/act.svg | 1 - src/icons/actn.svg | 1 - src/icons/ada.svg | 1 - src/icons/add.svg | 1 - src/icons/adx.svg | 1 - src/icons/ae.svg | 1 - src/icons/aeon.svg | 1 - src/icons/aeur.svg | 1 - src/icons/agi.svg | 1 - src/icons/agrs.svg | 1 - src/icons/aion.svg | 1 - src/icons/algo.svg | 1 - src/icons/amb.svg | 1 - src/icons/amp.svg | 1 - src/icons/ampl.svg | 1 - src/icons/ankr.svg | 1 - src/icons/ant.svg | 1 - src/icons/apex.svg | 1 - src/icons/appc.svg | 1 - src/icons/ardr.svg | 1 - src/icons/arg.svg | 1 - src/icons/ark.svg | 1 - src/icons/arn.svg | 1 - src/icons/arnx.svg | 1 - src/icons/ary.svg | 1 - src/icons/ast.svg | 1 - src/icons/atm.svg | 1 - src/icons/atom.svg | 1 - src/icons/audr.svg | 1 - src/icons/auto.svg | 1 - src/icons/aywa.svg | 1 - src/icons/bab.svg | 1 - src/icons/bal.svg | 1 - src/icons/band.svg | 1 - src/icons/bat.svg | 1 - src/icons/bay.svg | 1 - src/icons/bcbc.svg | 1 - src/icons/bcc.svg | 1 - src/icons/bcd.svg | 1 - src/icons/bch.svg | 1 - src/icons/bcio.svg | 1 - src/icons/bcn.svg | 1 - src/icons/bco.svg | 1 - src/icons/bcpt.svg | 1 - src/icons/bdl.svg | 1 - src/icons/beam.svg | 1 - src/icons/bela.svg | 1 - src/icons/bix.svg | 1 - src/icons/blcn.svg | 1 - src/icons/blk.svg | 1 - src/icons/block.svg | 1 - src/icons/blz.svg | 1 - src/icons/bnb.svg | 1 - src/icons/bnt.svg | 1 - src/icons/bnty.svg | 1 - src/icons/booty.svg | 1 - src/icons/bos.svg | 1 - src/icons/bpt.svg | 1 - src/icons/bq.svg | 1 - src/icons/brd.svg | 1 - src/icons/bsd.svg | 1 - src/icons/bsv.svg | 1 - src/icons/btc.svg | 1 - src/icons/btcd.svg | 1 - src/icons/btch.svg | 1 - src/icons/btcp.svg | 1 - src/icons/btcz.svg | 1 - src/icons/btdx.svg | 1 - src/icons/btg.svg | 1 - src/icons/btm.svg | 1 - src/icons/bts.svg | 1 - src/icons/btt.svg | 1 - src/icons/btx.svg | 1 - src/icons/burst.svg | 1 - src/icons/bze.svg | 1 - src/icons/call.svg | 1 - src/icons/cc.svg | 1 - src/icons/cdn.svg | 1 - src/icons/cdt.svg | 1 - src/icons/cenz.svg | 1 - src/icons/chain.svg | 1 - src/icons/chat.svg | 1 - src/icons/chips.svg | 1 - src/icons/chsb.svg | 1 - src/icons/cix.svg | 1 - src/icons/clam.svg | 1 - src/icons/cloak.svg | 1 - src/icons/cmm.svg | 1 - src/icons/cmt.svg | 1 - src/icons/cnd.svg | 1 - src/icons/cnx.svg | 1 - src/icons/cny.svg | 1 - src/icons/cob.svg | 1 - src/icons/colx.svg | 1 - src/icons/comp.svg | 1 - src/icons/coqui.svg | 1 - src/icons/cred.svg | 1 - src/icons/crpt.svg | 1 - src/icons/crv.svg | 1 - src/icons/crw.svg | 1 - src/icons/cs.svg | 1 - src/icons/ctr.svg | 1 - src/icons/ctxc.svg | 1 - src/icons/cvc.svg | 1 - src/icons/dai.svg | 1 - src/icons/dash.svg | 1 - src/icons/dat.svg | 1 - src/icons/data.svg | 1 - src/icons/dbc.svg | 1 - src/icons/dcn.svg | 1 - src/icons/dcr.svg | 1 - src/icons/deez.svg | 1 - src/icons/dent.svg | 1 - src/icons/dew.svg | 1 - src/icons/dgb.svg | 1 - src/icons/dgd.svg | 1 - src/icons/dlt.svg | 1 - src/icons/dnt.svg | 1 - src/icons/dock.svg | 1 - src/icons/doge.svg | 1 - src/icons/dot.svg | 1 - src/icons/drgn.svg | 1 - src/icons/drop.svg | 1 - src/icons/dta.svg | 1 - src/icons/dth.svg | 1 - src/icons/dtr.svg | 1 - src/icons/ebst.svg | 1 - src/icons/eca.svg | 1 - src/icons/edg.svg | 1 - src/icons/edo.svg | 1 - src/icons/edoge.svg | 1 - src/icons/ela.svg | 1 - src/icons/elec.svg | 1 - src/icons/elf.svg | 1 - src/icons/elix.svg | 1 - src/icons/ella.svg | 1 - src/icons/emb.svg | 1 - src/icons/emc.svg | 1 - src/icons/emc2.svg | 1 - src/icons/eng.svg | 1 - src/icons/enj.svg | 1 - src/icons/entrp.svg | 1 - src/icons/eon.svg | 1 - src/icons/eop.svg | 1 - src/icons/eos.svg | 1 - src/icons/eqli.svg | 1 - src/icons/equa.svg | 1 - src/icons/etc.svg | 1 - src/icons/eth.svg | 1 - src/icons/eth_white.svg | 1 - src/icons/ethos.svg | 1 - src/icons/etn.svg | 1 - src/icons/etp.svg | 1 - src/icons/eur.svg | 1 - src/icons/evx.svg | 1 - src/icons/exmo.svg | 1 - src/icons/exp.svg | 1 - src/icons/fair.svg | 1 - src/icons/fct.svg | 1 - src/icons/fil.svg | 1 - src/icons/fjc.svg | 1 - src/icons/fldc.svg | 1 - src/icons/flo.svg | 1 - src/icons/flux.svg | 1 - src/icons/fsn.svg | 1 - src/icons/ftc.svg | 1 - src/icons/fuel.svg | 1 - src/icons/fun.svg | 1 - src/icons/game.svg | 1 - src/icons/gas.svg | 1 - src/icons/gbp.svg | 1 - src/icons/gbx.svg | 1 - src/icons/gbyte.svg | 1 - src/icons/generic.svg | 1 - src/icons/gin.svg | 1 - src/icons/glxt.svg | 1 - src/icons/gmr.svg | 1 - src/icons/gno.svg | 1 - src/icons/gnt.svg | 1 - src/icons/gold.svg | 1 - src/icons/grc.svg | 1 - src/icons/grin.svg | 1 - src/icons/grs.svg | 1 - src/icons/grt.svg | 1 - src/icons/gsc.svg | 1 - src/icons/gto.svg | 1 - src/icons/gup.svg | 1 - src/icons/gusd.svg | 1 - src/icons/gvt.svg | 1 - src/icons/gxs.svg | 1 - src/icons/gzr.svg | 1 - src/icons/hight.svg | 1 - src/icons/hns.svg | 1 - src/icons/hodl.svg | 1 - src/icons/hot.svg | 1 - src/icons/hpb.svg | 1 - src/icons/hsr.svg | 1 - src/icons/ht.svg | 1 - src/icons/html.svg | 1 - src/icons/huc.svg | 1 - src/icons/husd.svg | 1 - src/icons/hush.svg | 1 - src/icons/icn.svg | 1 - src/icons/icp.svg | 1 - src/icons/icx.svg | 1 - src/icons/ignis.svg | 1 - src/icons/ilk.svg | 1 - src/icons/ink.svg | 1 - src/icons/ins.svg | 1 - src/icons/ion.svg | 1 - src/icons/iop.svg | 1 - src/icons/iost.svg | 1 - src/icons/iotx.svg | 1 - src/icons/iq.svg | 1 - src/icons/itc.svg | 1 - src/icons/jnt.svg | 1 - src/icons/jpy.svg | 1 - src/icons/kcs.svg | 1 - src/icons/kin.svg | 1 - src/icons/klown.svg | 1 - src/icons/kmd.svg | 1 - src/icons/knc.svg | 1 - src/icons/krb.svg | 1 - src/icons/ksm.svg | 1 - src/icons/lbc.svg | 1 - src/icons/lend.svg | 1 - src/icons/leo.svg | 1 - src/icons/link.svg | 1 - src/icons/lkk.svg | 1 - src/icons/loom.svg | 1 - src/icons/lpt.svg | 1 - src/icons/lrc.svg | 1 - src/icons/lsk.svg | 1 - src/icons/ltc.svg | 1 - src/icons/lun.svg | 1 - src/icons/maid.svg | 1 - src/icons/mana.svg | 1 - src/icons/matic.svg | 1 - src/icons/max.svg | 1 - src/icons/mcap.svg | 1 - src/icons/mco.svg | 1 - src/icons/mda.svg | 1 - src/icons/mds.svg | 1 - src/icons/med.svg | 1 - src/icons/meetone.svg | 1 - src/icons/mft.svg | 1 - src/icons/miota.svg | 1 - src/icons/mith.svg | 1 - src/icons/mkr.svg | 1 - src/icons/mln.svg | 1 - src/icons/mnx.svg | 1 - src/icons/mnz.svg | 1 - src/icons/moac.svg | 1 - src/icons/mod.svg | 1 - src/icons/mona.svg | 1 - src/icons/msr.svg | 1 - src/icons/mth.svg | 1 - src/icons/mtl.svg | 1 - src/icons/music.svg | 1 - src/icons/mzc.svg | 1 - src/icons/nano.svg | 1 - src/icons/nas.svg | 1 - src/icons/nav.svg | 1 - src/icons/ncash.svg | 1 - src/icons/ndz.svg | 1 - src/icons/nebl.svg | 1 - src/icons/neo.svg | 1 - src/icons/neos.svg | 1 - src/icons/neu.svg | 1 - src/icons/nexo.svg | 1 - src/icons/ngc.svg | 1 - src/icons/nio.svg | 1 - src/icons/nkn.svg | 1 - src/icons/nlc2.svg | 1 - src/icons/nlg.svg | 1 - src/icons/nmc.svg | 1 - src/icons/nmr.svg | 1 - src/icons/npxs.svg | 1 - src/icons/ntbc.svg | 1 - src/icons/nuls.svg | 1 - src/icons/nxs.svg | 1 - src/icons/nxt.svg | 1 - src/icons/oax.svg | 1 - src/icons/ok.svg | 1 - src/icons/omg.svg | 1 - src/icons/omni.svg | 1 - src/icons/one.svg | 1 - src/icons/ong.svg | 1 - src/icons/ont.svg | 1 - src/icons/oot.svg | 1 - src/icons/ost.svg | 1 - src/icons/ox.svg | 1 - src/icons/oxt.svg | 1 - src/icons/part.svg | 1 - src/icons/pasc.svg | 1 - src/icons/pasl.svg | 1 - src/icons/pax.svg | 1 - src/icons/paxg.svg | 1 - src/icons/pay.svg | 1 - src/icons/payx.svg | 1 - src/icons/pink.svg | 1 - src/icons/pirl.svg | 1 - src/icons/pivx.svg | 1 - src/icons/plr.svg | 1 - src/icons/poa.svg | 1 - src/icons/poe.svg | 1 - src/icons/polis.svg | 1 - src/icons/poly.svg | 1 - src/icons/pot.svg | 1 - src/icons/powr.svg | 1 - src/icons/ppc.svg | 1 - src/icons/ppp.svg | 1 - src/icons/ppt.svg | 1 - src/icons/pre.svg | 1 - src/icons/prl.svg | 1 - src/icons/pungo.svg | 1 - src/icons/pura.svg | 1 - src/icons/qash.svg | 1 - src/icons/qiwi.svg | 1 - src/icons/qlc.svg | 1 - src/icons/qrl.svg | 1 - src/icons/qsp.svg | 1 - src/icons/qtum.svg | 1 - src/icons/r.svg | 1 - src/icons/rads.svg | 1 - src/icons/rap.svg | 1 - src/icons/rcn.svg | 1 - src/icons/rdd.svg | 1 - src/icons/rdn.svg | 1 - src/icons/ren.svg | 1 - src/icons/rep.svg | 1 - src/icons/repv2.svg | 1 - src/icons/req.svg | 1 - src/icons/rhoc.svg | 1 - src/icons/ric.svg | 1 - src/icons/rise.svg | 1 - src/icons/rlc.svg | 1 - src/icons/rpx.svg | 1 - src/icons/rub.svg | 1 - src/icons/rvn.svg | 1 - src/icons/ryo.svg | 1 - src/icons/safe.svg | 1 - src/icons/safemoon.svg | 1 - src/icons/sai.svg | 1 - src/icons/salt.svg | 1 - src/icons/san.svg | 1 - src/icons/sand.svg | 1 - src/icons/sbd.svg | 1 - src/icons/sberbank.svg | 1 - src/icons/sc.svg | 1 - src/icons/shift.svg | 1 - src/icons/sib.svg | 1 - src/icons/sin.svg | 1 - src/icons/skl.svg | 1 - src/icons/sky.svg | 1 - src/icons/slr.svg | 1 - src/icons/sls.svg | 1 - src/icons/smart.svg | 1 - src/icons/sngls.svg | 1 - src/icons/snm.svg | 1 - src/icons/snt.svg | 1 - src/icons/snx.svg | 1 - src/icons/soc.svg | 1 - src/icons/sol.svg | 1 - src/icons/spacehbit.svg | 1 - src/icons/spank.svg | 1 - src/icons/sphtx.svg | 1 - src/icons/srn.svg | 1 - src/icons/stak.svg | 1 - src/icons/start.svg | 1 - src/icons/steem.svg | 1 - src/icons/storj.svg | 1 - src/icons/storm.svg | 1 - src/icons/stox.svg | 1 - src/icons/stq.svg | 1 - src/icons/strat.svg | 1 - src/icons/stx.svg | 1 - src/icons/sub.svg | 1 - src/icons/sumo.svg | 1 - src/icons/sushi.svg | 1 - src/icons/sys.svg | 1 - src/icons/taas.svg | 1 - src/icons/tau.svg | 1 - src/icons/tbx.svg | 1 - src/icons/tel.svg | 1 - src/icons/ten.svg | 1 - src/icons/tern.svg | 1 - src/icons/tgch.svg | 1 - src/icons/theta.svg | 1 - src/icons/tix.svg | 1 - src/icons/tkn.svg | 1 - src/icons/tks.svg | 1 - src/icons/tnb.svg | 1 - src/icons/tnc.svg | 1 - src/icons/tnt.svg | 1 - src/icons/tomo.svg | 1 - src/icons/tpay.svg | 1 - src/icons/trig.svg | 1 - src/icons/trtl.svg | 1 - src/icons/trx.svg | 1 - src/icons/tusd.svg | 1 - src/icons/tzc.svg | 1 - src/icons/ubq.svg | 1 - src/icons/uma.svg | 1 - src/icons/uni.svg | 1 - src/icons/unity.svg | 1 - src/icons/usd.svg | 1 - src/icons/usdc.svg | 1 - src/icons/usdt.svg | 1 - src/icons/utk.svg | 1 - src/icons/veri.svg | 1 - src/icons/vet.svg | 1 - src/icons/via.svg | 1 - src/icons/vib.svg | 1 - src/icons/vibe.svg | 1 - src/icons/vivo.svg | 1 - src/icons/vrc.svg | 1 - src/icons/vrsc.svg | 1 - src/icons/vtc.svg | 1 - src/icons/vtho.svg | 1 - src/icons/wabi.svg | 1 - src/icons/wan.svg | 1 - src/icons/waves.svg | 1 - src/icons/wax.svg | 1 - src/icons/wbtc.svg | 1 - src/icons/wgr.svg | 1 - src/icons/wicc.svg | 1 - src/icons/wings.svg | 1 - src/icons/wpr.svg | 1 - src/icons/wtc.svg | 1 - src/icons/x.svg | 1 - src/icons/xas.svg | 1 - src/icons/xbc.svg | 1 - src/icons/xbp.svg | 1 - src/icons/xby.svg | 1 - src/icons/xcp.svg | 1 - src/icons/xdn.svg | 1 - src/icons/xem.svg | 1 - src/icons/xin.svg | 1 - src/icons/xlm.svg | 1 - src/icons/xmcc.svg | 1 - src/icons/xmg.svg | 1 - src/icons/xmo.svg | 1 - src/icons/xmr.svg | 1 - src/icons/xmy.svg | 1 - src/icons/xp.svg | 1 - src/icons/xpa.svg | 1 - src/icons/xpm.svg | 1 - src/icons/xpr.svg | 1 - src/icons/xrp.svg | 1 - src/icons/xsg.svg | 1 - src/icons/xtz.svg | 1 - src/icons/xuc.svg | 1 - src/icons/xvc.svg | 1 - src/icons/xvg.svg | 1 - src/icons/xzc.svg | 1 - src/icons/yfi.svg | 1 - src/icons/yoyow.svg | 1 - src/icons/zcl.svg | 1 - src/icons/zec.svg | 1 - src/icons/zel.svg | 1 - src/icons/zen.svg | 1 - src/icons/zest.svg | 1 - src/icons/zil.svg | 1 - src/icons/zilla.svg | 1 - src/icons/zrx.svg | 1 - src/index.css | 72 +- src/index.tsx | 23 - src/logo.svg | 1 - src/mainnetAbi.json | 6954 -------- src/metadata/addresses/legacy.json | 10 - src/metadata/addresses/mainnet.json | 10 - src/metadata/addresses/regression.json | 10 - src/metadata/addresses/staging.json | 10 - src/metadata/addresses/staging3.json | 10 - src/metadata/erc1155_abi.json | 1 - src/metadata/erc20_abi.json | 1 - src/metadata/erc20_wrapper_abi.json | 1 - src/metadata/erc721_abi.json | 1 - src/metadata/erc721meta_abi.json | 1 - src/metadata/explorer.json | 6 - src/metadata/mainnetAbi.json | 1 - src/metadata/proxy.json | 8 - src/metadata/schainAbi.json | 1 - src/metamask.png | Bin 35483 -> 0 bytes src/react-app-env.d.ts | 11 - src/reportWebVitals.js | 13 - src/searchSuggestions.json | 18 - src/setupTests.js | 5 - src/skaleShort.svg | 4 - src/vite-env.d.ts | 6 + tsconfig.json | 42 +- tsconfig.node.json | 10 + vite.config.ts | 10 + yarn.lock | 13148 ++++------------ 624 files changed, 3761 insertions(+), 24676 deletions(-) create mode 100644 .eslintrc.cjs delete mode 100644 .gitmodules delete mode 100644 CODEOWNERS delete mode 100644 build.sh delete mode 100644 config-overrides.js delete mode 100644 dev_build.sh delete mode 100644 env/legacy/chainsData.json delete mode 100644 env/legacy/faucet.json delete mode 100644 env/legacy/metaportConfig.json delete mode 100644 env/mainnet/chainsData.json delete mode 100644 env/mainnet/faucet.json delete mode 100644 env/mainnet/metaportConfig.json delete mode 100644 env/regression/chainsData.json delete mode 100644 env/regression/faucet.json delete mode 100644 env/regression/metaportConfig.json delete mode 100644 env/staging/chainsData.json delete mode 100644 env/staging/faucet.json delete mode 100644 env/staging/metaportConfig.json create mode 100644 index.html delete mode 100644 public/index.html delete mode 100644 public/manifest.json delete mode 100644 public/robots.txt delete mode 160000 skale-network delete mode 100644 src/AmountInput.tsx create mode 100644 src/App.css delete mode 100644 src/App.test.js create mode 100644 src/Bridge.tsx delete mode 100644 src/Header.js create mode 100644 src/Header.tsx delete mode 100644 src/Interval.js delete mode 100644 src/MetamaskConnector.tsx delete mode 100644 src/OpenMetaportBtn.tsx delete mode 100644 src/SelectPage.tsx delete mode 100644 src/Web3Helper.ts rename src/{ => assets}/skale_lg.svg (100%) delete mode 100644 src/components/ActionCard/ActionCard.scss delete mode 100644 src/components/ActionCard/ActionCard.tsx delete mode 100644 src/components/ActionCard/helper.tsx delete mode 100644 src/components/ActionCard/index.ts delete mode 100644 src/components/AmountInput/AmountInput.scss delete mode 100644 src/components/AmountInput/AmountInput.tsx delete mode 100644 src/components/AmountInput/index.ts delete mode 100644 src/components/BalanceBlock/BalanceBlock.tsx delete mode 100644 src/components/BalanceBlock/index.ts delete mode 100644 src/components/BridgePaper/BridgePaper.tsx delete mode 100644 src/components/BridgePaper/index.ts delete mode 100644 src/components/ChainCard/ChainCard.scss delete mode 100644 src/components/ChainCard/ChainCard.tsx delete mode 100644 src/components/ChainCard/index.ts delete mode 100644 src/components/ChainCards/ChainCards.tsx delete mode 100644 src/components/ChainCards/index.ts delete mode 100644 src/components/ChainOverview/ChainOverview.tsx delete mode 100644 src/components/ChainOverview/index.ts delete mode 100644 src/components/CommunityPool/CommunityPool.tsx delete mode 100644 src/components/CommunityPool/index.ts delete mode 100644 src/components/ExitGasWallet/ExitGasWallet.tsx delete mode 100644 src/components/ExitGasWallet/index.ts delete mode 100644 src/components/Footer/Footer.tsx delete mode 100644 src/components/Footer/index.ts delete mode 100644 src/components/HelpZen/HelpZen.scss delete mode 100644 src/components/History/History.tsx delete mode 100644 src/components/History/index.ts delete mode 100644 src/components/HubIcon/HubIcon.tsx delete mode 100644 src/components/HubIcon/index.ts create mode 100644 src/components/Main.tsx delete mode 100644 src/components/MoreMenu/MoreMenu.scss delete mode 100644 src/components/Overview/Overview.tsx delete mode 100644 src/components/Overview/index.ts delete mode 100644 src/components/SFuel/SFuel.tsx delete mode 100644 src/components/SFuel/index.ts delete mode 100644 src/components/Search/Search.tsx delete mode 100644 src/components/Search/index.ts delete mode 100644 src/components/TokenButton/TokenButton.tsx delete mode 100644 src/components/TokenButton/index.ts delete mode 100644 src/components/Tokens/Tokens.scss delete mode 100644 src/components/Tokens/Tokens.tsx delete mode 100644 src/components/Tokens/index.ts delete mode 100644 src/components/TokensPreview/TokensPreview.tsx delete mode 100644 src/components/TokensPreview/index.ts delete mode 100644 src/components/TransactionData/TransactionData.tsx delete mode 100644 src/components/TransactionData/index.ts delete mode 100644 src/components/Transfer/Transfer.scss delete mode 100644 src/components/Transfer/Transfer.tsx delete mode 100644 src/components/Transfer/index.ts delete mode 100644 src/components/TransferData/TransferData.tsx delete mode 100644 src/components/TransferData/index.ts delete mode 100644 src/components/TransferDone/TransferDone.tsx delete mode 100644 src/components/TransferDone/index.ts delete mode 100644 src/components/TransferFrom/TransferFrom.tsx delete mode 100644 src/components/TransferFrom/index.ts delete mode 100644 src/components/TransferStepper/TransferStepper.scss delete mode 100644 src/components/TransferStepper/TransferStepper.tsx delete mode 100644 src/components/TransferStepper/index.ts delete mode 100644 src/components/TransferTo/TransferTo.tsx delete mode 100644 src/components/TransferTo/index.ts delete mode 100644 src/components/TransferV2/Transfer.scss delete mode 100644 src/components/TransferV2/Transfer.tsx delete mode 100644 src/components/TransferV2/index.ts delete mode 100644 src/core/connector.ts delete mode 100644 src/core/convertation.ts delete mode 100644 src/core/dataclasses/TokenData.ts delete mode 100644 src/core/dataclasses/TokenType.ts delete mode 100644 src/core/faucet.ts delete mode 100644 src/core/helper.ts delete mode 100644 src/core/metaportConfig.ts delete mode 100644 src/core/network.ts create mode 100644 src/core/themes.ts delete mode 100644 src/core/tokens.ts delete mode 100644 src/core/transferHistory.ts delete mode 100644 src/custom.d.ts delete mode 100644 src/enkrypt.png delete mode 100644 src/externalTokenIcons.json delete mode 100644 src/icons/$pac.svg delete mode 100644 src/icons/0xbtc.svg delete mode 100644 src/icons/2give.svg delete mode 100644 src/icons/aave.svg delete mode 100644 src/icons/abt.svg delete mode 100644 src/icons/act.svg delete mode 100644 src/icons/actn.svg delete mode 100644 src/icons/ada.svg delete mode 100644 src/icons/add.svg delete mode 100644 src/icons/adx.svg delete mode 100644 src/icons/ae.svg delete mode 100644 src/icons/aeon.svg delete mode 100644 src/icons/aeur.svg delete mode 100644 src/icons/agi.svg delete mode 100644 src/icons/agrs.svg delete mode 100644 src/icons/aion.svg delete mode 100644 src/icons/algo.svg delete mode 100644 src/icons/amb.svg delete mode 100644 src/icons/amp.svg delete mode 100644 src/icons/ampl.svg delete mode 100644 src/icons/ankr.svg delete mode 100644 src/icons/ant.svg delete mode 100644 src/icons/apex.svg delete mode 100644 src/icons/appc.svg delete mode 100644 src/icons/ardr.svg delete mode 100644 src/icons/arg.svg delete mode 100644 src/icons/ark.svg delete mode 100644 src/icons/arn.svg delete mode 100644 src/icons/arnx.svg delete mode 100644 src/icons/ary.svg delete mode 100644 src/icons/ast.svg delete mode 100644 src/icons/atm.svg delete mode 100644 src/icons/atom.svg delete mode 100644 src/icons/audr.svg delete mode 100644 src/icons/auto.svg delete mode 100644 src/icons/aywa.svg delete mode 100644 src/icons/bab.svg delete mode 100644 src/icons/bal.svg delete mode 100644 src/icons/band.svg delete mode 100644 src/icons/bat.svg delete mode 100644 src/icons/bay.svg delete mode 100644 src/icons/bcbc.svg delete mode 100644 src/icons/bcc.svg delete mode 100644 src/icons/bcd.svg delete mode 100644 src/icons/bch.svg delete mode 100644 src/icons/bcio.svg delete mode 100644 src/icons/bcn.svg delete mode 100644 src/icons/bco.svg delete mode 100644 src/icons/bcpt.svg delete mode 100644 src/icons/bdl.svg delete mode 100644 src/icons/beam.svg delete mode 100644 src/icons/bela.svg delete mode 100644 src/icons/bix.svg delete mode 100644 src/icons/blcn.svg delete mode 100644 src/icons/blk.svg delete mode 100644 src/icons/block.svg delete mode 100644 src/icons/blz.svg delete mode 100644 src/icons/bnb.svg delete mode 100644 src/icons/bnt.svg delete mode 100644 src/icons/bnty.svg delete mode 100644 src/icons/booty.svg delete mode 100644 src/icons/bos.svg delete mode 100644 src/icons/bpt.svg delete mode 100644 src/icons/bq.svg delete mode 100644 src/icons/brd.svg delete mode 100644 src/icons/bsd.svg delete mode 100644 src/icons/bsv.svg delete mode 100644 src/icons/btc.svg delete mode 100644 src/icons/btcd.svg delete mode 100644 src/icons/btch.svg delete mode 100644 src/icons/btcp.svg delete mode 100644 src/icons/btcz.svg delete mode 100644 src/icons/btdx.svg delete mode 100644 src/icons/btg.svg delete mode 100644 src/icons/btm.svg delete mode 100644 src/icons/bts.svg delete mode 100644 src/icons/btt.svg delete mode 100644 src/icons/btx.svg delete mode 100644 src/icons/burst.svg delete mode 100644 src/icons/bze.svg delete mode 100644 src/icons/call.svg delete mode 100644 src/icons/cc.svg delete mode 100644 src/icons/cdn.svg delete mode 100644 src/icons/cdt.svg delete mode 100644 src/icons/cenz.svg delete mode 100644 src/icons/chain.svg delete mode 100644 src/icons/chat.svg delete mode 100644 src/icons/chips.svg delete mode 100644 src/icons/chsb.svg delete mode 100644 src/icons/cix.svg delete mode 100644 src/icons/clam.svg delete mode 100644 src/icons/cloak.svg delete mode 100644 src/icons/cmm.svg delete mode 100644 src/icons/cmt.svg delete mode 100644 src/icons/cnd.svg delete mode 100644 src/icons/cnx.svg delete mode 100644 src/icons/cny.svg delete mode 100644 src/icons/cob.svg delete mode 100644 src/icons/colx.svg delete mode 100644 src/icons/comp.svg delete mode 100644 src/icons/coqui.svg delete mode 100644 src/icons/cred.svg delete mode 100644 src/icons/crpt.svg delete mode 100644 src/icons/crv.svg delete mode 100644 src/icons/crw.svg delete mode 100644 src/icons/cs.svg delete mode 100644 src/icons/ctr.svg delete mode 100644 src/icons/ctxc.svg delete mode 100644 src/icons/cvc.svg delete mode 100644 src/icons/dai.svg delete mode 100644 src/icons/dash.svg delete mode 100644 src/icons/dat.svg delete mode 100644 src/icons/data.svg delete mode 100644 src/icons/dbc.svg delete mode 100644 src/icons/dcn.svg delete mode 100644 src/icons/dcr.svg delete mode 100644 src/icons/deez.svg delete mode 100644 src/icons/dent.svg delete mode 100644 src/icons/dew.svg delete mode 100644 src/icons/dgb.svg delete mode 100644 src/icons/dgd.svg delete mode 100644 src/icons/dlt.svg delete mode 100644 src/icons/dnt.svg delete mode 100644 src/icons/dock.svg delete mode 100644 src/icons/doge.svg delete mode 100644 src/icons/dot.svg delete mode 100644 src/icons/drgn.svg delete mode 100644 src/icons/drop.svg delete mode 100644 src/icons/dta.svg delete mode 100644 src/icons/dth.svg delete mode 100644 src/icons/dtr.svg delete mode 100644 src/icons/ebst.svg delete mode 100644 src/icons/eca.svg delete mode 100644 src/icons/edg.svg delete mode 100644 src/icons/edo.svg delete mode 100644 src/icons/edoge.svg delete mode 100644 src/icons/ela.svg delete mode 100644 src/icons/elec.svg delete mode 100644 src/icons/elf.svg delete mode 100644 src/icons/elix.svg delete mode 100644 src/icons/ella.svg delete mode 100644 src/icons/emb.svg delete mode 100644 src/icons/emc.svg delete mode 100644 src/icons/emc2.svg delete mode 100644 src/icons/eng.svg delete mode 100644 src/icons/enj.svg delete mode 100644 src/icons/entrp.svg delete mode 100644 src/icons/eon.svg delete mode 100644 src/icons/eop.svg delete mode 100644 src/icons/eos.svg delete mode 100644 src/icons/eqli.svg delete mode 100644 src/icons/equa.svg delete mode 100644 src/icons/etc.svg delete mode 100644 src/icons/eth.svg delete mode 100644 src/icons/eth_white.svg delete mode 100644 src/icons/ethos.svg delete mode 100644 src/icons/etn.svg delete mode 100644 src/icons/etp.svg delete mode 100644 src/icons/eur.svg delete mode 100644 src/icons/evx.svg delete mode 100644 src/icons/exmo.svg delete mode 100644 src/icons/exp.svg delete mode 100644 src/icons/fair.svg delete mode 100644 src/icons/fct.svg delete mode 100644 src/icons/fil.svg delete mode 100644 src/icons/fjc.svg delete mode 100644 src/icons/fldc.svg delete mode 100644 src/icons/flo.svg delete mode 100644 src/icons/flux.svg delete mode 100644 src/icons/fsn.svg delete mode 100644 src/icons/ftc.svg delete mode 100644 src/icons/fuel.svg delete mode 100644 src/icons/fun.svg delete mode 100644 src/icons/game.svg delete mode 100644 src/icons/gas.svg delete mode 100644 src/icons/gbp.svg delete mode 100644 src/icons/gbx.svg delete mode 100644 src/icons/gbyte.svg delete mode 100644 src/icons/generic.svg delete mode 100644 src/icons/gin.svg delete mode 100644 src/icons/glxt.svg delete mode 100644 src/icons/gmr.svg delete mode 100644 src/icons/gno.svg delete mode 100644 src/icons/gnt.svg delete mode 100644 src/icons/gold.svg delete mode 100644 src/icons/grc.svg delete mode 100644 src/icons/grin.svg delete mode 100644 src/icons/grs.svg delete mode 100644 src/icons/grt.svg delete mode 100644 src/icons/gsc.svg delete mode 100644 src/icons/gto.svg delete mode 100644 src/icons/gup.svg delete mode 100644 src/icons/gusd.svg delete mode 100644 src/icons/gvt.svg delete mode 100644 src/icons/gxs.svg delete mode 100644 src/icons/gzr.svg delete mode 100644 src/icons/hight.svg delete mode 100644 src/icons/hns.svg delete mode 100644 src/icons/hodl.svg delete mode 100644 src/icons/hot.svg delete mode 100644 src/icons/hpb.svg delete mode 100644 src/icons/hsr.svg delete mode 100644 src/icons/ht.svg delete mode 100644 src/icons/html.svg delete mode 100644 src/icons/huc.svg delete mode 100644 src/icons/husd.svg delete mode 100644 src/icons/hush.svg delete mode 100644 src/icons/icn.svg delete mode 100644 src/icons/icp.svg delete mode 100644 src/icons/icx.svg delete mode 100644 src/icons/ignis.svg delete mode 100644 src/icons/ilk.svg delete mode 100644 src/icons/ink.svg delete mode 100644 src/icons/ins.svg delete mode 100644 src/icons/ion.svg delete mode 100644 src/icons/iop.svg delete mode 100644 src/icons/iost.svg delete mode 100644 src/icons/iotx.svg delete mode 100644 src/icons/iq.svg delete mode 100644 src/icons/itc.svg delete mode 100644 src/icons/jnt.svg delete mode 100644 src/icons/jpy.svg delete mode 100644 src/icons/kcs.svg delete mode 100644 src/icons/kin.svg delete mode 100644 src/icons/klown.svg delete mode 100644 src/icons/kmd.svg delete mode 100644 src/icons/knc.svg delete mode 100644 src/icons/krb.svg delete mode 100644 src/icons/ksm.svg delete mode 100644 src/icons/lbc.svg delete mode 100644 src/icons/lend.svg delete mode 100644 src/icons/leo.svg delete mode 100644 src/icons/link.svg delete mode 100644 src/icons/lkk.svg delete mode 100644 src/icons/loom.svg delete mode 100644 src/icons/lpt.svg delete mode 100644 src/icons/lrc.svg delete mode 100644 src/icons/lsk.svg delete mode 100644 src/icons/ltc.svg delete mode 100644 src/icons/lun.svg delete mode 100644 src/icons/maid.svg delete mode 100644 src/icons/mana.svg delete mode 100644 src/icons/matic.svg delete mode 100644 src/icons/max.svg delete mode 100644 src/icons/mcap.svg delete mode 100644 src/icons/mco.svg delete mode 100644 src/icons/mda.svg delete mode 100644 src/icons/mds.svg delete mode 100644 src/icons/med.svg delete mode 100644 src/icons/meetone.svg delete mode 100644 src/icons/mft.svg delete mode 100644 src/icons/miota.svg delete mode 100644 src/icons/mith.svg delete mode 100644 src/icons/mkr.svg delete mode 100644 src/icons/mln.svg delete mode 100644 src/icons/mnx.svg delete mode 100644 src/icons/mnz.svg delete mode 100644 src/icons/moac.svg delete mode 100644 src/icons/mod.svg delete mode 100644 src/icons/mona.svg delete mode 100644 src/icons/msr.svg delete mode 100644 src/icons/mth.svg delete mode 100644 src/icons/mtl.svg delete mode 100644 src/icons/music.svg delete mode 100644 src/icons/mzc.svg delete mode 100644 src/icons/nano.svg delete mode 100644 src/icons/nas.svg delete mode 100644 src/icons/nav.svg delete mode 100644 src/icons/ncash.svg delete mode 100644 src/icons/ndz.svg delete mode 100644 src/icons/nebl.svg delete mode 100644 src/icons/neo.svg delete mode 100644 src/icons/neos.svg delete mode 100644 src/icons/neu.svg delete mode 100644 src/icons/nexo.svg delete mode 100644 src/icons/ngc.svg delete mode 100644 src/icons/nio.svg delete mode 100644 src/icons/nkn.svg delete mode 100644 src/icons/nlc2.svg delete mode 100644 src/icons/nlg.svg delete mode 100644 src/icons/nmc.svg delete mode 100644 src/icons/nmr.svg delete mode 100644 src/icons/npxs.svg delete mode 100644 src/icons/ntbc.svg delete mode 100644 src/icons/nuls.svg delete mode 100644 src/icons/nxs.svg delete mode 100644 src/icons/nxt.svg delete mode 100644 src/icons/oax.svg delete mode 100644 src/icons/ok.svg delete mode 100644 src/icons/omg.svg delete mode 100644 src/icons/omni.svg delete mode 100644 src/icons/one.svg delete mode 100644 src/icons/ong.svg delete mode 100644 src/icons/ont.svg delete mode 100644 src/icons/oot.svg delete mode 100644 src/icons/ost.svg delete mode 100644 src/icons/ox.svg delete mode 100644 src/icons/oxt.svg delete mode 100644 src/icons/part.svg delete mode 100644 src/icons/pasc.svg delete mode 100644 src/icons/pasl.svg delete mode 100644 src/icons/pax.svg delete mode 100644 src/icons/paxg.svg delete mode 100644 src/icons/pay.svg delete mode 100644 src/icons/payx.svg delete mode 100644 src/icons/pink.svg delete mode 100644 src/icons/pirl.svg delete mode 100644 src/icons/pivx.svg delete mode 100644 src/icons/plr.svg delete mode 100644 src/icons/poa.svg delete mode 100644 src/icons/poe.svg delete mode 100644 src/icons/polis.svg delete mode 100644 src/icons/poly.svg delete mode 100644 src/icons/pot.svg delete mode 100644 src/icons/powr.svg delete mode 100644 src/icons/ppc.svg delete mode 100644 src/icons/ppp.svg delete mode 100644 src/icons/ppt.svg delete mode 100644 src/icons/pre.svg delete mode 100644 src/icons/prl.svg delete mode 100644 src/icons/pungo.svg delete mode 100644 src/icons/pura.svg delete mode 100644 src/icons/qash.svg delete mode 100644 src/icons/qiwi.svg delete mode 100644 src/icons/qlc.svg delete mode 100644 src/icons/qrl.svg delete mode 100644 src/icons/qsp.svg delete mode 100644 src/icons/qtum.svg delete mode 100644 src/icons/r.svg delete mode 100644 src/icons/rads.svg delete mode 100644 src/icons/rap.svg delete mode 100644 src/icons/rcn.svg delete mode 100644 src/icons/rdd.svg delete mode 100644 src/icons/rdn.svg delete mode 100644 src/icons/ren.svg delete mode 100644 src/icons/rep.svg delete mode 100644 src/icons/repv2.svg delete mode 100644 src/icons/req.svg delete mode 100644 src/icons/rhoc.svg delete mode 100644 src/icons/ric.svg delete mode 100644 src/icons/rise.svg delete mode 100644 src/icons/rlc.svg delete mode 100644 src/icons/rpx.svg delete mode 100644 src/icons/rub.svg delete mode 100644 src/icons/rvn.svg delete mode 100644 src/icons/ryo.svg delete mode 100644 src/icons/safe.svg delete mode 100644 src/icons/safemoon.svg delete mode 100644 src/icons/sai.svg delete mode 100644 src/icons/salt.svg delete mode 100644 src/icons/san.svg delete mode 100644 src/icons/sand.svg delete mode 100644 src/icons/sbd.svg delete mode 100644 src/icons/sberbank.svg delete mode 100644 src/icons/sc.svg delete mode 100644 src/icons/shift.svg delete mode 100644 src/icons/sib.svg delete mode 100644 src/icons/sin.svg delete mode 100644 src/icons/skl.svg delete mode 100644 src/icons/sky.svg delete mode 100644 src/icons/slr.svg delete mode 100644 src/icons/sls.svg delete mode 100644 src/icons/smart.svg delete mode 100644 src/icons/sngls.svg delete mode 100644 src/icons/snm.svg delete mode 100644 src/icons/snt.svg delete mode 100644 src/icons/snx.svg delete mode 100644 src/icons/soc.svg delete mode 100644 src/icons/sol.svg delete mode 100644 src/icons/spacehbit.svg delete mode 100644 src/icons/spank.svg delete mode 100644 src/icons/sphtx.svg delete mode 100644 src/icons/srn.svg delete mode 100644 src/icons/stak.svg delete mode 100644 src/icons/start.svg delete mode 100644 src/icons/steem.svg delete mode 100644 src/icons/storj.svg delete mode 100644 src/icons/storm.svg delete mode 100644 src/icons/stox.svg delete mode 100644 src/icons/stq.svg delete mode 100644 src/icons/strat.svg delete mode 100644 src/icons/stx.svg delete mode 100644 src/icons/sub.svg delete mode 100644 src/icons/sumo.svg delete mode 100644 src/icons/sushi.svg delete mode 100644 src/icons/sys.svg delete mode 100644 src/icons/taas.svg delete mode 100644 src/icons/tau.svg delete mode 100644 src/icons/tbx.svg delete mode 100644 src/icons/tel.svg delete mode 100644 src/icons/ten.svg delete mode 100644 src/icons/tern.svg delete mode 100644 src/icons/tgch.svg delete mode 100644 src/icons/theta.svg delete mode 100644 src/icons/tix.svg delete mode 100644 src/icons/tkn.svg delete mode 100644 src/icons/tks.svg delete mode 100644 src/icons/tnb.svg delete mode 100644 src/icons/tnc.svg delete mode 100644 src/icons/tnt.svg delete mode 100644 src/icons/tomo.svg delete mode 100644 src/icons/tpay.svg delete mode 100644 src/icons/trig.svg delete mode 100644 src/icons/trtl.svg delete mode 100644 src/icons/trx.svg delete mode 100644 src/icons/tusd.svg delete mode 100644 src/icons/tzc.svg delete mode 100644 src/icons/ubq.svg delete mode 100644 src/icons/uma.svg delete mode 100644 src/icons/uni.svg delete mode 100644 src/icons/unity.svg delete mode 100644 src/icons/usd.svg delete mode 100644 src/icons/usdc.svg delete mode 100644 src/icons/usdt.svg delete mode 100644 src/icons/utk.svg delete mode 100644 src/icons/veri.svg delete mode 100644 src/icons/vet.svg delete mode 100644 src/icons/via.svg delete mode 100644 src/icons/vib.svg delete mode 100644 src/icons/vibe.svg delete mode 100644 src/icons/vivo.svg delete mode 100644 src/icons/vrc.svg delete mode 100644 src/icons/vrsc.svg delete mode 100644 src/icons/vtc.svg delete mode 100644 src/icons/vtho.svg delete mode 100644 src/icons/wabi.svg delete mode 100644 src/icons/wan.svg delete mode 100644 src/icons/waves.svg delete mode 100644 src/icons/wax.svg delete mode 100644 src/icons/wbtc.svg delete mode 100644 src/icons/wgr.svg delete mode 100644 src/icons/wicc.svg delete mode 100644 src/icons/wings.svg delete mode 100644 src/icons/wpr.svg delete mode 100644 src/icons/wtc.svg delete mode 100644 src/icons/x.svg delete mode 100644 src/icons/xas.svg delete mode 100644 src/icons/xbc.svg delete mode 100644 src/icons/xbp.svg delete mode 100644 src/icons/xby.svg delete mode 100644 src/icons/xcp.svg delete mode 100644 src/icons/xdn.svg delete mode 100644 src/icons/xem.svg delete mode 100644 src/icons/xin.svg delete mode 100644 src/icons/xlm.svg delete mode 100644 src/icons/xmcc.svg delete mode 100644 src/icons/xmg.svg delete mode 100644 src/icons/xmo.svg delete mode 100644 src/icons/xmr.svg delete mode 100644 src/icons/xmy.svg delete mode 100644 src/icons/xp.svg delete mode 100644 src/icons/xpa.svg delete mode 100644 src/icons/xpm.svg delete mode 100644 src/icons/xpr.svg delete mode 100644 src/icons/xrp.svg delete mode 100644 src/icons/xsg.svg delete mode 100644 src/icons/xtz.svg delete mode 100644 src/icons/xuc.svg delete mode 100644 src/icons/xvc.svg delete mode 100644 src/icons/xvg.svg delete mode 100644 src/icons/xzc.svg delete mode 100644 src/icons/yfi.svg delete mode 100644 src/icons/yoyow.svg delete mode 100644 src/icons/zcl.svg delete mode 100644 src/icons/zec.svg delete mode 100644 src/icons/zel.svg delete mode 100644 src/icons/zen.svg delete mode 100644 src/icons/zest.svg delete mode 100644 src/icons/zil.svg delete mode 100644 src/icons/zilla.svg delete mode 100644 src/icons/zrx.svg delete mode 100644 src/index.tsx delete mode 100644 src/logo.svg delete mode 100644 src/mainnetAbi.json delete mode 100644 src/metadata/addresses/legacy.json delete mode 100644 src/metadata/addresses/mainnet.json delete mode 100644 src/metadata/addresses/regression.json delete mode 100644 src/metadata/addresses/staging.json delete mode 100644 src/metadata/addresses/staging3.json delete mode 100644 src/metadata/erc1155_abi.json delete mode 100644 src/metadata/erc20_abi.json delete mode 100644 src/metadata/erc20_wrapper_abi.json delete mode 100644 src/metadata/erc721_abi.json delete mode 100644 src/metadata/erc721meta_abi.json delete mode 100644 src/metadata/explorer.json delete mode 100644 src/metadata/mainnetAbi.json delete mode 100644 src/metadata/proxy.json delete mode 100644 src/metadata/schainAbi.json delete mode 100644 src/metamask.png delete mode 100644 src/react-app-env.d.ts delete mode 100644 src/reportWebVitals.js delete mode 100644 src/searchSuggestions.json delete mode 100644 src/setupTests.js delete mode 100644 src/skaleShort.svg create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..d6c9537 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/.gitignore b/.gitignore index 23d4932..7ddb80d 100644 --- a/.gitignore +++ b/.gitignore @@ -23,7 +23,7 @@ yarn-debug.log* yarn-error.log* .env -src/metadata/metaportConfig*.json +src/metadata/metaportConfig*.ts src/meta/ src/metadata/chainsData.json diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 3f72665..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "skale-network"] - path = skale-network - url = https://github.com/skalenetwork/skale-network.git diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index d4a7a81..0000000 --- a/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -* @dmytrotkk @payvint @cstrangedk -*.md @skalenetwork/docowners \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100644 index 6e02d35..0000000 --- a/build.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -set -e - -: "${NETWORK_NAME?Need to set NETWORK_NAME}" - -export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -META_DIR_EXTERNAL=$DIR/skale-network/metadata/$NETWORK_NAME/ -META_DIR=$DIR/src/meta/ - -CHAINS_DATA_PATH=$DIR/env/$NETWORK_NAME/chainsData.json -METAPORT_CONFIG_PATH=$DIR/env/$NETWORK_NAME/metaportConfig.json -FAUCET_DATA_PATH=$DIR/env/$NETWORK_NAME/faucet.json - -CHAINS_DATA_PATH_SRC=$DIR/src/metadata/chainsData.json -METAPORT_CONFIG_PATH_SRC=$DIR/src/metadata/metaportConfig.json -FAUCET_DATA_PATH_SRC=$DIR/src/metadata/faucet.json - -if [ -d "$META_DIR" ]; then - echo "Removing ${META_DIR}..." - rm -rf $META_DIR -else - echo "${META_DIR} not found, skipping" -fi - -if [ -d "$META_DIR_EXTERNAL" ]; then - echo "Copying ${META_DIR_EXTERNAL} -> ${META_DIR}..." - cp -R $META_DIR_EXTERNAL $META_DIR -else - cp -R $DIR/skale-network/metadata/mainnet/ $META_DIR - echo "${META_DIR_EXTERNAL} not found, copying Mainnet meta" -fi - -echo "Copying ${CHAINS_DATA_PATH} -> ${CHAINS_DATA_PATH_SRC}..." -cp $CHAINS_DATA_PATH $CHAINS_DATA_PATH_SRC - -echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." -cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC - -echo "Copying ${FAUCET_DATA_PATH} -> ${FAUCET_DATA_PATH_SRC}..." -cp $FAUCET_DATA_PATH $FAUCET_DATA_PATH_SRC - -echo "Building..." -yarn build diff --git a/config-overrides.js b/config-overrides.js deleted file mode 100644 index a476266..0000000 --- a/config-overrides.js +++ /dev/null @@ -1,47 +0,0 @@ -const webpack = require("webpack"); - -module.exports = function override(config) { - const fallback = config.resolve.fallback || {}; - Object.assign(fallback, { - crypto: require.resolve("crypto-browserify"), - stream: require.resolve("stream-browserify"), - assert: require.resolve("assert"), - fs: false, - url: false, - https: require.resolve("https-browserify"), - http: require.resolve("stream-http"), - path: require.resolve('path-browserify'), - os: "os-browserify/browser", - "process/browser": require.resolve("process/browser") - }); - config.resolve.fallback = fallback; - config.plugins = (config.plugins || []).concat([ - new webpack.ProvidePlugin({ - process: "process/browser", - Buffer: ["buffer", "Buffer"], - }), - ]); - config.module.rules = config.module.rules.map(rule => { - if (rule.oneOf instanceof Array) { - return { - ...rule, - oneOf: [ - { - test: /\.mdx?$/, - use: [ - { - loader: '@mdx-js/loader', - /** @type {import('@mdx-js/loader').Options} */ - options: {} - } - ] - }, - ...rule.oneOf - ] - }; - } - - return rule; - }); - return config; -}; \ No newline at end of file diff --git a/dev_build.sh b/dev_build.sh deleted file mode 100644 index ad8192b..0000000 --- a/dev_build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -e - -rm -rf ./node_modules/ - -cd ../metaport/ -yarn run build -cd ../bridge-ui -yarn install -yarn start diff --git a/env/legacy/chainsData.json b/env/legacy/chainsData.json deleted file mode 100644 index 228c7c0..0000000 --- a/env/legacy/chainsData.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "mainnet": { - "hub": "ethereum", - "chains": { - "elated-tan-skat": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] - } - } - } - } - }, - "elated-tan-skat": { - "chains": { - "mainnet": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - } - } - } - } - } -} \ No newline at end of file diff --git a/env/legacy/faucet.json b/env/legacy/faucet.json deleted file mode 100644 index 7a73a41..0000000 --- a/env/legacy/faucet.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/env/legacy/metaportConfig.json b/env/legacy/metaportConfig.json deleted file mode 100644 index 908eaf0..0000000 --- a/env/legacy/metaportConfig.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "skaleNetwork": "legacy", - "autoLookup": false, - "openOnLoad": false, - "openButton": true, - "debug": false, - "chains": [ - "mainnet", - "elated-tan-skat" - ], - "chainsMetadata": { - }, - "tokens": { - "mainnet": { - "eth": { - "chains": [ - "elated-tan-skat" - ] - }, - "erc20": { - }, - "erc721meta": { - }, - "erc1155": { - } - } - - }, - "theme": { - "mode": "dark" - } -} \ No newline at end of file diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json deleted file mode 100644 index 06e2c90..0000000 --- a/env/mainnet/chainsData.json +++ /dev/null @@ -1,791 +0,0 @@ -{ - "mainnet": { - "hub": "ethereum", - "chains": { - "affectionate-immediate-pollux": { - "tokens": { - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "tokenType": "erc20" - } - } - } - }, - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] - }, - "usdc": { - "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" - }, - "usdt": { - "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "100", - "300", - "1000" - ], - "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" - }, - "wbtc": { - "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], - "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" - }, - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7" - }, - "ruby": { - "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23" - }, - "hmt": { - "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867" - } - } - }, - "turbulent-unique-scheat": { - "tokens": { - "razor": { - "keyname": "_RAZOR_0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd", - "recommendedValues": [ - "100", - "300", - "1000", - "2000" - ], - "address": "0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd" - } - } - }, - "honorable-steel-rasalhague": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.1", - "0.2", - "0.5", - "1" - ], - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "tokenType": "erc20" - } - }, - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "tokenType": "erc20" - } - } - }, - "app": "nftrade" - }, - "honorable-steel-rasalhague_untitled-platformer": { - "tokens": { - "usdc": { - "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "tokenType": "erc20" - } - } - }, - "app": "untitled-platformer" - }, - "green-giddy-denebola": { - "tokens": { - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "tokenType": "erc20" - } - } - } - }, - "wan-red-ain": { - "tokens": { - "hmt": { - "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "tokenType": "erc20" - } - } - } - }, - "adorable-quaint-bellatrix": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] - } - } - } - } - }, - "elated-tan-skat": { - "app": "ruby", - "hub": "europa", - "type": "app", - "chains": { - "honorable-steel-rasalhague": { - "app": "nftrade", - "tokens": { - "eth": { - "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - }, - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" - } - } - }, - "honorable-steel-rasalhague_untitled-platformer": { - "app": "untitled-platformer", - "tokens": { - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" - } - } - }, - "mainnet": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - }, - "usdc": { - "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" - }, - "usdt": { - "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "100", - "300", - "1000" - ], - "address": "0x1c0491E3396AD6a35f061c62387a95d7218FC515" - }, - "wbtc": { - "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], - "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870" - }, - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" - }, - "ruby": { - "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x2B4e4899b53E8b7958c4591a6d02f9C0b5c50F8f" - }, - "hmt": { - "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5" - } - } - }, - "affectionate-immediate-pollux": { - "tokens": { - "skill": { - "keyname": "_SKILL_0x5F6E97612482095C0c2C02BC495C0171e61017d7", - "recommendedValues": [ - "100", - "300", - "500", - "1000" - ], - "address": "0xBDDad45160E10C3738785d9dD7F30b4B2a5Eeba8" - }, - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" - } - } - }, - "green-giddy-denebola": { - "tokens": { - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" - } - } - }, - "wan-red-ain": { - "tokens": { - "hmt": { - "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5" - } - } - }, - "frayed-decent-antares": { - "tokens": { - "brawl": { - "keyname": "_BRAWL_0xE0A107a0010930Ac218ED0a50937b50D5633EB3e", - "recommendedValues": [ - "100", - "200", - "500", - "1000" - ], - "address": "0x28c6ac22aB738BB01FC6CBA75804dC088aae6193" - } - } - } - } - }, - "honorable-steel-rasalhague": { - "app": "nftrade", - "hub": "calypso", - "type": "app", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "eth": { - "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0x59ab97Ee239e02112652587F9Ef86CB6F762983b" - }, - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x4048C4dd6eccF1Dc23b068211fDf20AD19602e50" - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67" - } - } - }, - "mainnet": { - "tokens": { - "eth": { - "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0x59ab97Ee239e02112652587F9Ef86CB6F762983b", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "eth", - "tokenType": "eth" - } - }, - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x4048C4dd6eccF1Dc23b068211fDf20AD19602e50", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "tokenType": "erc20" - } - } - } - } - } - }, - "honorable-steel-rasalhague_untitled-platformer": { - "app": "untitled-platformer", - "hub": "calypso", - "type": "game", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67" - } - } - }, - "mainnet": { - "tokens": { - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "tokenType": "erc20" - } - } - } - } - } - }, - "affectionate-immediate-pollux": { - "type": "game", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "skill": { - "keyname": "_SKILL_0x5F6E97612482095C0c2C02BC495C0171e61017d7", - "recommendedValues": [ - "100", - "300", - "500", - "1000" - ], - "address": "0x5F6E97612482095C0c2C02BC495C0171e61017d7" - }, - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x9FeF16c2Fe0dCB261cfD39e0B618c69A73feB3FE" - } - } - }, - "mainnet": { - "tokens": { - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x9FeF16c2Fe0dCB261cfD39e0B618c69A73feB3FE", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "tokenType": "erc20" - } - } - } - } - } - }, - "turbulent-unique-scheat": { - "type": "app", - "chains": { - "mainnet": { - "tokens": { - "razor": { - "keyname": "_RAZOR_0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd", - "recommendedValues": [ - "100", - "300", - "1000", - "2000" - ], - "address": "0xcbf70914Fae03B3acB91E953De60CfDAaCA8145f" - } - } - } - } - }, - "green-giddy-denebola": { - "type": "game", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d" - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d" - } - } - }, - "mainnet": { - "tokens": { - "skl": { - "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "tokenType": "erc20" - } - } - } - } - } - }, - "wan-red-ain": { - "type": "app", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "hmt": { - "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x6E5FF61Ea88270F6142E0E0eC8cbe9d67476CbCd" - } - } - }, - "mainnet": { - "tokens": { - "hmt": { - "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x6E5FF61Ea88270F6142E0E0eC8cbe9d67476CbCd", - "route": { - "hub": "elated-tan-skat", - "tokenKeyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "tokenType": "erc20" - } - } - } - } - } - }, - "adorable-quaint-bellatrix": { - "type": "app", - "chains": { - "mainnet": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - } - } - } - } - }, - "frayed-decent-antares": { - "type": "game", - "chains": { - "elated-tan-skat": { - "app": "ruby", - "tokens": { - "brawl": { - "keyname": "_BRAWL_0xE0A107a0010930Ac218ED0a50937b50D5633EB3e", - "recommendedValues": [ - "100", - "200", - "500", - "1000" - ], - "address": "", - "wrapsSFuel": true - } - } - } - } - } -} \ No newline at end of file diff --git a/env/mainnet/faucet.json b/env/mainnet/faucet.json deleted file mode 100644 index 8fbaf64..0000000 --- a/env/mainnet/faucet.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "honorable-steel-rasalhague": { - "address": "0x02891b34B7911A9C68e82C193cd7A6fBf0c3b30A", - "func": "0x0c11dedd" - }, - "affectionate-immediate-pollux": { - "address": "0xFcE116dB669A22CF811D86F0591F8AeCA68abB01", - "func": "0x0c11dedd" - }, - "elated-tan-skat": { - "address": "0x2B267A3e49b351DEdac892400a530ABb2f899d23", - "func": "0x6a627842" - }, - "turbulent-unique-scheat": { - "address": "0xCf616Cc9C2bC15A35324B2634B6dBaF585e5D8E4", - "func": "0x0c11dedd" - }, - "parallel-stormy-spica": { - "address": "0xa5C297dF8f8386E4b940D61EF9A8f2bB367a6fAB", - "func": "0x0c11dedd" - }, - "wan-red-ain": { - "address": "0xb51a0E538c76C82e76757dc6D5a3938136C03c0C", - "func": "0x0c11dedd" - }, - "green-giddy-denebola": { - "address": "0x5a6869ef5b81DCb58EBF51b8F893c31f5AFE3Fa8", - "func": "0x0c11dedd" - } -} diff --git a/env/mainnet/metaportConfig.json b/env/mainnet/metaportConfig.json deleted file mode 100644 index e6fb1c9..0000000 --- a/env/mainnet/metaportConfig.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "skaleNetwork": "mainnet", - "autoLookup": true, - "openButton": true, - "chains": [ - "mainnet", - "elated-tan-skat", - "honorable-steel-rasalhague", - "green-giddy-denebola", - "frayed-decent-antares", - "affectionate-immediate-pollux", - "wan-red-ain", - "turbulent-unique-scheat", - "adorable-quaint-bellatrix" - ], - "tokens": { - "mainnet": { - "eth": { - "chains": [ - "elated-tan-skat", - "adorable-quaint-bellatrix" - ] - }, - "erc20": { - "_RAZOR_0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd": { - "address": "0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd", - "decimals": "18", - "name": "RAZOR Network", - "symbol": "RAZOR", - "iconUrl": "https://assets.coingecko.com/coins/images/13797/small/icon.png" - }, - "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F": { - "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "decimals": "18", - "name": "Dai Stablecoin", - "symbol": "DAI" - }, - "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23": { - "address": "0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "decimals": "18", - "name": "Ruby Token", - "iconUrl": "https://ruby.exchange/images/tokens/ruby-square.png", - "symbol": "RUBY" - }, - "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7": { - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "decimals": "18", - "name": "SKALE", - "symbol": "SKL" - }, - "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": { - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "decimals": "6", - "name": "USD Coin", - "symbol": "USDC" - }, - "_USDP_0x8E870D67F660D95d5be530380D0eC0bd388289E1": { - "address": "0x8E870D67F660D95d5be530380D0eC0bd388289E1", - "decimals": "18", - "name": "Pax Dollar", - "iconUrl": "https://ruby.exchange/images/tokens/usdp-square.png", - "symbol": "USDP" - }, - "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7": { - "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", - "decimals": "6", - "name": "Tether USD", - "symbol": "USDT" - }, - "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599": { - "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "decimals": "8", - "name": "Wrapped BTC", - "symbol": "WBTC" - }, - "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867": { - "address": "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "decimals": "18", - "name": "Human Token", - "symbol": "HMT", - "iconUrl": "https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png" - } - } - }, - "frayed-decent-antares": { - "erc20": { - "_BRAWL_0xE0A107a0010930Ac218ED0a50937b50D5633EB3e": { - "address": "0xE0A107a0010930Ac218ED0a50937b50D5633EB3e", - "name": "BRAWL", - "symbol": "BRAWL", - "iconUrl": "https://ruby.exchange/images/tokens/brawl-square.png", - "wrapsSFuel": true - } - } - }, - "elated-tan-skat": { - "erc20": { - "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735": { - "address": "0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "name": "ETH", - "symbol": "ETH", - "cloneSymbol": "ETH", - "wraps": { - "address": "0xD2Aaa00700000000000000000000000000000000", - "symbol": "ETH", - "name": "ETH" - } - }, - "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440": { - "address": "0xD162bB5c75FE99144295b03510bAb2DF99617440", - "name": "SKL", - "symbol": "SKL", - "cloneSymbol": "SKL", - "wraps": { - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50", - "symbol": "SKL", - "name": "SKL" - } - }, - "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75": { - "address": "0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "name": "HMT", - "symbol": "HMT", - "cloneSymbol": "HMT", - "iconUrl": "https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png", - "wraps": { - "address": "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5", - "symbol": "HMT", - "name": "HMT" - } - }, - "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4": { - "address": "0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "name": "USDC", - "symbol": "USDC", - "cloneSymbol": "USDC", - "decimals": "6", - "wraps": { - "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d", - "symbol": "USDC", - "name": "USDC" - } - } - } - }, - "honorable-steel-rasalhague": {}, - "turbulent-unique-scheat": {}, - "green-giddy-denebola": {}, - "wan-red-ain": {}, - "affectionate-immediate-pollux": { - "erc20": { - "_SKILL_0x5F6E97612482095C0c2C02BC495C0171e61017d7": { - "address": "0x5F6E97612482095C0c2C02BC495C0171e61017d7", - "name": "SKILL", - "symbol": "SKILL", - "iconUrl": "https://ruby.exchange/images/tokens/skill-square.png" - } - } - } - }, - "theme": { - "mode": "dark" - } -} \ No newline at end of file diff --git a/env/regression/chainsData.json b/env/regression/chainsData.json deleted file mode 100644 index c8a5b17..0000000 --- a/env/regression/chainsData.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "mainnet": { - "hub": "ethereum", - "chains": { - "curly-red-alterf": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] - } - } - } - } - }, - "curly-red-alterf": { - "chains": { - "mainnet": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - } - } - } - } - } -} \ No newline at end of file diff --git a/env/regression/faucet.json b/env/regression/faucet.json deleted file mode 100644 index 7a73a41..0000000 --- a/env/regression/faucet.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file diff --git a/env/regression/metaportConfig.json b/env/regression/metaportConfig.json deleted file mode 100644 index c9dc655..0000000 --- a/env/regression/metaportConfig.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "skaleNetwork": "regression", - "autoLookup": false, - "openOnLoad": false, - "openButton": true, - "debug": false, - "chains": [ - "mainnet", - "curly-red-alterf" - ], - "chainsMetadata": { - }, - "tokens": { - "mainnet": { - "eth": { - "chains": [ - "" - ] - }, - "erc20": { - }, - "erc721meta": { - }, - "erc1155": { - } - } - - }, - "theme": { - "mode": "dark" - } -} \ No newline at end of file diff --git a/env/staging/chainsData.json b/env/staging/chainsData.json deleted file mode 100644 index c776470..0000000 --- a/env/staging/chainsData.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "mainnet": { - "hub": "ethereum", - "chains": { - "staging-legal-crazy-castor": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] - }, - "usdc": { - "keyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9" - }, - "dai": { - "keyname": "_DAI_0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7" - }, - "usdt": { - "keyname": "_USDT_0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6", - "recommendedValues": [ - "100", - "300", - "1000" - ], - "address": "0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6" - }, - "wbtc": { - "keyname": "_WBTC_0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], - "address": "0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3" - }, - "skl": { - "keyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x493D4442013717189C9963a2e275Ad33bfAFcE11" - }, - "ruby": { - "keyname": "_RUBY_0xd66641E25E9D36A995682572eaD74E24C11Bb422", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0xd66641E25E9D36A995682572eaD74E24C11Bb422" - }, - "hmt": { - "keyname": "_HMT_0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0" - } - } - }, - "staging-utter-unripe-menkar": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_ETH_0xa270484784f043e159f74C03B691F80B6F6e3c24", - "tokenType": "erc20" - } - }, - "skl": { - "keyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "tokenType": "erc20" - } - } - } - }, - "staging-faint-slimy-achird": { - "tokens": { - "skl": { - "keyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "tokenType": "erc20" - } - } - } - } - } - }, - "staging-legal-crazy-castor": { - "chains": { - "mainnet": { - "tokens": { - "eth": { - "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - }, - "usdc": { - "keyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33" - }, - "dai": { - "keyname": "_DAI_0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x3595E2f313780cb2f23e197B8e297066fd410d30" - }, - "usdt": { - "keyname": "_USDT_0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6", - "recommendedValues": [ - "100", - "300", - "1000" - ], - "address": "0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1" - }, - "wbtc": { - "keyname": "_WBTC_0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], - "address": "0xf5E880E1066DDc90471B9BAE6f183D5344fd289F" - }, - "skl": { - "keyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6" - }, - "ruby": { - "keyname": "_RUBY_0xd66641E25E9D36A995682572eaD74E24C11Bb422", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39" - }, - "hmt": { - "keyname": "_HMT_0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x99bF0243815ffa1F4c6C8367C88D09aDaF6f42ee" - } - } - }, - "staging-utter-unripe-menkar": { - "tokens": { - "eth": { - "keyname": "_ETH_0xa270484784f043e159f74C03B691F80B6F6e3c24", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xD2Aaa00700000000000000000000000000000000" - }, - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6" - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33" - } - } - }, - "staging-faint-slimy-achird": { - "tokens": { - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6" - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33" - } - } - } - } - }, - "staging-utter-unripe-menkar": { - "chains": { - "mainnet": { - "tokens": { - "eth": { - "keyname": "_ETH_0xa270484784f043e159f74C03B691F80B6F6e3c24", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xECabAE592Eb56D96115FcF4c7F772ADB7BF573d0", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "eth", - "tokenType": "eth" - } - }, - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "tokenType": "erc20" - } - } - } - }, - "staging-legal-crazy-castor": { - "tokens": { - "eth": { - "keyname": "_ETH_0xa270484784f043e159f74C03B691F80B6F6e3c24", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], - "address": "0xECabAE592Eb56D96115FcF4c7F772ADB7BF573d0" - }, - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852" - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6" - } - } - } - } - }, - "staging-faint-slimy-achird": { - "chains": { - "mainnet": { - "tokens": { - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "tokenType": "erc20" - } - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x717d43399ab3a8aada669CDC9560a6BAfdeA9796", - "route": { - "hub": "staging-legal-crazy-castor", - "tokenKeyname": "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "tokenType": "erc20" - } - } - } - }, - "staging-legal-crazy-castor": { - "tokens": { - "skl": { - "keyname": "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d" - }, - "usdc": { - "keyname": "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], - "address": "0x717d43399ab3a8aada669CDC9560a6BAfdeA9796" - } - } - } - } - } -} \ No newline at end of file diff --git a/env/staging/faucet.json b/env/staging/faucet.json deleted file mode 100644 index b94af1a..0000000 --- a/env/staging/faucet.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "staging-perfect-parallel-gacrux": { - "address": "0x4576d1B9eeaE16d6Ca643e55D21E0Dc00e8A7b6D", - "func": "0x0c11dedd" - }, - "staging-severe-violet-wezen": { - "address": "0x37412E23bBF1058A7e325A16C01FF654E1D53562", - "func": "0x0c11dedd" - }, - "staging-legal-crazy-castor": { - "address": "0x436389289aEAFefD1d7471b7FbEc67539Bde3E34", - "func": "0x6a627842" - }, - "staging-utter-unripe-menkar": { - "address": "0x84b7265Bc964BB69b4275d4Dac4df0FD87556960", - "func": "0x0c11dedd" - }, - "staging-faint-slimy-achird": { - "address": "0xfd56A3456fbAB0fc013213edCc830B9d32403C8B", - "func": "0x0c11dedd" - } -} \ No newline at end of file diff --git a/env/staging/metaportConfig.json b/env/staging/metaportConfig.json deleted file mode 100644 index baa7928..0000000 --- a/env/staging/metaportConfig.json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "skaleNetwork": "staging3", - "autoLookup": false, - "openButton": true, - "debug": false, - "chains": [ - "mainnet", - "staging-legal-crazy-castor", - "staging-utter-unripe-menkar", - "staging-faint-slimy-achird", - "staging-perfect-parallel-gacrux", - "staging-severe-violet-wezen", - "staging-weepy-fitting-caph" - ], - "tokens": { - "mainnet": { - "eth": { - "chains": [ - "staging-legal-crazy-castor", - "staging-utter-unripe-menkar", - "staging-faint-slimy-achird", - "staging-perfect-parallel-gacrux", - "staging-severe-violet-wezen", - "staging-weepy-fitting-caph" - ] - }, - "erc20": { - "_SKL_0x493D4442013717189C9963a2e275Ad33bfAFcE11": { - "name": "SKALE", - "address": "0x493D4442013717189C9963a2e275Ad33bfAFcE11", - "symbol": "SKL" - }, - "_RUBY_0xd66641E25E9D36A995682572eaD74E24C11Bb422": { - "name": "Ruby Token", - "address": "0xd66641E25E9D36A995682572eaD74E24C11Bb422", - "iconUrl": "https://ruby.exchange/images/tokens/ruby-square.png", - "symbol": "RUBY" - }, - "_DAI_0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7": { - "name": "DAI Stablecoin", - "address": "0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7", - "symbol": "DAI" - }, - "_USDP_0x66259E472f8d09083ecB51D42F9F872A61001426": { - "name": "Pax Dollar", - "address": "0x66259E472f8d09083ecB51D42F9F872A61001426", - "symbol": "USDP", - "iconUrl": "https://ruby.exchange/images/tokens/usdp-square.png" - }, - "_USDT_0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6": { - "name": "Tether USD", - "address": "0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6", - "symbol": "USDT", - "decimals": "6" - }, - "_USDC_0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9": { - "name": "USD Coin", - "address": "0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9", - "symbol": "USDC", - "decimals": "6" - }, - "_WBTC_0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3": { - "name": "Wrapped BTC", - "address": "0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3", - "symbol": "WBTC" - }, - "_HMT_0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0": { - "name": "Human Token", - "address": "0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0", - "symbol": "HMT", - "iconUrl": "https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png" - } - }, - "erc721meta": { - "_SPACE_0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6": { - "address": "0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6", - "name": "SKALE Space", - "symbol": "SPACE", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png" - } - }, - "erc1155": { - "_SKALIENS_0x6cb73D413970ae9379560aA45c769b417Fbf33D6": { - "address": "0x6cb73D413970ae9379560aA45c769b417Fbf33D6", - "name": "SKALIENS Collection", - "symbol": "SKALIENS", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png" - } - } - }, - "staging-utter-unripe-menkar": { - "erc721": { - "_TANK_0x4aaa1bb85d9339811b65566fa1aae11a8a9db28d": { - "name": "TANK", - "address": "0x4aaa1bb85d9339811b65566fa1aae11a8a9db28d", - "symbol": "TANK", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Bomb/3D/bomb_3d.png" - } - } - }, - "staging-legal-crazy-castor": { - "erc20": { - "_ETH_0xa270484784f043e159f74C03B691F80B6F6e3c24": { - "name": "ETH", - "address": "0xa270484784f043e159f74C03B691F80B6F6e3c24", - "symbol": "ETH", - "wraps": { - "address": "0xD2Aaa00700000000000000000000000000000000", - "symbol": "ETH" - } - }, - "_SKL_0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6": { - "name": "SKL", - "symbol": "SKL", - "address": "0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6", - "wraps": { - "address": "0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6", - "symbol": "SKL" - } - }, - "_USDC_0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0": { - "name": "USDC", - "symbol": "USDC", - "address": "0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0", - "decimals": "6", - "wraps": { - "address": "0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33", - "symbol": "USDC", - "decimals": "6" - } - } - } - }, - "staging-perfect-parallel-gacrux": { - "erc20": { - "_ETH_0xBA3f8192e28224790978794102C0D7aaa65B7d70": { - "address": "0xBA3f8192e28224790978794102C0D7aaa65B7d70", - "name": "ETH", - "symbol": "ETH", - "cloneSymbol": "ETH", - "wraps": { - "address": "0xD2Aaa00700000000000000000000000000000000", - "symbol": "ETH", - "name": "aaaa" - } - }, - "_SKILL_0xb36A1DdaBf21161ad71013A34D502381DD1aa7BA": { - "address": "0xb36A1DdaBf21161ad71013A34D502381DD1aa7BA", - "name": "SKILL Token", - "symbol": "SKILL", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Compass/3D/compass_3d.png" - }, - "DMT": { - "address": "0xb36A1DdaBf21161ad71013A34D502381DD1aa7BA", - "name": "DMT", - "symbol": "DMT", - "cloneSymbol": "DMTC", - "wraps": { - "address": "0x688f6d050B935BF06531b51B5e598318788fA7a5", - "symbol": "DMT", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Compass/3D/compass_3d.png" - } - }, - "_SKL_0x099A46F35b627CABee27dc917eDA253fFbC55Be6": { - "address": "0x099A46F35b627CABee27dc917eDA253fFbC55Be6", - "decimals": "18", - "name": "SKL S2S", - "symbol": "SKL" - } - }, - "erc721": { - "_SPS_0x30216880A73B67133F37de35e769b8e1A943D35c": { - "address": "0x30216880A73B67133F37de35e769b8e1A943D35c", - "name": "SKALE Space S2S", - "symbol": "SPS", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Glowing%20star/3D/glowing_star_3d.png" - } - }, - "erc1155": { - "skaliens": { - "address": "0xBA9fF38A2b22edDfa8e05805bD22C8f20c40546e", - "name": "SKALIENS Collection", - "symbol": "SKALIENS2S", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png" - }, - "medals": { - "address": "0x5D8bD602dC5468B3998e8514A1851bd5888E9639", - "name": "Medals", - "symbol": "MEDALS2S", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/1st%20place%20medal/3D/1st_place_medal_3d.png" - }, - "_ANIMALS_0xDf87EEF0977148129969b01b329379b17756cdDE": { - "address": "0xDf87EEF0977148129969b01b329379b17756cdDE", - "name": "Funny Animals", - "symbol": "ANIMALS", - "iconUrl": "https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Frog/3D/frog_3d.png" - } - } - } - }, - "theme": { - "mode": "dark" - } -} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..da69205 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + + SKALE Bridge + + + +
+ + + + \ No newline at end of file diff --git a/package.json b/package.json index 533bcac..64ba296 100644 --- a/package.json +++ b/package.json @@ -1,76 +1,34 @@ { - "name": "bridge-ui", - "version": "1.0.1", + "name": "bridge-vite", "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, "dependencies": { - "@emotion/react": "^11.10.5", - "@emotion/styled": "^11.10.5", - "@fontsource/roboto": "^4.5.8", - "@mdx-js/loader": "^2.3.0", - "@mdx-js/react": "^2.3.0", - "@mui/icons-material": "^5.11.0", - "@mui/lab": "^5.0.0-alpha.120", - "@mui/material": "^5.11.4", - "@skalenetwork/ima-js": "1.1.2-develop.3", - "@skalenetwork/metaport": "1.2.0-develop.21", - "@skaleproject/pow-ethers": "0.2.4", - "@testing-library/jest-dom": "^5.14.1", - "@testing-library/react": "^13.0.0", - "@testing-library/user-event": "^13.2.1", - "@types/jest": "^27.0.1", - "@types/mdx": "^2.0.3", - "@types/node": "^16.7.13", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "@types/react-router-dom": "^5.3.3", - "@types/webpack-env": "^1.18.0", - "@vercel/analytics": "^0.1.10", - "crypto-browserify": "^3.12.0", - "debug": "^4.3.4", - "fuzzysort": "^2.0.4", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "^1.0.1", + "@mdx-js/rollup": "^2.3.0", + "@mui/material": "^5.14.5", + "@skalenetwork/metaport": "../metaport-rp", + "@vercel/analytics": "^1.0.2", "react": "^18.2.0", - "react-app-rewired": "^2.2.1", "react-dom": "^18.2.0", - "react-jazzicon": "^1.0.4", - "react-router-dom": "^6.6.2", - "react-scripts": "5.0.1", - "sass": "^1.57.1", - "stream-browserify": "^3.0.0", - "stream-http": "^3.2.0", - "tinycolor2": "^1.5.2", - "typescript": "^4.4.2", - "web-vitals": "^2.1.0" - }, - "scripts": { - "start": "react-app-rewired start", - "build": "react-app-rewired build", - "test": "react-app-rewired test", - "eject": "react-app-rewired eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] + "react-router-dom": "^6.15.0" }, "devDependencies": { - "@types/debug": "^4.1.7", - "assert": "^2.0.0", - "buffer": "^6.0.3" + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "@vitejs/plugin-react": "^4.0.3", + "eslint": "^8.45.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "sass": "^1.65.1", + "typescript": "^5.0.2", + "vite": "^4.4.5" } -} \ No newline at end of file +} diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 267b97b..0000000 --- a/public/index.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - SKALE Bridge - - - - -
-
- - - - \ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 0cb5283..0000000 --- a/public/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "short_name": "SKALE Bridge", - "name": "SKALE Bridge UI", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index e9e57dc..0000000 --- a/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/skale-network b/skale-network deleted file mode 160000 index 5b00cae..0000000 --- a/skale-network +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5b00cae6736322f302c3a75331b19ee02b0a3596 diff --git a/src/AmountInput.tsx b/src/AmountInput.tsx deleted file mode 100644 index f67146c..0000000 --- a/src/AmountInput.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import TextField from '@mui/material/TextField'; - - -export default function AmountInput(props: any) { - const handleChange = (event: React.ChangeEvent) => { - const amounts = props.amounts; - amounts[props.tokenId] = event.target.value; - props.setAmounts(amounts); - }; - return ( -
- -
- ) -} diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/src/App.scss b/src/App.scss index 91d538c..87a20a3 100644 --- a/src/App.scss +++ b/src/App.scss @@ -1,3 +1,52 @@ +@import './variables'; + + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif !important; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + +.bridge { + min-height: 100vh; + min-width: 100vw; +} + +.logo { + width: 75pt; +} + +.appContent { + height: calc(100vh - 94px); + overflow-y: auto; +} + +.bridge-light .logo { + filter: invert(1); +} + +.mainApp { + padding-top: 94px; +} + +.sk-header { + background-color: rgba(0, 0, 0, 0) !important; + -webkit-backdrop-filter: blur(80px) !important; + backdrop-filter: blur(80px) !important; +} + + + + + + + + + @import './variables'; @@ -139,46 +188,18 @@ h4 { font-weight: 600 !important; } -.bridgeUI-light { +.bridge-light { background-color: #f2f2f2; } -.bridgeUI-dark { - background-color: #000000; - - .mp__btnConnect.mp__btnConnected { - - color: white !important; - background-color: #191919 !important; - border: none !important; - text-transform: none !important; - font-size: .8525rem; - line-height: 1.6; - font-weight: 600; - height: 37px !important; - .paper { - margin-right: 10px !important; - } - padding-right: 12px !important; - } -} - -.bridgeUI { - .mp__btnConnect.mp__btnConnected { - .MuiPaper-root { - color: rgb(0 153 69); - } - } -} - -.bridgeUI-dark .MuiFormControlLabel-label { +.bridge-dark .MuiFormControlLabel-label { color: rgba(255, 255, 255, 0.7); } @@ -203,7 +224,7 @@ h4 { overflow-y: auto; } -.bridgeUI-light .logo { +.bridge-light .logo { filter: invert(0.85); } @@ -233,7 +254,7 @@ h4 { height: 13pt; } -.bridgeUI-light .try-icon .MuiSvgIcon-root { +.bridge-light .try-icon .MuiSvgIcon-root { color: rgba(0, 0, 0, 0.87); } @@ -400,11 +421,11 @@ h4 { } -.bridgeUI-dark .MuiListItemText-primary { +.bridge-dark .MuiListItemText-primary { color: #ffffffdb !important; } -.bridgeUI-light .MuiListItemText-primary { +.bridge-light .MuiListItemText-primary { color: #525252 !important; } @@ -450,7 +471,7 @@ h4 { } -.bridgeUI-dark .secondaryText { +.bridge-dark .secondaryText { color: rgba(255, 255, 255, .65) !important; } @@ -560,8 +581,17 @@ input::-webkit-inner-spin-button { width: 100%; border-radius: 18px !important; + text-transform: none !important; + text-align: center; + height: 37px; + + + font-size: .7225rem; + line-height: 1.6; + font-weight: 600; + .mp__iconConnect { margin-left: 10px; width: 18pt !important; @@ -584,6 +614,7 @@ input::-webkit-inner-spin-button { background-color: #191919 !important; svg { + color: white !important; width: 14pt !important; height: 14pt !important; } @@ -678,9 +709,7 @@ input::-webkit-inner-spin-button { } -li a { - color: rgb(217, 224, 33) !important; // TODO: tmp! -} + .uppercase { text-transform: uppercase !important; @@ -885,7 +914,7 @@ li a { .MuiDrawer-paper { - background-color: black !important; + // background-color: black !important; margin-bottom: 20px !important; border: none !important; } @@ -1224,4 +1253,47 @@ body::-webkit-scrollbar { .br__chipGray { color: white !important; background-color: #191919 !important; +} + + +.AppWrap { + padding-top: 91px; +} + +.mp__moreMenu { + .MuiList-root { + padding: 8px !important; + } + + .MuiMenuItem-root, + .MuiPaper-root { + border-radius: 12px !important; + } + + .MuiItem-padding { + padding-top: 2px !important; + padding-bottom: 2px !important; + } + + .MuiMenuItem-root { + font-weight: 600 !important; + font-size: .8rem !important; + line-height: 1.6 !important; + color: white; + padding: 8px 12px; + } + + .MuiItemIcon-root { + min-width: 35px !important; + margin-left: 10px; + } + + .MuiMenuItem-root svg { + width: 22px !important; + } +} + +.switchDirection { + margin-bottom: -13pt !important; + margin-top: 0 !important; } \ No newline at end of file diff --git a/src/App.test.js b/src/App.test.js deleted file mode 100644 index 1f03afe..0000000 --- a/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/src/App.tsx b/src/App.tsx index b7c63e6..0cb3dd7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -22,144 +22,34 @@ */ import './App.scss'; -import React, { useEffect } from 'react'; -import { createTheme, ThemeProvider } from '@mui/material/styles'; -import Box from '@mui/material/Box'; +import { MetaportProvider, interfaces, getMetaportTheme } from '@skalenetwork/metaport'; +import '@skalenetwork/metaport/dist/style.css' -import CssBaseline from '@mui/material/CssBaseline'; -import Toolbar from '@mui/material/Toolbar'; +import { StyledEngineProvider } from '@mui/material/styles' +import { ThemeProvider } from '@mui/material/styles' -import { Metaport, interfaces } from '@skalenetwork/metaport'; +import Bridge from './Bridge'; -import Header from './Header'; -import SkDrawer from './SkDrawer'; -import SkBottomNavigation from './SkBottomNavigation'; -import Router from './Router'; -import MetamaskConnector from './MetamaskConnector'; +import { METAPORT_CONFIG } from './metadata/metaportConfig'; +import { createMuiTheme } from './core/themes'; -import TermsModal from './components/TermsModal'; +METAPORT_CONFIG.mainnetEndpoint = import.meta.env.VITE_MAINNET_ENDPOINT; -import { connect, getAccounts } from './core/connector' -import { METAPORT_CONFIG } from './core/constants'; - - -interface MetaportThemesMap { [themeName: string]: interfaces.MetaportTheme; } - - -export const themes: MetaportThemesMap = { - 'default': { - primary: '#d9e021', - background: '#191919', - mode: 'dark' - } -} - - -function createMuiTheme(th: any) { - return createTheme({ - palette: { - mode: th.mode, - background: { - paper: th.background - }, - primary: { - main: th.primary, - }, - secondary: { - main: th.background - } - } - }) -} - - -function App() { - - const [termsAccepted, setTermsAccepted] = React.useState(false); - - const [colorScheme, setColorScheme] = React.useState('default'); - const [muiTheme, setMuiTheme] = React.useState(createMuiTheme(themes[colorScheme])); - - const [address, setAddress] = React.useState(); - const [connectionError, setConnectionError] = React.useState(); - const [metaport, setMetaport] = React.useState(); - - useEffect(() => { - setMuiTheme(createMuiTheme(themes[colorScheme])); - }, [colorScheme]); - - useEffect(() => { - if (!window.ethereum) return; - window.ethereum.on('accountsChanged', accountsChangedFallback); - getAccounts( - (accounts: string[]) => { setAddress(accounts[0]); }, - (err) => { console.error(err) } - ); - if (window.ethereum) { - setMetaport(new Metaport(METAPORT_CONFIG)); - } - return () => { - window.removeEventListener("accountsChanged", accountsChangedFallback); - } - }, [window.ethereum]); - - function connectMetamask() { - console.log('connectMetamask called'); - connect( - () => { - setAddress(window.ethereum.selectedAddress); - setConnectionError(null); - }, - (err) => { setConnectionError(err); } - ); - } - - function accountsChangedFallback(event: any) { - const accounts = event as string[]; - if (accounts.length === 0) { - setAddress(undefined); - // MetaMask is locked or the user has not connected any accounts - console.log('Please connect wallet!'); - } else { - setAddress(accounts[0]); - } - } - - const darkMode = themes[colorScheme].mode === 'dark'; +const mpTheme = getMetaportTheme(METAPORT_CONFIG.theme); +const muiTheme = createMuiTheme(mpTheme); +const isDarkMode = mpTheme.mode === 'dark'; +export default function App() { return ( - - - - -
- - - - {address ? : - } - - - - - ); +
+ + + + + + + +
+ ) } - -export default App; diff --git a/src/Bridge.tsx b/src/Bridge.tsx new file mode 100644 index 0000000..d40f29c --- /dev/null +++ b/src/Bridge.tsx @@ -0,0 +1,90 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Bridge.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { useState } from 'react'; + +import Header from './Header'; +import SkDrawer from './SkDrawer'; +import Router from './Router'; + +import Box from '@mui/material/Box'; +import CssBaseline from '@mui/material/CssBaseline'; + + + +import { Metaport, SkConnect, TokenIcon, ChainIcon, ChainsList, TokenList, interfaces, useCollapseStore, useMetaportStore, cls, styles, common, useWagmiAccount } from '@skalenetwork/metaport'; +import { Button } from '@mui/material'; + + +function Bridge(props: { mpTheme: interfaces.MetaportTheme }) { + + const [termsAccepted, setTermsAccepted] = useState(false); + + const expandedFrom = useCollapseStore((state) => state.expandedFrom) + const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) + + const expandedTo = useCollapseStore((state) => state.expandedTo) + const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) + + const token = useMetaportStore((state) => state.token) + const chainName1 = useMetaportStore((state) => state.chainName1) + const chainName2 = useMetaportStore((state) => state.chainName2) + + const setChainName1 = useMetaportStore((state) => state.setChainName1) + const setChainName2 = useMetaportStore((state) => state.setChainName2) + + const transferInProgress = useMetaportStore((state) => state.transferInProgress) + const mpc = useMetaportStore((state) => state.mpc) + + const { address } = useWagmiAccount() + + // const address = '0x' + + if (!mpc) return
+ + return ( + + + +
+ + + {address ? : } + + {/* */} + {/* */} + + + + ) +} + +export default Bridge diff --git a/src/Header.js b/src/Header.js deleted file mode 100644 index 1336bd8..0000000 --- a/src/Header.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file Header.js - * @copyright SKALE Labs 2021-Present -*/ - -import React from 'react'; -import AppBar from '@mui/material/AppBar'; -import Toolbar from '@mui/material/Toolbar'; -import Chip from '@mui/material/Chip'; - -import { Link } from "react-router-dom"; - -import logo from './skale_lg.svg'; - -import HelpZen from './components/HelpZen'; -import MoreMenu from './components/MoreMenu'; -import AccountMenu from './components/AccountMenu'; - -import { METAPORT_CONFIG, MAINNET_CHAIN_NAME } from './core/constants'; - - -export default class Header extends React.Component { - render() { - return ( - theme.zIndex.drawer + 1 }} - > - -
- - logo - -
-
- { - METAPORT_CONFIG.skaleNetwork !== MAINNET_CHAIN_NAME ? - : null - } -
- - - -
-
- ) - } -} \ No newline at end of file diff --git a/src/Header.tsx b/src/Header.tsx new file mode 100644 index 0000000..0a71ca0 --- /dev/null +++ b/src/Header.tsx @@ -0,0 +1,74 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Header.js + * @copyright SKALE Labs 2021-Present +*/ + +import React from 'react'; +import AppBar from '@mui/material/AppBar'; +import Toolbar from '@mui/material/Toolbar'; +import Chip from '@mui/material/Chip'; + +import { Link } from "react-router-dom"; + +import logo from './assets/skale_lg.svg'; + + +import HelpZen from './components/HelpZen'; +import MoreMenu from './components/MoreMenu'; +import AccountMenu from './components/AccountMenu'; + +import { MAINNET_CHAIN_NAME } from './core/constants'; + + +export default function Header(props: { address: `0x${string}` | undefined }) { + + return ( + theme.zIndex.drawer + 1 }} + > + +
+ + logo + +
+
+ { + 'mainnet' !== MAINNET_CHAIN_NAME ? + : null + } +
+ + + +
+
+ ) + +} \ No newline at end of file diff --git a/src/Interval.js b/src/Interval.js deleted file mode 100644 index 76b8be2..0000000 --- a/src/Interval.js +++ /dev/null @@ -1,21 +0,0 @@ -import React, { useState, useEffect, useRef } from 'react'; - -export function useInterval(callback, delay) { - const savedCallback = useRef(); - - // Remember the latest callback. - useEffect(() => { - savedCallback.current = callback; - }, [callback]); - - // Set up the interval. - useEffect(() => { - function tick() { - savedCallback.current(); - } - if (delay !== null) { - let id = setInterval(tick, delay); - return () => clearInterval(id); - } - }, [delay]); -} \ No newline at end of file diff --git a/src/Main.tsx b/src/Main.tsx index d46e72e..b437713 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -1,21 +1,17 @@ -import { useEffect } from 'react'; +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.tsx' +import './index.css' -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; +import { HashRouter } from "react-router-dom"; +import { inject } from '@vercel/analytics'; -import TransferFrom from './components/TransferFrom'; +inject(); - - -export default function Main(props: any) { - useEffect(() => { - props.metaport.close(); - }, []); - - return ( - - - - - ) -} \ No newline at end of file +ReactDOM.createRoot(document.getElementById('root')!).render( + + + + + , +) diff --git a/src/MetamaskConnector.tsx b/src/MetamaskConnector.tsx deleted file mode 100644 index 45dde8f..0000000 --- a/src/MetamaskConnector.tsx +++ /dev/null @@ -1,153 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file MetamaskConnector.tsx - * @copyright SKALE Labs 2023-Present -*/ - -import React, { useEffect } from 'react'; - -import Button from '@mui/material/Button'; -import Container from '@mui/material/Container'; - -import WalletIcon from '@mui/icons-material/Wallet'; -import IconButton from '@mui/material/IconButton'; - -import InstallDesktopIcon from '@mui/icons-material/InstallDesktop'; - -import BridgePaper from './components/BridgePaper'; - -import enkryptLogo from './enkrypt.png'; -import metamaskLogo from './metamask.png'; -import { Collapse } from '@mui/material'; - - -export default function MetamaskConnector(props: any) { - - const [ethereumInjected, setEthereumInjected] = React.useState(false); - - useEffect(() => { - setEthereumInjected(!!window.ethereum); - }, [window.ethereum]); - - function getConnectBtnText() { - if (!ethereumInjected) { - return 'Install compatible wallet'; - } - if (props.connectionError) { - if (props.connectionError.code === -32002) return 'Connection already requested, please check your wallet'; - return props.connectionError.message; - } - return 'Click here to connect wallet'; - } - - return ( - -
-
- -
-
-
- -
-
-

Supported wallets

-
-
- -
-
-
- -
-
-
-
-

MetaMask

-

The crypto wallet for Defi, Web3 Dapps and NFTs

-
-
-
- {!ethereumInjected ? ( - - ) : null} -
-
-
-
-
- -
-
-
-
-

Enkrypt

-

Support for Enkrypt is in beta

-
-
-
- {!ethereumInjected ? ( - - ) : null} -
-
-
-
- - - - -
- -

- If your wallet is already connected, it may take a few seconds to be detected -

-
-
-
- ) -} diff --git a/src/OpenMetaportBtn.tsx b/src/OpenMetaportBtn.tsx deleted file mode 100644 index 0c703c8..0000000 --- a/src/OpenMetaportBtn.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import TextField from '@mui/material/TextField'; - -import Paper from '@mui/material/Paper'; -import ButtonBase from '@mui/material/ButtonBase/ButtonBase'; - -import ElectricalServicesIcon from '@mui/icons-material/ElectricalServices'; -import WalletIcon from '@mui/icons-material/Wallet'; - -export default function OpenMetaportBtn(props: any) { - return ( -
- {(props.address ? ( - -

Open Metaport

- {/*

Connected {props.address}

*/} - -
-
) : ( - -

Connect wallet

- -
-
)) - } -
- ) -} diff --git a/src/Router.tsx b/src/Router.tsx index 5e7e3db..59c8e2e 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -1,14 +1,14 @@ import './App.scss'; -import Main from './Main'; -import Transfer from './components/Transfer'; -import TransferV2 from './components/TransferV2'; +import Main from './components/Main'; +// import Transfer from './components/Transfer'; +// import TransferV2 from './components/TransferV2'; import Faq from './components/Faq'; import Terms from './components/Terms'; -import ExitGasWallet from './components/ExitGasWallet'; -import TransferTo from './components/TransferTo'; -import Overview from './components/Overview'; -import History from './components/History'; +// import ExitGasWallet from './components/ExitGasWallet'; +// import TransferTo from './components/TransferTo'; +// import Overview from './components/Overview'; +// import History from './components/History'; import { Routes, Route, useLocation } from "react-router-dom"; import { TransitionGroup, CSSTransition } from "react-transition-group"; @@ -16,14 +16,14 @@ import { TransitionGroup, CSSTransition } from "react-transition-group"; export default function Router(props: any) { const location = useLocation(); return ( - - + // + // } /> - + {/* } @@ -48,7 +48,6 @@ export default function Router(props: any) { metaport={props.metaport} theme={props.theme} />} - // element={} /> @@ -67,6 +66,7 @@ export default function Router(props: any) { + */} - - + // + // ); } diff --git a/src/SelectPage.tsx b/src/SelectPage.tsx deleted file mode 100644 index fe64633..0000000 --- a/src/SelectPage.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file SelectPage.js - * @copyright SKALE Labs 2021-Present -*/ - -import React from 'react'; - - -export default function SelectPage(props: any) { - return ( -
- ) -} \ No newline at end of file diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index 22cdab6..72cbf3c 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -19,8 +19,8 @@ import LocalGasStationOutlinedIcon from '@mui/icons-material/LocalGasStationOutl import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; import HistoryIcon from '@mui/icons-material/History'; -import { METAPORT_CONFIG } from './core/constants'; -import { getProxyEndpoint } from './core/network'; +// import { METAPORT_CONFIG } from './core/constants'; +// import { getProxyEndpoint } from './core/network'; const drawerWidth = 240; @@ -63,6 +63,17 @@ export default function SkDrawer() { + + + + + + + + + + {/*

Other

- - - - - - - - - - - - + + - - + - + - + + {/* @@ -120,7 +120,7 @@ export default function SkDrawer() { - + */} {/* diff --git a/src/Web3Helper.ts b/src/Web3Helper.ts deleted file mode 100644 index cf53e62..0000000 --- a/src/Web3Helper.ts +++ /dev/null @@ -1,39 +0,0 @@ -import Web3 from 'web3'; -import { AbiItem } from 'web3-utils'; - -import erc20Abi from './metadata/erc20_abi.json'; -import erc721Abi from './metadata/erc721_abi.json'; -import erc721MetaAbi from './metadata/erc721meta_abi.json'; -import erc1155Abi from './metadata/erc1155_abi.json'; -import proxyEndpoints from './metadata/proxy.json'; - -export interface TokenAbisMap { [tokenType: string]: AbiItem[]; }; - -const ERC_ABIS: TokenAbisMap = { - erc20: erc20Abi.abi as AbiItem[], - erc721: erc721Abi.abi as AbiItem[], - // erc721meta: erc721MetaAbi.abi as AbiItem[], - erc1155: erc1155Abi.abi as AbiItem[] -} - - -export function initContract(tokenType: string, tokenAddress: string, web3: Web3) { - return new web3.eth.Contract(ERC_ABIS[tokenType] as AbiItem[], tokenAddress); -} - - -export function initWeb3(network: string, schainName: string) { - const endpoint = getSChainEndpoint(network, schainName); - return new Web3(endpoint); -} - - -function getSChainEndpoint(network: string, sChainName: string): string { - return getProxyEndpoint(network) + '/v1/' + sChainName; -} - - -function getProxyEndpoint(network: string) { - // todo: add network validation - return (proxyEndpoints as any)[network]; -} \ No newline at end of file diff --git a/src/skale_lg.svg b/src/assets/skale_lg.svg similarity index 100% rename from src/skale_lg.svg rename to src/assets/skale_lg.svg diff --git a/src/components/AccountMenu/AccountMenu.tsx b/src/components/AccountMenu/AccountMenu.tsx index 269d19f..c100c53 100644 --- a/src/components/AccountMenu/AccountMenu.tsx +++ b/src/components/AccountMenu/AccountMenu.tsx @@ -12,7 +12,9 @@ import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; import HistoryIcon from '@mui/icons-material/History'; import SignalCellularAltOutlinedIcon from '@mui/icons-material/SignalCellularAltOutlined'; import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; +import AccountCircleRoundedIcon from '@mui/icons-material/AccountCircleRounded'; +import { cls, styles, common } from '@skalenetwork/metaport'; export default function AccountMenu(props: any) { const [anchorEl, setAnchorEl] = React.useState(null); @@ -31,9 +33,11 @@ export default function AccountMenu(props: any) { @@ -74,6 +78,9 @@ export default function AccountMenu(props: any) { transformOrigin={{ horizontal: 'right', vertical: 'top' }} anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }} > + + Account info + Transfers history diff --git a/src/components/ActionCard/ActionCard.scss b/src/components/ActionCard/ActionCard.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/ActionCard/ActionCard.tsx b/src/components/ActionCard/ActionCard.tsx deleted file mode 100644 index 07bda2a..0000000 --- a/src/components/ActionCard/ActionCard.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file ChainCard.js - * @copyright SKALE Labs 2022-Present -*/ - -import { Link } from "react-router-dom"; - -import Button from '@mui/material/Button'; -import Tooltip from '@mui/material/Tooltip'; -import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; -import { CHAINS_META } from '../../core/constants'; - -import { getChainName, getChainIcon, iconPath } from './helper'; - - -export default function ActionCard(props: any) { - - const url = `bridge/transfer/${props.action.from}/${props.action.to}`; - - return ( -
-
- - - -
-
-
-
- TOKENS: -
-
- {props.action.tokens.map((token: any, index: number) => ( - - - - ))} -
-
-
-

- {getChainName(CHAINS_META, props.action.from)} to {getChainName(CHAINS_META, props.action.to)} -

-
- ); -} diff --git a/src/components/ActionCard/helper.tsx b/src/components/ActionCard/helper.tsx deleted file mode 100644 index 1ae0b8a..0000000 --- a/src/components/ActionCard/helper.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React, { useEffect } from 'react'; -import OfflineBoltIcon from '@mui/icons-material/OfflineBolt'; - -import { chainIconPath } from '../../core/helper'; -import { MAINNET_CHAIN_NAME, TOKEN_ICONS, EXTERNAL_TOKEN_ICONS } from '../../core/constants'; - - -function stringToColor(str: string, dark: boolean): string { - if (dark) { - // return `hsl(${hashCode(str) % 360}, 100%, 80%)`; - return 'hsl(120deg 2% 88%)'; - } - return 'hsl(0deg 0% 15%)'; - // return `hsl(${hashCode(str) % 360}, 55%, 40%)`; -} - -/** - * Gets the website URL for a given chain or application. - * - * @param {object} chainsMetadata An object containing metadata for SKALE chains. - * @param {string} chainName The name of the chain to get the website URL for. - * @param {string} [app] (Optional) The name of the application to get the website URL for. - * @returns {string | undefined} The website URL for the specified chain/application, or `undefined` if not found. - */ -export function getChainWebsiteUrl( - chainsMetadata: any, - chainName: string, - app?: string -): string | undefined { - if (chainName == MAINNET_CHAIN_NAME) return; - if (chainsMetadata && chainsMetadata[chainName]) { - if (app && chainsMetadata[chainName]['apps'][app]) { - return chainsMetadata[chainName]['apps'][app].url; - } - return chainsMetadata[chainName].url; - } -} - - -export function getChainName(chainsMetadata: any, chainName: string, app?: string): string { - if (chainName == MAINNET_CHAIN_NAME) { - return 'Ethereum'; - } - if (chainsMetadata && chainsMetadata[chainName]) { - if (app && chainsMetadata[chainName]['apps'][app]) { - return chainsMetadata[chainName]['apps'][app].alias; - } - return chainsMetadata[chainName].alias; - } else { - return chainName; - } -} - - -export function getChainIcon(chainName: string, dark: boolean, app?: string) { - const iconPath = chainIconPath(chainName, app); - if (iconPath !== undefined) { - return ; - } - return (); -} - - -export function iconPath(name: string) { - if (!name) return; - if (EXTERNAL_TOKEN_ICONS[name]) { - return EXTERNAL_TOKEN_ICONS[name]; - } - const key = name.toLowerCase() + '.svg'; - if (TOKEN_ICONS[key]) { - return TOKEN_ICONS[key]; - } else { - return TOKEN_ICONS['eth.svg']; - } -} - - -export function getChainNameFix(chain: string, app: string): string[] { - if (chain.includes('_')) return chain.split('_'); - return [chain, app]; -} \ No newline at end of file diff --git a/src/components/ActionCard/index.ts b/src/components/ActionCard/index.ts deleted file mode 100644 index 88d9c35..0000000 --- a/src/components/ActionCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./ActionCard"; diff --git a/src/components/AmountInput/AmountInput.scss b/src/components/AmountInput/AmountInput.scss deleted file mode 100644 index b53b0ed..0000000 --- a/src/components/AmountInput/AmountInput.scss +++ /dev/null @@ -1,50 +0,0 @@ -.mp__inputAmountDisabled { - // background-color: rgb(68 68 68 / 30%) !important; -} - -.mp__inputAmount { - - // max-width: 50%; - - .MuiInput-root::after { - border-bottom: none !important; - } - - .MuiInput-root::before { - border-bottom: none !important; - } - - input { - border-radius: 4px 0 0 4px; - // padding: 9pt 15pt; - - padding: 9pt 5pt; - font-size: 16pt; - } - - .MuiFormControl-root { - width: 100%; - // border-radius: 4px; - } - - // background-color: rgb(161 161 161 / 34%); - border-radius: 15px; - - .MuiButton-root { - border-radius: 0 !important; - // margin-right: 10px; - } - - input::-webkit-outer-spin-button, - input::-webkit-inner-spin-button { - /* display: none; <- Crashes Chrome on hover */ - -webkit-appearance: none; - margin: 0; - /* <-- Apparently some margin are still there even though it's hidden */ - } - - input[type=number] { - -moz-appearance: textfield; - /* Firefox */ - } -} \ No newline at end of file diff --git a/src/components/AmountInput/AmountInput.tsx b/src/components/AmountInput/AmountInput.tsx deleted file mode 100644 index 0d16799..0000000 --- a/src/components/AmountInput/AmountInput.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import TextField from '@mui/material/TextField'; -import Button from '@mui/material/Button'; - -import './AmountInput.scss'; - -export default function AmountInput(props: any) { - - const handleChange = (event: React.ChangeEvent) => { - if (parseFloat(event.target.value) < 0) { - props.setAmount(''); - return; - } - props.setAmount(event.target.value); - }; - - const disabled = props.loading || !props.balance; - - if (!props.token) return (
); - return ( -
-
- -
-
- ) -} diff --git a/src/components/AmountInput/index.ts b/src/components/AmountInput/index.ts deleted file mode 100644 index 0315fc8..0000000 --- a/src/components/AmountInput/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./AmountInput"; diff --git a/src/components/BalanceBlock/BalanceBlock.tsx b/src/components/BalanceBlock/BalanceBlock.tsx deleted file mode 100644 index 3cfbfbb..0000000 --- a/src/components/BalanceBlock/BalanceBlock.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { ReactElement } from "react"; -import Skeleton from '@mui/material/Skeleton'; -import { clsNames } from "../../core/helper"; - - -export default function BalanceBlock(props: { - icon: ReactElement, - disabled?: boolean, - balance: string | undefined, - token: string | undefined, - chainName: string, - margTop?: boolean -}) { - const displayedBalance = props.balance ? props.balance.substring(0, 8) : null; - const displayedToken = props.token ? props.token.toUpperCase() : null; - - return (
-
-
- {props.icon} -
-

- Balance on {props.chainName} -

-
-
- {props.balance ? (

- {displayedBalance} {displayedToken} -

) : } -
-
) -} \ No newline at end of file diff --git a/src/components/BalanceBlock/index.ts b/src/components/BalanceBlock/index.ts deleted file mode 100644 index 84ad926..0000000 --- a/src/components/BalanceBlock/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./BalanceBlock"; diff --git a/src/components/BridgePaper/BridgePaper.tsx b/src/components/BridgePaper/BridgePaper.tsx deleted file mode 100644 index 7359776..0000000 --- a/src/components/BridgePaper/BridgePaper.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file BridgePaper.ts - * @copyright SKALE Labs 2023-Present -*/ - -import { ReactElement } from 'react'; -import { clsNames } from '../../core/helper'; - - -export default function BridgePaper(props: { - children?: ReactElement | ReactElement[], - gray?: boolean, - rounded?: boolean, - fullHeight?: boolean, - margTop?: boolean -}) { - return (
- {props.children} -
) -} \ No newline at end of file diff --git a/src/components/BridgePaper/index.ts b/src/components/BridgePaper/index.ts deleted file mode 100644 index 694170e..0000000 --- a/src/components/BridgePaper/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./BridgePaper"; diff --git a/src/components/ChainCard/ChainCard.scss b/src/components/ChainCard/ChainCard.scss deleted file mode 100644 index 5b7f837..0000000 --- a/src/components/ChainCard/ChainCard.scss +++ /dev/null @@ -1,18 +0,0 @@ -.app-icon img { - max-height: 80%; - max-width: 80%; - text-align: center; -} - -.br__tileDefaultLogo { - padding: 10px 10px 20px 10px; - height: 100%; - width: 100%; - - .paper { - text-align: center !important; - border-radius: 20px !important; - height: 100% !important; - width: 100% !important; - } -} \ No newline at end of file diff --git a/src/components/ChainCard/ChainCard.tsx b/src/components/ChainCard/ChainCard.tsx deleted file mode 100644 index b0334f4..0000000 --- a/src/components/ChainCard/ChainCard.tsx +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file ChainCard.js - * @copyright SKALE Labs 2022-Present -*/ - -import { Link } from "react-router-dom"; -import Jazzicon, { jsNumberForAddress } from 'react-jazzicon' -import { CHAINS_META } from '../../core/constants'; - -import TokensPreview from '../TokensPreview'; -import HubIcon from '../HubIcon'; -import { getChainName, getChainNameFix } from '../ActionCard/helper'; - -import './ChainCard.scss'; - - -function getBgColor(schainName: string, app?: string) { - // todo: refactor - if (CHAINS_META[schainName]) { - if (app) { - if (CHAINS_META[schainName]['apps'][app]['gradientBackground']) { - return CHAINS_META[schainName]['apps'][app]['gradientBackground']; - } - return CHAINS_META[schainName]['apps'][app]['background']; - } - if (CHAINS_META[schainName]['gradientBackground']) { - return CHAINS_META[schainName]['gradientBackground']; - } - return CHAINS_META[schainName]['background']; - } - return 'linear-gradient(273.67deg, rgb(255, 255, 255), rgb(223 222 222))'; -} - - -export default function ChainCard(props: any) { - function getIcon(schainName: string, app?: string) { - let iconPath = schainName; - if (app) { - iconPath += `-${app}`; - } - let pngPath = iconPath + '.png'; - let gifPath = iconPath + '.gif'; - let svgPath = iconPath + '.svg'; - if (props.icons[pngPath]) { - iconPath = pngPath; - } else if (props.icons[gifPath]) { - iconPath = gifPath; - } else if (props.icons[svgPath]) { - iconPath = svgPath; - } - if (iconPath !== schainName) { - return logo - } - return
- -
; - } - - let chain = props.toChain ? props.toChain : props.from; - let app = props.chain.app; - - // TODO: refactor! - - let url = `/bridge/transfer/${props.from}`; - - if (props.toChain) { - url += `/${props.toChain}`; - } - - if (app || props.fromApp) { - url += '?'; - } - if (app && props.toChain) { - url += `to-app=${app}&`; - } - if (props.fromApp) { - url += `from-app=${props.fromApp}`; - } - - let namesFix = getChainNameFix(chain, app); - chain = namesFix[0]; - app = namesFix[1]; - - let tokens; - if (props.toChain) { - tokens = Object.keys(props.chain.tokens); - } else { - const tokensArr = Object.keys(props.chain.chains).map((toChain: any) => { return props.chain.chains[toChain].tokens }); - tokens = tokensArr.map((val: any) => { return Object.keys(val) }); - tokens = Array.from(new Set(tokens.flat())); - } - - return ( - -
-
- {getIcon(chain, app)} -
-
-
- -
-
- {app ? : null} -
-
-
-

- {getChainName(CHAINS_META, chain, app)} -

- - ); -} diff --git a/src/components/ChainCard/index.ts b/src/components/ChainCard/index.ts deleted file mode 100644 index a59f476..0000000 --- a/src/components/ChainCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./ChainCard"; diff --git a/src/components/ChainCards/ChainCards.tsx b/src/components/ChainCards/ChainCards.tsx deleted file mode 100644 index 250b175..0000000 --- a/src/components/ChainCards/ChainCards.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import fuzzysort from 'fuzzysort' - -import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; - -import ChainCard from '../ChainCard'; - -import { ICONS, CHAINS_META, CHAINS } from '../../core/constants'; - - - -export default function ChainCards(props: any) { - let chains: any; - let fromApp: string; - - if (props.chains) { - chains = props.chains; - fromApp = props.fromApp; - } else { - chains = CHAINS; - } - - let keys = Object.keys(chains); - if (props.searchValue && props.searchValue !== '') { - keys = Object.keys(chains).filter((chainName: any, index: number) => { - const chain = chains[chainName]; - const targets = [chainName, chain.app, chain.hub]; - if (CHAINS_META[chainName]) { - targets.push(CHAINS_META[chainName].alias, CHAINS_META[chainName].category); - if (CHAINS_META[chainName].apps) { - Object.keys(CHAINS_META[chainName].apps).map((appName: any) => { - targets.push(appName, CHAINS_META[chainName].apps[appName].alias); - }) - } - } - const results = fuzzysort.go(props.searchValue, targets, { all: true, threshold: -50000 }); - return results.length > 0 - }); - } - return (
- - - {keys.map((chain: any, index: number) => ( - - - - ))} - - {keys.length === 0 &&

- No available chains -

} -
-
) -} \ No newline at end of file diff --git a/src/components/ChainCards/index.ts b/src/components/ChainCards/index.ts deleted file mode 100644 index 22a40b3..0000000 --- a/src/components/ChainCards/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./ChainCards"; diff --git a/src/components/ChainOverview/ChainOverview.tsx b/src/components/ChainOverview/ChainOverview.tsx deleted file mode 100644 index 49f0f9b..0000000 --- a/src/components/ChainOverview/ChainOverview.tsx +++ /dev/null @@ -1,183 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file ChainOverview.js - * @copyright SKALE Labs 2022-Present -*/ - -import React, { useEffect } from 'react'; -import { Link } from "react-router-dom"; - -import Web3 from 'web3'; -import { Contract } from 'web3-eth-contract'; -import Button from '@mui/material/Button'; -import Skeleton from '@mui/material/Skeleton'; -import Grid from '@mui/material/Grid'; - -import { dataclasses } from '@skalenetwork/metaport'; - -import BridgePaper from '../BridgePaper'; - -import { CHAINS_META } from '../../core/constants'; -import { getBalance, initChainWeb3, initERC20Token } from '../../core/tokens'; -import { getTokenDecimals } from '../../core/metaportConfig'; -import { fromWei } from '../../core/convertation'; - -import { getChainName, iconPath, getChainIcon, getChainNameFix } from '../ActionCard/helper'; - - -const objectMap = (obj: any, fn: any) => - Object.fromEntries( - Object.entries(obj).map( - ([k, v], i) => [k, fn(v, k, i)] - ) - ) - - -export default function ChainOverview(props: any) { - - const [web3, setWeb3] = React.useState(); - const [tokens, setTokens] = React.useState(); - const [tokenContracts, setTokenContracts] = React.useState(); - const [tokenBalances, setTokenBalances] = React.useState({}); - const [updateBalanceFlag, setUpdateBalanceFlag] = React.useState(false); - - - let chainFix = props.chainName; - let appFix = props.chain.app; - - let namesFix = getChainNameFix(chainFix as string, appFix); - chainFix = namesFix[0]; - appFix = namesFix[1]; - - const name = getChainName(CHAINS_META, chainFix, appFix); - - useEffect(() => { - const tokensArr = Object.keys(props.chain.chains).map((toChain: any) => { return props.chain.chains[toChain].tokens }); - let tokensMap = {}; - for (let i = 0; i < tokensArr.length; i++) { - tokensMap = { ...tokensMap, ...tokensArr[i] }; - } - setTokens(tokensMap); - setWeb3(initChainWeb3(chainFix)); - let balanceUpdateTimer = setInterval(() => setUpdateBalanceFlag(!updateBalanceFlag), 10 * 1000); - return () => { - clearInterval(balanceUpdateTimer); - }; - }, []); - - useEffect(() => { - if (!web3) return; - setTokenContracts(objectMap( - tokens, - (_: string, key: any) => initERC20Token(web3, tokens[key].address) - )); - }, [web3, tokens]); - - useEffect(() => { - if (!tokenContracts || !web3) return; - updateTokenBalances(); - }, [updateBalanceFlag]); - - useEffect(() => { - setTokenBalances({}); - updateTokenBalances(); - }, [props.address]); - - - interface BalancesMap { [token: string]: any; } - - async function updateTokenBalances() { - const balances: BalancesMap = {}; - for (let token in tokenContracts) { - const balance = await getTokenBalance(token, tokenContracts[token]); - balances[token] = balance; - } - setTokenBalances(balances); - } - - async function getTokenBalance(token: string, tokenContract: Contract) { - const tokenKeyname = tokens[token as string].keyname; - const decimals = getTokenDecimals( - chainFix, - undefined, - dataclasses.TokenType.erc20, - tokenKeyname - ); - const balanceWei = await getBalance( - web3, tokenContract, props.address, chainFix, tokens[token as string].wrapsSFuel); - return fromWei(balanceWei as string, decimals); - } - - let url = `/bridge/transfer/${props.chainName}`; - - if (appFix || appFix) { - url += '?'; - } - if (appFix) { - url += `from-app=${appFix}`; - } - - if (!tokens) return null; - return ( -
-
- -
-
-
- {getChainIcon(chainFix as string, true, appFix)} -
-
-

{name}

-
-
- - - {Object.keys(tokens).map((token: any, index: number) => ( - -
-
- - {tokenBalances[token] ? (

- {tokenBalances[token] ? tokenBalances[token].substring(0, 7) : null} {token} -

) : } -
-
-
- ))} -
-
- - - -
-
- -
-
- ); -} diff --git a/src/components/ChainOverview/index.ts b/src/components/ChainOverview/index.ts deleted file mode 100644 index 10683ed..0000000 --- a/src/components/ChainOverview/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./ChainOverview"; diff --git a/src/components/CommunityPool/CommunityPool.tsx b/src/components/CommunityPool/CommunityPool.tsx deleted file mode 100644 index a220654..0000000 --- a/src/components/CommunityPool/CommunityPool.tsx +++ /dev/null @@ -1,326 +0,0 @@ -import React, { useEffect } from 'react'; -import { MainnetChain, SChain } from '@skalenetwork/ima-js'; -import debug from 'debug'; - -import Card from '@mui/material/Card'; -import CardContent from '@mui/material/CardContent'; -import Collapse from '@mui/material/Collapse'; -import Skeleton from '@mui/material/Skeleton'; -import Grid from '@mui/material/Grid'; -import Button from '@mui/material/Button'; - -import CheckCircleIcon from '@mui/icons-material/CheckCircle'; -import ErrorIcon from '@mui/icons-material/Error'; -import AccountBalanceWalletRoundedIcon from '@mui/icons-material/AccountBalanceWalletRounded'; - -import AmountInput from '../AmountInput'; -import BridgePaper from '../BridgePaper'; -import BalanceBlock from '../BalanceBlock'; - -import { getChainIcon } from '../ActionCard/helper'; -import { - DEFAULT_ERC20_DECIMALS, - METAPORT_CONFIG, - COMMUNITY_POOL_WITHDRAW_GAS_LIMIT, - BALANCE_UPDATE_INTERVAL_SECONDS -} from '../../core/constants'; -import { fromWei, toWei } from '../../core/convertation'; -import { capitalize } from '../../core/helper'; -import { initMainnetMetamask, initMainnet, initSChain } from '../../core/network'; - -debug.enable('*'); -const log = debug('bridge:components:CommunityPool'); - - -export default function CommunityPool(props: any) { - const [open, setOpen] = React.useState(false); - const [view, setView] = React.useState('recharge'); - - const [accountBalance, setAccountBalance] = React.useState(); - const [balance, setBalance] = React.useState(); - - const [loading, setLoading] = React.useState(false); - const [recharging, setRecharging] = React.useState(false); - - const [activeUserSchain, setActiveUserSchain] = React.useState(false); - const [activeUserMainnet, setActiveUserMainnet] = React.useState(false); - const [amount, setAmount] = React.useState(''); - - const [mainnet, setMainnet] = React.useState(); - const [schain, setSchain] = React.useState(); - - const [updateBalanceFlag, setUpdateBalanceFlag] = React.useState(false); - - function toggleOpen() { - setOpen(!open); - } - - function setWithdrawView() { - setView('withdraw'); - toggleOpen(); - } - - function setRechargeView() { - setView('recharge'); - toggleOpen(); - } - - useEffect(() => { - log('init mainnet chain for community pool'); - const mainnet = initMainnet( - METAPORT_CONFIG.skaleNetwork, - METAPORT_CONFIG.mainnetEndpoint - ); - setMainnet(mainnet); - - log('init schain for community locker'); - const schain = initSChain( - METAPORT_CONFIG.skaleNetwork, - props.chainName - ); - setSchain(schain); - }, []); - - useEffect(() => { - checkUserActive(); - }, [activeUserMainnet, activeUserSchain, recharging]); - - useEffect(() => { - if (mainnet && schain && props.address) { - updateBalance(); - } - const interval = setInterval( - () => setUpdateBalanceFlag(!updateBalanceFlag), - BALANCE_UPDATE_INTERVAL_SECONDS * 1000 - ); - return () => clearInterval(interval); - }, [updateBalanceFlag, mainnet, props.address, props.chainName]); - - async function mainnetMetamask() { - log('setMainnetMetamask'); - return await initMainnetMetamask( - METAPORT_CONFIG.skaleNetwork, - METAPORT_CONFIG.mainnetEndpoint - ); - } - - function checkUserActive() { - if (activeUserMainnet && activeUserSchain) { - props.setUserActive(true); - if (!loading || recharging) return; - props.setMsgType('success'); - props.setMsg('Exit gas wallet recharged'); - setOpen(false); - setLoading(false); - setAmount(''); - } - } - - async function recharge() { - if (!mainnet || !amount) return; - setLoading(true); - setRecharging(true); - const mm = await mainnetMetamask(); - const amountWei = toWei(amount, DEFAULT_ERC20_DECIMALS); - log(`recharge - ${props.address} - ${amountWei}`); - try { - await mm.communityPool.recharge(props.chainName, props.address, { - address: props.address, - value: amountWei - }); - } catch (e: any) { - log('recharge error', e); - props.setMsgType('error'); - props.setMsg(e.message); - setLoading(false); - } finally { - setRecharging(false); - await updateBalance(); - } - } - - async function withdraw() { - if (!mainnet) return; - setLoading(true); - const mm = await mainnetMetamask(); - const amountWei = toWei(balance as string, DEFAULT_ERC20_DECIMALS); - log(`withdraw - ${props.address} - ${amountWei}`); - try { - await mm.communityPool.withdraw(props.chainName, amountWei, { - address: props.address, - customGasLimit: COMMUNITY_POOL_WITHDRAW_GAS_LIMIT - }); - props.setMsgType('success'); - props.setMsg('ETH withdrawn from exit gas wallet'); - setOpen(false); - } catch (e: any) { - log('withdraw error', e); - props.setMsgType('error'); - props.setMsg(e.message); - } finally { - await updateBalance(); - setLoading(false); - } - } - - async function updateBalance() { - log('updating balance for community pool and community locker'); - if (!mainnet || !schain) return; - const balanceWei = await mainnet.communityPool.balance(props.address, props.chainName); - const balanceEther = fromWei(balanceWei as string, DEFAULT_ERC20_DECIMALS); - setBalance(balanceEther); - - const activeS = await schain.communityLocker.contract.methods.activeUsers(props.address).call(); - setActiveUserSchain(activeS); - // log('User is active on Schain:', activeS); - - const chainHash = mainnet.web3.utils.soliditySha3(props.chainName); - const activeM = await mainnet.communityPool.contract.methods.activeUsers(props.address, chainHash).call(); - setActiveUserMainnet(activeM); - // log('User is active on Mainnet:', activeM); - - const accountBalanceWei = await mainnet.ethBalance(props.address); - const accountBalanceEther = fromWei(accountBalanceWei as string, DEFAULT_ERC20_DECIMALS); - setAccountBalance(accountBalanceEther); - - const recommendedRechargeAmountWei = await mainnet.communityPool.contract.methods.getRecommendedRechargeAmount( - mainnet.web3.utils.soliditySha3(props.chainName), - props.address - ).call(); - const recommendedRechargeAmountEther = fromWei(recommendedRechargeAmountWei as string, DEFAULT_ERC20_DECIMALS); - props.setRecommendedRechargeAmount(recommendedRechargeAmountEther); - - let recommendedAmount = parseFloat(recommendedRechargeAmountEther as string) * 1.2; - if (recommendedAmount < 0.01) recommendedAmount = 0.01; - - if (recommendedRechargeAmountWei !== '0') { - setAmount(recommendedAmount.toFixed(4).toString()); - } - } - - - function getTitleText() { - if (open) return capitalize(view as string); - return props.recommendedRechargeAmount === '0' ? 'Exit gas wallet OK' : 'You need to recharge exit gas wallet first' - } - - function getRechargeBtnText() { - if (loading) { - if (!recharging) return 'Waiting for the address to be activated...'; - return 'Recharging...' - } - if (!balance || !accountBalance) return 'Loading balance...'; - if (Number(amount) > Number(accountBalance)) return 'Insufficient ETH balance' - if (amount === '' || amount === '0' || !amount) return 'Enter an amount'; - return 'Recharge exit gas wallet'; - } - - return (
- -
-
- {props.recommendedRechargeAmount && balance ?
- {props.recommendedRechargeAmount === '0' ? : } -

- {getTitleText()} -

-
: } -
-
- {/* */} -
- {open ? :
- {props.recommendedRechargeAmount && balance && balance !== '0' ? : null} - -
} -
- - - {view === 'recharge' ? (
- -

- You need a balance in this wallet to transfer to Ethereum. This wallet is used to pay for gas fees when your transaction is presented to Ethereum. You may withdraw from the wallet at anytime. -

-
- - -
-

- Recharge amount -

- -
-
- - - - - - - - } - chainName='exit wallet' - balance={balance} - token='eth' - /> - - -
- -
) : null} - {view === 'withdraw' ? (
- - -
-

- Withdraw all ETH from exit gas wallet.
- You will be unable to perform transfers until you refill again. -

-
-
- - - } - chainName='exit wallet' - balance={balance} - token='eth' - /> - - -
- -
) : null} -
-
-
-
) -} \ No newline at end of file diff --git a/src/components/CommunityPool/index.ts b/src/components/CommunityPool/index.ts deleted file mode 100644 index 41a4afb..0000000 --- a/src/components/CommunityPool/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./CommunityPool"; diff --git a/src/components/ExitGasWallet/ExitGasWallet.tsx b/src/components/ExitGasWallet/ExitGasWallet.tsx deleted file mode 100644 index 7c73bc1..0000000 --- a/src/components/ExitGasWallet/ExitGasWallet.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import debug from 'debug'; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; - -import CommunityPool from '../CommunityPool'; - -debug.enable('*'); -const log = debug('bridge:components:ExitGasWallet'); - - -export default function ExitGasWallet(props: any) { - return ( - -
-
-

Exit Gas Wallet

-
-
-

- Manage your Exit Gas Wallet -

- -

- 🏗️ Work in progress
- Exit gas wallet functionality is available on the transfer page when transferring to Ethereum -

-
-
) -} \ No newline at end of file diff --git a/src/components/ExitGasWallet/index.ts b/src/components/ExitGasWallet/index.ts deleted file mode 100644 index c1e73c1..0000000 --- a/src/components/ExitGasWallet/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./ExitGasWallet"; diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx deleted file mode 100644 index f6eb1e4..0000000 --- a/src/components/Footer/Footer.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import debug from 'debug'; -import { Link } from "react-router-dom"; - -debug.enable('*'); -const log = debug('bridge:components:Faq'); - - -export default function Footer(props: any) { - return (
) -} \ No newline at end of file diff --git a/src/components/Footer/index.ts b/src/components/Footer/index.ts deleted file mode 100644 index 3738288..0000000 --- a/src/components/Footer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Footer"; diff --git a/src/components/HelpZen/HelpZen.scss b/src/components/HelpZen/HelpZen.scss deleted file mode 100644 index db82769..0000000 --- a/src/components/HelpZen/HelpZen.scss +++ /dev/null @@ -1,31 +0,0 @@ -.mp__moreMenu { - .MuiList-root { - padding: 8px !important; - } - - .MuiMenuItem-root, .MuiPaper-root { - border-radius: 12px !important; - } - - .MuiItem-padding { - padding-top: 2px !important; - padding-bottom: 2px !important; - } - - .MuiMenuItem-root { - font-weight: 600 !important; - font-size: .8rem !important; - line-height: 1.6 !important; - color: white; - padding: 8px 12px; - } - - .MuiItemIcon-root { - min-width: 35px !important; - margin-left: 10px; - } - - .MuiMenuItem-root svg { - width: 22px !important; - } -} \ No newline at end of file diff --git a/src/components/HelpZen/HelpZen.tsx b/src/components/HelpZen/HelpZen.tsx index 02232ca..4c7a193 100644 --- a/src/components/HelpZen/HelpZen.tsx +++ b/src/components/HelpZen/HelpZen.tsx @@ -4,10 +4,10 @@ import Button from '@mui/material/Button'; import Tooltip from '@mui/material/Tooltip'; import ContactSupportRoundedIcon from '@mui/icons-material/ContactSupportRounded'; -import './HelpZen.scss'; +import { cls, styles, common } from '@skalenetwork/metaport'; -export default function MoreMenu() { +export default function HelpZen() { const [open, setOpen] = React.useState(false); useEffect(() => { @@ -28,13 +28,12 @@ export default function MoreMenu() { - + ); } \ No newline at end of file diff --git a/src/components/History/History.tsx b/src/components/History/History.tsx deleted file mode 100644 index 7640221..0000000 --- a/src/components/History/History.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file History.ts - * @copyright SKALE Labs 2023-Present -*/ - -import debug from 'debug'; -import { useState, useEffect } from "react"; - -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import Button from '@mui/material/Button'; -import ClearAllIcon from '@mui/icons-material/ClearAll'; -import { getTransferHistory, clearTransferHistory } from '../../core/transferHistory'; -import TransferData from '../TransferData'; - - -debug.enable('*'); -const log = debug('bridge:components:History'); - - -export default function History(props: any) { - - const [transferHistory, setTransferHistory] = useState>(getTransferHistory()); - - useEffect(() => { - const handleStorageChange = (e: any) => { - setTransferHistory(getTransferHistory()); - }; - window.addEventListener("storage", handleStorageChange); - return () => { - window.removeEventListener("storage", handleStorageChange); - }; - }, []); - - return ( - -
-
-

Transfers History

-
-
-

- View your transfers history -

- {transferHistory.slice().reverse().map((transferData: any, index: number) => ( - - ))} - - {transferHistory.length === 0 ? (
-

- 🏗️ No past transfers just yet -

-
) : (
-
)} -
-
) -} \ No newline at end of file diff --git a/src/components/History/index.ts b/src/components/History/index.ts deleted file mode 100644 index fdb715b..0000000 --- a/src/components/History/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./History"; diff --git a/src/components/HubIcon/HubIcon.tsx b/src/components/HubIcon/HubIcon.tsx deleted file mode 100644 index 6c05971..0000000 --- a/src/components/HubIcon/HubIcon.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file HubIcon.js - * @copyright SKALE Labs 2023-Present -*/ - -import Tooltip from '@mui/material/Tooltip'; -import { getChainName, getChainIcon } from '../ActionCard/helper'; - -import { CHAINS_META } from '../../core/constants'; - - -export default function HubIcon(props: { - chains_meta: any, - chain: string -}) { - - const chainName = getChainName(CHAINS_META, props.chain); - const chainIcon = getChainIcon(props.chain, true); - - return ( -
- -
- {chainIcon} -
-
-
- ); -} diff --git a/src/components/HubIcon/index.ts b/src/components/HubIcon/index.ts deleted file mode 100644 index b770beb..0000000 --- a/src/components/HubIcon/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./HubIcon"; diff --git a/src/components/Main.tsx b/src/components/Main.tsx new file mode 100644 index 0000000..ba32995 --- /dev/null +++ b/src/components/Main.tsx @@ -0,0 +1,153 @@ +import { useEffect, useState } from 'react'; + +import Button from '@mui/material/Button'; +import Container from '@mui/material/Container'; +import Collapse from '@mui/material/Collapse'; +import Stack from '@mui/material/Stack'; + +// import TransferFrom from '../TransferFrom'; +import { + TransferETF, + TransferETA, + SkPaper, + AmountInput, + SwitchDirection, + SkStepper, + ChainsList, + TokenList, + interfaces, + useCollapseStore, + useMetaportStore, + cls, + common, + styles, + AmountErrorMessage, + TokenBalance, + DestTokenBalance, + ErrorMessage +} from '@skalenetwork/metaport'; + + + +export default function Main(props: any) { + + // const [tokenOnce, setTokenOnce] = useState(false); + + const expandedFrom = useCollapseStore((state) => state.expandedFrom) + const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) + + const expandedTo = useCollapseStore((state) => state.expandedTo) + const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) + + const expandedTokens = useCollapseStore((state) => state.expandedTokens) + + const token = useMetaportStore((state) => state.token) + const setToken = useMetaportStore((state) => state.setToken) + const tokenBalances = useMetaportStore((state) => state.tokenBalances) + const tokens = useMetaportStore((state) => state.tokens) + const chainName1 = useMetaportStore((state) => state.chainName1) + const chainName2 = useMetaportStore((state) => state.chainName2) + + const setChainName1 = useMetaportStore((state) => state.setChainName1) + const setChainName2 = useMetaportStore((state) => state.setChainName2) + + const transferInProgress = useMetaportStore((state) => state.transferInProgress) + const mpc = useMetaportStore((state) => state.mpc) + + const amountErrorMessage = useMetaportStore((state) => state.amountErrorMessage) + const errorMessage = useMetaportStore((state) => state.errorMessage) + + useEffect(() => { + setChainName1(mpc.config.chains ? mpc.config.chains[0] : '') + setChainName2(mpc.config.chains ? mpc.config.chains[1] : '') + }, []); + + useEffect(() => { + if (tokens && tokens.erc20) { + setToken(Object.values(tokens.erc20)[0]) + } + }, [tokens]); + + + const showFrom = !expandedTo && !expandedTokens && !errorMessage + const showTo = !expandedFrom && !expandedTokens && !errorMessage + const showInput = !expandedFrom && !expandedTo && !errorMessage + const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage + const showStepper = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage + const showError = !!errorMessage; + + + return ( + + +

Transfer

+ {/* */} + + + + + + + + +
+

From

+ {token ? : null} +
+ +
+ + + + + +
+ +
+
+ +
+
+
+ + + + + + + +
+

To

+ +
+ +
+
+ + + + +
+
) +} \ No newline at end of file diff --git a/src/components/MoreMenu/MoreMenu.scss b/src/components/MoreMenu/MoreMenu.scss deleted file mode 100644 index db82769..0000000 --- a/src/components/MoreMenu/MoreMenu.scss +++ /dev/null @@ -1,31 +0,0 @@ -.mp__moreMenu { - .MuiList-root { - padding: 8px !important; - } - - .MuiMenuItem-root, .MuiPaper-root { - border-radius: 12px !important; - } - - .MuiItem-padding { - padding-top: 2px !important; - padding-bottom: 2px !important; - } - - .MuiMenuItem-root { - font-weight: 600 !important; - font-size: .8rem !important; - line-height: 1.6 !important; - color: white; - padding: 8px 12px; - } - - .MuiItemIcon-root { - min-width: 35px !important; - margin-left: 10px; - } - - .MuiMenuItem-root svg { - width: 22px !important; - } -} \ No newline at end of file diff --git a/src/components/MoreMenu/MoreMenu.tsx b/src/components/MoreMenu/MoreMenu.tsx index a65728c..4cc9f8b 100644 --- a/src/components/MoreMenu/MoreMenu.tsx +++ b/src/components/MoreMenu/MoreMenu.tsx @@ -14,10 +14,10 @@ import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; import InventoryOutlinedIcon from '@mui/icons-material/InventoryOutlined'; import HubOutlinedIcon from '@mui/icons-material/HubOutlined'; -import { METAPORT_CONFIG } from '../../core/constants'; -import { getProxyEndpoint } from '../../core/network'; +import { cls, styles, common } from '@skalenetwork/metaport'; -import './MoreMenu.scss'; +//import { METAPORT_CONFIG } from '../../core/constants'; +// import { getProxyEndpoint } from '../../core/network'; export default function MoreMenu() { @@ -39,9 +39,9 @@ export default function MoreMenu() { aria-haspopup="true" aria-expanded={open ? 'true' : undefined} onClick={handleClick} - className='mp__margLeft10 moreBtn' + className={cls(styles.paperGrey, common.pMain, common.margLeft10)} > - + @@ -112,19 +112,17 @@ export default function MoreMenu() { - - -
- -
-
- Network UI -
-
- -
-
-
+ {/* +
+ +
+
+ Endpoints +
+
+ +
+
*/} ); diff --git a/src/components/Overview/Overview.tsx b/src/components/Overview/Overview.tsx deleted file mode 100644 index 6a8b2e8..0000000 --- a/src/components/Overview/Overview.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import debug from 'debug'; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import Grid from '@mui/material/Grid'; -import Box from '@mui/material/Box'; - - -import { ICONS, CHAINS } from '../../core/constants'; -import ChainOverview from '../ChainOverview'; - - -debug.enable('*'); -const log = debug('bridge:components:Overview'); - - -export default function Overview(props: any) { - - let keys = Object.keys(CHAINS); - - return ( - -
-
-

Overview

-
-
-

- Overview of your assets and balances across all chains -

- - - {keys.map((chain: any, index: number) => ( - - - - ))} - - - -
-
) -} \ No newline at end of file diff --git a/src/components/Overview/index.ts b/src/components/Overview/index.ts deleted file mode 100644 index 4844c29..0000000 --- a/src/components/Overview/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Overview"; diff --git a/src/components/SFuel/SFuel.tsx b/src/components/SFuel/SFuel.tsx deleted file mode 100644 index fe954ef..0000000 --- a/src/components/SFuel/SFuel.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import React, { useEffect } from 'react'; -import debug from 'debug'; - -import Web3 from 'web3'; - -import Card from '@mui/material/Card'; -import Button from '@mui/material/Button'; -import LoadingButton from '@mui/lab/LoadingButton'; -import LocalGasStationIcon from '@mui/icons-material/LocalGasStation'; - -import { getChainEndpoint, initChainWeb3 } from '../../core/tokens'; -import { Collapse } from '@mui/material'; -import { MAINNET_CHAIN_NAME } from '../../core/constants'; -import { AnonymousPoW } from "@skaleproject/pow-ethers"; -import { getFuncData, isFaucetAvailable } from '../../core/faucet'; - - -debug.enable('*'); -const log = debug('bridge:components:SFuel'); - - -const SFUEL_TEXT = { - 'sfuel': { - 'action': '', - 'warning': 'You may need sFUEL on the destination chain', - 'error': 'You need sFUEL to perform this transfer - it will be provided to you automatically' - }, - 'gas': { - 'action': '', - 'warning': 'You may need ETH on the destination chain', - 'error': 'You need ETH to perform this transfer' - } -} - - -export default function SFuel(props: any) { - const [loading, setLoading] = React.useState(true); - const [loadingSFUEL, setLoadingSFUEL] = React.useState(false); - const [fromChainWeb3, setFromChainWeb3] = React.useState(); - const [toChainWeb3, setToChainWeb3] = React.useState(); - const [hubChainWeb3, setHubChainWeb3] = React.useState(); - - const [updateBalanceTime, setUpdateBalanceTime] = React.useState(Date.now()); - - const [fromChainSFuel, setFromChainSFuel] = React.useState(); - const [toChainSFuel, setToChainSFuel] = React.useState(); - const [hubChainSFuel, setHubChainSFuel] = React.useState(); - - const [sFuelStatus, setSFuelStatus] = React.useState<'action' | 'warning' | 'error'>('action'); - - useEffect(() => { - if (!props.fromChain || !props.toChain) return; - setFromChainWeb3(initChainWeb3(props.fromChain)); - setToChainWeb3(initChainWeb3(props.toChain)); - if (props.hubChain) { - setHubChainWeb3(initChainWeb3(props.hubChain)); - } - const interval = setInterval(() => setUpdateBalanceTime(Date.now()), 8 * 1000); - return () => clearInterval(interval); - }, []); - - useEffect(() => { - getFromChainBalance(); - }, [fromChainWeb3]); - - useEffect(() => { - getToChainBalance(); - }, [toChainWeb3]); - - useEffect(() => { - getHubChainBalance(); - }, [hubChainWeb3]); - - useEffect(() => { - updateBalances(); - }, [updateBalanceTime, props.address]); - - useEffect(() => { - if (!fromChainSFuel || !toChainSFuel) return; - setLoading(true); - if (fromChainSFuel === '0' || (hubChainSFuel && hubChainSFuel === '0')) { - setSFuelStatus('error'); - props.setSFuelOk(false); - } else { - if (toChainSFuel === '0') { - setSFuelStatus('warning'); - } else { - setSFuelStatus('action'); - } - props.setSFuelOk(true); - } - setLoading(false); - }, [fromChainSFuel, toChainSFuel, hubChainSFuel]); - - function updateBalances() { - getFromChainBalance(); - getToChainBalance(); - getHubChainBalance(); - } - - async function getFromChainBalance() { - if (!fromChainWeb3) return; - const balance = await fromChainWeb3.eth.getBalance(props.address); - log('fromChain sFUEL balance:', balance); - setFromChainSFuel(balance); - } - - async function getToChainBalance() { - if (!toChainWeb3) return; - const balance = await toChainWeb3.eth.getBalance(props.address); - log('toChain sFUEL balance:', balance); - setToChainSFuel(balance); - } - - async function getHubChainBalance() { - if (!hubChainWeb3) return; - const balance = await hubChainWeb3.eth.getBalance(props.address); - log('hubChain sFUEL balance:', balance); - setHubChainSFuel(balance); - } - - async function powFromChain() { - if (!fromChainWeb3 || !props.fromChain || !isFaucetAvailable(props.fromChain) || !getChainEndpoint(props.fromChain)) return false; - const anon = new AnonymousPoW({ rpcUrl: getChainEndpoint(props.fromChain) }); - log('Mining sFUEL fromChain'); - await (await anon.send(getFuncData(fromChainWeb3, props.fromChain, props.address))).wait(); - return true; - } - - async function powToChain() { - if (!toChainWeb3 || !props.toChain || !isFaucetAvailable(props.toChain) || !getChainEndpoint(props.toChain)) return false; - const anon = new AnonymousPoW({ rpcUrl: getChainEndpoint(props.toChain) }); - log('Mining sFUEL toChain'); - await (await anon.send(getFuncData(toChainWeb3, props.toChain, props.address))).wait(); - return true; - } - - async function powHubChain() { - if (!hubChainWeb3 || !props.hubChain || !isFaucetAvailable(props.hubChain) || !getChainEndpoint(props.hubChain)) return false; - const anon = new AnonymousPoW({ rpcUrl: getChainEndpoint(props.hubChain) }); - log('Mining sFUEL hubChain'); - await (await anon.send(getFuncData(hubChainWeb3, props.hubChain, props.address))).wait(); - return true; - } - - async function pow() { - let successFrom = true; - let successHub = true; - let successTo = true; - setLoadingSFUEL(true); - if (fromChainSFuel && fromChainSFuel === '0' && props.fromChain !== MAINNET_CHAIN_NAME) { - try { - successFrom = await powFromChain(); - } catch (e: any) { - log('Mining sFUEL fromChain error', e); - props.setMsgType('error'); - props.setMsg(e.message); - successFrom = false; - } - } - if (hubChainSFuel && hubChainSFuel === '0') { - try { - successHub = await powHubChain(); - } catch (e: any) { - log('Mining sFUEL hubChain error', e); - props.setMsgType('error'); - props.setMsg(e.message); - successHub = false; - } - } - if (toChainSFuel && toChainSFuel === '0' && props.toChain !== MAINNET_CHAIN_NAME) { - try { - successTo = await powToChain(); - } catch (e: any) { - log('Mining sFUEL toChain error', e); - props.setMsgType('error'); - props.setMsg(e.message); - successTo = false; - } - } - await updateBalances(); - setLoadingSFUEL(false); - if (!(successFrom && successHub && successTo)) { - window.open('https://sfuel.skale.network/', '_blank'); - } - } - - const noEth = (fromChainSFuel === '0' && props.fromChain === MAINNET_CHAIN_NAME); - const noEthDest = (fromChainSFuel !== '0' && toChainSFuel === '0' && props.toChain === MAINNET_CHAIN_NAME); - - return ( - -
-
-
- -

- {noEth || noEthDest ? SFUEL_TEXT['gas'][sFuelStatus] : SFUEL_TEXT['sfuel'][sFuelStatus]} -

-
-
- {!noEth && !noEthDest ? (
- {loadingSFUEL ? - ( - Mining... - ) - : () - } -
) : null} - -
-
-
) -} \ No newline at end of file diff --git a/src/components/SFuel/index.ts b/src/components/SFuel/index.ts deleted file mode 100644 index 04ed046..0000000 --- a/src/components/SFuel/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./SFuel"; diff --git a/src/components/Search/Search.tsx b/src/components/Search/Search.tsx deleted file mode 100644 index 907677f..0000000 --- a/src/components/Search/Search.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import React from 'react'; -import { TextField, IconButton } from '@mui/material'; -import SearchIcon from '@mui/icons-material/Search'; -import Link from '@mui/material/Link'; -import ClearIcon from '@mui/icons-material/Clear'; - -import { SEARCH_SUGGESTIONS } from '../../core/constants'; - - -const SearchComponent = (props: any) => { - const handleChange = (event: React.ChangeEvent) => { - props.setSearchValue(event.target.value); - }; - - const _handleKeyDown = (event: any) => { - if (event.key === 'Enter') { - // todo: handle enter key - } - }; - - return ( -
-
-
- -
-
- -
-
{ props.setSearchValue(''); }}> - - - -
-
-
-

- Try searching for: -

- {SEARCH_SUGGESTIONS.map((item: any, index: number) => ( - { props.setSearchValue(item.search) }} - color="inherit" - key={index} - > - {item.label} - - ))} -
-
- ); -}; - -export default SearchComponent; diff --git a/src/components/Search/index.ts b/src/components/Search/index.ts deleted file mode 100644 index 4ff9149..0000000 --- a/src/components/Search/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Search"; diff --git a/src/components/Terms/Terms.tsx b/src/components/Terms/Terms.tsx index 8bea3ce..93dff87 100644 --- a/src/components/Terms/Terms.tsx +++ b/src/components/Terms/Terms.tsx @@ -1,15 +1,10 @@ -import debug from 'debug'; import Container from '@mui/material/Container'; import Stack from '@mui/material/Stack'; -import { MDXProvider } from '@mdx-js/react' import TermsOfService from './terms-of-service.mdx' -debug.enable('*'); -const log = debug('bridge:components:Terms'); - -export default function Terms(props: any) { +export default function Terms() { return (
@@ -20,9 +15,7 @@ export default function Terms(props: any) {

SKALE Network Blockchain Bridge Terms of Service

- - - + ) } \ No newline at end of file diff --git a/src/components/TokenButton/TokenButton.tsx b/src/components/TokenButton/TokenButton.tsx deleted file mode 100644 index df85772..0000000 --- a/src/components/TokenButton/TokenButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import Tooltip from '@mui/material/Tooltip'; - -import { iconPath } from '../ActionCard/helper'; -import CHAINS from '../../chainsData.json'; - - -export default function TokenButton(props: any) { - const chainsData = CHAINS as any; - const from: string = props.from; - const to: string = props.to; - return (
- {Object.keys(chainsData[from].chains[to].tokens).map((token: any, index: number) => ( - - - - ))} -
) -} \ No newline at end of file diff --git a/src/components/TokenButton/index.ts b/src/components/TokenButton/index.ts deleted file mode 100644 index 6f42ab9..0000000 --- a/src/components/TokenButton/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TokenButton"; diff --git a/src/components/Tokens/Tokens.scss b/src/components/Tokens/Tokens.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/Tokens/Tokens.tsx b/src/components/Tokens/Tokens.tsx deleted file mode 100644 index a9cc501..0000000 --- a/src/components/Tokens/Tokens.tsx +++ /dev/null @@ -1,29 +0,0 @@ - -import Chip from '@mui/material/Chip'; -import { iconPath } from '../ActionCard/helper'; - -import { CHAINS } from '../../core/constants'; - - -export default function Tokens(props: any) { - const chainsData = CHAINS as any; - const from: string = props.from; - const to: string = props.to; - return (
- {Object.keys(chainsData[from].chains[to].tokens).map((token: any, index: number) => ( -
- { props.setToken(token) }} - variant="filled" - clickable - className='mp__margRi5 mp__chipToken' - size='medium' - icon={} - disabled={props.loading} - /> -
- ))} -
-
) -} \ No newline at end of file diff --git a/src/components/Tokens/index.ts b/src/components/Tokens/index.ts deleted file mode 100644 index d4b0152..0000000 --- a/src/components/Tokens/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Tokens"; diff --git a/src/components/TokensPreview/TokensPreview.tsx b/src/components/TokensPreview/TokensPreview.tsx deleted file mode 100644 index 4025085..0000000 --- a/src/components/TokensPreview/TokensPreview.tsx +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file TokensPreview.js - * @copyright SKALE Labs 2023-Present -*/ - -import Tooltip from '@mui/material/Tooltip'; -import { iconPath } from '../ActionCard/helper'; - - -const MAX_TOKENS = 4; - - -export default function TokensPreview(props: any) { - return ( -
- {props.tokens.slice(0, MAX_TOKENS).map((token: any, index: number) => ( - - - - ))} - {props.tokens.length > MAX_TOKENS ?
- -

- +{props.tokens.length - MAX_TOKENS} -

-
-
: null} -
- ); -} diff --git a/src/components/TokensPreview/index.ts b/src/components/TokensPreview/index.ts deleted file mode 100644 index 8684d94..0000000 --- a/src/components/TokensPreview/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TokensPreview"; diff --git a/src/components/TransactionData/TransactionData.tsx b/src/components/TransactionData/TransactionData.tsx deleted file mode 100644 index 2219d7d..0000000 --- a/src/components/TransactionData/TransactionData.tsx +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file TransactionData.ts - * @copyright SKALE Labs 2023-Present -*/ - -import { ReactElement } from 'react'; - -import IconButton from '@mui/material/IconButton'; - -import MoveUpIcon from '@mui/icons-material/MoveUp'; -import MoveDownIcon from '@mui/icons-material/MoveDown'; -import LockOpenIcon from '@mui/icons-material/LockOpen'; -import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; -import OpenInNewIcon from '@mui/icons-material/OpenInNew'; -import LogoutIcon from '@mui/icons-material/Logout'; -import DoneRoundedIcon from '@mui/icons-material/DoneRounded'; -import { getTxUrl } from '../../core/network'; - - -const actionIcons: { [actionName: string]: ReactElement; } = { - 'deposit': , - 'transferToSchain': , - 'wrap': , - 'unwrap': , - 'getMyEth': , - 'withdraw': , - 'approve': , - 'approveWrap': , - 'wrapsfuel': , -} - - -export default function TransactionData(props: any) { - const explorerUrl = getTxUrl( - props.transactionData.chainName, - props.transactionData.tx.transactionHash - ); - return (
-
-
- {actionIcons[props.transactionData.txName]} -
-
-
-
-

{props.transactionData.txName}

-

{new Date(props.transactionData.timestamp * 1000).toUTCString()}

-
-
-
- - - -
-
) -} diff --git a/src/components/TransactionData/index.ts b/src/components/TransactionData/index.ts deleted file mode 100644 index d73f5d5..0000000 --- a/src/components/TransactionData/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransactionData"; diff --git a/src/components/Transfer/Transfer.scss b/src/components/Transfer/Transfer.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/Transfer/Transfer.tsx b/src/components/Transfer/Transfer.tsx deleted file mode 100644 index 2d6de72..0000000 --- a/src/components/Transfer/Transfer.tsx +++ /dev/null @@ -1,566 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file Transfer.tsx - * @copyright SKALE Labs 2023-Present -*/ - -import React, { useEffect } from 'react'; -import { useParams, useLocation } from "react-router-dom"; - -import { Link } from "react-router-dom"; - -import debug from 'debug'; -import Web3 from 'web3'; -import { Contract } from 'web3-eth-contract'; - -import CardContent from '@mui/material/CardContent'; -import Card from '@mui/material/Card'; -import Grid from '@mui/material/Grid'; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; -import CancelIcon from '@mui/icons-material/Cancel'; -import Button from '@mui/material/Button'; -import Chip from '@mui/material/Chip'; -import Collapse from '@mui/material/Collapse'; -import Alert from '@mui/material/Alert'; -import Tooltip from '@mui/material/Tooltip'; - -import HistoryIcon from '@mui/icons-material/History'; - -import './Transfer.scss'; - -import { interfaces, dataclasses } from '@skalenetwork/metaport'; - -import { getChainIcon, getChainName, getChainNameFix } from '../ActionCard/helper'; -import TransferStepper from '../TransferStepper'; -import TransferDone from '../TransferDone'; -import Tokens from '../Tokens'; -import AmountInput from '../AmountInput'; -import CommunityPool from '../CommunityPool'; -import SFuel from '../SFuel'; -import BalanceBlock from '../BalanceBlock'; -import BridgePaper from '../BridgePaper'; -import TransactionData from '../TransactionData'; - -import { - getBalance, - initChainWeb3, - initERC20Token -} from '../../core/tokens'; -import { getTokenDecimals } from '../../core/metaportConfig'; -import { - CHAINS_META, MAINNET_CHAIN_NAME, CHAINS, BALANCE_UPDATE_INTERVAL_SECONDS, SFUEL_RESERVE_AMOUNT -} from '../../core/constants'; -import { fromWei } from '../../core/convertation'; -import { getQueryVariable } from '../../core/helper'; -import { addToTransferHistory } from '../../core/transferHistory'; - - -debug.enable('*'); -const log = debug('bridge:components:Transfer'); - - -export default function Transfer(props: any) { - let { from, to } = useParams(); - const location = useLocation(); - - const fromChain = from as string; - const toChain = to as string; - - const chainsData = CHAINS as any; - - const tokens = chainsData[fromChain].chains[toChain].tokens; - - const [loading, setLoading] = React.useState(false); - const [amount, setAmount] = React.useState(''); - const [externalAmount, setExternalAmount] = React.useState(undefined); - const [tokenDecimals, setTokenDecimals] = React.useState(); - - const [token, setToken] = React.useState(); - const [tokenType, setTokenType] = React.useState(dataclasses.TokenType.eth); - const [updateBalanceFlag, setUpdateBalanceFlag] = React.useState(false); - - const [sFuelOk, setSFuelOk] = React.useState(false); - - const [msg, setMsg] = React.useState(); - const [msgType, setMsgType] = React.useState<'error' | 'info' | 'success'>('info'); - - const [balance, setBalance] = React.useState(); - const [maxAllowedTransferAmount, setMaxAllowedTransferAmount] = React.useState('-1'); - const [web3, setWeb3] = React.useState(); - const [tokenContract, setTokenContract] = React.useState(); - - const [web3Dest, setWeb3Dest] = React.useState(); - const [tokenContractDest, setTokenContractDest] = React.useState(); - const [balanceDest, setBalanceDest] = React.useState(); - - const [activeStep, setActiveStep] = React.useState(0); - const [recommendedRechargeAmount, setRecommendedRechargeAmount] = React.useState(); - - const [transactionsHistory, setTransactionsHistory] = React.useState>([]); - const [transferRequest, setTransferRequest] = React.useState(); - - const [userActive, setUserActive] = React.useState(false); - - const fromApp = getQueryVariable(location.search, 'from-app'); - const toApp = getQueryVariable(location.search, 'to-app'); - const externalToken = getQueryVariable(location.search, 'token'); - - // todo: move to the separate module - const fallbackTextEncoded = getQueryVariable(location.search, 'fallback-text'); - const fallbackUrlEncoded = getQueryVariable(location.search, 'fallback-url'); - let fallbackUrl; - let fallbackText; - - if (fallbackUrlEncoded && fallbackTextEncoded) { - try { - fallbackUrl = decodeURIComponent(fallbackUrlEncoded); - fallbackText = decodeURIComponent(fallbackTextEncoded); - } catch (error) { - console.error('Error decoding URL parameter:', error); - } - } - - - let chainFromFix = from; - let appFromFix = fromApp as string; - - let namesFromFix = getChainNameFix(chainFromFix as string, appFromFix); - chainFromFix = namesFromFix[0]; - appFromFix = namesFromFix[1]; - - let chainToFix = to; - let appToFix = toApp as string; - - let namesToFix = getChainNameFix(chainToFix as string, appToFix); - chainToFix = namesToFix[0]; - appToFix = namesToFix[1]; - - const fromChainName = getChainName(CHAINS_META, chainFromFix, appFromFix); - const toChainName = getChainName(CHAINS_META, chainToFix, appToFix); - - const fromChainIcon = getChainIcon(chainFromFix, true, appFromFix); - const toChainIcon = getChainIcon(chainToFix, true, appToFix); - - useEffect(() => { - setExternalAmount(getQueryVariable(location.search, 'amount')); - if (externalToken) { - setToken(externalToken); - } else { - setToken(Object.keys(tokens)[0]); - } - window.addEventListener( - "metaport_transferRequestCompleted", - transferCompleted, - false - ); - window.addEventListener( - "metaport_transactionCompleted", - transactionCompleted, - false - ); - setWeb3(initChainWeb3(fromChain)); - setWeb3Dest(initChainWeb3(toChain)); - let balanceUpdateTimer = setInterval( - () => setUpdateBalanceFlag(!updateBalanceFlag), - BALANCE_UPDATE_INTERVAL_SECONDS * 1000 - ); - return () => { - clearInterval(balanceUpdateTimer); - window.removeEventListener( - "metaport_transactionCompleted", - transactionCompleted - ); - }; - }, []); - - useEffect(() => { - window.addEventListener( - "metaport_transferRequestCompleted", - transferCompleted, - false - ); - window.addEventListener( - "metaport_transactionCompleted", - transactionCompleted, - false - ); - return () => { - window.removeEventListener("metaport_transferRequestCompleted", transferCompleted); - window.removeEventListener("metaport_transactionCompleted", transactionCompleted); - } - }, [transferRequest]); - - useEffect(() => { - if (externalAmount) { - setAmount(externalAmount); - setExternalAmount(undefined); - } else { - setAmount(''); - } - setBalance(undefined); - setBalanceDest(undefined); - setTokenType(token === 'eth' ? dataclasses.TokenType.eth : dataclasses.TokenType.erc20); - if (token && web3) { - const tokenInfo = tokens[token as string]; - log(tokenInfo); - log(`Setting token contract: ${tokenInfo.address}`); - setTokenContract(initERC20Token(web3, tokenInfo.address)); - // todo: handle - const destAddress = chainsData[toChain].chains[fromChain].tokens[token].address; - setTokenContractDest(initERC20Token(web3Dest, destAddress)); - } - }, [token]); - - useEffect(() => { - updateBalance(); - }, [tokenContract, tokenContractDest, activeStep, props.address, web3, updateBalanceFlag]); - - async function updateBalance() { - if (props.address && token) { - log('Updating balance...'); - const tokenKeyname = tokens[token as string].keyname; - const hubChain = tokens[token].route ? tokens[token].route.hub : undefined; - const decimals = getTokenDecimals( - fromChain, - hubChain ?? toChain, - tokenType, - tokenKeyname - ); - setTokenDecimals(decimals); - const balanceWei = await getBalance( - web3, tokenContract, props.address, fromChain, tokens[token as string].wrapsSFuel); - const balanceEther = fromWei(balanceWei as string, decimals); - - - const wrapsSFuelDest = chainsData[toChain].chains[fromChain].tokens[token].wrapsSFuel; - const balanceWeiDest = await getBalance( - web3Dest, tokenContractDest, props.address, toChain, wrapsSFuelDest); - const balanceEtherDest = fromWei(balanceWeiDest as string, decimals); - - if (balanceEther) { - setBalance(balanceEther); - if (tokens[token as string].wrapsSFuel) { - const adjustedAmount = Number(balanceEther) - SFUEL_RESERVE_AMOUNT; - if (adjustedAmount > 0) { - setMaxAllowedTransferAmount(adjustedAmount.toString()); - } - } else { - setMaxAllowedTransferAmount(balanceEther as string); - } - } else { - log('Balance request failed - source chain'); - } - if (balanceEtherDest) { - setBalanceDest(balanceEtherDest); - } else { - log('Balance request failed - dest chain'); - } - } - } - - async function transferCompleted(e: any) { - setUpdateBalanceFlag(!updateBalanceFlag); - setLoading(false); - props.metaport.reset(); - props.metaport.close(); - setActiveStep(1); - const transferData = { - trReq: transferRequest, - transactionsHistory: transactionsHistory, - token: token, - address: props.address - } - addToTransferHistory(transferData); - } - - async function transactionCompleted(e: any) { - transactionsHistory.push(e.detail); // todo: fix - setTransactionsHistory([...transactionsHistory]); - } - - function requestTransfer() { - setLoading(true); - const tokenInfo = tokens[token as string]; - const tokenKeyname = tokens[token as string].keyname; - const tokenType = tokenKeyname === 'eth' ? dataclasses.TokenType.eth : dataclasses.TokenType.erc20; - const params: interfaces.TransferParams = { - amount: amount, - chains: [chainFromFix as string, chainToFix as string], - tokenKeyname: tokenKeyname, - tokenType: tokenType, - lockValue: true, - route: tokenInfo.route, - fromApp: fromApp, - toApp: toApp - }; - - setTransferRequest(params); - props.metaport.transfer(params); - } - - function closeMetaport() { - props.metaport.close(); - setLoading(false); - } - - function getTransferButtonText() { - if (loading) return 'Complete transfer in Metaport popup'; - if (!balance) return 'Loading balances...'; - if (Number(amount) > Number(maxAllowedTransferAmount)) return `Insufficient ${token} balance`; - if (amount === '' || amount === '0' || Number(amount) === 0) return 'Enter an amount'; - return 'Transfer to ' + toChainName; - } - - function setMaxAmount() { - setAmount(maxAllowedTransferAmount); - } - - const isTransferToMainnet = toChain === MAINNET_CHAIN_NAME && activeStep === 0; - const exitGasOk = (userActive && recommendedRechargeAmount === '0') || !isTransferToMainnet; - const disabled = loading || !exitGasOk || !sFuelOk; - - const balancesBlock = ( - - - - - ); - - return ( -
-
-

Transfer

-
-
- {fromChainIcon} -
-
-

{fromChainName}

-
-
- -
-
- {toChainIcon} -
-
-

{toChainName}

-
-
- {toApp ? (
- -
- {getChainIcon(chainToFix, true)} -
-
- {toChainIcon} -
-

{toChainName} dApp is located on {getChainName(CHAINS_META, chainToFix)}

-
-
) : null} - {msg ? { setMsg(undefined); }} - severity={msgType} - className='mp__margBott10 br__alert' - > - {msg} - : null} - {isTransferToMainnet && token ? ( - ) : null} - { - token ? () : null - } - - - -
- -
- -
-
-

Token

- -
-
- - - -
-

- Amount -

-
- -
- {token ? tokens[token].recommendedValues.map((value: any, index: number) => ( -
- { setAmount(value) }} - variant="filled" - clickable - className='mp__margRi5 mp__chipAmount' - size='small' - disabled={disabled || !balance || Number(value) > Number(balance)} - /> -
- )) : null} -
- -
-
-
-
- - {balancesBlock} - -
- -
- - {loading ? - - - : null} -
-
- - - -
-
-
- {transactionsHistory.length > 0 ? - - -

Completed transactions

- -
- {transactionsHistory.map((transactionData: any) => ( - - ))} -
-
- - - - - -
-
-
: null} -
) -} \ No newline at end of file diff --git a/src/components/Transfer/index.ts b/src/components/Transfer/index.ts deleted file mode 100644 index 0320ff8..0000000 --- a/src/components/Transfer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Transfer"; diff --git a/src/components/TransferData/TransferData.tsx b/src/components/TransferData/TransferData.tsx deleted file mode 100644 index ec51780..0000000 --- a/src/components/TransferData/TransferData.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file TransferData.ts - * @copyright SKALE Labs 2023-Present -*/ - -import { interfaces } from '@skalenetwork/metaport'; -import Jazzicon, { jsNumberForAddress } from 'react-jazzicon' - -import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; - -import BridgePaper from '../BridgePaper'; -import TransactionData from '../TransactionData'; - -import { getChainName, iconPath, getChainIcon } from '../ActionCard/helper'; -import { CHAINS_META } from '../../core/constants'; - - -export default function TransferData(props: any) { - - const trReq: interfaces.TransferParams = props.transferData.trReq; - - if (!trReq.chains) return (
); - - const fromChainName = getChainName(CHAINS_META, trReq.chains[0], trReq.fromApp); - const toChainName = getChainName(CHAINS_META, trReq.chains[1], trReq.toApp); - - const fromChainIcon = getChainIcon(trReq.chains[0] as string, true, trReq.fromApp); - const toChainIcon = getChainIcon(trReq.chains[1] as string, true, trReq.toApp); - - - return (
- -
-
- {fromChainIcon} -
-
-

{fromChainName}

-
-
- -
-
- {toChainIcon} -
-
-

{toChainName}

-
- { - props.transferData.address ? (
- -
-
- {props.transferData.address.substring(0, 5) + '...' + props.transferData.address.substring(props.transferData.address.length - 3)} -
-
-
- • -
-
) : null - } -
- -
-
-
{props.transferData.trReq.amount} {props.transferData.token}
-
-
- -
- {props.transferData.transactionsHistory.map((transactionData: any) => ( - - ))} -
-
-
-
) -} diff --git a/src/components/TransferData/index.ts b/src/components/TransferData/index.ts deleted file mode 100644 index d6aadd9..0000000 --- a/src/components/TransferData/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransferData"; diff --git a/src/components/TransferDone/TransferDone.tsx b/src/components/TransferDone/TransferDone.tsx deleted file mode 100644 index 3ec1e13..0000000 --- a/src/components/TransferDone/TransferDone.tsx +++ /dev/null @@ -1,179 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file TransferDone.tsx - * @copyright SKALE Labs 2023-Present -*/ - -import React, { useEffect } from 'react'; -import Button from '@mui/material/Button'; -import Grid from '@mui/material/Grid'; - -import RestartAltIcon from '@mui/icons-material/RestartAlt'; -import LanguageIcon from '@mui/icons-material/Language'; -import TollIcon from '@mui/icons-material/Toll'; -import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; - -import BridgePaper from '../BridgePaper'; -import { iconPath, getChainWebsiteUrl } from '../ActionCard/helper'; - -import { - CHAINS_META, - MAINNET_CHAIN_NAME, - SUCCESS_EMOJIS, - METAPORT_CONFIG, - ICONS_BASE_URL -} from '../../core/constants'; - -import { setMetamaskNetwork } from '../../core/network'; -import { getRandom } from '../../core/helper'; - - -export default function TransferDone(props: any) { - - const [emoji, setEmoji] = React.useState(); - const [loading, setLoading] = React.useState(false); - - useEffect(() => { - setEmoji(getRandom(SUCCESS_EMOJIS)); - }, []); - - async function isIconAvailable(url: string): Promise { - try { - const response = await fetch(url, { method: 'HEAD' }); - return response.ok; - } catch (error) { - console.error('Error retrieving users:', error); - return false; - } - } - - function getIconUrl() { - return `${ICONS_BASE_URL}${props.token}.png`; - } - - async function addToken() { - setLoading(true); - const tokenAddress = props.chainsData[props.toChain].chains[props.fromChain].tokens[props.token].address; - const iconUrl = getIconUrl(); - try { - await setMetamaskNetwork( - METAPORT_CONFIG.skaleNetwork, - props.toChain, - METAPORT_CONFIG.mainnetEndpoint - ); - const wasAdded = await window.ethereum.request({ - method: 'wallet_watchAsset', - params: { - type: 'ERC20', - options: { - address: tokenAddress, - symbol: props.token.toUpperCase(), - decimals: props.tokenDecimals, - image: await isIconAvailable(iconUrl) ? iconUrl : undefined - } - } - }); - if (wasAdded) { - console.log('Token added'); - } else { - console.log('Something went wrong'); - } - } catch (error) { - console.log(error); - } finally { - setLoading(false); - } - } - - const chainWebsiteUrl = getChainWebsiteUrl(CHAINS_META, props.to, props.toApp); - - return ( -
- - - -
-

{emoji} You've successfully transferred

- -

- {props.amount} {props.token ? props.token.toUpperCase() : ''} -

-
-

- Proceed to the dApp or go back to the transfer page. -

-
-
- - {props.balancesBlock} - -
- - {(props.fallbackUrl && props.fallbackText) ? : null} - - {chainWebsiteUrl && (!props.fallbackUrl || !props.fallbackText) ? : null} - {(props.to === MAINNET_CHAIN_NAME && props.token === 'eth') ? null : } - -
- ); -} \ No newline at end of file diff --git a/src/components/TransferDone/index.ts b/src/components/TransferDone/index.ts deleted file mode 100644 index dbdb8fe..0000000 --- a/src/components/TransferDone/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransferDone"; diff --git a/src/components/TransferFrom/TransferFrom.tsx b/src/components/TransferFrom/TransferFrom.tsx deleted file mode 100644 index ececc43..0000000 --- a/src/components/TransferFrom/TransferFrom.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { useState } from 'react'; - -import ChainCards from '../ChainCards'; -import Search from '../Search'; - - -export default function TransferFrom(props: any) { - - const [searchValue, setSearchValue] = useState(''); - - return (
-
-
-

Transfer from...

-
-
-

- Choose source app below -

-
- -
-
- -
-
) -} \ No newline at end of file diff --git a/src/components/TransferFrom/index.ts b/src/components/TransferFrom/index.ts deleted file mode 100644 index deb2fe0..0000000 --- a/src/components/TransferFrom/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransferFrom"; diff --git a/src/components/TransferStepper/TransferStepper.scss b/src/components/TransferStepper/TransferStepper.scss deleted file mode 100644 index 7ac6925..0000000 --- a/src/components/TransferStepper/TransferStepper.scss +++ /dev/null @@ -1,30 +0,0 @@ -.mp__labelStep { - text-transform: none !important; - font-size: 0.7525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.02857em !important; -} - -.mp__stepper { - span { - font-weight: 600 !important; - text-transform: none !important; - font-size: 0.7525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.02857em !important; - } - .MuiStepConnector-line { - min-height: 0 !important; - } - .MuiBox-root { - margin-bottom: 5px !important; - } - .MuiStepContent-root { - padding-right: 0; - margin-left: 8px; - padding-left: 18px - } - - margin-left: -8px; - margin-right: -8px; -} \ No newline at end of file diff --git a/src/components/TransferStepper/TransferStepper.tsx b/src/components/TransferStepper/TransferStepper.tsx deleted file mode 100644 index 41396c7..0000000 --- a/src/components/TransferStepper/TransferStepper.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import Stepper from '@mui/material/Stepper'; -import Step from '@mui/material/Step'; -import StepLabel from '@mui/material/StepLabel'; - -import { getChainName } from '../ActionCard/helper'; - -import { CHAINS_META } from '../../core/constants'; - -import './TransferStepper.scss'; - -export default function TransferStepper(props: any) { - const dest = getChainName(CHAINS_META, props.to as string, props.toApp); - const steps = ['Transfer tokens', 'Switch to ' + dest]; - return ( - - - {steps.map((label, index) => { - const stepProps: { completed?: boolean } = {}; - const labelProps: { - optional?: React.ReactNode; - } = {}; - return ( - - {label} - - ); - })} - - - ); -} \ No newline at end of file diff --git a/src/components/TransferStepper/index.ts b/src/components/TransferStepper/index.ts deleted file mode 100644 index 0a27691..0000000 --- a/src/components/TransferStepper/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransferStepper"; diff --git a/src/components/TransferTo/TransferTo.tsx b/src/components/TransferTo/TransferTo.tsx deleted file mode 100644 index 6b84935..0000000 --- a/src/components/TransferTo/TransferTo.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { useState } from 'react'; -import { useParams, useLocation } from "react-router-dom"; - -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; - -import ChainCards from '../ChainCards'; -import Search from '../Search'; - -import { getQueryVariable } from '../../core/helper'; - -import { getChainIcon, getChainName, getChainNameFix } from '../ActionCard/helper'; -import { CHAINS_META, CHAINS } from '../../core/constants'; - - -export default function TransferTo(props: any) { - let { from } = useParams(); - const location = useLocation(); - const fromApp = getQueryVariable(location.search, 'from-app'); - - const fromChain = from as string; - - let chain = fromChain; - let app = fromApp as string; - - let namesFix = getChainNameFix(chain, app); - chain = namesFix[0]; - app = namesFix[1]; - - const fromChainName = getChainName(CHAINS_META, chain, app); - - const chains = CHAINS as any; - - const [searchValue, setSearchValue] = useState(''); - - return ( - -
-
-

Transfer from

-
-
- {getChainIcon(chain, true, app)} -
-
-

{fromChainName} to...

-
-
-

- Choose destination app below -

-
- -
-
- -
- -
-
) -} \ No newline at end of file diff --git a/src/components/TransferTo/index.ts b/src/components/TransferTo/index.ts deleted file mode 100644 index 2e15934..0000000 --- a/src/components/TransferTo/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./TransferTo"; diff --git a/src/components/TransferV2/Transfer.scss b/src/components/TransferV2/Transfer.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/TransferV2/Transfer.tsx b/src/components/TransferV2/Transfer.tsx deleted file mode 100644 index b734944..0000000 --- a/src/components/TransferV2/Transfer.tsx +++ /dev/null @@ -1,384 +0,0 @@ -import React, { useEffect } from 'react'; -import { useParams, useLocation } from "react-router-dom"; - -import debug from 'debug'; -import Web3 from 'web3'; -import { Contract } from 'web3-eth-contract'; - -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import CancelIcon from '@mui/icons-material/Cancel'; -import Button from '@mui/material/Button'; -import Chip from '@mui/material/Chip'; -import Collapse from '@mui/material/Collapse'; -import Alert from '@mui/material/Alert'; -import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded'; -import AccountBalanceWalletRoundedIcon from '@mui/icons-material/AccountBalanceWalletRounded'; -import './Transfer.scss'; - -import { interfaces, dataclasses } from '@skalenetwork/metaport'; - -import { getChainIcon, getChainName } from '../ActionCard/helper'; -import TransferStepper from '../TransferStepper'; -import TransferDone from '../TransferDone'; -import Tokens from '../Tokens'; -import AmountInput from '../AmountInput'; -import CommunityPool from '../CommunityPool'; -import SFuel from '../SFuel'; - -import { getBalance, initChainWeb3, initERC20Token } from '../../core/tokens'; -import { - CHAINS_META, DEFAULT_ERC20_DECIMALS, MAINNET_CHAIN_NAME, CHAINS -} from '../../core/constants'; -import { fromWei } from '../../core/convertation'; -import { getQueryVariable } from '../../core/helper'; - - -debug.enable('*'); -const log = debug('bridge:components:Transfer'); - - -export default function Transfer(props: any) { - let { from, to } = useParams(); - const location = useLocation(); - - const fromChain = from as string; - const toChain = to as string; - - const chainsData = CHAINS as any; - - const tokens = chainsData[fromChain].chains[toChain].tokens; // TODO: handle - - const [loading, setLoading] = React.useState(false); - const [amount, setAmount] = React.useState(''); - const [balance, setBalance] = React.useState(); - const [token, setToken] = React.useState(); - const [updateBalanceFlag, setUpdateBalanceFlag] = React.useState(false); - - const [sFuelOk, setSFuelOk] = React.useState(false); - - const [msg, setMsg] = React.useState(); - const [msgType, setMsgType] = React.useState<'error' | 'info' | 'success'>('info'); - - const [web3, setWeb3] = React.useState(); - const [tokenContract, setTokenContract] = React.useState(); - - const fromApp = getQueryVariable(location.search, 'from-app'); - const toApp = getQueryVariable(location.search, 'to-app'); - const externalAmount = getQueryVariable(location.search, 'amount'); - const externalToken = getQueryVariable(location.search, 'token'); - - const [activeStep, setActiveStep] = React.useState(0); - - const [recommendedRechargeAmount, setRecommendedRechargeAmount] = React.useState(); - - const fromChainName = getChainName(CHAINS_META, from as string, fromApp); - const toChainName = getChainName(CHAINS_META, to as string, toApp); - - useEffect(() => { - if (externalToken) setToken(externalToken); - if (externalAmount) setAmount(externalAmount); - setToken(Object.keys(tokens)[0]); - window.addEventListener( - "metaport_transferRequestCompleted", - transferCompleted, - false - ); - setWeb3(initChainWeb3(fromChain)); - let balanceUpdateTimer = setInterval(() => setUpdateBalanceFlag(!updateBalanceFlag), 10 * 1000); - return () => { - clearInterval(balanceUpdateTimer); - }; - }, []); - - useEffect(() => { - setAmount(''); - setBalance(undefined); - if (token && web3) { - const tokenInfo = tokens[token as string]; - log(tokenInfo); - log(`Setting token contract: ${tokenInfo.address}`); - setTokenContract(initERC20Token(web3, tokenInfo.address)); - } - }, [token]); - - useEffect(() => { - updateBalance(); - }, [tokenContract, props.address, web3, updateBalanceFlag]); - - async function updateBalance() { // todo: fix! - if (props.address) { - log('Updating balance...'); - const tokenInfo = tokens[token as string]; - const decimals = tokenInfo && tokenInfo.decimals ? tokenInfo.decimals : DEFAULT_ERC20_DECIMALS; - const balanceWei = await getBalance( - web3, tokenContract, props.address, fromChain, tokens[token as string].wrapsSFuel); - const balanceEther = fromWei(balanceWei as string, decimals); - if (balanceEther) { - setBalance(balanceEther); - } else { - log('Balance request failed!'); - } - } - } - - async function transferCompleted(e: any) { - setUpdateBalanceFlag(!updateBalanceFlag); - setLoading(false); - props.metaport.reset(); - props.metaport.close(); - setActiveStep(1); - } - - function requestTransfer() { - setLoading(true); - const tokenInfo = tokens[token as string]; - const tokenKeyname = tokens[token as string].keyname; - const tokenType = tokenKeyname === 'eth' ? dataclasses.TokenType.eth : dataclasses.TokenType.erc20; - const params: interfaces.TransferParams = { - amount: amount, - chains: [fromChain, toChain], - tokenKeyname: tokenKeyname, - tokenType: tokenType, - lockValue: true, - route: tokenInfo.route, - fromApp: fromApp, - toApp: toApp - }; - props.metaport.transfer(params); - } - - function closeMetaport() { - props.metaport.close(); - setLoading(false); - } - - function getTransferButtonText() { - if (loading) return 'Complete transfer in Metaport popup'; - if (!balance) return 'Loading balances...'; - if (Number(amount) > Number(balance)) return `Insufficient ${token} balance`; - if (amount === '' || amount === '0' || Number(amount) === 0) return 'Enter an amount'; - return 'Transfer to ' + toChainName; - } - - const isTransferToMainnet = toChain === MAINNET_CHAIN_NAME && activeStep === 0; - const disabled = loading || (recommendedRechargeAmount !== '0' && isTransferToMainnet) || !sFuelOk; - - return ( - -
-
-

Transfer

-
-
- {msg ? { setMsg(undefined); }} severity={msgType} className='mp__margTop20'>{msg} : null} - {isTransferToMainnet && token ? ( - ) : null} - { - token ? () : null - } -
- {/*

Transfer from

*/} -
-
- {getChainIcon(from as string, true, fromApp)} -
-
-

{getChainName(CHAINS_META, from as string, fromApp)}

-
-
- -
-

Balance: {balance} {token ? token.toUpperCase() : ''}

-
- -
- -
- -
- {token ? tokens[token].recommendedValues.map((value: any, index: number) => ( -
- { setAmount(value) }} - variant="filled" - clickable - className='mp__margRi5 mp__chipAmount' - size='small' - disabled={disabled || !balance || Number(value) > Number(balance)} - /> -
- )) : null} -
- { setAmount(balance as string) }} - variant="filled" - clickable - className='mp__margRi5 mp__chipAmount' - size='small' - disabled={disabled || !balance || Number(balance) > Number(balance) || balance === '0'} - /> -
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
- {getChainIcon(to as string, true, toApp)} -
-
-

{getChainName(CHAINS_META, to as string, toApp)}

-
-
- -
-

Balance: {balance} {token ? token.toUpperCase() : ''}

-
- - {toApp ? ( -
- {/*
- {getChainIcon(to as string, true)} -
*/} -

{getChainName(CHAINS_META, to as string, toApp)} dApp is located on {getChainName(CHAINS_META, to as string)}

-
) : null} - -
- - - - - -
-
- - {/* - - -
- -
- -
-

Token

-

Token

- -
- - - - -

56 SKL

-

On {fromChainName}

- - -
-

Amount

- {balance ?

- Balance: {balance} {token ? token.toUpperCase() : ''} -

: } -
-

Amount

- -
-
-
- {token ? tokens[token].recommendedValues.map((value: any, index: number) => ( -
- { setAmount(value) }} - variant="filled" - clickable - className='mp__margRi5 mp__chipAmount' - size='small' - disabled={disabled || !balance || Number(value) > Number(balance)} - /> -
- )) : null} -
-
-
- - - -
-
-
*/} - -
-
) -} \ No newline at end of file diff --git a/src/components/TransferV2/index.ts b/src/components/TransferV2/index.ts deleted file mode 100644 index 0320ff8..0000000 --- a/src/components/TransferV2/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./Transfer"; diff --git a/src/core/connector.ts b/src/core/connector.ts deleted file mode 100644 index c7f7a11..0000000 --- a/src/core/connector.ts +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file connector.ts - * @copyright SKALE Labs 2023-Present -*/ - -import Web3 from 'web3'; - - -export const CHAIN_IDS: any = { - 'staging': '0x4', - 'staging3': '0x5', - 'legacy': '0x5', - 'regression': '0x5', - 'qatestnet': '0x4', - 'mainnet': '0x1' -} - - -export async function changeMetamaskNetwork(networkParams: { chainId: any; }) { - try { - await window.ethereum.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: networkParams.chainId }], - }); - } catch (switchError: any) { - // This error code indicates that the chain has not been added to MetaMask. - if (switchError.code === 4902) { - try { - await window.ethereum.request({ - method: 'wallet_addEthereumChain', - params: [networkParams], - }); - return [0, new Web3(window.ethereum)]; - } catch (addError) { - return [1, addError]; - } - } - return [1, switchError]; - } - return [0, new Web3(window.ethereum)]; -} - - -export const connect = (connectFallback: () => void, errorFallback: (err: any) => void) => { - window.ethereum - .request({ method: 'eth_requestAccounts' }) - .then(connectFallback) - .catch(errorFallback); -} - - -export const getAccounts = (fallback: (accounts: Array) => void, errorFallback: (err: any) => void) => { - window.ethereum - .request({ method: 'eth_accounts' }) - .then(fallback) - .catch(errorFallback); -} - - -export const addChainChangedListener = (chainChangedFallback: any) => { - window.ethereum.on('chainChanged', chainChangedFallback); -} - - -export const unlockStateChangedListener = (unlockStateChangedFallback: any) => { - if (!window.ethereum) { - console.log('WARNING: window.ethereum is not defined - skipping unlockStateChangedListener'); - return; - } - window.ethereum.on('metamask_unlockStateChanged', unlockStateChangedFallback); -} - - -export function schainNetworkParams( - schainName: string, - schainChainUrl: string, - schainChainId: string -): any { - return { - chainId: schainChainId, - chainName: "SKALE Chain | " + schainName, - rpcUrls: [schainChainUrl], - nativeCurrency: { - name: "sFUEL", - symbol: "sFUEL", - decimals: 18 - } - }; -} - - -export function mainnetNetworkParams(network: string, mainnetEndpoint: string) { - return { - chainId: CHAIN_IDS[network], - rpcUrls: [mainnetEndpoint], - }; -} \ No newline at end of file diff --git a/src/core/constants.ts b/src/core/constants.ts index ae3cfd1..d95c277 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -21,51 +21,9 @@ * @copyright SKALE Labs 2022-Present */ -import { importAll } from './helper'; -export const CHAINS_META = require('../meta/chains.json'); -export const SEARCH_SUGGESTIONS = require('../searchSuggestions.json'); -export const FAQ = require('../faq.json'); -export const EXTERNAL_TOKEN_ICONS = require('../externalTokenIcons.json'); +export const MAINNET_CHAIN_NAME = 'mainnet' -export const BASE_EXPLORER_URLS = require('../metadata/explorer.json'); +import FAQ from '../faq.json' -export const FAUCET_DATA = require('../metadata/faucet.json'); -export const CHAINS = require('../metadata/chainsData.json'); -export const METAPORT_CONFIG = require('../metadata/metaportConfig.json'); -METAPORT_CONFIG.mainnetEndpoint = process.env.REACT_APP_MAINNET_ENDPOINT; - -export const ICONS = importAll(require.context('../meta/logos', false, /\.(png|jpe?g|svg|gif)$/)); -export const CHAIN_ICONS = importAll(require.context('../meta/icons', false, /\.(png|jpe?g|svg)$/)); -export const TOKEN_ICONS = importAll(require.context('../icons', false, /\.(png|jpe?g|svg)$/)); - -export const CHAIN_ID = process.env["REACT_APP_CHAIN_ID"]; -export const NETWORK_NAME = process.env["REACT_APP_NETWORK_NAME"]; - -export const MAINNET_CHAIN_NAME = 'mainnet'; - -export const DEFAULT_ERC20_DECIMALS = '18'; - -export const SUCCESS_EMOJIS = ['🎉', '👌', '✅', '🙌', '🎊']; - -export const HTTPS_PREFIX = 'https://'; - -export const MAINNET_EXPLORER_URLS: { [networkName: string]: string } = { - mainnet: 'https://etherscan.io', - staging3: 'https://goerli.etherscan.io/', - legacy: 'https://goerli.etherscan.io/', - regression: 'https://goerli.etherscan.io/' -}; - -export const MAINNET_EXPLORER_URL = MAINNET_EXPLORER_URLS[METAPORT_CONFIG.skaleNetwork]; -export const CHAIN_EXPLORER_BASE_URL = BASE_EXPLORER_URLS[METAPORT_CONFIG.skaleNetwork]; - -export const ICONS_BASE_URL = 'https://raw.githubusercontent.com/spothq/cryptocurrency-icons/master/128/color/'; -export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; -export const ZERO_FUNCSIG = '0x00000000'; - -export const COMMUNITY_POOL_WITHDRAW_GAS_LIMIT = '1500000'; - -export const BALANCE_UPDATE_INTERVAL_SECONDS = 10; - -export const SFUEL_RESERVE_AMOUNT = 0.02; \ No newline at end of file +export { FAQ } \ No newline at end of file diff --git a/src/core/convertation.ts b/src/core/convertation.ts deleted file mode 100644 index 168c314..0000000 --- a/src/core/convertation.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file convertation.ts - * @copyright SKALE Labs 2023-Present - */ - -import { Unit, toWei as _toWei, fromWei as _fromWei, unitMap, toBN } from 'web3-utils'; - - -export function toWei(value: string, decimals: string): string { - return _toWei(value, decimalsToUnit(decimals)); -} - -export function fromWei(value: string, decimals: string): string | undefined { - if (!value) return; - return _fromWei(value.toString(), decimalsToUnit(decimals)); -} - -function decimalsToUnit(decimals: string): Unit { - return Object.keys(unitMap).find( - key => (unitMap as any)[key] === toBN(10).pow(toBN(decimals)).toString()) as Unit; -} \ No newline at end of file diff --git a/src/core/dataclasses/TokenData.ts b/src/core/dataclasses/TokenData.ts deleted file mode 100644 index b9d5248..0000000 --- a/src/core/dataclasses/TokenData.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file TokenData.ts - * @copyright SKALE Labs 2023-Present - */ - -import { DEFAULT_ERC20_DECIMALS } from '../constants'; -import { TokenType } from './TokenType'; - - -export default class TokenData { - originAddress: string - cloneAddress: string - - name: string - symbol: string - keyname: string - - clone: boolean - type: TokenType - - balance: string | null - - iconUrl: string - decimals: string - - constructor( - cloneAddress: string, - originAddress: string, - name: string, - symbol: string, - clone: boolean, - iconUrl: string, - type: TokenType, - decimals: string - ) { - this.cloneAddress = cloneAddress; - this.originAddress = originAddress; - this.name = name; - this.symbol = symbol; - this.clone = clone; - this.iconUrl = iconUrl; - this.decimals = decimals ? decimals : DEFAULT_ERC20_DECIMALS; - this.type = type; - this.balance = null; - this.keyname = getTokenKeyname(symbol, originAddress); - } -} - - -export function getTokenKeyname(symbol: string, originAddress: string): string { - return `_${symbol}_${originAddress}`; -} diff --git a/src/core/dataclasses/TokenType.ts b/src/core/dataclasses/TokenType.ts deleted file mode 100644 index 4a4dcf3..0000000 --- a/src/core/dataclasses/TokenType.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file TokenType.ts - * @copyright SKALE Labs 2023-Present - */ - - -export enum TokenType { - eth = 'eth', - erc20 = 'erc20', - erc721 = 'erc721', - erc721meta = 'erc721meta', - erc1155 = 'erc1155' -} \ No newline at end of file diff --git a/src/core/faucet.ts b/src/core/faucet.ts deleted file mode 100644 index 30d0dcc..0000000 --- a/src/core/faucet.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file convertation.ts - * @copyright SKALE Labs 2023-Present - */ - -import { ZERO_ADDRESS, ZERO_FUNCSIG, FAUCET_DATA } from './constants'; -import Web3 from 'web3'; - - -function getAddress(chainName: string) { - if (!isFaucetAvailable(chainName)) return ZERO_ADDRESS; - const faucet: { [x: string]: { [x: string]: string } } = FAUCET_DATA; - return faucet[chainName].address; -} - -function getFunc(chainName: string) { - if (!isFaucetAvailable(chainName)) return ZERO_FUNCSIG; - const faucet: { [x: string]: { [x: string]: string } } = FAUCET_DATA; - return faucet[chainName].func; -} - -export function isFaucetAvailable(chainName: string) { - if (!FAUCET_DATA) return false; - let keys = Object.keys(FAUCET_DATA); - return keys.includes(chainName); -} - -export function getFuncData(web3: Web3, chainName: string, address: string) { - const faucetAddress = getAddress(chainName); - const functionSig = getFunc(chainName); - const functionParam = web3.eth.abi.encodeParameter('address', address); - return { to: faucetAddress, data: functionSig + functionParam.slice(2) }; -} \ No newline at end of file diff --git a/src/core/helper.ts b/src/core/helper.ts deleted file mode 100644 index 12c95d4..0000000 --- a/src/core/helper.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file helper.js - * @copyright SKALE Labs 2021-Present -*/ - - -import { MAINNET_CHAIN_NAME, CHAIN_ICONS } from './constants'; - - -export function clsNames(...args: any): string { - const filteredArgs = args.map((clsName: any) => { - if (typeof clsName === 'string') return clsName; - if (Array.isArray(clsName) && clsName.length === 2 && clsName[1]) return clsName[0]; - }); - return filteredArgs.join(' '); -} - - -export function rmPad0x(s: string) { - let fx = remove0x(s); - fx = fx.replace(/^0+/, ''); - return add0x(fx); -} - -export function add0x(s: string) { - if (!s.startsWith('0x')) { - return '0x' + s - } - return s; -} - -export function remove0x(s: string) { - if (!s.startsWith('0x')) return s; - return s.slice(2); -} - -function hashCode(str: string) { - let hash = 0; - for (var i = 0; i < str.length; i++) { - hash = str.charCodeAt(i) + ((hash << 5) - hash); - } - return hash; -} - -export function stringToColor(str: string) { - return `hsl(${hashCode(str) % 360}, 100%, 80%)`; -} - -export function timestampToDate(ts: number) { - return new Intl.DateTimeFormat('en-US', { year: '2-digit', month: '2-digit', day: '2-digit' }).format(ts * 1000) -} - - -export function importAll(r: any) { - let items: any = {}; - r.keys().map((item: String, index: number) => { return items[item.replace('./', '')] = r(item); }); - return items; -} - - -export function chainIconPath(name: string, app?: string) { - if (!name) return; - let filename = name.toLowerCase(); - if (app) - filename += `-${app}`; - filename += '.svg'; - if (CHAIN_ICONS[filename]) { - return CHAIN_ICONS[filename]; - } -} - - -export function capitalize(s: string) { - return s && s[0].toUpperCase() + s.slice(1); -} - - -export function getQueryVariable(urlParams: string, variable: string): string | undefined { - const query = urlParams.substring(1); - const vars = query.split("&"); - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split("="); - if (pair[0] == variable) { return pair[1]; } - } -} - -export function getRandom(list: Array) { - return list[Math.floor((Math.random() * list.length))]; -} \ No newline at end of file diff --git a/src/core/metaportConfig.ts b/src/core/metaportConfig.ts deleted file mode 100644 index 138bad1..0000000 --- a/src/core/metaportConfig.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file metaportConfig.ts - * @copyright SKALE Labs 2023-Present - */ - -import { dataclasses, interfaces } from '@skalenetwork/metaport'; -import { METAPORT_CONFIG, DEFAULT_ERC20_DECIMALS } from './constants'; - - -/** -Retrieves token data from the Metaport configuration object based on the provided parameters. -@param chainName - the name of the chain for the token -@param tokenType - the type of token being queried -@param tokenKeyname - the keyname of the token being queried -@returns the token object if found in the Metaport configuration, undefined otherwise -*/ -function getTokenDataFromMetaportTokens( - chainName: string, - tokenType: dataclasses.TokenType, - tokenKeyname: string -): interfaces.Token | undefined { - const tokens = METAPORT_CONFIG.tokens; - if (tokens[chainName] && - tokens[chainName][tokenType] && - tokens[chainName][tokenType][tokenKeyname]) { - return tokens[chainName][tokenType][tokenKeyname]; - } -} - - -/** -Retrieves token data from the Metaport configuration object based on the provided parameters. -@param fromChainName - the name of the source chain for the token -@param toChainName - the name of the destination chain for the token (optional) -@param tokenType - the type of token being queried (erc20, erc721, etc.) -@param tokenKeyname - the keyname of the token being queried -@returns the token object if found in the Metaport configuration, undefined otherwise -*/ -function getTokenDataFromMetaportConfig( - fromChainName: string, - toChainName: string | undefined, - tokenType: dataclasses.TokenType, - tokenKeyname: string -): interfaces.Token | undefined { - let configToken; - configToken = getTokenDataFromMetaportTokens(fromChainName, tokenType, tokenKeyname); - if (configToken) return configToken; - if (toChainName) { - configToken = getTokenDataFromMetaportTokens(toChainName, tokenType, tokenKeyname); - if (configToken) return configToken; - } else { - Object.keys(METAPORT_CONFIG.tokens).find((chainName: string) => { - configToken = getTokenDataFromMetaportTokens(chainName, tokenType, tokenKeyname); - if (configToken) return configToken; - }); - } - return configToken; -} - - -/** -Retrieves the decimal value for a token from the Metaport configuration object based on the provided parameters. -If the token is not found in the configuration, it returns the default decimal value. -@param fromChainName - the name of the source chain for the token -@param toChainName - the name of the destination chain for the token (optional) -@param tokenType - the type of token being queried -@param tokenKeyname - the keyname of the token being queried -@returns the decimal value for the token or the default decimal value if the token is not found -*/ -export function getTokenDecimals( - fromChainName: string, - toChainName: string | undefined, - tokenType: dataclasses.TokenType, - tokenKeyname: string -): string { - const tokenData = getTokenDataFromMetaportConfig( - fromChainName, - toChainName, - tokenType, - tokenKeyname - ); - return tokenData && tokenData.decimals ? tokenData.decimals : DEFAULT_ERC20_DECIMALS; -} diff --git a/src/core/network.ts b/src/core/network.ts deleted file mode 100644 index 3898379..0000000 --- a/src/core/network.ts +++ /dev/null @@ -1,248 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file network.ts - * @copyright SKALE Labs 2023-Present -*/ - -import Web3 from 'web3'; -import { soliditySha3, AbiItem } from 'web3-utils'; - -import { SChain, MainnetChain } from '@skalenetwork/ima-js'; - -import sChainAbi from '../metadata/schainAbi.json'; -import mainnetAbi from '../metadata/mainnetAbi.json'; -import proxyEndpoints from '../metadata/proxy.json'; -import { - schainNetworkParams, - mainnetNetworkParams, - changeMetamaskNetwork, - CHAIN_IDS -} from './connector'; - - -import erc20Abi from '../metadata/erc20_abi.json'; -import erc721Abi from '../metadata/erc721_abi.json'; -import erc721MetaAbi from '../metadata/erc721meta_abi.json'; -import erc1155Abi from '../metadata/erc1155_abi.json'; -import erc20WrapperAbi from '../metadata/erc20_wrapper_abi.json'; - -import mainnetAddresses from '../metadata/addresses/mainnet.json'; -import stagingAddresses from '../metadata/addresses/staging.json'; -import staging3Addresses from '../metadata/addresses/staging3.json'; -import legacyAddresses from '../metadata/addresses/legacy.json'; -import regressionAddresses from '../metadata/addresses/regression.json'; - -import { - MAINNET_CHAIN_NAME, - HTTPS_PREFIX, - MAINNET_EXPLORER_URL, - CHAIN_EXPLORER_BASE_URL -} from './constants'; - - -const ERC_ABIS: any = { - 'erc20': erc20Abi, - 'erc20wrap': erc20WrapperAbi, - 'erc721': erc721Abi, - 'erc721meta': erc721MetaAbi, - 'erc1155': erc1155Abi -} - - -export function initContract(tokenType: string, tokenAddress: string, web3: Web3) { - return new web3.eth.Contract(ERC_ABIS[tokenType].abi as AbiItem[], tokenAddress); -} - - -export function initERC20(tokenAddress: string, web3: Web3) { - return new web3.eth.Contract(erc20Abi.abi as AbiItem[], tokenAddress); -} - - -// export function initERC20Wrapper(tokenAddress: string, web3: Web3) { -// return new web3.eth.Contract(erc20WrapperAbi.abi as AbiItem[], tokenAddress); -// } - - -export function initSChain(network: string, schainName: string) { - const endpoint = getSChainEndpoint(network, schainName); - const sChainWeb3 = new Web3(endpoint); - return new SChain(sChainWeb3, sChainAbi); -} - - -export async function switchMetamaskNetwork( // TODO: use new function - network: string, - chainName: string, - mainnetEndpoint: string -) { - if (chainName === MAINNET_CHAIN_NAME) { - return await initMainnetMetamask(network, mainnetEndpoint); - } else { - return await initSChainMetamask(network, chainName); - } -} - - -export function getChainId(network: string, chainName: string): string | undefined { // TODO: use new function - if (chainName === MAINNET_CHAIN_NAME) return CHAIN_IDS[network]; - return calcChainId(chainName); -} - - -export async function initSChainMetamask(network: string, schainName: string) { - const endpoint = getSChainEndpoint(network, schainName); - const chainId = calcChainId(schainName); - const networkParams = schainNetworkParams(schainName, endpoint, chainId); - await changeMetamaskNetwork(networkParams); - const sChainWeb3 = new Web3(window.ethereum); - return new SChain(sChainWeb3, sChainAbi); -} - - -export function updateWeb3SChain(schain: SChain, network: string, schainName: string) { - const endpoint = getSChainEndpoint(network, schainName); - const sChainWeb3 = new Web3(endpoint); - schain.updateWeb3(sChainWeb3); -} - - -export async function updateWeb3SChainMetamask( - schain: SChain, - network: string, - schainName: string -): Promise { - const endpoint = getSChainEndpoint(network, schainName); - const chainId = calcChainId(schainName); - const networkParams = schainNetworkParams(schainName, endpoint, chainId); - await changeMetamaskNetwork(networkParams); - const sChainWeb3 = new Web3(window.ethereum); - schain.updateWeb3(sChainWeb3); -} - - -export function updateWeb3Mainnet(mainnet: MainnetChain, mainnetEndpoint: string) { - const web3 = new Web3(mainnetEndpoint); - mainnet.updateWeb3(web3); -} - - -export async function updateWeb3MainnetMetamask( - mainnet: MainnetChain, - network: string, - mainnetEndpoint: string -): Promise { - const networkParams = mainnetNetworkParams(network, mainnetEndpoint); - await changeMetamaskNetwork(networkParams); - const web3 = new Web3(window.ethereum); - mainnet.updateWeb3(web3); -} - - -function getMainnetAbi(network: string) { - if (network === 'staging') { - return { ...mainnetAbi, ...stagingAddresses } - } - if (network === 'staging3') { - return { ...mainnetAbi, ...staging3Addresses } - } - if (network === 'legacy') { - return { ...mainnetAbi, ...legacyAddresses } - } - if (network === 'regression') { - return { ...mainnetAbi, ...regressionAddresses } - } - return { ...mainnetAbi, ...mainnetAddresses } -} - - -export async function setMetamaskNetwork( - network: string, - chainName: string, - mainnetEndpoint: string -) { - let networkParams; - if (chainName === MAINNET_CHAIN_NAME) { - networkParams = mainnetNetworkParams(network, mainnetEndpoint); - } else { - const endpoint = getSChainEndpoint(network, chainName); - const chainId = calcChainId(chainName); - networkParams = schainNetworkParams(chainName, endpoint, chainId); - } - await changeMetamaskNetwork(networkParams); -} - - -export function initMainnet(network: string, mainnetEndpoint: string): MainnetChain { - const web3 = new Web3(mainnetEndpoint); - return new MainnetChain(web3, getMainnetAbi(network)); -} - - -export async function initMainnetMetamask( - network: string, - mainnetEndpoint: string -): Promise { - const networkParams = mainnetNetworkParams(network, mainnetEndpoint); - await changeMetamaskNetwork(networkParams); - const web3 = new Web3(window.ethereum); - return new MainnetChain(web3, getMainnetAbi(network)); -} - - -function getSChainEndpoint(network: string, sChainName: string): string { - return getProxyEndpoint(network) + '/v1/' + sChainName; -} - - -export function getProxyEndpoint(network: string) { - // todo: add network validation - return (proxyEndpoints as any)[network]; -} - - -export function getExplorerUrl(chainName: string): string { - if (chainName === MAINNET_CHAIN_NAME) return MAINNET_EXPLORER_URL; - return HTTPS_PREFIX + chainName + '.' + CHAIN_EXPLORER_BASE_URL; -} - - -export function getTxUrl(chainName: string, txHash: string): string { - const explorerUrl = getExplorerUrl(chainName); - return `${explorerUrl}/tx/${txHash}`; -} - - -function calcChainId(sChainName: string) { - let h = soliditySha3(sChainName); - h = remove0x(h).toLowerCase(); - if (!h) return '0x0'; - while (h.length < 64) - h = "0" + h; - h = h.substr(0, 13); - h = h.replace(/^0+/, ''); - return "0x" + h; -} - - -export function remove0x(s: any) { - if (!s.startsWith('0x')) return s; - return s.slice(2); -} diff --git a/src/core/themes.ts b/src/core/themes.ts new file mode 100644 index 0000000..805bda5 --- /dev/null +++ b/src/core/themes.ts @@ -0,0 +1,21 @@ +import { PaletteMode } from '@mui/material' +import { createTheme, ThemeProvider } from '@mui/material/styles'; +import { interfaces, getMetaportTheme } from '@skalenetwork/metaport'; + + +export function createMuiTheme(mpTheme: interfaces.MetaportTheme) { + return createTheme({ + palette: { + mode: mpTheme.mode as PaletteMode, + background: { + paper: mpTheme.background + }, + primary: { + main: mpTheme.primary ?? '', + }, + secondary: { + main: mpTheme.background ?? '', + } + } + }) +} \ No newline at end of file diff --git a/src/core/tokens.ts b/src/core/tokens.ts deleted file mode 100644 index 2658f20..0000000 --- a/src/core/tokens.ts +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @license - * SKALE Bridge UI - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -/** - * @file tokens.ts - * @copyright SKALE Labs 2023-Present - */ - -import Web3 from 'web3'; -import { AbiItem } from 'web3-utils'; -import { Contract } from 'web3-eth-contract'; - -import debug from 'debug'; - -import erc20Abi from '../metadata/erc20_abi.json'; -import proxyEndpoints from '../metadata/proxy.json'; -import { MAINNET_CHAIN_NAME, METAPORT_CONFIG } from './constants'; - - -debug.enable('*'); -const log = debug('bridge:core:tokens'); - - -export function getChainEndpoint(chainName: string): string { - if (chainName === MAINNET_CHAIN_NAME) { - return METAPORT_CONFIG.mainnetEndpoint; - } - return getProxyEndpoint(METAPORT_CONFIG.skaleNetwork) + '/v1/' + chainName; -} - - -function getProxyEndpoint(network: string) { - return (proxyEndpoints as any)[network]; -} - - -function initWeb3(endpoint: string) { - const provider = new Web3.providers.HttpProvider(endpoint); - return new Web3(provider); -} - - -export function initChainWeb3(chainName: string): Web3 { - log(`Initializing web3 instance for ${chainName}`); - const endpoint = getChainEndpoint(chainName); - return initWeb3(endpoint); -} - - -export function initTokenContract(web3: Web3, abi: any, address: string): any { - return new web3.eth.Contract(abi, address); -} - - -export function initERC20Token(web3: Web3 | undefined, address: string | undefined): any | undefined { - if (!web3 || !address) return; - return new web3.eth.Contract(erc20Abi.abi as AbiItem[], address); -} - - -export async function getTokenBalance(contract: Contract, address: string): Promise { - return await contract.methods.balanceOf(address).call({ from: address }); -} - - -export async function ethBalance(web3: Web3, address: string): Promise { - return await web3.eth.getBalance(address); -} - - -export async function getBalance( - web3: Web3 | undefined, - contract: Contract | undefined, - address: string, - chainName: string, - wrapsSFuel: boolean -): Promise { - log(`Getting balance for ${address}`); - if (contract) return await getTokenBalance(contract, address); - if (web3 && (chainName === MAINNET_CHAIN_NAME || wrapsSFuel)) { - return await ethBalance(web3, address); - } -} \ No newline at end of file diff --git a/src/core/transferHistory.ts b/src/core/transferHistory.ts deleted file mode 100644 index e74cc88..0000000 --- a/src/core/transferHistory.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @license - * SKALE bridge-ui - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/** - * @file transferHistory.ts - * @copyright SKALE Labs 2023-Present -*/ - -import { METAPORT_CONFIG } from './constants'; - - -const KEY_NAME = `br__transfersHistory_${METAPORT_CONFIG.skaleNetwork}`; - - -export function getTransferHistory(): Array { - const br__transfersHistory = localStorage.getItem(KEY_NAME); - if (!br__transfersHistory) return []; - return JSON.parse(br__transfersHistory)['data']; -} - - -export function setTransferHistory(transferHistory: Array): void { - localStorage.setItem(KEY_NAME, JSON.stringify({ data: transferHistory })); -} - - -export function addToTransferHistory(transfer: any): void { - const transferHistory = getTransferHistory(); - transferHistory.push(transfer); - setTransferHistory(transferHistory); -} - - -export function clearTransferHistory(): void { - localStorage.removeItem(KEY_NAME); -} \ No newline at end of file diff --git a/src/custom.d.ts b/src/custom.d.ts deleted file mode 100644 index 7a0eee0..0000000 --- a/src/custom.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -declare module "*.png" { - const value: any; - export default value; -} - -declare module "*.svg" { - const content: any; - export default content; -} - -declare module '*.scss'; - -declare global { - interface Window { - ethereum: any; - } -} - -declare module '*.mdx' { - let MDXComponent: (props: any) => JSX.Element; - export default MDXComponent; -} \ No newline at end of file diff --git a/src/enkrypt.png b/src/enkrypt.png deleted file mode 100644 index a6b8d0d9e5b2c2297c28b48d7a92fe3e73a92687..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222060 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 z 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 JPDHLkV1mnD_YVL7 diff --git a/src/externalTokenIcons.json b/src/externalTokenIcons.json deleted file mode 100644 index 404eceb..0000000 --- a/src/externalTokenIcons.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "skill": "https://ruby.exchange/images/tokens/skill-square.png", - "brawl": "https://ruby.exchange/images/tokens/brawl-square.png", - "ruby": "https://ruby.exchange/images/tokens/ruby-square.png", - "razor": "https://assets.coingecko.com/coins/images/13797/small/icon.png", - "hmt": "https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png" -} \ No newline at end of file diff --git a/src/icons/$pac.svg b/src/icons/$pac.svg deleted file mode 100644 index 9dd1f47..0000000 --- a/src/icons/$pac.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/0xbtc.svg b/src/icons/0xbtc.svg deleted file mode 100644 index dab1673..0000000 --- a/src/icons/0xbtc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/2give.svg b/src/icons/2give.svg deleted file mode 100644 index 8bf470c..0000000 --- a/src/icons/2give.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/aave.svg b/src/icons/aave.svg deleted file mode 100644 index 0fc31d9..0000000 --- a/src/icons/aave.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/abt.svg b/src/icons/abt.svg deleted file mode 100644 index e71a0fa..0000000 --- a/src/icons/abt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/act.svg b/src/icons/act.svg deleted file mode 100644 index 1b7a288..0000000 --- a/src/icons/act.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/actn.svg b/src/icons/actn.svg deleted file mode 100644 index 2052279..0000000 --- a/src/icons/actn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ada.svg b/src/icons/ada.svg deleted file mode 100644 index d558f0d..0000000 --- a/src/icons/ada.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/add.svg b/src/icons/add.svg deleted file mode 100644 index 957a344..0000000 --- a/src/icons/add.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/adx.svg b/src/icons/adx.svg deleted file mode 100644 index e722872..0000000 --- a/src/icons/adx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ae.svg b/src/icons/ae.svg deleted file mode 100644 index fa2d6e2..0000000 --- a/src/icons/ae.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/aeon.svg b/src/icons/aeon.svg deleted file mode 100644 index 1407bc7..0000000 --- a/src/icons/aeon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/aeur.svg b/src/icons/aeur.svg deleted file mode 100644 index d79c643..0000000 --- a/src/icons/aeur.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/agi.svg b/src/icons/agi.svg deleted file mode 100644 index 407ec22..0000000 --- a/src/icons/agi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/agrs.svg b/src/icons/agrs.svg deleted file mode 100644 index fe14445..0000000 --- a/src/icons/agrs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/aion.svg b/src/icons/aion.svg deleted file mode 100644 index 4e4bbb7..0000000 --- a/src/icons/aion.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/algo.svg b/src/icons/algo.svg deleted file mode 100644 index 42d635f..0000000 --- a/src/icons/algo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/amb.svg b/src/icons/amb.svg deleted file mode 100644 index 281b7ec..0000000 --- a/src/icons/amb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/amp.svg b/src/icons/amp.svg deleted file mode 100644 index 5b57f80..0000000 --- a/src/icons/amp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ampl.svg b/src/icons/ampl.svg deleted file mode 100644 index 7585228..0000000 --- a/src/icons/ampl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ankr.svg b/src/icons/ankr.svg deleted file mode 100644 index 9d0f73c..0000000 --- a/src/icons/ankr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ant.svg b/src/icons/ant.svg deleted file mode 100644 index 434920c..0000000 --- a/src/icons/ant.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/apex.svg b/src/icons/apex.svg deleted file mode 100644 index 57a0a3c..0000000 --- a/src/icons/apex.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/appc.svg b/src/icons/appc.svg deleted file mode 100644 index 008e0f8..0000000 --- a/src/icons/appc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ardr.svg b/src/icons/ardr.svg deleted file mode 100644 index 1fa1547..0000000 --- a/src/icons/ardr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/arg.svg b/src/icons/arg.svg deleted file mode 100644 index 214489c..0000000 --- a/src/icons/arg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ark.svg b/src/icons/ark.svg deleted file mode 100644 index 1d3b00a..0000000 --- a/src/icons/ark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/arn.svg b/src/icons/arn.svg deleted file mode 100644 index 08172d6..0000000 --- a/src/icons/arn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/arnx.svg b/src/icons/arnx.svg deleted file mode 100644 index 9696fc4..0000000 --- a/src/icons/arnx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ary.svg b/src/icons/ary.svg deleted file mode 100644 index f1bbef9..0000000 --- a/src/icons/ary.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ast.svg b/src/icons/ast.svg deleted file mode 100644 index 483a444..0000000 --- a/src/icons/ast.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/atm.svg b/src/icons/atm.svg deleted file mode 100644 index e058385..0000000 --- a/src/icons/atm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/atom.svg b/src/icons/atom.svg deleted file mode 100644 index f957f2c..0000000 --- a/src/icons/atom.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/audr.svg b/src/icons/audr.svg deleted file mode 100644 index 15e0bdd..0000000 --- a/src/icons/audr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/auto.svg b/src/icons/auto.svg deleted file mode 100644 index a9fe67a..0000000 --- a/src/icons/auto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/aywa.svg b/src/icons/aywa.svg deleted file mode 100644 index e66335c..0000000 --- a/src/icons/aywa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bab.svg b/src/icons/bab.svg deleted file mode 100644 index 8cda92c..0000000 --- a/src/icons/bab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bal.svg b/src/icons/bal.svg deleted file mode 100644 index 671f171..0000000 --- a/src/icons/bal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/band.svg b/src/icons/band.svg deleted file mode 100644 index b6ecfd2..0000000 --- a/src/icons/band.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bat.svg b/src/icons/bat.svg deleted file mode 100644 index 7a0980a..0000000 --- a/src/icons/bat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bay.svg b/src/icons/bay.svg deleted file mode 100644 index 13dab1d..0000000 --- a/src/icons/bay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcbc.svg b/src/icons/bcbc.svg deleted file mode 100644 index 49a081a..0000000 --- a/src/icons/bcbc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcc.svg b/src/icons/bcc.svg deleted file mode 100644 index 7fef26d..0000000 --- a/src/icons/bcc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcd.svg b/src/icons/bcd.svg deleted file mode 100644 index 204a173..0000000 --- a/src/icons/bcd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bch.svg b/src/icons/bch.svg deleted file mode 100644 index 06d99d7..0000000 --- a/src/icons/bch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcio.svg b/src/icons/bcio.svg deleted file mode 100644 index 233a605..0000000 --- a/src/icons/bcio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcn.svg b/src/icons/bcn.svg deleted file mode 100644 index f12495c..0000000 --- a/src/icons/bcn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bco.svg b/src/icons/bco.svg deleted file mode 100644 index 907e7fc..0000000 --- a/src/icons/bco.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bcpt.svg b/src/icons/bcpt.svg deleted file mode 100644 index 2ac170b..0000000 --- a/src/icons/bcpt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bdl.svg b/src/icons/bdl.svg deleted file mode 100644 index ded79b2..0000000 --- a/src/icons/bdl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/beam.svg b/src/icons/beam.svg deleted file mode 100644 index 40f5b5a..0000000 --- a/src/icons/beam.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bela.svg b/src/icons/bela.svg deleted file mode 100644 index be31f77..0000000 --- a/src/icons/bela.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bix.svg b/src/icons/bix.svg deleted file mode 100644 index ecee558..0000000 --- a/src/icons/bix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/blcn.svg b/src/icons/blcn.svg deleted file mode 100644 index f02cce2..0000000 --- a/src/icons/blcn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/blk.svg b/src/icons/blk.svg deleted file mode 100644 index 4e0ca11..0000000 --- a/src/icons/blk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/block.svg b/src/icons/block.svg deleted file mode 100644 index 980cf83..0000000 --- a/src/icons/block.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/blz.svg b/src/icons/blz.svg deleted file mode 100644 index f951fbf..0000000 --- a/src/icons/blz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bnb.svg b/src/icons/bnb.svg deleted file mode 100644 index 1a859f6..0000000 --- a/src/icons/bnb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bnt.svg b/src/icons/bnt.svg deleted file mode 100644 index 23b7722..0000000 --- a/src/icons/bnt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bnty.svg b/src/icons/bnty.svg deleted file mode 100644 index f8e285f..0000000 --- a/src/icons/bnty.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/booty.svg b/src/icons/booty.svg deleted file mode 100644 index e35aa8b..0000000 --- a/src/icons/booty.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bos.svg b/src/icons/bos.svg deleted file mode 100644 index f4c06a6..0000000 --- a/src/icons/bos.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bpt.svg b/src/icons/bpt.svg deleted file mode 100644 index 48e4224..0000000 --- a/src/icons/bpt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bq.svg b/src/icons/bq.svg deleted file mode 100644 index a831781..0000000 --- a/src/icons/bq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/brd.svg b/src/icons/brd.svg deleted file mode 100644 index e34b1b7..0000000 --- a/src/icons/brd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bsd.svg b/src/icons/bsd.svg deleted file mode 100644 index 384dfad..0000000 --- a/src/icons/bsd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bsv.svg b/src/icons/bsv.svg deleted file mode 100644 index 6e9e9cd..0000000 --- a/src/icons/bsv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btc.svg b/src/icons/btc.svg deleted file mode 100644 index 5dc8a39..0000000 --- a/src/icons/btc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btcd.svg b/src/icons/btcd.svg deleted file mode 100644 index 25465fe..0000000 --- a/src/icons/btcd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btch.svg b/src/icons/btch.svg deleted file mode 100644 index 9cd1560..0000000 --- a/src/icons/btch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btcp.svg b/src/icons/btcp.svg deleted file mode 100644 index 7298567..0000000 --- a/src/icons/btcp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btcz.svg b/src/icons/btcz.svg deleted file mode 100644 index b9c3624..0000000 --- a/src/icons/btcz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btdx.svg b/src/icons/btdx.svg deleted file mode 100644 index f36e6dc..0000000 --- a/src/icons/btdx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btg.svg b/src/icons/btg.svg deleted file mode 100644 index 0d6d21e..0000000 --- a/src/icons/btg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btm.svg b/src/icons/btm.svg deleted file mode 100644 index 50c9816..0000000 --- a/src/icons/btm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bts.svg b/src/icons/bts.svg deleted file mode 100644 index 7d5b879..0000000 --- a/src/icons/bts.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btt.svg b/src/icons/btt.svg deleted file mode 100644 index b246028..0000000 --- a/src/icons/btt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/btx.svg b/src/icons/btx.svg deleted file mode 100644 index 279c597..0000000 --- a/src/icons/btx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/burst.svg b/src/icons/burst.svg deleted file mode 100644 index 9504650..0000000 --- a/src/icons/burst.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/bze.svg b/src/icons/bze.svg deleted file mode 100644 index e913e45..0000000 --- a/src/icons/bze.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/call.svg b/src/icons/call.svg deleted file mode 100644 index d892a21..0000000 --- a/src/icons/call.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cc.svg b/src/icons/cc.svg deleted file mode 100644 index 85e084b..0000000 --- a/src/icons/cc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cdn.svg b/src/icons/cdn.svg deleted file mode 100644 index 7666777..0000000 --- a/src/icons/cdn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cdt.svg b/src/icons/cdt.svg deleted file mode 100644 index 2f5656c..0000000 --- a/src/icons/cdt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cenz.svg b/src/icons/cenz.svg deleted file mode 100644 index 4746907..0000000 --- a/src/icons/cenz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/chain.svg b/src/icons/chain.svg deleted file mode 100644 index 5e8dd03..0000000 --- a/src/icons/chain.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/chat.svg b/src/icons/chat.svg deleted file mode 100644 index e946e2e..0000000 --- a/src/icons/chat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/chips.svg b/src/icons/chips.svg deleted file mode 100644 index f78f4a7..0000000 --- a/src/icons/chips.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/chsb.svg b/src/icons/chsb.svg deleted file mode 100644 index 2edc324..0000000 --- a/src/icons/chsb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cix.svg b/src/icons/cix.svg deleted file mode 100644 index bbf8225..0000000 --- a/src/icons/cix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/clam.svg b/src/icons/clam.svg deleted file mode 100644 index 79befbd..0000000 --- a/src/icons/clam.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cloak.svg b/src/icons/cloak.svg deleted file mode 100644 index 35371a3..0000000 --- a/src/icons/cloak.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cmm.svg b/src/icons/cmm.svg deleted file mode 100644 index 643dfa1..0000000 --- a/src/icons/cmm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cmt.svg b/src/icons/cmt.svg deleted file mode 100644 index 6fe26f8..0000000 --- a/src/icons/cmt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cnd.svg b/src/icons/cnd.svg deleted file mode 100644 index ba8023c..0000000 --- a/src/icons/cnd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cnx.svg b/src/icons/cnx.svg deleted file mode 100644 index 31c066e..0000000 --- a/src/icons/cnx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cny.svg b/src/icons/cny.svg deleted file mode 100644 index 300bd8a..0000000 --- a/src/icons/cny.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cob.svg b/src/icons/cob.svg deleted file mode 100644 index 3fae2ee..0000000 --- a/src/icons/cob.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/colx.svg b/src/icons/colx.svg deleted file mode 100644 index 050e4e3..0000000 --- a/src/icons/colx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/comp.svg b/src/icons/comp.svg deleted file mode 100644 index 0502559..0000000 --- a/src/icons/comp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/coqui.svg b/src/icons/coqui.svg deleted file mode 100644 index bcf137c..0000000 --- a/src/icons/coqui.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cred.svg b/src/icons/cred.svg deleted file mode 100644 index ad1f603..0000000 --- a/src/icons/cred.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/crpt.svg b/src/icons/crpt.svg deleted file mode 100644 index 774a5e9..0000000 --- a/src/icons/crpt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/crv.svg b/src/icons/crv.svg deleted file mode 100644 index 7dff8bc..0000000 --- a/src/icons/crv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/crw.svg b/src/icons/crw.svg deleted file mode 100644 index 4e954ad..0000000 --- a/src/icons/crw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cs.svg b/src/icons/cs.svg deleted file mode 100644 index 8f07f8a..0000000 --- a/src/icons/cs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ctr.svg b/src/icons/ctr.svg deleted file mode 100644 index 90d1e96..0000000 --- a/src/icons/ctr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ctxc.svg b/src/icons/ctxc.svg deleted file mode 100644 index 6899e40..0000000 --- a/src/icons/ctxc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/cvc.svg b/src/icons/cvc.svg deleted file mode 100644 index 7765e21..0000000 --- a/src/icons/cvc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dai.svg b/src/icons/dai.svg deleted file mode 100644 index 2cec854..0000000 --- a/src/icons/dai.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dash.svg b/src/icons/dash.svg deleted file mode 100644 index e4453c6..0000000 --- a/src/icons/dash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dat.svg b/src/icons/dat.svg deleted file mode 100644 index c4e1a6d..0000000 --- a/src/icons/dat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/data.svg b/src/icons/data.svg deleted file mode 100644 index 31bb0fe..0000000 --- a/src/icons/data.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dbc.svg b/src/icons/dbc.svg deleted file mode 100644 index b96c4dd..0000000 --- a/src/icons/dbc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dcn.svg b/src/icons/dcn.svg deleted file mode 100644 index d9904f2..0000000 --- a/src/icons/dcn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dcr.svg b/src/icons/dcr.svg deleted file mode 100644 index 3929c2c..0000000 --- a/src/icons/dcr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/deez.svg b/src/icons/deez.svg deleted file mode 100644 index 787d26b..0000000 --- a/src/icons/deez.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dent.svg b/src/icons/dent.svg deleted file mode 100644 index fcea795..0000000 --- a/src/icons/dent.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dew.svg b/src/icons/dew.svg deleted file mode 100644 index 1582ee3..0000000 --- a/src/icons/dew.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dgb.svg b/src/icons/dgb.svg deleted file mode 100644 index f80715b..0000000 --- a/src/icons/dgb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dgd.svg b/src/icons/dgd.svg deleted file mode 100644 index a39e866..0000000 --- a/src/icons/dgd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dlt.svg b/src/icons/dlt.svg deleted file mode 100644 index df6d7d3..0000000 --- a/src/icons/dlt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dnt.svg b/src/icons/dnt.svg deleted file mode 100644 index 255037e..0000000 --- a/src/icons/dnt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dock.svg b/src/icons/dock.svg deleted file mode 100644 index 1c1ea4b..0000000 --- a/src/icons/dock.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/doge.svg b/src/icons/doge.svg deleted file mode 100644 index c22bf09..0000000 --- a/src/icons/doge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dot.svg b/src/icons/dot.svg deleted file mode 100644 index 7751a9c..0000000 --- a/src/icons/dot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/drgn.svg b/src/icons/drgn.svg deleted file mode 100644 index 500f6af..0000000 --- a/src/icons/drgn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/drop.svg b/src/icons/drop.svg deleted file mode 100644 index f07cdd4..0000000 --- a/src/icons/drop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dta.svg b/src/icons/dta.svg deleted file mode 100644 index dfa8545..0000000 --- a/src/icons/dta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dth.svg b/src/icons/dth.svg deleted file mode 100644 index 2dec88a..0000000 --- a/src/icons/dth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/dtr.svg b/src/icons/dtr.svg deleted file mode 100644 index bc8d2bf..0000000 --- a/src/icons/dtr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ebst.svg b/src/icons/ebst.svg deleted file mode 100644 index 9601971..0000000 --- a/src/icons/ebst.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eca.svg b/src/icons/eca.svg deleted file mode 100644 index d855a9e..0000000 --- a/src/icons/eca.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/edg.svg b/src/icons/edg.svg deleted file mode 100644 index 3aa0f00..0000000 --- a/src/icons/edg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/edo.svg b/src/icons/edo.svg deleted file mode 100644 index eb2641c..0000000 --- a/src/icons/edo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/edoge.svg b/src/icons/edoge.svg deleted file mode 100644 index 8632633..0000000 --- a/src/icons/edoge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ela.svg b/src/icons/ela.svg deleted file mode 100644 index 5472f7d..0000000 --- a/src/icons/ela.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/elec.svg b/src/icons/elec.svg deleted file mode 100644 index 106c4af..0000000 --- a/src/icons/elec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/elf.svg b/src/icons/elf.svg deleted file mode 100644 index 306290a..0000000 --- a/src/icons/elf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/elix.svg b/src/icons/elix.svg deleted file mode 100644 index c7e45ab..0000000 --- a/src/icons/elix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ella.svg b/src/icons/ella.svg deleted file mode 100644 index 5a67e25..0000000 --- a/src/icons/ella.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/emb.svg b/src/icons/emb.svg deleted file mode 100644 index 683a9bd..0000000 --- a/src/icons/emb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/emc.svg b/src/icons/emc.svg deleted file mode 100644 index a3198a2..0000000 --- a/src/icons/emc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/emc2.svg b/src/icons/emc2.svg deleted file mode 100644 index 28993b1..0000000 --- a/src/icons/emc2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eng.svg b/src/icons/eng.svg deleted file mode 100644 index ad83e04..0000000 --- a/src/icons/eng.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/enj.svg b/src/icons/enj.svg deleted file mode 100644 index d55325a..0000000 --- a/src/icons/enj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/entrp.svg b/src/icons/entrp.svg deleted file mode 100644 index bbe946b..0000000 --- a/src/icons/entrp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eon.svg b/src/icons/eon.svg deleted file mode 100644 index d477ad1..0000000 --- a/src/icons/eon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eop.svg b/src/icons/eop.svg deleted file mode 100644 index 3e2df8d..0000000 --- a/src/icons/eop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eos.svg b/src/icons/eos.svg deleted file mode 100644 index 4ca4e48..0000000 --- a/src/icons/eos.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eqli.svg b/src/icons/eqli.svg deleted file mode 100644 index 47471a1..0000000 --- a/src/icons/eqli.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/equa.svg b/src/icons/equa.svg deleted file mode 100644 index d034d82..0000000 --- a/src/icons/equa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/etc.svg b/src/icons/etc.svg deleted file mode 100644 index 8e11cf9..0000000 --- a/src/icons/etc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eth.svg b/src/icons/eth.svg deleted file mode 100644 index c761cef..0000000 --- a/src/icons/eth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eth_white.svg b/src/icons/eth_white.svg deleted file mode 100644 index 3fe1429..0000000 --- a/src/icons/eth_white.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/icons/ethos.svg b/src/icons/ethos.svg deleted file mode 100644 index 5ef9051..0000000 --- a/src/icons/ethos.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/etn.svg b/src/icons/etn.svg deleted file mode 100644 index 09366c2..0000000 --- a/src/icons/etn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/etp.svg b/src/icons/etp.svg deleted file mode 100644 index 8ce63bd..0000000 --- a/src/icons/etp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/eur.svg b/src/icons/eur.svg deleted file mode 100644 index b131a95..0000000 --- a/src/icons/eur.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/evx.svg b/src/icons/evx.svg deleted file mode 100644 index 55deb2d..0000000 --- a/src/icons/evx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/exmo.svg b/src/icons/exmo.svg deleted file mode 100644 index 6a56e64..0000000 --- a/src/icons/exmo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/exp.svg b/src/icons/exp.svg deleted file mode 100644 index c4353b2..0000000 --- a/src/icons/exp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fair.svg b/src/icons/fair.svg deleted file mode 100644 index 49e601a..0000000 --- a/src/icons/fair.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fct.svg b/src/icons/fct.svg deleted file mode 100644 index 3a15117..0000000 --- a/src/icons/fct.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fil.svg b/src/icons/fil.svg deleted file mode 100644 index 144440b..0000000 --- a/src/icons/fil.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fjc.svg b/src/icons/fjc.svg deleted file mode 100644 index cc191ac..0000000 --- a/src/icons/fjc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fldc.svg b/src/icons/fldc.svg deleted file mode 100644 index 0e8fcaf..0000000 --- a/src/icons/fldc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/flo.svg b/src/icons/flo.svg deleted file mode 100644 index 8510722..0000000 --- a/src/icons/flo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/flux.svg b/src/icons/flux.svg deleted file mode 100644 index 12fe387..0000000 --- a/src/icons/flux.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fsn.svg b/src/icons/fsn.svg deleted file mode 100644 index cb208e0..0000000 --- a/src/icons/fsn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ftc.svg b/src/icons/ftc.svg deleted file mode 100644 index 2a80b86..0000000 --- a/src/icons/ftc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fuel.svg b/src/icons/fuel.svg deleted file mode 100644 index 424cdba..0000000 --- a/src/icons/fuel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/fun.svg b/src/icons/fun.svg deleted file mode 100644 index 525496b..0000000 --- a/src/icons/fun.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/game.svg b/src/icons/game.svg deleted file mode 100644 index bf9896e..0000000 --- a/src/icons/game.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gas.svg b/src/icons/gas.svg deleted file mode 100644 index a5fcd1a..0000000 --- a/src/icons/gas.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gbp.svg b/src/icons/gbp.svg deleted file mode 100644 index 4035cc2..0000000 --- a/src/icons/gbp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gbx.svg b/src/icons/gbx.svg deleted file mode 100644 index 220c49c..0000000 --- a/src/icons/gbx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gbyte.svg b/src/icons/gbyte.svg deleted file mode 100644 index b54ad4f..0000000 --- a/src/icons/gbyte.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/generic.svg b/src/icons/generic.svg deleted file mode 100644 index b599951..0000000 --- a/src/icons/generic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gin.svg b/src/icons/gin.svg deleted file mode 100644 index 2b3ec7f..0000000 --- a/src/icons/gin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/glxt.svg b/src/icons/glxt.svg deleted file mode 100644 index 3bb3558..0000000 --- a/src/icons/glxt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gmr.svg b/src/icons/gmr.svg deleted file mode 100644 index 53feef8..0000000 --- a/src/icons/gmr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gno.svg b/src/icons/gno.svg deleted file mode 100644 index 89e5bc1..0000000 --- a/src/icons/gno.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gnt.svg b/src/icons/gnt.svg deleted file mode 100644 index 6f577b3..0000000 --- a/src/icons/gnt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gold.svg b/src/icons/gold.svg deleted file mode 100644 index 69d5418..0000000 --- a/src/icons/gold.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/grc.svg b/src/icons/grc.svg deleted file mode 100644 index e1415f8..0000000 --- a/src/icons/grc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/grin.svg b/src/icons/grin.svg deleted file mode 100644 index df4e25c..0000000 --- a/src/icons/grin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/grs.svg b/src/icons/grs.svg deleted file mode 100644 index a41e632..0000000 --- a/src/icons/grs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/grt.svg b/src/icons/grt.svg deleted file mode 100644 index f546e2a..0000000 --- a/src/icons/grt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gsc.svg b/src/icons/gsc.svg deleted file mode 100644 index 4f16056..0000000 --- a/src/icons/gsc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gto.svg b/src/icons/gto.svg deleted file mode 100644 index 1a5f310..0000000 --- a/src/icons/gto.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gup.svg b/src/icons/gup.svg deleted file mode 100644 index fb9aa9f..0000000 --- a/src/icons/gup.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gusd.svg b/src/icons/gusd.svg deleted file mode 100644 index ea0c75a..0000000 --- a/src/icons/gusd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gvt.svg b/src/icons/gvt.svg deleted file mode 100644 index 08fe135..0000000 --- a/src/icons/gvt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gxs.svg b/src/icons/gxs.svg deleted file mode 100644 index fbe54c1..0000000 --- a/src/icons/gxs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/gzr.svg b/src/icons/gzr.svg deleted file mode 100644 index 72a7989..0000000 --- a/src/icons/gzr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hight.svg b/src/icons/hight.svg deleted file mode 100644 index d5a582d..0000000 --- a/src/icons/hight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hns.svg b/src/icons/hns.svg deleted file mode 100644 index a154154..0000000 --- a/src/icons/hns.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hodl.svg b/src/icons/hodl.svg deleted file mode 100644 index 9d73b51..0000000 --- a/src/icons/hodl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hot.svg b/src/icons/hot.svg deleted file mode 100644 index b19a53e..0000000 --- a/src/icons/hot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hpb.svg b/src/icons/hpb.svg deleted file mode 100644 index aa5cdc9..0000000 --- a/src/icons/hpb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hsr.svg b/src/icons/hsr.svg deleted file mode 100644 index 28e9dcf..0000000 --- a/src/icons/hsr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ht.svg b/src/icons/ht.svg deleted file mode 100644 index d4cb1b5..0000000 --- a/src/icons/ht.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/html.svg b/src/icons/html.svg deleted file mode 100644 index 88f3a98..0000000 --- a/src/icons/html.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/huc.svg b/src/icons/huc.svg deleted file mode 100644 index 99ed2c6..0000000 --- a/src/icons/huc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/husd.svg b/src/icons/husd.svg deleted file mode 100644 index cafdae9..0000000 --- a/src/icons/husd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/hush.svg b/src/icons/hush.svg deleted file mode 100644 index 3e65e94..0000000 --- a/src/icons/hush.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/icn.svg b/src/icons/icn.svg deleted file mode 100644 index a3a759b..0000000 --- a/src/icons/icn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/icp.svg b/src/icons/icp.svg deleted file mode 100644 index 642b815..0000000 --- a/src/icons/icp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/icx.svg b/src/icons/icx.svg deleted file mode 100644 index fd6d5ed..0000000 --- a/src/icons/icx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ignis.svg b/src/icons/ignis.svg deleted file mode 100644 index 5a4d493..0000000 --- a/src/icons/ignis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ilk.svg b/src/icons/ilk.svg deleted file mode 100644 index 5ab367d..0000000 --- a/src/icons/ilk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ink.svg b/src/icons/ink.svg deleted file mode 100644 index 2a04ad3..0000000 --- a/src/icons/ink.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ins.svg b/src/icons/ins.svg deleted file mode 100644 index 39a1422..0000000 --- a/src/icons/ins.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ion.svg b/src/icons/ion.svg deleted file mode 100644 index 832b531..0000000 --- a/src/icons/ion.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/iop.svg b/src/icons/iop.svg deleted file mode 100644 index 6073147..0000000 --- a/src/icons/iop.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/iost.svg b/src/icons/iost.svg deleted file mode 100644 index 81a57d1..0000000 --- a/src/icons/iost.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/iotx.svg b/src/icons/iotx.svg deleted file mode 100644 index a89d5b3..0000000 --- a/src/icons/iotx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/iq.svg b/src/icons/iq.svg deleted file mode 100644 index 43c7bcf..0000000 --- a/src/icons/iq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/itc.svg b/src/icons/itc.svg deleted file mode 100644 index 6c249b5..0000000 --- a/src/icons/itc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/jnt.svg b/src/icons/jnt.svg deleted file mode 100644 index d509b97..0000000 --- a/src/icons/jnt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/jpy.svg b/src/icons/jpy.svg deleted file mode 100644 index 26c50f8..0000000 --- a/src/icons/jpy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/kcs.svg b/src/icons/kcs.svg deleted file mode 100644 index f44bb63..0000000 --- a/src/icons/kcs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/kin.svg b/src/icons/kin.svg deleted file mode 100644 index 55508de..0000000 --- a/src/icons/kin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/klown.svg b/src/icons/klown.svg deleted file mode 100644 index 738bf8c..0000000 --- a/src/icons/klown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/kmd.svg b/src/icons/kmd.svg deleted file mode 100644 index a821390..0000000 --- a/src/icons/kmd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/knc.svg b/src/icons/knc.svg deleted file mode 100644 index 448b35f..0000000 --- a/src/icons/knc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/krb.svg b/src/icons/krb.svg deleted file mode 100644 index 893a176..0000000 --- a/src/icons/krb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ksm.svg b/src/icons/ksm.svg deleted file mode 100644 index 897ab14..0000000 --- a/src/icons/ksm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lbc.svg b/src/icons/lbc.svg deleted file mode 100644 index 2e6565b..0000000 --- a/src/icons/lbc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lend.svg b/src/icons/lend.svg deleted file mode 100644 index 8dbecac..0000000 --- a/src/icons/lend.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/leo.svg b/src/icons/leo.svg deleted file mode 100644 index 1737b4d..0000000 --- a/src/icons/leo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/link.svg b/src/icons/link.svg deleted file mode 100644 index f7e000a..0000000 --- a/src/icons/link.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lkk.svg b/src/icons/lkk.svg deleted file mode 100644 index 92b7477..0000000 --- a/src/icons/lkk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/loom.svg b/src/icons/loom.svg deleted file mode 100644 index e9f4611..0000000 --- a/src/icons/loom.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lpt.svg b/src/icons/lpt.svg deleted file mode 100644 index e0ea32a..0000000 --- a/src/icons/lpt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lrc.svg b/src/icons/lrc.svg deleted file mode 100644 index 6b83ba0..0000000 --- a/src/icons/lrc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lsk.svg b/src/icons/lsk.svg deleted file mode 100644 index 7267387..0000000 --- a/src/icons/lsk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ltc.svg b/src/icons/ltc.svg deleted file mode 100644 index 9afc706..0000000 --- a/src/icons/ltc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/lun.svg b/src/icons/lun.svg deleted file mode 100644 index f71af1c..0000000 --- a/src/icons/lun.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/maid.svg b/src/icons/maid.svg deleted file mode 100644 index 2eb505d..0000000 --- a/src/icons/maid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mana.svg b/src/icons/mana.svg deleted file mode 100644 index 3666070..0000000 --- a/src/icons/mana.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/matic.svg b/src/icons/matic.svg deleted file mode 100644 index 31361b8..0000000 --- a/src/icons/matic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/max.svg b/src/icons/max.svg deleted file mode 100644 index 1be2850..0000000 --- a/src/icons/max.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mcap.svg b/src/icons/mcap.svg deleted file mode 100644 index 3e854fc..0000000 --- a/src/icons/mcap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mco.svg b/src/icons/mco.svg deleted file mode 100644 index 81bdce3..0000000 --- a/src/icons/mco.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mda.svg b/src/icons/mda.svg deleted file mode 100644 index 106e54b..0000000 --- a/src/icons/mda.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mds.svg b/src/icons/mds.svg deleted file mode 100644 index 1087592..0000000 --- a/src/icons/mds.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/med.svg b/src/icons/med.svg deleted file mode 100644 index 981c794..0000000 --- a/src/icons/med.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/meetone.svg b/src/icons/meetone.svg deleted file mode 100644 index d18f718..0000000 --- a/src/icons/meetone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mft.svg b/src/icons/mft.svg deleted file mode 100644 index 167df31..0000000 --- a/src/icons/mft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/miota.svg b/src/icons/miota.svg deleted file mode 100644 index 229f8d4..0000000 --- a/src/icons/miota.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mith.svg b/src/icons/mith.svg deleted file mode 100644 index 5946740..0000000 --- a/src/icons/mith.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mkr.svg b/src/icons/mkr.svg deleted file mode 100644 index 318fdaf..0000000 --- a/src/icons/mkr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mln.svg b/src/icons/mln.svg deleted file mode 100644 index 560a70d..0000000 --- a/src/icons/mln.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mnx.svg b/src/icons/mnx.svg deleted file mode 100644 index 1f4817e..0000000 --- a/src/icons/mnx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mnz.svg b/src/icons/mnz.svg deleted file mode 100644 index e52f925..0000000 --- a/src/icons/mnz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/moac.svg b/src/icons/moac.svg deleted file mode 100644 index 58473c1..0000000 --- a/src/icons/moac.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mod.svg b/src/icons/mod.svg deleted file mode 100644 index c16f4ac..0000000 --- a/src/icons/mod.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mona.svg b/src/icons/mona.svg deleted file mode 100644 index 2ab987e..0000000 --- a/src/icons/mona.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/msr.svg b/src/icons/msr.svg deleted file mode 100644 index 5497801..0000000 --- a/src/icons/msr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mth.svg b/src/icons/mth.svg deleted file mode 100644 index 6b4611a..0000000 --- a/src/icons/mth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mtl.svg b/src/icons/mtl.svg deleted file mode 100644 index fda26b6..0000000 --- a/src/icons/mtl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/music.svg b/src/icons/music.svg deleted file mode 100644 index 6d62b7a..0000000 --- a/src/icons/music.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/mzc.svg b/src/icons/mzc.svg deleted file mode 100644 index 56e5eb1..0000000 --- a/src/icons/mzc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nano.svg b/src/icons/nano.svg deleted file mode 100644 index 127f440..0000000 --- a/src/icons/nano.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nas.svg b/src/icons/nas.svg deleted file mode 100644 index 3400ec5..0000000 --- a/src/icons/nas.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nav.svg b/src/icons/nav.svg deleted file mode 100644 index d7f62b1..0000000 --- a/src/icons/nav.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ncash.svg b/src/icons/ncash.svg deleted file mode 100644 index 82b2942..0000000 --- a/src/icons/ncash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ndz.svg b/src/icons/ndz.svg deleted file mode 100644 index 6b570a1..0000000 --- a/src/icons/ndz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nebl.svg b/src/icons/nebl.svg deleted file mode 100644 index 8dba85e..0000000 --- a/src/icons/nebl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/neo.svg b/src/icons/neo.svg deleted file mode 100644 index a5fcd1a..0000000 --- a/src/icons/neo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/neos.svg b/src/icons/neos.svg deleted file mode 100644 index f2a40df..0000000 --- a/src/icons/neos.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/neu.svg b/src/icons/neu.svg deleted file mode 100644 index 05494ee..0000000 --- a/src/icons/neu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nexo.svg b/src/icons/nexo.svg deleted file mode 100644 index 6e5e1e2..0000000 --- a/src/icons/nexo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ngc.svg b/src/icons/ngc.svg deleted file mode 100644 index 93edcc3..0000000 --- a/src/icons/ngc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nio.svg b/src/icons/nio.svg deleted file mode 100644 index 573970a..0000000 --- a/src/icons/nio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nkn.svg b/src/icons/nkn.svg deleted file mode 100644 index f3c2732..0000000 --- a/src/icons/nkn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nlc2.svg b/src/icons/nlc2.svg deleted file mode 100644 index 21333f8..0000000 --- a/src/icons/nlc2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nlg.svg b/src/icons/nlg.svg deleted file mode 100644 index 73dbc39..0000000 --- a/src/icons/nlg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nmc.svg b/src/icons/nmc.svg deleted file mode 100644 index a637558..0000000 --- a/src/icons/nmc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nmr.svg b/src/icons/nmr.svg deleted file mode 100644 index c91bd50..0000000 --- a/src/icons/nmr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/npxs.svg b/src/icons/npxs.svg deleted file mode 100644 index fe518dd..0000000 --- a/src/icons/npxs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ntbc.svg b/src/icons/ntbc.svg deleted file mode 100644 index 96fb0b3..0000000 --- a/src/icons/ntbc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nuls.svg b/src/icons/nuls.svg deleted file mode 100644 index 46fae41..0000000 --- a/src/icons/nuls.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nxs.svg b/src/icons/nxs.svg deleted file mode 100644 index 7ccb5cd..0000000 --- a/src/icons/nxs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/nxt.svg b/src/icons/nxt.svg deleted file mode 100644 index 13b3581..0000000 --- a/src/icons/nxt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/oax.svg b/src/icons/oax.svg deleted file mode 100644 index d16213a..0000000 --- a/src/icons/oax.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ok.svg b/src/icons/ok.svg deleted file mode 100644 index dfc75c2..0000000 --- a/src/icons/ok.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/omg.svg b/src/icons/omg.svg deleted file mode 100644 index e886e01..0000000 --- a/src/icons/omg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/omni.svg b/src/icons/omni.svg deleted file mode 100644 index 9a73768..0000000 --- a/src/icons/omni.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/one.svg b/src/icons/one.svg deleted file mode 100644 index 52cba63..0000000 --- a/src/icons/one.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ong.svg b/src/icons/ong.svg deleted file mode 100644 index 2da95bb..0000000 --- a/src/icons/ong.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ont.svg b/src/icons/ont.svg deleted file mode 100644 index dae1398..0000000 --- a/src/icons/ont.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/oot.svg b/src/icons/oot.svg deleted file mode 100644 index 3b60825..0000000 --- a/src/icons/oot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ost.svg b/src/icons/ost.svg deleted file mode 100644 index 2501dab..0000000 --- a/src/icons/ost.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ox.svg b/src/icons/ox.svg deleted file mode 100644 index 7424a48..0000000 --- a/src/icons/ox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/oxt.svg b/src/icons/oxt.svg deleted file mode 100644 index 1285e62..0000000 --- a/src/icons/oxt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/part.svg b/src/icons/part.svg deleted file mode 100644 index 71f251b..0000000 --- a/src/icons/part.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pasc.svg b/src/icons/pasc.svg deleted file mode 100644 index 36f9202..0000000 --- a/src/icons/pasc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pasl.svg b/src/icons/pasl.svg deleted file mode 100644 index 888a294..0000000 --- a/src/icons/pasl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pax.svg b/src/icons/pax.svg deleted file mode 100644 index 45a4622..0000000 --- a/src/icons/pax.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/paxg.svg b/src/icons/paxg.svg deleted file mode 100644 index b9b5bfb..0000000 --- a/src/icons/paxg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pay.svg b/src/icons/pay.svg deleted file mode 100644 index 83a1324..0000000 --- a/src/icons/pay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/payx.svg b/src/icons/payx.svg deleted file mode 100644 index d9a03dc..0000000 --- a/src/icons/payx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pink.svg b/src/icons/pink.svg deleted file mode 100644 index 2916a13..0000000 --- a/src/icons/pink.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pirl.svg b/src/icons/pirl.svg deleted file mode 100644 index d134e08..0000000 --- a/src/icons/pirl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pivx.svg b/src/icons/pivx.svg deleted file mode 100644 index 08bac8e..0000000 --- a/src/icons/pivx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/plr.svg b/src/icons/plr.svg deleted file mode 100644 index 8fefdcb..0000000 --- a/src/icons/plr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/poa.svg b/src/icons/poa.svg deleted file mode 100644 index 81b133a..0000000 --- a/src/icons/poa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/poe.svg b/src/icons/poe.svg deleted file mode 100644 index 19dfcd6..0000000 --- a/src/icons/poe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/polis.svg b/src/icons/polis.svg deleted file mode 100644 index 1f6cf85..0000000 --- a/src/icons/polis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/poly.svg b/src/icons/poly.svg deleted file mode 100644 index 37ba1a6..0000000 --- a/src/icons/poly.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pot.svg b/src/icons/pot.svg deleted file mode 100644 index bb7854d..0000000 --- a/src/icons/pot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/powr.svg b/src/icons/powr.svg deleted file mode 100644 index 3a35af3..0000000 --- a/src/icons/powr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ppc.svg b/src/icons/ppc.svg deleted file mode 100644 index 3c287fd..0000000 --- a/src/icons/ppc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ppp.svg b/src/icons/ppp.svg deleted file mode 100644 index 5e0e540..0000000 --- a/src/icons/ppp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ppt.svg b/src/icons/ppt.svg deleted file mode 100644 index 55ae421..0000000 --- a/src/icons/ppt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pre.svg b/src/icons/pre.svg deleted file mode 100644 index ecffbba..0000000 --- a/src/icons/pre.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/prl.svg b/src/icons/prl.svg deleted file mode 100644 index 30a453b..0000000 --- a/src/icons/prl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pungo.svg b/src/icons/pungo.svg deleted file mode 100644 index 886f322..0000000 --- a/src/icons/pungo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/pura.svg b/src/icons/pura.svg deleted file mode 100644 index 9227227..0000000 --- a/src/icons/pura.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qash.svg b/src/icons/qash.svg deleted file mode 100644 index 511867f..0000000 --- a/src/icons/qash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qiwi.svg b/src/icons/qiwi.svg deleted file mode 100644 index d7a7d1b..0000000 --- a/src/icons/qiwi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qlc.svg b/src/icons/qlc.svg deleted file mode 100644 index 2128ee6..0000000 --- a/src/icons/qlc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qrl.svg b/src/icons/qrl.svg deleted file mode 100644 index 1343324..0000000 --- a/src/icons/qrl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qsp.svg b/src/icons/qsp.svg deleted file mode 100644 index e1c984c..0000000 --- a/src/icons/qsp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/qtum.svg b/src/icons/qtum.svg deleted file mode 100644 index 98437d4..0000000 --- a/src/icons/qtum.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/r.svg b/src/icons/r.svg deleted file mode 100644 index 90324fa..0000000 --- a/src/icons/r.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rads.svg b/src/icons/rads.svg deleted file mode 100644 index 07faaa8..0000000 --- a/src/icons/rads.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rap.svg b/src/icons/rap.svg deleted file mode 100644 index 2737891..0000000 --- a/src/icons/rap.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rcn.svg b/src/icons/rcn.svg deleted file mode 100644 index fa92d99..0000000 --- a/src/icons/rcn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rdd.svg b/src/icons/rdd.svg deleted file mode 100644 index 75c9453..0000000 --- a/src/icons/rdd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rdn.svg b/src/icons/rdn.svg deleted file mode 100644 index 425477e..0000000 --- a/src/icons/rdn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ren.svg b/src/icons/ren.svg deleted file mode 100644 index dfc71d8..0000000 --- a/src/icons/ren.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rep.svg b/src/icons/rep.svg deleted file mode 100644 index 73c26a9..0000000 --- a/src/icons/rep.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/repv2.svg b/src/icons/repv2.svg deleted file mode 100644 index 1153573..0000000 --- a/src/icons/repv2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/req.svg b/src/icons/req.svg deleted file mode 100644 index c8b56b4..0000000 --- a/src/icons/req.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rhoc.svg b/src/icons/rhoc.svg deleted file mode 100644 index c914b66..0000000 --- a/src/icons/rhoc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ric.svg b/src/icons/ric.svg deleted file mode 100644 index 295a0ae..0000000 --- a/src/icons/ric.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rise.svg b/src/icons/rise.svg deleted file mode 100644 index 187328e..0000000 --- a/src/icons/rise.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rlc.svg b/src/icons/rlc.svg deleted file mode 100644 index 8e15cf5..0000000 --- a/src/icons/rlc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rpx.svg b/src/icons/rpx.svg deleted file mode 100644 index d6af035..0000000 --- a/src/icons/rpx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rub.svg b/src/icons/rub.svg deleted file mode 100644 index 4ae739c..0000000 --- a/src/icons/rub.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/rvn.svg b/src/icons/rvn.svg deleted file mode 100644 index a2e6f90..0000000 --- a/src/icons/rvn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ryo.svg b/src/icons/ryo.svg deleted file mode 100644 index a4721d5..0000000 --- a/src/icons/ryo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/safe.svg b/src/icons/safe.svg deleted file mode 100644 index 8bf5e96..0000000 --- a/src/icons/safe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/safemoon.svg b/src/icons/safemoon.svg deleted file mode 100644 index eb622eb..0000000 --- a/src/icons/safemoon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sai.svg b/src/icons/sai.svg deleted file mode 100644 index e1350f3..0000000 --- a/src/icons/sai.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/salt.svg b/src/icons/salt.svg deleted file mode 100644 index 261e554..0000000 --- a/src/icons/salt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/san.svg b/src/icons/san.svg deleted file mode 100644 index f4e7f49..0000000 --- a/src/icons/san.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sand.svg b/src/icons/sand.svg deleted file mode 100644 index 015d619..0000000 --- a/src/icons/sand.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sbd.svg b/src/icons/sbd.svg deleted file mode 100644 index 3cac797..0000000 --- a/src/icons/sbd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sberbank.svg b/src/icons/sberbank.svg deleted file mode 100644 index 007e4c1..0000000 --- a/src/icons/sberbank.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sc.svg b/src/icons/sc.svg deleted file mode 100644 index a8794d9..0000000 --- a/src/icons/sc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/shift.svg b/src/icons/shift.svg deleted file mode 100644 index 352cdfb..0000000 --- a/src/icons/shift.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sib.svg b/src/icons/sib.svg deleted file mode 100644 index d74ae25..0000000 --- a/src/icons/sib.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sin.svg b/src/icons/sin.svg deleted file mode 100644 index e2790ff..0000000 --- a/src/icons/sin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/skl.svg b/src/icons/skl.svg deleted file mode 100644 index e034aff..0000000 --- a/src/icons/skl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sky.svg b/src/icons/sky.svg deleted file mode 100644 index dba30d5..0000000 --- a/src/icons/sky.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/slr.svg b/src/icons/slr.svg deleted file mode 100644 index 975cc09..0000000 --- a/src/icons/slr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sls.svg b/src/icons/sls.svg deleted file mode 100644 index a40dd49..0000000 --- a/src/icons/sls.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/smart.svg b/src/icons/smart.svg deleted file mode 100644 index 1a77178..0000000 --- a/src/icons/smart.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sngls.svg b/src/icons/sngls.svg deleted file mode 100644 index 9442f08..0000000 --- a/src/icons/sngls.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/snm.svg b/src/icons/snm.svg deleted file mode 100644 index c2c8839..0000000 --- a/src/icons/snm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/snt.svg b/src/icons/snt.svg deleted file mode 100644 index aee233e..0000000 --- a/src/icons/snt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/snx.svg b/src/icons/snx.svg deleted file mode 100644 index a4a9f0f..0000000 --- a/src/icons/snx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/soc.svg b/src/icons/soc.svg deleted file mode 100644 index c5e9305..0000000 --- a/src/icons/soc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sol.svg b/src/icons/sol.svg deleted file mode 100644 index ce27130..0000000 --- a/src/icons/sol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/spacehbit.svg b/src/icons/spacehbit.svg deleted file mode 100644 index 015d546..0000000 --- a/src/icons/spacehbit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/spank.svg b/src/icons/spank.svg deleted file mode 100644 index bcca827..0000000 --- a/src/icons/spank.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sphtx.svg b/src/icons/sphtx.svg deleted file mode 100644 index ddc1654..0000000 --- a/src/icons/sphtx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/srn.svg b/src/icons/srn.svg deleted file mode 100644 index 9e0aff2..0000000 --- a/src/icons/srn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/stak.svg b/src/icons/stak.svg deleted file mode 100644 index 06bb0a8..0000000 --- a/src/icons/stak.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/start.svg b/src/icons/start.svg deleted file mode 100644 index 2632fc4..0000000 --- a/src/icons/start.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/steem.svg b/src/icons/steem.svg deleted file mode 100644 index 32b398f..0000000 --- a/src/icons/steem.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/storj.svg b/src/icons/storj.svg deleted file mode 100644 index c0a8c3e..0000000 --- a/src/icons/storj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/storm.svg b/src/icons/storm.svg deleted file mode 100644 index 5ef66b1..0000000 --- a/src/icons/storm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/stox.svg b/src/icons/stox.svg deleted file mode 100644 index aaa60a9..0000000 --- a/src/icons/stox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/stq.svg b/src/icons/stq.svg deleted file mode 100644 index 99e0d9e..0000000 --- a/src/icons/stq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/strat.svg b/src/icons/strat.svg deleted file mode 100644 index 3c9fb49..0000000 --- a/src/icons/strat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/stx.svg b/src/icons/stx.svg deleted file mode 100644 index 77c5fb7..0000000 --- a/src/icons/stx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sub.svg b/src/icons/sub.svg deleted file mode 100644 index 319f636..0000000 --- a/src/icons/sub.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sumo.svg b/src/icons/sumo.svg deleted file mode 100644 index 72ad985..0000000 --- a/src/icons/sumo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sushi.svg b/src/icons/sushi.svg deleted file mode 100644 index 5ce4ef3..0000000 --- a/src/icons/sushi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/sys.svg b/src/icons/sys.svg deleted file mode 100644 index 88929d8..0000000 --- a/src/icons/sys.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/taas.svg b/src/icons/taas.svg deleted file mode 100644 index f46228a..0000000 --- a/src/icons/taas.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tau.svg b/src/icons/tau.svg deleted file mode 100644 index e657c6d..0000000 --- a/src/icons/tau.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tbx.svg b/src/icons/tbx.svg deleted file mode 100644 index ae7cf0e..0000000 --- a/src/icons/tbx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tel.svg b/src/icons/tel.svg deleted file mode 100644 index d8189ab..0000000 --- a/src/icons/tel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ten.svg b/src/icons/ten.svg deleted file mode 100644 index 6416afd..0000000 --- a/src/icons/ten.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tern.svg b/src/icons/tern.svg deleted file mode 100644 index 9573091..0000000 --- a/src/icons/tern.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tgch.svg b/src/icons/tgch.svg deleted file mode 100644 index a22792a..0000000 --- a/src/icons/tgch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/theta.svg b/src/icons/theta.svg deleted file mode 100644 index e52f548..0000000 --- a/src/icons/theta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tix.svg b/src/icons/tix.svg deleted file mode 100644 index 38d06e0..0000000 --- a/src/icons/tix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tkn.svg b/src/icons/tkn.svg deleted file mode 100644 index 3299fdb..0000000 --- a/src/icons/tkn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tks.svg b/src/icons/tks.svg deleted file mode 100644 index d6bf531..0000000 --- a/src/icons/tks.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tnb.svg b/src/icons/tnb.svg deleted file mode 100644 index dec2550..0000000 --- a/src/icons/tnb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tnc.svg b/src/icons/tnc.svg deleted file mode 100644 index 53017c7..0000000 --- a/src/icons/tnc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tnt.svg b/src/icons/tnt.svg deleted file mode 100644 index 4c7a0e1..0000000 --- a/src/icons/tnt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tomo.svg b/src/icons/tomo.svg deleted file mode 100644 index 64082ad..0000000 --- a/src/icons/tomo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tpay.svg b/src/icons/tpay.svg deleted file mode 100644 index 9bf1010..0000000 --- a/src/icons/tpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/trig.svg b/src/icons/trig.svg deleted file mode 100644 index 3d0ca45..0000000 --- a/src/icons/trig.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/trtl.svg b/src/icons/trtl.svg deleted file mode 100644 index e0153c2..0000000 --- a/src/icons/trtl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/trx.svg b/src/icons/trx.svg deleted file mode 100644 index b0eefde..0000000 --- a/src/icons/trx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tusd.svg b/src/icons/tusd.svg deleted file mode 100644 index 2784d5e..0000000 --- a/src/icons/tusd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/tzc.svg b/src/icons/tzc.svg deleted file mode 100644 index 028e748..0000000 --- a/src/icons/tzc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/ubq.svg b/src/icons/ubq.svg deleted file mode 100644 index 2238eb2..0000000 --- a/src/icons/ubq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/uma.svg b/src/icons/uma.svg deleted file mode 100644 index c8dfed4..0000000 --- a/src/icons/uma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/uni.svg b/src/icons/uni.svg deleted file mode 100644 index 741735b..0000000 --- a/src/icons/uni.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/unity.svg b/src/icons/unity.svg deleted file mode 100644 index 2d3c6db..0000000 --- a/src/icons/unity.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/usd.svg b/src/icons/usd.svg deleted file mode 100644 index 951bf43..0000000 --- a/src/icons/usd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/usdc.svg b/src/icons/usdc.svg deleted file mode 100644 index 53fb801..0000000 --- a/src/icons/usdc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/usdt.svg b/src/icons/usdt.svg deleted file mode 100644 index 38c491c..0000000 --- a/src/icons/usdt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/utk.svg b/src/icons/utk.svg deleted file mode 100644 index 6d6711d..0000000 --- a/src/icons/utk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/veri.svg b/src/icons/veri.svg deleted file mode 100644 index 4ac1ed1..0000000 --- a/src/icons/veri.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vet.svg b/src/icons/vet.svg deleted file mode 100644 index 040000e..0000000 --- a/src/icons/vet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/via.svg b/src/icons/via.svg deleted file mode 100644 index b9e431f..0000000 --- a/src/icons/via.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vib.svg b/src/icons/vib.svg deleted file mode 100644 index e215517..0000000 --- a/src/icons/vib.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vibe.svg b/src/icons/vibe.svg deleted file mode 100644 index 4ee94be..0000000 --- a/src/icons/vibe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vivo.svg b/src/icons/vivo.svg deleted file mode 100644 index f8162dc..0000000 --- a/src/icons/vivo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vrc.svg b/src/icons/vrc.svg deleted file mode 100644 index 23137c8..0000000 --- a/src/icons/vrc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vrsc.svg b/src/icons/vrsc.svg deleted file mode 100644 index b85f526..0000000 --- a/src/icons/vrsc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vtc.svg b/src/icons/vtc.svg deleted file mode 100644 index 9f933a5..0000000 --- a/src/icons/vtc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/vtho.svg b/src/icons/vtho.svg deleted file mode 100644 index e911f7e..0000000 --- a/src/icons/vtho.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wabi.svg b/src/icons/wabi.svg deleted file mode 100644 index f2bc1d7..0000000 --- a/src/icons/wabi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wan.svg b/src/icons/wan.svg deleted file mode 100644 index 0b9cb4c..0000000 --- a/src/icons/wan.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/waves.svg b/src/icons/waves.svg deleted file mode 100644 index d252a21..0000000 --- a/src/icons/waves.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wax.svg b/src/icons/wax.svg deleted file mode 100644 index d474fff..0000000 --- a/src/icons/wax.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wbtc.svg b/src/icons/wbtc.svg deleted file mode 100644 index 12b8cb6..0000000 --- a/src/icons/wbtc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wgr.svg b/src/icons/wgr.svg deleted file mode 100644 index c2c4e52..0000000 --- a/src/icons/wgr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wicc.svg b/src/icons/wicc.svg deleted file mode 100644 index 895c4eb..0000000 --- a/src/icons/wicc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wings.svg b/src/icons/wings.svg deleted file mode 100644 index 352ac46..0000000 --- a/src/icons/wings.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wpr.svg b/src/icons/wpr.svg deleted file mode 100644 index 6882dfe..0000000 --- a/src/icons/wpr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/wtc.svg b/src/icons/wtc.svg deleted file mode 100644 index 1270811..0000000 --- a/src/icons/wtc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/x.svg b/src/icons/x.svg deleted file mode 100644 index 55311c7..0000000 --- a/src/icons/x.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xas.svg b/src/icons/xas.svg deleted file mode 100644 index ffe3aac..0000000 --- a/src/icons/xas.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xbc.svg b/src/icons/xbc.svg deleted file mode 100644 index d4a05c7..0000000 --- a/src/icons/xbc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xbp.svg b/src/icons/xbp.svg deleted file mode 100644 index a87edf0..0000000 --- a/src/icons/xbp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xby.svg b/src/icons/xby.svg deleted file mode 100644 index 9178801..0000000 --- a/src/icons/xby.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xcp.svg b/src/icons/xcp.svg deleted file mode 100644 index 859ea78..0000000 --- a/src/icons/xcp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xdn.svg b/src/icons/xdn.svg deleted file mode 100644 index 548acbc..0000000 --- a/src/icons/xdn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xem.svg b/src/icons/xem.svg deleted file mode 100644 index 612dd0d..0000000 --- a/src/icons/xem.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xin.svg b/src/icons/xin.svg deleted file mode 100644 index 99affd0..0000000 --- a/src/icons/xin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xlm.svg b/src/icons/xlm.svg deleted file mode 100644 index 1d1c2a8..0000000 --- a/src/icons/xlm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xmcc.svg b/src/icons/xmcc.svg deleted file mode 100644 index 15864ee..0000000 --- a/src/icons/xmcc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xmg.svg b/src/icons/xmg.svg deleted file mode 100644 index 3db77dd..0000000 --- a/src/icons/xmg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xmo.svg b/src/icons/xmo.svg deleted file mode 100644 index 0dc6dd2..0000000 --- a/src/icons/xmo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xmr.svg b/src/icons/xmr.svg deleted file mode 100644 index 360a39a..0000000 --- a/src/icons/xmr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xmy.svg b/src/icons/xmy.svg deleted file mode 100644 index ff1145a..0000000 --- a/src/icons/xmy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xp.svg b/src/icons/xp.svg deleted file mode 100644 index fc045bd..0000000 --- a/src/icons/xp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xpa.svg b/src/icons/xpa.svg deleted file mode 100644 index f3c377b..0000000 --- a/src/icons/xpa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xpm.svg b/src/icons/xpm.svg deleted file mode 100644 index 2356f4a..0000000 --- a/src/icons/xpm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xpr.svg b/src/icons/xpr.svg deleted file mode 100644 index ecae1c2..0000000 --- a/src/icons/xpr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xrp.svg b/src/icons/xrp.svg deleted file mode 100644 index 250cbfa..0000000 --- a/src/icons/xrp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xsg.svg b/src/icons/xsg.svg deleted file mode 100644 index 8efffd9..0000000 --- a/src/icons/xsg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xtz.svg b/src/icons/xtz.svg deleted file mode 100644 index 5f9c35b..0000000 --- a/src/icons/xtz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xuc.svg b/src/icons/xuc.svg deleted file mode 100644 index a636153..0000000 --- a/src/icons/xuc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xvc.svg b/src/icons/xvc.svg deleted file mode 100644 index 51b4171..0000000 --- a/src/icons/xvc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xvg.svg b/src/icons/xvg.svg deleted file mode 100644 index 696ecec..0000000 --- a/src/icons/xvg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/xzc.svg b/src/icons/xzc.svg deleted file mode 100644 index 1871d3b..0000000 --- a/src/icons/xzc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/yfi.svg b/src/icons/yfi.svg deleted file mode 100644 index 4c141f3..0000000 --- a/src/icons/yfi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/yoyow.svg b/src/icons/yoyow.svg deleted file mode 100644 index 38f54bb..0000000 --- a/src/icons/yoyow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zcl.svg b/src/icons/zcl.svg deleted file mode 100644 index a523b05..0000000 --- a/src/icons/zcl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zec.svg b/src/icons/zec.svg deleted file mode 100644 index 52ee264..0000000 --- a/src/icons/zec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zel.svg b/src/icons/zel.svg deleted file mode 100644 index 779df08..0000000 --- a/src/icons/zel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zen.svg b/src/icons/zen.svg deleted file mode 100644 index e991483..0000000 --- a/src/icons/zen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zest.svg b/src/icons/zest.svg deleted file mode 100644 index 1e8e5a8..0000000 --- a/src/icons/zest.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zil.svg b/src/icons/zil.svg deleted file mode 100644 index 01e513c..0000000 --- a/src/icons/zil.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zilla.svg b/src/icons/zilla.svg deleted file mode 100644 index 4b1fa30..0000000 --- a/src/icons/zilla.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/zrx.svg b/src/icons/zrx.svg deleted file mode 100644 index 3cdd5a0..0000000 --- a/src/icons/zrx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/index.css b/src/index.css index 6e9e404..2c3fac6 100644 --- a/src/index.css +++ b/src/index.css @@ -1,17 +1,69 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif !important; +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; } -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; } -.bridgeUI{ +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; min-height: 100vh; -} \ No newline at end of file +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/index.tsx b/src/index.tsx deleted file mode 100644 index fe57aea..0000000 --- a/src/index.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; -import { HashRouter } from "react-router-dom"; -import { inject } from '@vercel/analytics'; - -inject(); - -const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); -root.render( - - - - - -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/src/logo.svg b/src/logo.svg deleted file mode 100644 index 9dfc1c0..0000000 --- a/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/mainnetAbi.json b/src/mainnetAbi.json deleted file mode 100644 index 0a29258..0000000 --- a/src/mainnetAbi.json +++ /dev/null @@ -1,6954 +0,0 @@ -{ - "message_proxy_mainnet_address": "0x08913E0DC2BA60A1626655581f701bCa84f42324", - "message_proxy_mainnet_abi": [ - { - "type": "event", - "anonymous": false, - "name": "ExtraContractRegistered", - "inputs": [ - { - "type": "bytes32", - "name": "chainHash", - "indexed": true - }, - { - "type": "address", - "name": "contractAddress", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ExtraContractRemoved", - "inputs": [ - { - "type": "bytes32", - "name": "chainHash", - "indexed": true - }, - { - "type": "address", - "name": "contractAddress", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "GasCostMessageHeaderWasChanged", - "inputs": [ - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "GasCostMessageWasChanged", - "inputs": [ - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "GasLimitWasChanged", - "inputs": [ - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "OutgoingMessage", - "inputs": [ - { - "type": "bytes32", - "name": "dstChainHash", - "indexed": true - }, - { - "type": "uint256", - "name": "msgCounter", - "indexed": true - }, - { - "type": "address", - "name": "srcContract", - "indexed": true - }, - { - "type": "address", - "name": "dstContract", - "indexed": false - }, - { - "type": "bytes", - "name": "data", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "PostMessageError", - "inputs": [ - { - "type": "uint256", - "name": "msgCounter", - "indexed": true - }, - { - "type": "bytes", - "name": "message", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "SchainPaused", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "SchainResumed", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "VersionUpdated", - "inputs": [ - { - "type": "string", - "name": "oldVersion", - "indexed": false - }, - { - "type": "string", - "name": "newVersion", - "indexed": false - } - ] - }, - { - "type": "function", - "name": "CHAIN_CONNECTOR_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "CONSTANT_SETTER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "EXTRA_CONTRACT_REGISTRAR_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "MAINNET_HASH", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "MESSAGES_LENGTH", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "PAUSABLE_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "REVERT_REASON_LENGTH", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addConnectedChain", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "communityPool", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "connectedChains", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "incomingMessageCounter" - }, - { - "type": "uint256", - "name": "outgoingMessageCounter" - }, - { - "type": "bool", - "name": "inited" - } - ] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "gasLimit", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getContractRegisteredLength", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getContractRegisteredRange", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "uint256", - "name": "from" - }, - { - "type": "uint256", - "name": "to" - } - ], - "outputs": [ - { - "type": "address[]", - "name": "contractsInRange" - } - ] - }, - { - "type": "function", - "name": "getIncomingMessagesCounter", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "fromSchainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getOutgoingMessagesCounter", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "targetSchainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "headerMessageGasCost", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initializeMessageProxy", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newGasLimit" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isConnectedChain", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isContractRegistered", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "contractAddress" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isPaused", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageGasCost", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageInProgress", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "pause", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "pauseInfo", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "bool", - "name": "paused" - } - ] - }, - { - "type": "function", - "name": "postIncomingMessages", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "fromSchainName" - }, - { - "type": "uint256", - "name": "startingCounter" - }, - { - "type": "tuple[]", - "name": "messages", - "components": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "address", - "name": "destinationContract" - }, - { - "type": "bytes", - "name": "data" - } - ] - }, - { - "type": "tuple", - "name": "sign", - "components": [ - { - "type": "uint256[2]", - "name": "blsSignature" - }, - { - "type": "uint256", - "name": "hashA" - }, - { - "type": "uint256", - "name": "hashB" - }, - { - "type": "uint256", - "name": "counter" - } - ] - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "postOutgoingMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "targetChainHash" - }, - { - "type": "address", - "name": "targetContract" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "registerExtraContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "extraContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "registerExtraContractForAll", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "extraContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeConnectedChain", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeExtraContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "extraContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeExtraContractForAll", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "extraContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "resume", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setCommunityPool", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newCommunityPoolAddress" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setNewGasLimit", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newGasLimit" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setNewHeaderMessageGasCost", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newHeaderMessageGasCost" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setNewMessageGasCost", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newMessageGasCost" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setVersion", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "newVersion" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "version", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "string", - "name": "" - } - ] - } - ], - "linker_address": "0xd081AC47D26baE9c07320AdB83867da28678959E", - "linker_abi": [ - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "connectSchain", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address[]", - "name": "schainContracts" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "disconnectSchain", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasMainnetContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "mainnetContract" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchain", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "connected" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isNotKilled", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "kill", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "registerMainnetContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newMainnetContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeMainnetContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "mainnetContract" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "statuses", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "uint8", - "name": "" - } - ] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - } - ], - "community_pool_address": "0x4957cF98336C0911E42100C8839dCd65DdDe88C9", - "community_pool_abi": [ - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "MinTransactionGasWasChanged", - "inputs": [ - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "MultiplierWasChanged", - "inputs": [ - { - "type": "uint256", - "name": "oldMultiplierNumerator", - "indexed": false - }, - { - "type": "uint256", - "name": "oldMultiplierDivider", - "indexed": false - }, - { - "type": "uint256", - "name": "newMultiplierNumerator", - "indexed": false - }, - { - "type": "uint256", - "name": "newMultiplierDivider", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "CONSTANT_SETTER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "activeUsers", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "" - }, - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "checkUserBalance", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getBalance", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "user" - }, - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRecommendedRechargeAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linker" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "minTransactionGas", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "multiplierDivider", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "multiplierNumerator", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "rechargeUserWallet", - "constant": false, - "stateMutability": "payable", - "payable": true, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "user" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "refundGasBySchainWallet", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "node" - }, - { - "type": "uint256", - "name": "gas" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "refundGasByUser", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "node" - }, - { - "type": "address", - "name": "user" - }, - { - "type": "uint256", - "name": "gas" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "setMinTransactionGas", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newMinTransactionGas" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setMultiplier", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "newMultiplierNumerator" - }, - { - "type": "uint256", - "name": "newMultiplierDivider" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "withdrawFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - } - ], - "deposit_box_eth_address": "0xD0C9019c517A6CEbb86527fd52F2bDD4Dc6A94Dd", - "deposit_box_eth_abi": [ - { - "type": "event", - "anonymous": false, - "name": "ActiveEthTransfers", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - }, - { - "type": "bool", - "name": "active", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEPOSIT_BOX_MANAGER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "activeEthTransfers", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "approveTransfers", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "deposit", - "constant": false, - "stateMutability": "payable", - "payable": true, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableActiveEthTransfers", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableActiveEthTransfers", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "gasPayer", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getMyEth", - "constant": false, - "payable": false, - "inputs": [], - "outputs": [] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linkerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isWhitelisted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "linker", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "postMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "transferredAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - } - ], - "deposit_box_erc20_address": "0x2F4B31e661955d41bd6ab5530b117758C26C8159", - "deposit_box_erc20_abi": [ - { - "type": "error", - "name": "Empty", - "inputs": [] - }, - { - "type": "error", - "name": "OutOfBounds", - "inputs": [] - }, - { - "type": "event", - "anonymous": false, - "name": "ArbitrageDurationIsChanged", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - }, - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "BigTransferDelayIsChanged", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - }, - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "BigTransferThresholdIsChanged", - "inputs": [ - { - "type": "bytes32", - "name": "schainHash", - "indexed": true - }, - { - "type": "address", - "name": "token", - "indexed": true - }, - { - "type": "uint256", - "name": "oldValue", - "indexed": false - }, - { - "type": "uint256", - "name": "newValue", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ERC20TokenAdded", - "inputs": [ - { - "type": "string", - "name": "schainName", - "indexed": false - }, - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ERC20TokenReady", - "inputs": [ - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - }, - { - "type": "uint256", - "name": "amount", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Escalated", - "inputs": [ - { - "type": "uint256", - "name": "id", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "TransferDelayed", - "inputs": [ - { - "type": "uint256", - "name": "id", - "indexed": false - }, - { - "type": "address", - "name": "receiver", - "indexed": false - }, - { - "type": "address", - "name": "token", - "indexed": false - }, - { - "type": "uint256", - "name": "amount", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "TransferSkipped", - "inputs": [ - { - "type": "uint256", - "name": "id", - "indexed": false - } - ] - }, - { - "type": "function", - "name": "ARBITER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEPOSIT_BOX_MANAGER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addERC20TokenByOwner", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc20OnMainnet" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "delayedTransfers", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "receiver" - }, - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "token" - }, - { - "type": "uint256", - "name": "amount" - }, - { - "type": "uint256", - "name": "untilTimestamp" - }, - { - "type": "uint8", - "name": "status" - } - ] - }, - { - "type": "function", - "name": "delayedTransfersByReceiver", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "" - } - ], - "outputs": [ - { - "type": "int128", - "name": "_begin" - }, - { - "type": "int128", - "name": "_end" - } - ] - }, - { - "type": "function", - "name": "delayedTransfersSize", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "depositERC20", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc20OnMainnet" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "doTransfer", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "token" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "escalate", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "transferId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "gasPayer", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getArbitrageDuration", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getBigTransferThreshold", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "token" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getDelayedAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "receiver" - }, - { - "type": "address", - "name": "token" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "value" - } - ] - }, - { - "type": "function", - "name": "getFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc20OnMainnet" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getNextUnlockTimestamp", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "receiver" - }, - { - "type": "address", - "name": "token" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "unlockTimestamp" - } - ] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC20", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "from" - }, - { - "type": "uint256", - "name": "to" - } - ], - "outputs": [ - { - "type": "address[]", - "name": "tokensInRange" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC20Length", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToERC20", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc20OnMainnet" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getTimeDelay", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getTrustedReceiver", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getTrustedReceiversAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linkerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isReceiverTrusted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isWhitelisted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "linker", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "postMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "rejectTransfer", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "transferId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "retrieve", - "constant": false, - "payable": false, - "inputs": [], - "outputs": [] - }, - { - "type": "function", - "name": "retrieveFor", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "setArbitrageDuration", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "delayInSeconds" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setBigTransferDelay", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "delayInSeconds" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "setBigTransferValue", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "token" - }, - { - "type": "uint256", - "name": "value" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "stopTrustingReceiver", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "transferredAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - }, - { - "type": "address", - "name": "" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "trustReceiver", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "receiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "validateTransfer", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "uint256", - "name": "transferId" - } - ], - "outputs": [] - } - ], - "deposit_box_erc721_address": "0x3B1425c6EfD383BAA53F607DD43e5593c4DeBf8f", - "deposit_box_erc721_abi": [ - { - "type": "event", - "anonymous": false, - "name": "ERC721TokenAdded", - "inputs": [ - { - "type": "string", - "name": "schainName", - "indexed": false - }, - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ERC721TokenReady", - "inputs": [ - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - }, - { - "type": "uint256", - "name": "tokenId", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEPOSIT_BOX_MANAGER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addERC721TokenByOwner", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "depositERC721", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - }, - { - "type": "uint256", - "name": "tokenId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "gasPayer", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256", - "name": "tokenId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC721", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "from" - }, - { - "type": "uint256", - "name": "to" - } - ], - "outputs": [ - { - "type": "address[]", - "name": "tokensInRange" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC721Length", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToERC721", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linkerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isWhitelisted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "linker", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "postMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "transferredAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "" - }, - { - "type": "uint256", - "name": "" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - } - ], - "deposit_box_erc1155_address": "0x29DF2117459Dd2c692A1E86DE90371fBc0E3EC76", - "deposit_box_erc1155_abi": [ - { - "type": "event", - "anonymous": false, - "name": "ERC1155TokenAdded", - "inputs": [ - { - "type": "string", - "name": "schainName", - "indexed": false - }, - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ERC1155TokenReady", - "inputs": [ - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - }, - { - "type": "uint256[]", - "name": "ids", - "indexed": false - }, - { - "type": "uint256[]", - "name": "amounts", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "Initialized", - "inputs": [ - { - "type": "uint8", - "name": "version", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEPOSIT_BOX_MANAGER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addERC1155TokenByOwner", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc1155OnMainnet" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "depositERC1155", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc1155OnMainnet" - }, - { - "type": "uint256", - "name": "id" - }, - { - "type": "uint256", - "name": "amount" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "depositERC1155Batch", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc1155OnMainnet" - }, - { - "type": "uint256[]", - "name": "ids" - }, - { - "type": "uint256[]", - "name": "amounts" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "gasPayer", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc1155OnMainnet" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256[]", - "name": "ids" - }, - { - "type": "uint256[]", - "name": "amounts" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC1155", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "from" - }, - { - "type": "uint256", - "name": "to" - } - ], - "outputs": [ - { - "type": "address[]", - "name": "tokensInRange" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC1155Length", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToERC1155", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc1155OnMainnet" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linkerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isWhitelisted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "linker", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "onERC1155BatchReceived", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "operator" - }, - { - "type": "address", - "name": "" - }, - { - "type": "uint256[]", - "name": "" - }, - { - "type": "uint256[]", - "name": "" - }, - { - "type": "bytes", - "name": "" - } - ], - "outputs": [ - { - "type": "bytes4", - "name": "" - } - ] - }, - { - "type": "function", - "name": "onERC1155Received", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "operator" - }, - { - "type": "address", - "name": "" - }, - { - "type": "uint256", - "name": "" - }, - { - "type": "uint256", - "name": "" - }, - { - "type": "bytes", - "name": "" - } - ], - "outputs": [ - { - "type": "bytes4", - "name": "" - } - ] - }, - { - "type": "function", - "name": "postMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "transferredAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - }, - { - "type": "address", - "name": "" - }, - { - "type": "uint256", - "name": "" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - } - ], - "deposit_box_erc721_with_metadata_address": "0x01dd5b9a147c03336F37b7857248d9CDF27661e8", - "deposit_box_erc721_with_metadata_abi": [ - { - "type": "event", - "anonymous": false, - "name": "ERC721TokenAdded", - "inputs": [ - { - "type": "string", - "name": "schainName", - "indexed": false - }, - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "ERC721TokenReady", - "inputs": [ - { - "type": "address", - "name": "contractOnMainnet", - "indexed": true - }, - { - "type": "uint256", - "name": "tokenId", - "indexed": false - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleAdminChanged", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "bytes32", - "name": "previousAdminRole", - "indexed": true - }, - { - "type": "bytes32", - "name": "newAdminRole", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleGranted", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "event", - "anonymous": false, - "name": "RoleRevoked", - "inputs": [ - { - "type": "bytes32", - "name": "role", - "indexed": true - }, - { - "type": "address", - "name": "account", - "indexed": true - }, - { - "type": "address", - "name": "sender", - "indexed": true - } - ] - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "DEPOSIT_BOX_MANAGER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "LINKER_ROLE", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "addERC721TokenByOwner", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "addSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "contractReceiver" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "contractManagerOfSkaleManager", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "depositERC721", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - }, - { - "type": "uint256", - "name": "tokenId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "disableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "enableWhitelist", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "gasPayer", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getFunds", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - }, - { - "type": "address", - "name": "receiver" - }, - { - "type": "uint256", - "name": "tokenId" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "getRoleAdmin", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMember", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "uint256", - "name": "index" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getRoleMemberCount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC721", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "uint256", - "name": "from" - }, - { - "type": "uint256", - "name": "to" - } - ], - "outputs": [ - { - "type": "address[]", - "name": "tokensInRange" - } - ] - }, - { - "type": "function", - "name": "getSchainToAllERC721Length", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "uint256", - "name": "" - } - ] - }, - { - "type": "function", - "name": "getSchainToERC721", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address", - "name": "erc721OnMainnet" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "grantRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "hasRole", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "hasSchainContract", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "newMessageProxy" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "contractManagerOfSkaleManagerValue" - }, - { - "type": "address", - "name": "linkerValue" - }, - { - "type": "address", - "name": "messageProxyValue" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initialize", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "address", - "name": "newContractManagerOfSkaleManager" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "initializeAllTokensForSchain", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - }, - { - "type": "address[]", - "name": "tokens" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "isAgentAuthorized", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isSchainOwner", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes32", - "name": "schainHash" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "isWhitelisted", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "linker", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "messageProxy", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "postMessage", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "schainHash" - }, - { - "type": "address", - "name": "sender" - }, - { - "type": "bytes", - "name": "data" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "removeSchainContract", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "string", - "name": "schainName" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "renounceRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "revokeRole", - "constant": false, - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "role" - }, - { - "type": "address", - "name": "account" - } - ], - "outputs": [] - }, - { - "type": "function", - "name": "schainLinks", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes32", - "name": "" - } - ], - "outputs": [ - { - "type": "address", - "name": "" - } - ] - }, - { - "type": "function", - "name": "supportsInterface", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "bytes4", - "name": "interfaceId" - } - ], - "outputs": [ - { - "type": "bool", - "name": "" - } - ] - }, - { - "type": "function", - "name": "transferredAmount", - "constant": true, - "stateMutability": "view", - "payable": false, - "inputs": [ - { - "type": "address", - "name": "" - }, - { - "type": "uint256", - "name": "" - } - ], - "outputs": [ - { - "type": "bytes32", - "name": "" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/metadata/addresses/legacy.json b/src/metadata/addresses/legacy.json deleted file mode 100644 index d4bcb35..0000000 --- a/src/metadata/addresses/legacy.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "message_proxy_mainnet_address": "0x20C7946Ace5abE5A1d2B7a8995ff6bAd9AfDfA08", - "linker_address": "0xb8174D91323BB448F190d0410f8B8ADD171fA561", - "community_pool_address": "0x39aA4a762117FA1513516bA119153C4A44B6a54f", - "deposit_box_eth_address": "0x02e03E9Fa67aedfc9234378164CD60B1e3fB2fA3", - "deposit_box_erc20_address": "0x978A111EfD61ccD7983c17fD15b3C8F54E363133", - "deposit_box_erc721_address": "0xa59Cc7611f62bEF09393FdC56B6B446aD9088d1F", - "deposit_box_erc1155_address": "0x645F16eb315cb5F97a6E58116d9684083127CcAB", - "deposit_box_erc721_with_metadata_address": "0x953157b6ad85399bC0Ca629beB2C954CC876E274" -} \ No newline at end of file diff --git a/src/metadata/addresses/mainnet.json b/src/metadata/addresses/mainnet.json deleted file mode 100644 index 28a8e0b..0000000 --- a/src/metadata/addresses/mainnet.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "message_proxy_mainnet_address": "0x8629703a9903515818C2FeB45a6f6fA5df8Da404", - "linker_address": "0x6ef406953bac772C2146389ED37846BA3b6086D1", - "community_pool_address": "0x588801cA36558310D91234aFC2511502282b1621", - "deposit_box_eth_address": "0x49F583d263e4Ef938b9E09772D3394c71605Df94", - "deposit_box_erc20_address": "0x8fB1A35bB6fB9c47Fb5065BE5062cB8dC1687669", - "deposit_box_erc721_address": "0x7343d31eb99Fd31424bcca9f0a7EAFBc1F515f2d", - "deposit_box_erc1155_address": "0x3C02FdEe8E05B6dc4d44a6555b3ff5762D03871a", - "deposit_box_erc721_with_metadata_address": "0x9f8196D864ee9476bF8DBE68aD07cc555d6B7986" -} \ No newline at end of file diff --git a/src/metadata/addresses/regression.json b/src/metadata/addresses/regression.json deleted file mode 100644 index ac5d5fd..0000000 --- a/src/metadata/addresses/regression.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "message_proxy_mainnet_address": "0xd2CF0381DB8966a2f9a0F414a3eF87caa9Bcf038", - "linker_address": "0x605f3aC69916bd744346DFD03aaE79556Cf83Dc2", - "community_pool_address": "0x504A1116a860950D6db8246e4763fc3c76Da5096", - "deposit_box_eth_address": "0x4EBD0E4da411540e1EdDFe6D978457D1f0B1d181", - "deposit_box_erc20_address": "0xe98528D168151aB0dEF9dD419C5e9a65a0FAE138", - "deposit_box_erc721_address": "0x1354EC4138E9f39B02f1e1026D2eddB2edcD5ec6", - "deposit_box_erc1155_address": "0x1B46E1Aac3dfDf578880fb0332522D0Dea52F392", - "deposit_box_erc721_with_metadata_address": "0x915ab36c3D680498e5A9F520e90C8312afB1CfAe" -} \ No newline at end of file diff --git a/src/metadata/addresses/staging.json b/src/metadata/addresses/staging.json deleted file mode 100644 index 8192894..0000000 --- a/src/metadata/addresses/staging.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "message_proxy_mainnet_address": "0x656fb12abab353FB1875a4e3Dc4D70179CB85BA4", - "linker_address": "0xEa870bEF8cc1Ca6871AE960266ea0fDbCF06371d", - "community_pool_address": "0xb2BadB7f28075CB2C8BDBd730204750Db4C03f98", - "deposit_box_eth_address": "0x9910cF6ba22915C5afCe8b682f7c09d1c001FA59", - "deposit_box_erc20_address": "0xb3bf0c62f0924e5C8fdae9815355eA98Fba33C8E", - "deposit_box_erc721_address": "0x98937f91885dcCfF8082623a157296AA161a9917", - "deposit_box_erc1155_address": "0xa0EF1521f56641F9E0E43c46E0F6B20715E454c8", - "deposit_box_erc721_with_metadata_address": "0x4B85DD7d995D6ae445292939d7ebfabD7Cd088dA" -} \ No newline at end of file diff --git a/src/metadata/addresses/staging3.json b/src/metadata/addresses/staging3.json deleted file mode 100644 index ef115e5..0000000 --- a/src/metadata/addresses/staging3.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "message_proxy_mainnet_address": "0x08913E0DC2BA60A1626655581f701bCa84f42324", - "linker_address": "0xd081AC47D26baE9c07320AdB83867da28678959E", - "community_pool_address": "0x4957cF98336C0911E42100C8839dCd65DdDe88C9", - "deposit_box_eth_address": "0xD0C9019c517A6CEbb86527fd52F2bDD4Dc6A94Dd", - "deposit_box_erc20_address": "0x2F4B31e661955d41bd6ab5530b117758C26C8159", - "deposit_box_erc721_address": "0x3B1425c6EfD383BAA53F607DD43e5593c4DeBf8f", - "deposit_box_erc1155_address": "0x29DF2117459Dd2c692A1E86DE90371fBc0E3EC76", - "deposit_box_erc721_with_metadata_address": "0x01dd5b9a147c03336F37b7857248d9CDF27661e8" -} \ No newline at end of file diff --git a/src/metadata/erc1155_abi.json b/src/metadata/erc1155_abi.json deleted file mode 100644 index 08e64b5..0000000 --- a/src/metadata/erc1155_abi.json +++ /dev/null @@ -1 +0,0 @@ -{"abi": [{"type":"constructor","payable":false,"inputs":[{"type":"string","name":"uri"}]},{"type":"event","anonymous":false,"name":"ApprovalForAll","inputs":[{"type":"address","name":"account","indexed":true},{"type":"address","name":"operator","indexed":true},{"type":"bool","name":"approved","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"TransferBatch","inputs":[{"type":"address","name":"operator","indexed":true},{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256[]","name":"ids","indexed":false},{"type":"uint256[]","name":"values","indexed":false}]},{"type":"event","anonymous":false,"name":"TransferSingle","inputs":[{"type":"address","name":"operator","indexed":true},{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"id","indexed":false},{"type":"uint256","name":"value","indexed":false}]},{"type":"event","anonymous":false,"name":"URI","inputs":[{"type":"string","name":"value","indexed":false},{"type":"uint256","name":"id","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MINTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"balanceOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"id"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"balanceOfBatch","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address[]","name":"accounts"},{"type":"uint256[]","name":"ids"}],"outputs":[{"type":"uint256[]","name":""}]},{"type":"function","name":"burn","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"id"},{"type":"uint256","name":"value"}],"outputs":[]},{"type":"function","name":"burnBatch","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"values"}],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isApprovedForAll","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"account"},{"type":"address","name":"operator"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"mint","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"id"},{"type":"uint256","name":"amount"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"mintBatch","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"amounts"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"safeBatchTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"amounts"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"safeTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"id"},{"type":"uint256","name":"amount"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"setApprovalForAll","constant":false,"payable":false,"inputs":[{"type":"address","name":"operator"},{"type":"bool","name":"approved"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"uri","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":""}],"outputs":[{"type":"string","name":""}]}]} \ No newline at end of file diff --git a/src/metadata/erc20_abi.json b/src/metadata/erc20_abi.json deleted file mode 100644 index 0df9175..0000000 --- a/src/metadata/erc20_abi.json +++ /dev/null @@ -1 +0,0 @@ -{"abi": [{"type":"constructor","payable":false,"inputs":[{"type":"string","name":"contractName"},{"type":"string","name":"contractSymbol"}]},{"type":"event","anonymous":false,"name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"spender","indexed":true},{"type":"uint256","name":"value","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"value","indexed":false}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MINTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"allowance","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"spender"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"approve","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"balanceOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"account"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"burn","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"burnFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"decimals","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint8","name":""}]},{"type":"function","name":"decreaseAllowance","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"subtractedValue"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"increaseAllowance","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"addedValue"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"mint","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"value"}],"outputs":[]},{"type":"function","name":"name","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"symbol","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"totalSupply","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"transfer","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]}]} \ No newline at end of file diff --git a/src/metadata/erc20_wrapper_abi.json b/src/metadata/erc20_wrapper_abi.json deleted file mode 100644 index e936b27..0000000 --- a/src/metadata/erc20_wrapper_abi.json +++ /dev/null @@ -1 +0,0 @@ -[{"type":"constructor","payable":false,"inputs":[{"type":"string","name":"contractName"},{"type":"string","name":"contractSymbol"},{"type":"address","name":"originToken"}]},{"type":"event","anonymous":false,"name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"spender","indexed":true},{"type":"uint256","name":"value","indexed":false}]},{"type":"event","anonymous":false,"name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"value","indexed":false}]},{"type":"function","name":"allowance","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"spender"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"approve","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"balanceOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"account"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"decimals","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint8","name":""}]},{"type":"function","name":"decreaseAllowance","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"subtractedValue"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"depositFor","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"increaseAllowance","constant":false,"payable":false,"inputs":[{"type":"address","name":"spender"},{"type":"uint256","name":"addedValue"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"name","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"symbol","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"totalSupply","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"transfer","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"underlying","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"withdrawTo","constant":false,"payable":false,"inputs":[{"type":"address","name":"account"},{"type":"uint256","name":"amount"}],"outputs":[{"type":"bool","name":""}]}] \ No newline at end of file diff --git a/src/metadata/erc721_abi.json b/src/metadata/erc721_abi.json deleted file mode 100644 index a5299b4..0000000 --- a/src/metadata/erc721_abi.json +++ /dev/null @@ -1 +0,0 @@ -{"abi": [{"type":"constructor","payable":false,"inputs":[{"type":"string","name":"contractName"},{"type":"string","name":"contractSymbol"}]},{"type":"event","anonymous":false,"name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"approved","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}]},{"type":"event","anonymous":false,"name":"ApprovalForAll","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"operator","indexed":true},{"type":"bool","name":"approved","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MINTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"approve","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"balanceOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"burn","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"getApproved","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isApprovedForAll","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"operator"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"mint","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"name","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"ownerOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"safeTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"safeTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"},{"type":"bytes","name":"_data"}],"outputs":[]},{"type":"function","name":"setApprovalForAll","constant":false,"payable":false,"inputs":[{"type":"address","name":"operator"},{"type":"bool","name":"approved"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"symbol","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"tokenURI","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"transferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]}]} \ No newline at end of file diff --git a/src/metadata/erc721meta_abi.json b/src/metadata/erc721meta_abi.json deleted file mode 100644 index 945c07a..0000000 --- a/src/metadata/erc721meta_abi.json +++ /dev/null @@ -1 +0,0 @@ -{"abi": {"abi":[{"type":"constructor","payable":false,"inputs":[{"type":"string","name":"contractName"},{"type":"string","name":"contractSymbol"}]},{"type":"event","anonymous":false,"name":"Approval","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"approved","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}]},{"type":"event","anonymous":false,"name":"ApprovalForAll","inputs":[{"type":"address","name":"owner","indexed":true},{"type":"address","name":"operator","indexed":true},{"type":"bool","name":"approved","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"Transfer","inputs":[{"type":"address","name":"from","indexed":true},{"type":"address","name":"to","indexed":true},{"type":"uint256","name":"tokenId","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MINTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"approve","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"balanceOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"burn","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"getApproved","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isApprovedForAll","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"owner"},{"type":"address","name":"operator"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"mint","constant":false,"payable":false,"inputs":[{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"name","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"ownerOf","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"safeTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"safeTransferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"},{"type":"bytes","name":"_data"}],"outputs":[]},{"type":"function","name":"setApprovalForAll","constant":false,"payable":false,"inputs":[{"type":"address","name":"operator"},{"type":"bool","name":"approved"}],"outputs":[]},{"type":"function","name":"setTokenURI","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"tokenId"},{"type":"string","name":"tokenUri"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"symbol","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"tokenURI","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":"tokenId"}],"outputs":[{"type":"string","name":""}]},{"type":"function","name":"transferFrom","constant":false,"payable":false,"inputs":[{"type":"address","name":"from"},{"type":"address","name":"to"},{"type":"uint256","name":"tokenId"}],"outputs":[]}]}} \ No newline at end of file diff --git a/src/metadata/explorer.json b/src/metadata/explorer.json deleted file mode 100644 index b6a64d9..0000000 --- a/src/metadata/explorer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "mainnet": "explorer.mainnet.skalenodes.com", - "staging3": "explorer.staging-v3.skalenodes.com", - "legacy": "explorer.staging-v3.skalenodes.com", - "regression": "regression-explorer.skalenodes.com" -} \ No newline at end of file diff --git a/src/metadata/mainnetAbi.json b/src/metadata/mainnetAbi.json deleted file mode 100644 index d0f0e78..0000000 --- a/src/metadata/mainnetAbi.json +++ /dev/null @@ -1 +0,0 @@ -{"message_proxy_mainnet_address":"0x8629703a9903515818C2FeB45a6f6fA5df8Da404","message_proxy_mainnet_abi":[{"type":"event","anonymous":false,"name":"ExtraContractRegistered","inputs":[{"type":"bytes32","name":"chainHash","indexed":true},{"type":"address","name":"contractAddress","indexed":false}]},{"type":"event","anonymous":false,"name":"ExtraContractRemoved","inputs":[{"type":"bytes32","name":"chainHash","indexed":true},{"type":"address","name":"contractAddress","indexed":false}]},{"type":"event","anonymous":false,"name":"GasCostMessageHeaderWasChanged","inputs":[{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"GasCostMessageWasChanged","inputs":[{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"GasLimitWasChanged","inputs":[{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"OutgoingMessage","inputs":[{"type":"bytes32","name":"dstChainHash","indexed":true},{"type":"uint256","name":"msgCounter","indexed":true},{"type":"address","name":"srcContract","indexed":true},{"type":"address","name":"dstContract","indexed":false},{"type":"bytes","name":"data","indexed":false}]},{"type":"event","anonymous":false,"name":"PostMessageError","inputs":[{"type":"uint256","name":"msgCounter","indexed":true},{"type":"bytes","name":"message","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"SchainPaused","inputs":[{"type":"bytes32","name":"schainHash","indexed":true}]},{"type":"event","anonymous":false,"name":"SchainResumed","inputs":[{"type":"bytes32","name":"schainHash","indexed":true}]},{"type":"event","anonymous":false,"name":"VersionUpdated","inputs":[{"type":"string","name":"oldVersion","indexed":false},{"type":"string","name":"newVersion","indexed":false}]},{"type":"function","name":"CHAIN_CONNECTOR_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"CONSTANT_SETTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"EXTRA_CONTRACT_REGISTRAR_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MAINNET_HASH","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"MESSAGES_LENGTH","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"PAUSABLE_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"REVERT_REASON_LENGTH","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"addConnectedChain","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"communityPool","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"connectedChains","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"uint256","name":"incomingMessageCounter"},{"type":"uint256","name":"outgoingMessageCounter"},{"type":"bool","name":"inited"}]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"gasLimit","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getContractRegisteredLength","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getContractRegisteredRange","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"uint256","name":"from"},{"type":"uint256","name":"to"}],"outputs":[{"type":"address[]","name":"contractsInRange"}]},{"type":"function","name":"getIncomingMessagesCounter","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"fromSchainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getOutgoingMessagesCounter","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"targetSchainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"headerMessageGasCost","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"}],"outputs":[]},{"type":"function","name":"initializeMessageProxy","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newGasLimit"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isConnectedChain","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isContractRegistered","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"contractAddress"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isPaused","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"messageGasCost","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"messageInProgress","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"pause","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"pauseInfo","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"bool","name":"paused"}]},{"type":"function","name":"postIncomingMessages","constant":false,"payable":false,"inputs":[{"type":"string","name":"fromSchainName"},{"type":"uint256","name":"startingCounter"},{"type":"tuple[]","name":"messages","components":[{"type":"address","name":"sender"},{"type":"address","name":"destinationContract"},{"type":"bytes","name":"data"}]},{"type":"tuple","name":"sign","components":[{"type":"uint256[2]","name":"blsSignature"},{"type":"uint256","name":"hashA"},{"type":"uint256","name":"hashB"},{"type":"uint256","name":"counter"}]}],"outputs":[]},{"type":"function","name":"postOutgoingMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"targetChainHash"},{"type":"address","name":"targetContract"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"registerExtraContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"extraContract"}],"outputs":[]},{"type":"function","name":"registerExtraContractForAll","constant":false,"payable":false,"inputs":[{"type":"address","name":"extraContract"}],"outputs":[]},{"type":"function","name":"removeConnectedChain","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"removeExtraContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"extraContract"}],"outputs":[]},{"type":"function","name":"removeExtraContractForAll","constant":false,"payable":false,"inputs":[{"type":"address","name":"extraContract"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"resume","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"setCommunityPool","constant":false,"payable":false,"inputs":[{"type":"address","name":"newCommunityPoolAddress"}],"outputs":[]},{"type":"function","name":"setNewGasLimit","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newGasLimit"}],"outputs":[]},{"type":"function","name":"setNewHeaderMessageGasCost","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newHeaderMessageGasCost"}],"outputs":[]},{"type":"function","name":"setNewMessageGasCost","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newMessageGasCost"}],"outputs":[]},{"type":"function","name":"setVersion","constant":false,"payable":false,"inputs":[{"type":"string","name":"newVersion"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"version","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"string","name":""}]}],"linker_address":"0x6ef406953bac772C2146389ED37846BA3b6086D1","linker_abi":[{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"connectSchain","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address[]","name":"schainContracts"}],"outputs":[]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"disconnectSchain","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasMainnetContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"mainnetContract"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchain","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":"connected"}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isNotKilled","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"kill","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"registerMainnetContract","constant":false,"payable":false,"inputs":[{"type":"address","name":"newMainnetContract"}],"outputs":[]},{"type":"function","name":"removeMainnetContract","constant":false,"payable":false,"inputs":[{"type":"address","name":"mainnetContract"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"statuses","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"uint8","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]}],"community_pool_address":"0x588801cA36558310D91234aFC2511502282b1621","community_pool_abi":[{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"MinTransactionGasWasChanged","inputs":[{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"MultiplierWasChanged","inputs":[{"type":"uint256","name":"oldMultiplierNumerator","indexed":false},{"type":"uint256","name":"oldMultiplierDivider","indexed":false},{"type":"uint256","name":"newMultiplierNumerator","indexed":false},{"type":"uint256","name":"newMultiplierDivider","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"CONSTANT_SETTER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"activeUsers","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":""},{"type":"bytes32","name":""}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"checkUserBalance","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"receiver"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getBalance","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"user"},{"type":"string","name":"schainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getRecommendedRechargeAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"receiver"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linker"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"minTransactionGas","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"multiplierDivider","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"multiplierNumerator","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"rechargeUserWallet","constant":false,"stateMutability":"payable","payable":true,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"user"}],"outputs":[]},{"type":"function","name":"refundGasBySchainWallet","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"node"},{"type":"uint256","name":"gas"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"refundGasByUser","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"node"},{"type":"address","name":"user"},{"type":"uint256","name":"gas"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"setMinTransactionGas","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newMinTransactionGas"}],"outputs":[]},{"type":"function","name":"setMultiplier","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"newMultiplierNumerator"},{"type":"uint256","name":"newMultiplierDivider"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"withdrawFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"amount"}],"outputs":[]}],"deposit_box_eth_address":"0x49F583d263e4Ef938b9E09772D3394c71605Df94","deposit_box_eth_abi":[{"type":"event","anonymous":false,"name":"ActiveEthTransfers","inputs":[{"type":"bytes32","name":"schainHash","indexed":true},{"type":"bool","name":"active","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEPOSIT_BOX_MANAGER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"activeEthTransfers","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"approveTransfers","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":""}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"deposit","constant":false,"stateMutability":"payable","payable":true,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"depositDirect","constant":false,"stateMutability":"payable","payable":true,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"disableActiveEthTransfers","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"disableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"enableActiveEthTransfers","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"enableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"gasPayer","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"receiver"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"getMyEth","constant":false,"payable":false,"inputs":[],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linkerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isWhitelisted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"linker","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"postMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferredAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"uint256","name":""}]}],"deposit_box_erc20_address":"0x8fB1A35bB6fB9c47Fb5065BE5062cB8dC1687669","deposit_box_erc20_abi":[{"type":"error","name":"Empty","inputs":[]},{"type":"error","name":"OutOfBounds","inputs":[]},{"type":"event","anonymous":false,"name":"ArbitrageDurationIsChanged","inputs":[{"type":"bytes32","name":"schainHash","indexed":true},{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"BigTransferDelayIsChanged","inputs":[{"type":"bytes32","name":"schainHash","indexed":true},{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"BigTransferThresholdIsChanged","inputs":[{"type":"bytes32","name":"schainHash","indexed":true},{"type":"address","name":"token","indexed":true},{"type":"uint256","name":"oldValue","indexed":false},{"type":"uint256","name":"newValue","indexed":false}]},{"type":"event","anonymous":false,"name":"ERC20TokenAdded","inputs":[{"type":"string","name":"schainName","indexed":false},{"type":"address","name":"contractOnMainnet","indexed":true}]},{"type":"event","anonymous":false,"name":"ERC20TokenReady","inputs":[{"type":"address","name":"contractOnMainnet","indexed":true},{"type":"uint256","name":"amount","indexed":false}]},{"type":"event","anonymous":false,"name":"Escalated","inputs":[{"type":"uint256","name":"id","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"TransferDelayed","inputs":[{"type":"uint256","name":"id","indexed":false},{"type":"address","name":"receiver","indexed":false},{"type":"address","name":"token","indexed":false},{"type":"uint256","name":"amount","indexed":false}]},{"type":"event","anonymous":false,"name":"TransferSkipped","inputs":[{"type":"uint256","name":"id","indexed":false}]},{"type":"function","name":"ARBITER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEPOSIT_BOX_MANAGER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"addERC20TokenByOwner","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc20OnMainnet"}],"outputs":[]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"delayedTransfers","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"uint256","name":""}],"outputs":[{"type":"address","name":"receiver"},{"type":"bytes32","name":"schainHash"},{"type":"address","name":"token"},{"type":"uint256","name":"amount"},{"type":"uint256","name":"untilTimestamp"},{"type":"uint8","name":"status"}]},{"type":"function","name":"delayedTransfersByReceiver","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":""}],"outputs":[{"type":"int128","name":"_begin"},{"type":"int128","name":"_end"}]},{"type":"function","name":"delayedTransfersSize","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"depositERC20","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc20OnMainnet"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"depositERC20Direct","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc20OnMainnet"},{"type":"uint256","name":"amount"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"disableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"doTransfer","constant":false,"payable":false,"inputs":[{"type":"address","name":"token"},{"type":"address","name":"receiver"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"enableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"escalate","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"transferId"}],"outputs":[]},{"type":"function","name":"gasPayer","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getArbitrageDuration","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getBigTransferThreshold","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"token"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getDelayedAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"receiver"},{"type":"address","name":"token"}],"outputs":[{"type":"uint256","name":"value"}]},{"type":"function","name":"getFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc20OnMainnet"},{"type":"address","name":"receiver"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"getNextUnlockTimestamp","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"receiver"},{"type":"address","name":"token"}],"outputs":[{"type":"uint256","name":"unlockTimestamp"}]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToAllERC20","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"from"},{"type":"uint256","name":"to"}],"outputs":[{"type":"address[]","name":"tokensInRange"}]},{"type":"function","name":"getSchainToAllERC20Length","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToERC20","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc20OnMainnet"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"getTimeDelay","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getTrustedReceiver","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getTrustedReceiversAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linkerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isReceiverTrusted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"receiver"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isWhitelisted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"linker","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"postMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"rejectTransfer","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"transferId"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"retrieve","constant":false,"payable":false,"inputs":[],"outputs":[]},{"type":"function","name":"retrieveFor","constant":false,"payable":false,"inputs":[{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"setArbitrageDuration","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"delayInSeconds"}],"outputs":[]},{"type":"function","name":"setBigTransferDelay","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"delayInSeconds"}],"outputs":[]},{"type":"function","name":"setBigTransferValue","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"token"},{"type":"uint256","name":"value"}],"outputs":[]},{"type":"function","name":"stopTrustingReceiver","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferredAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""},{"type":"address","name":""}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"trustReceiver","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"validateTransfer","constant":false,"payable":false,"inputs":[{"type":"uint256","name":"transferId"}],"outputs":[]}],"deposit_box_erc721_address":"0x7343d31eb99Fd31424bcca9f0a7EAFBc1F515f2d","deposit_box_erc721_abi":[{"type":"event","anonymous":false,"name":"ERC721TokenAdded","inputs":[{"type":"string","name":"schainName","indexed":false},{"type":"address","name":"contractOnMainnet","indexed":true}]},{"type":"event","anonymous":false,"name":"ERC721TokenReady","inputs":[{"type":"address","name":"contractOnMainnet","indexed":true},{"type":"uint256","name":"tokenId","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEPOSIT_BOX_MANAGER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"addERC721TokenByOwner","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"}],"outputs":[]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"depositERC721","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"depositERC721Direct","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"uint256","name":"tokenId"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"disableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"enableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"gasPayer","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"address","name":"receiver"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToAllERC721","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"from"},{"type":"uint256","name":"to"}],"outputs":[{"type":"address[]","name":"tokensInRange"}]},{"type":"function","name":"getSchainToAllERC721Length","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToERC721","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linkerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isWhitelisted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"linker","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"postMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferredAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":""},{"type":"uint256","name":""}],"outputs":[{"type":"bytes32","name":""}]}],"deposit_box_erc1155_address":"0x3C02FdEe8E05B6dc4d44a6555b3ff5762D03871a","deposit_box_erc1155_abi":[{"type":"event","anonymous":false,"name":"ERC1155TokenAdded","inputs":[{"type":"string","name":"schainName","indexed":false},{"type":"address","name":"contractOnMainnet","indexed":true}]},{"type":"event","anonymous":false,"name":"ERC1155TokenReady","inputs":[{"type":"address","name":"contractOnMainnet","indexed":true},{"type":"uint256[]","name":"ids","indexed":false},{"type":"uint256[]","name":"amounts","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEPOSIT_BOX_MANAGER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"addERC1155TokenByOwner","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"}],"outputs":[]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"depositERC1155","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"},{"type":"uint256","name":"id"},{"type":"uint256","name":"amount"}],"outputs":[]},{"type":"function","name":"depositERC1155Batch","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"amounts"}],"outputs":[]},{"type":"function","name":"depositERC1155BatchDirect","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"amounts"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"depositERC1155Direct","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"},{"type":"uint256","name":"id"},{"type":"uint256","name":"amount"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"disableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"enableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"gasPayer","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"},{"type":"address","name":"receiver"},{"type":"uint256[]","name":"ids"},{"type":"uint256[]","name":"amounts"}],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToAllERC1155","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"from"},{"type":"uint256","name":"to"}],"outputs":[{"type":"address[]","name":"tokensInRange"}]},{"type":"function","name":"getSchainToAllERC1155Length","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToERC1155","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc1155OnMainnet"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linkerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isWhitelisted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"linker","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"onERC1155BatchReceived","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"operator"},{"type":"address","name":""},{"type":"uint256[]","name":""},{"type":"uint256[]","name":""},{"type":"bytes","name":""}],"outputs":[{"type":"bytes4","name":""}]},{"type":"function","name":"onERC1155Received","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"operator"},{"type":"address","name":""},{"type":"uint256","name":""},{"type":"uint256","name":""},{"type":"bytes","name":""}],"outputs":[{"type":"bytes4","name":""}]},{"type":"function","name":"postMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferredAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""},{"type":"address","name":""},{"type":"uint256","name":""}],"outputs":[{"type":"uint256","name":""}]}],"deposit_box_erc721_with_metadata_abi":[{"type":"event","anonymous":false,"name":"ERC721TokenAdded","inputs":[{"type":"string","name":"schainName","indexed":false},{"type":"address","name":"contractOnMainnet","indexed":true}]},{"type":"event","anonymous":false,"name":"ERC721TokenReady","inputs":[{"type":"address","name":"contractOnMainnet","indexed":true},{"type":"uint256","name":"tokenId","indexed":false}]},{"type":"event","anonymous":false,"name":"Initialized","inputs":[{"type":"uint8","name":"version","indexed":false}]},{"type":"event","anonymous":false,"name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"bytes32","name":"previousAdminRole","indexed":true},{"type":"bytes32","name":"newAdminRole","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"event","anonymous":false,"name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","indexed":true},{"type":"address","name":"account","indexed":true},{"type":"address","name":"sender","indexed":true}]},{"type":"function","name":"DEFAULT_ADMIN_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"DEPOSIT_BOX_MANAGER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"LINKER_ROLE","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"addERC721TokenByOwner","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"}],"outputs":[]},{"type":"function","name":"addSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"contractReceiver"}],"outputs":[]},{"type":"function","name":"contractManagerOfSkaleManager","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"depositERC721","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"depositERC721Direct","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"uint256","name":"tokenId"},{"type":"address","name":"receiver"}],"outputs":[]},{"type":"function","name":"disableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"enableWhitelist","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"gasPayer","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getFunds","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"},{"type":"address","name":"receiver"},{"type":"uint256","name":"tokenId"}],"outputs":[]},{"type":"function","name":"getRoleAdmin","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"bytes32","name":""}]},{"type":"function","name":"getRoleMember","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"uint256","name":"index"}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"getRoleMemberCount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToAllERC721","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"uint256","name":"from"},{"type":"uint256","name":"to"}],"outputs":[{"type":"address[]","name":"tokensInRange"}]},{"type":"function","name":"getSchainToAllERC721Length","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"uint256","name":""}]},{"type":"function","name":"getSchainToERC721","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"},{"type":"address","name":"erc721OnMainnet"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"grantRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"hasRole","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"hasSchainContract","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"newMessageProxy"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"contractManagerOfSkaleManagerValue"},{"type":"address","name":"linkerValue"},{"type":"address","name":"messageProxyValue"}],"outputs":[]},{"type":"function","name":"initialize","constant":false,"payable":false,"inputs":[{"type":"address","name":"newContractManagerOfSkaleManager"}],"outputs":[]},{"type":"function","name":"isAgentAuthorized","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isSchainOwner","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":"sender"},{"type":"bytes32","name":"schainHash"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"isWhitelisted","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"linker","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"messageProxy","constant":true,"stateMutability":"view","payable":false,"inputs":[],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"postMessage","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"schainHash"},{"type":"address","name":"sender"},{"type":"bytes","name":"data"}],"outputs":[]},{"type":"function","name":"removeSchainContract","constant":false,"payable":false,"inputs":[{"type":"string","name":"schainName"}],"outputs":[]},{"type":"function","name":"renounceRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"revokeRole","constant":false,"payable":false,"inputs":[{"type":"bytes32","name":"role"},{"type":"address","name":"account"}],"outputs":[]},{"type":"function","name":"schainLinks","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes32","name":""}],"outputs":[{"type":"address","name":""}]},{"type":"function","name":"supportsInterface","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"bytes4","name":"interfaceId"}],"outputs":[{"type":"bool","name":""}]},{"type":"function","name":"transferredAmount","constant":true,"stateMutability":"view","payable":false,"inputs":[{"type":"address","name":""},{"type":"uint256","name":""}],"outputs":[{"type":"bytes32","name":""}]}],"deposit_box_erc721_with_metadata_address":"0x9f8196D864ee9476bF8DBE68aD07cc555d6B7986"} \ No newline at end of file diff --git a/src/metadata/proxy.json b/src/metadata/proxy.json deleted file mode 100644 index d574d4d..0000000 --- a/src/metadata/proxy.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "mainnet": "https://mainnet.skalenodes.com", - "staging": "https://staging-v2.skalenodes.com", - "staging3": "https://staging-v3.skalenodes.com", - "legacy": "https://legacy-proxy.skalenodes.com", - "regression": "http://regression-proxy.skalenodes.com", - "qatestnet": "https://new-testnet-proxy.skalenodes.com" -} \ No newline at end of file diff --git a/src/metadata/schainAbi.json b/src/metadata/schainAbi.json deleted file mode 100644 index 9e18540..0000000 --- a/src/metadata/schainAbi.json +++ /dev/null @@ -1 +0,0 @@ -{"ERC1155OnChain_abi":[{"inputs":[{"internalType":"string","name":"uri","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"burnBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"ERC20OnChain_abi":[{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"string","name":"contractSymbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"ERC721OnChain_abi":[{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"string","name":"contractSymbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"name":"setTokenURI","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}],"community_locker_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"schainHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"ActivateUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"constantHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"previousValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"ConstantUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"schainHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"LockUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"CONSTANT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"activeUsers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"checkAllowedToSendMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"communityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gasPriceTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newTokenManagerLinker","type":"address"},{"internalType":"address","name":"newCommunityPool","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastMessageTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainnetGasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"components":[{"internalType":"uint256[2]","name":"blsSignature","type":"uint256[2]"},{"internalType":"uint256","name":"hashA","type":"uint256"},{"internalType":"uint256","name":"hashB","type":"uint256"},{"internalType":"uint256","name":"counter","type":"uint256"}],"internalType":"struct IMessageProxy.Signature","name":"","type":"tuple"}],"name":"setGasPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTimeLimitPerMessage","type":"uint256"}],"name":"setTimeLimitPerMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeLimitPerMessage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"community_locker_address":"0xD2aaa00300000000000000000000000000000000","eth_erc20_abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BURNER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"forceBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenManagerEthAddress","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"eth_erc20_address":"0xD2Aaa00700000000000000000000000000000000","key_storage_abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FN_NUM_GET_CONFIG_VARIABLE_UINT256","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FN_NUM_GET_CURRENT_BLS_PUBLIC_KEY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FREE_MEM_PTR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlsCommonPublicKey","outputs":[{"components":[{"components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"internalType":"struct IFieldOperations.Fp2Point","name":"x","type":"tuple"},{"components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"internalType":"struct IFieldOperations.Fp2Point","name":"y","type":"tuple"}],"internalType":"struct IFieldOperations.G2Point","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"key_storage_address":"0xd2aaa00200000000000000000000000000000000","message_proxy_chain_abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"contractAddress","type":"address"}],"name":"ExtraContractRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":false,"internalType":"address","name":"contractAddress","type":"address"}],"name":"ExtraContractRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"GasLimitWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"dstChainHash","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"msgCounter","type":"uint256"},{"indexed":true,"internalType":"address","name":"srcContract","type":"address"},{"indexed":false,"internalType":"address","name":"dstContract","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"OutgoingMessage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"msgCounter","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"message","type":"bytes"}],"name":"PostMessageError","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"oldVersion","type":"string"},{"indexed":false,"internalType":"string","name":"newVersion","type":"string"}],"name":"VersionUpdated","type":"event"},{"inputs":[],"name":"CHAIN_CONNECTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONSTANT_SETTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ETHERBASE","outputs":[{"internalType":"contract IEtherbaseUpgradeable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXTRA_CONTRACT_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MESSAGES_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_BALANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REVERT_REASON_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"chainName","type":"string"}],"name":"addConnectedChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"connectedChains","outputs":[{"internalType":"uint256","name":"incomingMessageCounter","type":"uint256"},{"internalType":"uint256","name":"outgoingMessageCounter","type":"uint256"},{"internalType":"bool","name":"inited","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gasLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"schainHash","type":"bytes32"}],"name":"getContractRegisteredLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"schainHash","type":"bytes32"},{"internalType":"uint256","name":"from","type":"uint256"},{"internalType":"uint256","name":"to","type":"uint256"}],"name":"getContractRegisteredRange","outputs":[{"internalType":"address[]","name":"contractsInRange","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fromSchainName","type":"string"}],"name":"getIncomingMessagesCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"}],"name":"getOutgoingMessagesCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IKeyStorage","name":"blsKeyStorage","type":"address"},{"internalType":"string","name":"schainName","type":"string"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"internalType":"address[]","name":"contracts","type":"address[]"}],"name":"initializeAllRegisteredContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGasLimit","type":"uint256"}],"name":"initializeMessageProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"isConnectedChain","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"schainHash","type":"bytes32"},{"internalType":"address","name":"contractAddress","type":"address"}],"name":"isContractRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"keyStorage","outputs":[{"internalType":"contract IKeyStorage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"fromChainName","type":"string"},{"internalType":"uint256","name":"startingCounter","type":"uint256"},{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"destinationContract","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IMessageProxy.Message[]","name":"messages","type":"tuple[]"},{"components":[{"internalType":"uint256[2]","name":"blsSignature","type":"uint256[2]"},{"internalType":"uint256","name":"hashA","type":"uint256"},{"internalType":"uint256","name":"hashB","type":"uint256"},{"internalType":"uint256","name":"counter","type":"uint256"}],"internalType":"struct IMessageProxy.Signature","name":"signature","type":"tuple"}],"name":"postIncomingMessages","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"targetChainHash","type":"bytes32"},{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postOutgoingMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainName","type":"string"},{"internalType":"address","name":"extraContract","type":"address"}],"name":"registerExtraContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"extraContract","type":"address"}],"name":"registerExtraContractForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainName","type":"string"}],"name":"removeConnectedChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"chainName","type":"string"},{"internalType":"address","name":"extraContract","type":"address"}],"name":"removeExtraContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"extraContract","type":"address"}],"name":"removeExtraContractForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newGasLimit","type":"uint256"}],"name":"setNewGasLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newVersion","type":"string"}],"name":"setVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"dstChainHash","type":"bytes32"},{"internalType":"uint256","name":"msgCounter","type":"uint256"},{"internalType":"address","name":"srcContract","type":"address"},{"internalType":"address","name":"dstContract","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IMessageProxyForSchain.OutgoingMessageData","name":"message","type":"tuple"}],"name":"verifyOutgoingMessageData","outputs":[{"internalType":"bool","name":"isValidMessage","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hashedMessage","type":"bytes32"},{"components":[{"internalType":"uint256[2]","name":"blsSignature","type":"uint256[2]"},{"internalType":"uint256","name":"hashA","type":"uint256"},{"internalType":"uint256","name":"hashB","type":"uint256"},{"internalType":"uint256","name":"counter","type":"uint256"}],"internalType":"struct IMessageProxy.Signature","name":"signature","type":"tuple"}],"name":"verifySignature","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}],"message_proxy_chain_address":"0xd2AAa00100000000000000000000000000000000","proxy_admin_abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeProxyAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"}],"name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"}],"name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract TransparentUpgradeableProxy","name":"proxy","type":"address"},{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeAndCall","outputs":[],"stateMutability":"payable","type":"function"}],"proxy_admin_address":"0xd2aAa00000000000000000000000000000000000","token_manager_erc1155_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValue","type":"address"},{"indexed":false,"internalType":"address","name":"newValue","type":"address"}],"name":"DepositBoxWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc1155OnMainnet","type":"address"},{"indexed":true,"internalType":"address","name":"erc1155OnSchain","type":"address"}],"name":"ERC1155TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc1155OnMainnet","type":"address"},{"indexed":true,"internalType":"address","name":"erc1155OnSchain","type":"address"}],"name":"ERC1155TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"contractOnMainnet","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"ERC1155TokenReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc1155OnMainnet","type":"address"},{"indexed":true,"internalType":"address","name":"erc1155OnSchain","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"ERC1155TokenReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"AUTOMATIC_DEPLOY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetChainName","type":"string"},{"internalType":"address","name":"erc1155OnMainnet","type":"address"},{"internalType":"address","name":"erc1155OnSchain","type":"address"}],"name":"addERC1155TokenByOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"},{"internalType":"address","name":"newTokenManager","type":"address"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC1155OnChain","name":"","type":"address"}],"name":"addedClones","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"automaticDeploy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"changeDepositBoxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"clonesErc1155","outputs":[{"internalType":"contract ERC1155OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityLocker","outputs":[{"internalType":"contract ICommunityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deprecatedClonesErc1155","outputs":[{"internalType":"contract ERC1155OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"exitToMainERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"exitToMainERC1155Batch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newChainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"contracts","type":"address[]"}],"name":"initializeAllClonesERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initializeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"tokenManagers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"},{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToSchainERC1155","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"},{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"transferToSchainERC1155Batch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transferredAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"token_manager_erc1155_address":"0xD2aaA00900000000000000000000000000000000","token_manager_erc20_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValue","type":"address"},{"indexed":false,"internalType":"address","name":"newValue","type":"address"}],"name":"DepositBoxWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc20OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc20OnSchain","type":"address"}],"name":"ERC20TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc20OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc20OnSchain","type":"address"}],"name":"ERC20TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"contractOnMainnet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20TokenReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc20OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc20OnSchain","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20TokenReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"AUTOMATIC_DEPLOY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetChainName","type":"string"},{"internalType":"address","name":"erc20OnMainChain","type":"address"},{"internalType":"address","name":"erc20OnSchain","type":"address"}],"name":"addERC20TokenByOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"},{"internalType":"address","name":"newTokenManager","type":"address"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20OnChain","name":"","type":"address"}],"name":"addedClones","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"automaticDeploy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"changeDepositBoxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"clonesErc20","outputs":[{"internalType":"contract ERC20OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityLocker","outputs":[{"internalType":"contract ICommunityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deprecatedClonesErc20","outputs":[{"internalType":"contract ERC20OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"exitToMainERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newChainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"contracts","type":"address[]"}],"name":"initializeAllClonesERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initializeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"tokenManagers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20Upgradeable","name":"","type":"address"}],"name":"totalSupplyOnMainnet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"},{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferToSchainERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"transferredAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"token_manager_erc20_address":"0xD2aAA00500000000000000000000000000000000","token_manager_erc721_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValue","type":"address"},{"indexed":false,"internalType":"address","name":"newValue","type":"address"}],"name":"DepositBoxWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"ERC721TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"ERC721TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"contractOnMainnet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721TokenReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721TokenReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"AUTOMATIC_DEPLOY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetChainName","type":"string"},{"internalType":"address","name":"erc721OnMainChain","type":"address"},{"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"addERC721TokenByOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"},{"internalType":"address","name":"newTokenManager","type":"address"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"name":"addedClones","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"automaticDeploy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"changeDepositBoxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"clonesErc721","outputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityLocker","outputs":[{"internalType":"contract ICommunityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deprecatedClonesErc721","outputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exitToMainERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newChainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"contracts","type":"address[]"}],"name":"initializeAllClonesERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initializeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"tokenManagers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"},{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferToSchainERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transferredAmount","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"token_manager_erc721_address":"0xD2aaa00600000000000000000000000000000000","token_manager_erc721_with_metadata_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValue","type":"address"},{"indexed":false,"internalType":"address","name":"newValue","type":"address"}],"name":"DepositBoxWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"ERC721TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"ERC721TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"contractOnMainnet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721TokenReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"erc721OnMainChain","type":"address"},{"indexed":true,"internalType":"address","name":"erc721OnSchain","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721TokenReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"AUTOMATIC_DEPLOY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetChainName","type":"string"},{"internalType":"address","name":"erc721OnMainChain","type":"address"},{"internalType":"address","name":"erc721OnSchain","type":"address"}],"name":"addERC721TokenByOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"},{"internalType":"address","name":"newTokenManager","type":"address"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"name":"addedClones","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"automaticDeploy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"changeDepositBoxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"clonesErc721","outputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"communityLocker","outputs":[{"internalType":"contract ICommunityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deprecatedClonesErc721","outputs":[{"internalType":"contract ERC721OnChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"exitToMainERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newChainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"contracts","type":"address[]"}],"name":"initializeAllClonesERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initializeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"tokenManagers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"targetSchainName","type":"string"},{"internalType":"address","name":"contractOnMainnet","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferToSchainERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transferredAmount","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"token_manager_erc721_with_metadata_address":"0xd2AaA00a00000000000000000000000000000000","token_manager_eth_abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldValue","type":"address"},{"indexed":false,"internalType":"address","name":"newValue","type":"address"}],"name":"DepositBoxWasChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"AUTOMATIC_DEPLOY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"},{"internalType":"address","name":"newTokenManager","type":"address"}],"name":"addTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"automaticDeploy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"changeDepositBoxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"communityLocker","outputs":[{"internalType":"contract ICommunityLocker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositBox","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutomaticDeploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ethErc20","outputs":[{"internalType":"contract IEthErc20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"exitToMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newChainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"},{"internalType":"contract IEthErc20","name":"ethErc20Address","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newSchainName","type":"string"},{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxy","type":"address"},{"internalType":"contract ITokenManagerLinker","name":"newIMALinker","type":"address"},{"internalType":"contract ICommunityLocker","name":"newCommunityLocker","type":"address"},{"internalType":"address","name":"newDepositBox","type":"address"}],"name":"initializeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChainHash","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"postMessage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"schainHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IEthErc20","name":"newEthErc20Address","type":"address"}],"name":"setEthErc20Address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenManagerLinker","outputs":[{"internalType":"contract ITokenManagerLinker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"tokenManagers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"token_manager_eth_address":"0xd2AaA00400000000000000000000000000000000","token_manager_linker_abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REGISTRAR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"connectSchain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"disconnectSchain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"schainName","type":"string"}],"name":"hasSchain","outputs":[{"internalType":"bool","name":"connected","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ITokenManager","name":"tokenManager","type":"address"}],"name":"hasTokenManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IMessageProxyForSchain","name":"newMessageProxyAddress","type":"address"},{"internalType":"address","name":"linker","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"linkerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"messageProxy","outputs":[{"internalType":"contract IMessageProxyForSchain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ITokenManager","name":"newTokenManager","type":"address"}],"name":"registerTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ITokenManager","name":"tokenManagerAddress","type":"address"}],"name":"removeTokenManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenManagers","outputs":[{"internalType":"contract ITokenManager","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"token_manager_linker_address":"0xD2aAA00800000000000000000000000000000000"} \ No newline at end of file diff --git a/src/metamask.png b/src/metamask.png deleted file mode 100644 index b2c82ce8f03dd5b0b2cd8988f01cc31a9d97b18c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35483 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

us|EMxbM$U zZ{dejt@?Ma1S1zC6TuYu=sN~V#RoJ@5I9cb@<>Hb|1TiC{L$Lu*wk-^&TzftzmxU@t?}5y0%9* zS7QD8Fpv#)VDdQ_$!Gm9#k}lt0{%IWvrQ_D&OQVR!3g=?`b@pEjw+dR@Zj~LB*9!W zq!XKIoLzR=&R&gc-@_6Aob>rxkhMPNH`c!xy3x>(l6SWfy^M$M+`A{oJ7>ri^RFP;|qGx-wwNphh>GMt^vKDSWoo1{8;w zVW+JnxcA}Cd#45eLLCmhek9IO0}Qipss4(~z#x{B$aAK6F{+OPMV)6w##>-!DYgBF zFj^Y_r?zWP(BY{lzRqokU#$t5%54Z|$AF2s_Q+?$P%#anVoE)!i| z(@I_`ntLR9Sv`f8=F(Wavar-#_I~>#-t(Lv&-0w;ob#OLe4g_>=X`vTngaCmTwHTi z3J2juc-&ix-RBuhd?quvRdR)8HR-8PFSqL%mewZvOUotc(}M`{HrBCVJ0b8$8gCH-OqT0A)D?17m?u8}CQlcx!Z`-a zuMuer?FZHrcH_kbJF{;_%|lk#Z9AGfNBtYdNeV!gcF(kH;Mj5V-{r?oPBrWg(zI$y zaA>@e6sw{&+566b%^AoognjCYv4nUA_Vq;f*%ceZ`x(xZZ^0|!v%M9kcn3ZOi868g zi_86F=%!8m9mE|)*z#!F_3qI0a_u>P<(1L(*o7NK3D_}7Biic(`KL8?&w^U1MOF^e zyzV@yQP0n>dOrDq>QVD>|5U`ph!WRy_lL7r%@Slztn#g@wETo=0{wxG`=MoSf{zz# z+_!LvTlsCv1No}&O)62swb%ncw+Yu}sYpDBLbqq+k&?q2q4p4_LCYJC@D}>mnPG1^ zBhg&is!RS~-61}uj(yar+Ay6|`j?_v#gzg#@p~T9&=b`#9I#UrfjFJ|HANGvobeC& z@3>jztNM$_6T6suu)h}2nba{Abs2X?p@Z(I43iW#=TEv^RmK+=J69_meJsvE6RqDC z0G5}fDe|zU2>oTl7PfS32l1HnHV>lteDE6hJKMw6^PzF5p>FiR-ePy_VJFuSP9=yK zW|E8#z0#651i)S4Qa0e=xAcdjRwZzsWbxUE^!vba5&SE^cI@5e9jL7$^9sq+{IZ)QnWM zru*pjh}LPv!R(&~Ml#c7wjlP?XjVYNybxf2$yB#m!SzAoJrzS8(>0=IeluNlj1UEWc`g6|W;ic{c8AYcWjear=$zng<6!@AX z?X%ugtdWbX1+Ga^24Rs<$y!Y^@ANOv8lY!;()OooHsPDbRJpUY_ox%lnf35l;>Lx777QFGQVJiI3)@CYPao2JBfbQgc0$dg zT3ESd0+Ss}2LVYS&c`urOmalrf;PvAwt~jhDj(n7iNU0Ct>EW7QOGD?@FIUdJ!v7k zR5X@n7rb_;qz?hBbXIAB6FLi5$K#4`n>osh_Q{@uE1|iuWV5_6dl$J$y*DdI@X%H` zA^&9#4JB6+oV1ar!C4@vxAkFrP%}tzM}?^zqQYBY+JhBx0RAPC<}LGWFSOGHoNcp^ z*OGDg>#V~fuTJPI9o8y^n8OZgnk?hDV$5(N2$&+8i+@O*cxToZLuk4>wme7I75O}L zi#yOWfy&q(|t7|-AVZuaMK_cQK&ZJ$pD`0~TDA{6$)nS%Zyb>kNdD7E{baL$AM z^e%6~T9L+Ar|*K~CLRu&UtogKkxPTAT xpG~pc1gWL{Ha@>F;z&H3-ArIK`2VPbucQjDrW8|&kA)uqio1)KGutVY_8(Kf@H7Ab diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts deleted file mode 100644 index 4d9c02d..0000000 --- a/src/react-app-env.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// - -interface Window { - ethereum: any - zE: any -} - -declare module "*.json" { - const value: any; - export default value; -} \ No newline at end of file diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/src/searchSuggestions.json b/src/searchSuggestions.json deleted file mode 100644 index bf64853..0000000 --- a/src/searchSuggestions.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "search": "calypso", - "label": "Apps on Calypso Hub" - }, - { - "search": "game", - "label": "Games" - }, - { - "search": "europa", - "label": "Apps on Europa Hub" - }, - { - "search": "mainnet", - "label": "Mainnet" - } -] \ No newline at end of file diff --git a/src/setupTests.js b/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/src/skaleShort.svg b/src/skaleShort.svg deleted file mode 100644 index 749cc67..0000000 --- a/src/skaleShort.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..bb559e1 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,6 @@ +/// + +interface Window { + ethereum: any + zE: any +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index b6b34e1..a7fc6fb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,33 +1,25 @@ { "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx", - "types": [ - "node", - "webpack-env", // here - "react/next", - "react-dom/next", - "mdx" - ] + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true }, - "include": [ - "src" - ] -} \ No newline at end of file + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..ba0e506 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import mdx from "@mdx-js/rollup" + + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react(), mdx()] + // assetsInclude: ["**/*.mdx"] +}) diff --git a/yarn.lock b/yarn.lock index d758ca4..96aba7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,1320 +2,499 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@adraffy/ens-normalize@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" + integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== + +"@adraffy/ens-normalize@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" + integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@apideck/better-ajv-errors@^0.3.1": - version "0.3.6" - resolved "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" - integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== - dependencies: - json-schema "^0.4.0" - jsonpointer "^5.0.0" - leven "^3.1.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.20.10" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz" - integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== - -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz" - integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.7" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3" + integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== + dependencies: + "@babel/highlight" "^7.22.10" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.22.9" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" + integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== + +"@babel/core@^7.22.9": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" + integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-compilation-targets" "^7.22.10" + "@babel/helper-module-transforms" "^7.22.9" + "@babel/helpers" "^7.22.10" + "@babel/parser" "^7.22.10" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/eslint-parser@^7.16.3": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz" - integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" + json5 "^2.2.2" + semver "^6.3.1" -"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz" - integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== +"@babel/generator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722" + integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== dependencies: - "@babel/types" "^7.20.7" + "@babel/types" "^7.22.10" "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== +"@babel/helper-compilation-targets@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024" + integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.5" + browserslist "^4.21.9" lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz" - integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz" - integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.2.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz" - integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== - dependencies: - "@babel/types" "^7.20.7" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/helpers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz" - integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.22.9": + version "7.22.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129" + integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/helper-plugin-utils@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helpers@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.10.tgz#ae6005c539dfbcb5cd71fb51bfc8a52ba63bc37a" + integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.10" + "@babel/types" "^7.22.10" + +"@babel/highlight@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" + integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz" - integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz" - integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.16.4": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz" - integrity sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.19.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz" - integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz" - integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz" - integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz" - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz" - integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz" - integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" - -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz" - integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz" - integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-flow" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz" - integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" - -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz" - integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz" - integrity sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" - -"@babel/plugin-transform-react-jsx@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz" - integrity sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.20.7" - -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.20.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-runtime@^7.16.4": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz" - integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typescript@^7.18.6": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz" - integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-typescript" "^7.20.0" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" - -"@babel/preset-typescript@^7.16.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" - -"@babel/runtime-corejs3@^7.10.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz" - integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz" - integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.20.13": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" - integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": - version "7.20.10" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz" - integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" +"@babel/parser@^7.22.10", "@babel/parser@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" + integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== + +"@babel/plugin-transform-react-jsx-self@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" + integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-source@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" + integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" + integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa" + integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== + dependencies: + "@babel/code-frame" "^7.22.10" + "@babel/generator" "^7.22.10" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.22.10" + "@babel/types" "^7.22.10" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== +"@babel/types@^7.22.10", "@babel/types@^7.22.5": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03" + integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@csstools/normalize.css@*": - version "12.0.0" - resolved "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz" - integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== - -"@csstools/postcss-cascade-layers@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz" - integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^2.0.7": - version "2.0.7" - resolved "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-nested-calc@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz" - integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-stepped-value-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-text-decoration-shorthand@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz" - integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz" - integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== +"@coinbase/wallet-sdk@^3.6.6": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541" + integrity sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg== dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== - -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== - -"@emotion/babel-plugin@^11.10.5": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz" - integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== + "@metamask/safe-event-emitter" "2.0.0" + "@solana/web3.js" "^1.70.1" + bind-decorator "^1.0.11" + bn.js "^5.1.1" + buffer "^6.0.3" + clsx "^1.1.0" + eth-block-tracker "6.1.0" + eth-json-rpc-filters "5.1.0" + eth-rpc-errors "4.0.2" + json-rpc-engine "6.1.0" + keccak "^3.0.1" + preact "^10.5.9" + qs "^6.10.3" + rxjs "^6.6.3" + sha.js "^2.4.11" + stream-browserify "^3.0.0" + util "^0.12.4" + +"@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" + integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== dependencies: "@babel/helper-module-imports" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.17.12" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/serialize" "^1.1.1" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/serialize" "^1.1.2" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" find-root "^1.1.0" source-map "^0.5.7" - stylis "4.1.3" + stylis "4.2.0" -"@emotion/cache@^11.10.5": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz" - integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== dependencies: - "@emotion/memoize" "^0.8.0" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - stylis "4.1.3" + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== -"@emotion/hash@^0.9.0": - version "0.9.0" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz" - integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== +"@emotion/hash@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== -"@emotion/is-prop-valid@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz" - integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== +"@emotion/is-prop-valid@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" + integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== dependencies: - "@emotion/memoize" "^0.8.0" + "@emotion/memoize" "^0.8.1" -"@emotion/memoize@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" - integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/react@^11.10.5": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz" - integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== +"@emotion/react@^11.9.0": + version "11.11.1" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" + integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/cache" "^11.11.0" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz" - integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== +"@emotion/serialize@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.2.tgz#017a6e4c9b8a803bd576ff3d52a0ea6fa5a62b51" + integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA== dependencies: - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/unitless" "^0.8.0" - "@emotion/utils" "^1.2.0" + "@emotion/hash" "^0.9.1" + "@emotion/memoize" "^0.8.1" + "@emotion/unitless" "^0.8.1" + "@emotion/utils" "^1.2.1" csstype "^3.0.2" -"@emotion/sheet@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz" - integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== -"@emotion/styled@^11.10.5": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz" - integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== +"@emotion/styled@^11.8.1": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" + integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/is-prop-valid" "^1.2.0" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" + "@emotion/babel-plugin" "^11.11.0" + "@emotion/is-prop-valid" "^1.2.1" + "@emotion/serialize" "^1.1.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" + "@emotion/utils" "^1.2.1" -"@emotion/unitless@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz" - integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== +"@emotion/unitless@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" + integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz" - integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== -"@emotion/utils@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz" - integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" -"@emotion/weak-memoize@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz" - integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" + integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/eslintrc@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz" - integrity sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A== +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" + espree "^9.6.0" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -1323,40 +502,28 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@ethereumjs/common@^2.5.0": - version "2.5.0" - resolved "https://registry.npmjs.org/@ethereumjs/common/-/common-2.5.0.tgz" - integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.1" +"@eslint/js@^8.47.0": + version "8.47.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" + integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== -"@ethereumjs/tx@^3.3.2": - version "3.3.2" - resolved "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.3.2.tgz" - integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== - dependencies: - "@ethereumjs/common" "^2.5.0" - ethereumjs-util "^7.1.2" +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== -"@ethersproject/abi@^5.6.3": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== 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" + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" + 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" @@ -1369,7 +536,7 @@ "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" + 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" @@ -1380,7 +547,7 @@ "@ethersproject/address@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== dependencies: "@ethersproject/bignumber" "^5.7.0" @@ -1391,7 +558,7 @@ "@ethersproject/base64@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" + 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" @@ -1406,7 +573,7 @@ "@ethersproject/bignumber@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" + 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" @@ -1415,21 +582,21 @@ "@ethersproject/bytes@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" + 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.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" + 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.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" + 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" @@ -1481,7 +648,7 @@ "@ethersproject/keccak256@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" + 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" @@ -1489,12 +656,12 @@ "@ethersproject/logger@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" + 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.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" @@ -1509,7 +676,7 @@ "@ethersproject/properties@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" + 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" @@ -1550,7 +717,7 @@ "@ethersproject/rlp@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" + 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" @@ -1567,7 +734,7 @@ "@ethersproject/signing-key@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" + 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" @@ -1579,16 +746,16 @@ "@ethersproject/strings@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" + 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": +"@ethersproject/transactions@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" + 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" @@ -1624,7 +791,7 @@ "@ethersproject/web@^5.7.0": version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== dependencies: "@ethersproject/base64" "^5.7.0" @@ -1644,15 +811,15 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@fontsource/roboto@^4.5.8": +"@fontsource/roboto@^4.5.7": version "4.5.8" - resolved "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz" + resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-4.5.8.tgz#56347764786079838faf43f0eeda22dd7328437f" integrity sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA== -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1660,331 +827,67 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== dependencies: - jest-get-type "^29.2.0" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" +"@ledgerhq/connect-kit-loader@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.2.tgz#d550e3c1f046e4c796f32a75324b03606b7e226a" + integrity sha512-mscwGroSJQrCTjtNGBu+18FQbZYA4+q6Tyx6K7CXHl6AwgZKbWfZYdgP2F+fyZcRUdGRsMX8QtvU61VcGGtO1A== -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" + integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" + integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== dependencies: - "@sinclair/typebox" "^0.24.1" + "@lit-labs/ssr-dom-shim" "^1.0.0" -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== - dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== - dependencies: - "@jest/schemas" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@mdx-js/loader@^2.3.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@mdx-js/loader/-/loader-2.3.0.tgz" - integrity sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg== - dependencies: - "@mdx-js/mdx" "^2.0.0" - source-map "^0.7.0" - -"@mdx-js/mdx@^2.0.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz" - integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== +"@mdx-js/mdx@^2.0.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.3.0.tgz#d65d8c3c28f3f46bb0e7cb3bf7613b39980671a9" + integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== dependencies: "@types/estree-jsx" "^1.0.0" "@types/mdx" "^2.0.0" @@ -2004,189 +907,244 @@ unist-util-visit "^4.0.0" vfile "^5.0.0" -"@mdx-js/react@^2.3.0": +"@mdx-js/rollup@^2.3.0": version "2.3.0" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz" - integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g== + resolved "https://registry.yarnpkg.com/@mdx-js/rollup/-/rollup-2.3.0.tgz#9dbdfc64e3ce4a1af041da963e1cb6f2b6450cbf" + integrity sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA== dependencies: - "@types/mdx" "^2.0.0" - "@types/react" ">=16" - -"@mui/base@5.0.0-alpha.113": - version "5.0.0-alpha.113" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.113.tgz" - integrity sha512-XSjvyQWATM8uk+EJZvYna8D21kOXC42lwb3q4K70btuGieKlCIQLaHTTDV2OfD4+JfT4o3NJy3I4Td2co31RZA== - dependencies: - "@babel/runtime" "^7.20.7" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" + "@mdx-js/mdx" "^2.0.0" + "@rollup/pluginutils" "^5.0.0" + source-map "^0.7.0" + vfile "^5.0.0" + +"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== -"@mui/base@5.0.0-alpha.118": - version "5.0.0-alpha.118" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.118.tgz#335e7496ea605c9b7bda4164efb2da3f09f36dfc" - integrity sha512-GAEpqhnuHjRaAZLdxFNuOf2GDTp9sUawM46oHZV4VnYPFjXJDkIYFWfIQLONb0nga92OiqS5DD/scGzVKCL0Mw== - dependencies: - "@babel/runtime" "^7.20.13" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.9" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" +"@metamask/utils@^3.0.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.6.0.tgz#b218b969a05ca7a8093b5d1670f6625061de707d" + integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== + dependencies: + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + +"@motionone/animation@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" + integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== + dependencies: + "@motionone/easing" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/dom@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.2.tgz#0c44df8ee3d1cfc50ee11d27050b27824355a61a" + integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/generators" "^10.15.1" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" + integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== + dependencies: + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/generators@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" + integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== + dependencies: + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + tslib "^2.3.1" + +"@motionone/svelte@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.2.tgz#0b37c3b12927814d31d24941d1ca0ff49981b444" + integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q== + dependencies: + "@motionone/dom" "^10.16.2" + tslib "^2.3.1" + +"@motionone/types@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" + integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== + +"@motionone/utils@^10.15.1": + version "10.15.1" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" + integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== + dependencies: + "@motionone/types" "^10.15.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.16.2": + version "10.16.2" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.2.tgz#faf13afc27620a2df870c71c58a04ee8de8dea65" + integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw== + dependencies: + "@motionone/dom" "^10.16.2" + tslib "^2.3.1" + +"@mui/base@5.0.0-beta.11": + version "5.0.0-beta.11" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.11.tgz#0124d336f1931c6cd5f0008d015df5bd8fafd3a8" + integrity sha512-FdKZGPd8qmC3ZNke7CNhzcEgToc02M6WYZc9hcBsNQ17bgAd3s9F//1bDDYgMVBYxDM71V0sv/hBHlOY4I1ZVA== + dependencies: + "@babel/runtime" "^7.22.6" + "@emotion/is-prop-valid" "^1.2.1" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.14.5" + "@popperjs/core" "^2.11.8" + clsx "^2.0.0" prop-types "^15.8.1" react-is "^18.2.0" -"@mui/core-downloads-tracker@^5.11.4": - version "5.11.4" - resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.4.tgz" - integrity sha512-jWVwGM3vG4O0sXcW0VcIl+njCWbGCBF5vvjRpuKJajrz51AD7D6+fP1SkInZXVk5pRHf6Bnk/Yj9Of9gXxb/hA== - -"@mui/icons-material@^5.11.0": - version "5.11.0" - resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.0.tgz" - integrity sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A== - dependencies: - "@babel/runtime" "^7.20.6" - -"@mui/lab@^5.0.0-alpha.120": - version "5.0.0-alpha.120" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.120.tgz#dcebbfca3391571bf42fc52dc90f77851e6a9c76" - integrity sha512-vjlF2jTKSZnNxtUO0xxHEDfpL5cG0LLNRsfKv8TYOiPs0Q1bbqO3YfqJsqxv8yh+wx7EFZc8lwJ4NSAQdenW3A== - dependencies: - "@babel/runtime" "^7.20.13" - "@mui/base" "5.0.0-alpha.118" - "@mui/system" "^5.11.9" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.9" - clsx "^1.2.1" +"@mui/core-downloads-tracker@^5.14.5": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.5.tgz#c5854b89d57520c77253a79b20b784d5c2903fb6" + integrity sha512-+wpGH1USwPcKMFPMvXqYPC6fEvhxM3FzxC8lyDiNK/imLyyJ6y2DPb1Oue7OGIKJWBmYBqrWWtfovrxd1aJHTA== + +"@mui/icons-material@^5.8.0": + version "5.14.3" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.3.tgz#26a84d52ab2fceea2856adf7a139527b3a51ae90" + integrity sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw== + dependencies: + "@babel/runtime" "^7.22.6" + +"@mui/lab@^5.0.0-alpha.88": + version "5.0.0-alpha.140" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.140.tgz#07028563fb18715e49da973ee814da7c0976133d" + integrity sha512-k75jos6jklCD8tA20PAK2H4RSCKycTcR4Pbfz7JbdxIkWXJ+y2MRalwMcen1vpB99v0yZHNUo6BtGz6rvs2jlQ== + dependencies: + "@babel/runtime" "^7.22.6" + "@mui/base" "5.0.0-beta.11" + "@mui/system" "^5.14.5" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.14.5" + clsx "^2.0.0" prop-types "^15.8.1" react-is "^18.2.0" -"@mui/material@^5.11.4": - version "5.11.4" - resolved "https://registry.npmjs.org/@mui/material/-/material-5.11.4.tgz" - integrity sha512-ZL/czK9ynrQJ6uyDwQgK+j7m1iKA1XKPON+rEPupwAu/bJ1XJxD+H/H2bkMM8UpOkzaucx/WuMbJJGQ60l7gBg== - dependencies: - "@babel/runtime" "^7.20.7" - "@mui/base" "5.0.0-alpha.113" - "@mui/core-downloads-tracker" "^5.11.4" - "@mui/system" "^5.11.4" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - "@types/react-transition-group" "^4.4.5" - clsx "^1.2.1" - csstype "^3.1.1" +"@mui/material@^5.14.5", "@mui/material@^5.8.1": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.5.tgz#4610b381fd159cd208c28e1d1f29c303ea24a518" + integrity sha512-4qa4GMfuZH0Ai3mttk5ccXP8a3sf7aPlAJwyMrUSz6h9hPri6BPou94zeu3rENhhmKLby9S/W1y+pmficy8JKA== + dependencies: + "@babel/runtime" "^7.22.6" + "@mui/base" "5.0.0-beta.11" + "@mui/core-downloads-tracker" "^5.14.5" + "@mui/system" "^5.14.5" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.14.5" + "@types/react-transition-group" "^4.4.6" + clsx "^2.0.0" + csstype "^3.1.2" prop-types "^15.8.1" react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.11.2": - version "5.11.2" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.2.tgz" - integrity sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg== - dependencies: - "@babel/runtime" "^7.20.7" - "@mui/utils" "^5.11.2" - prop-types "^15.8.1" - -"@mui/private-theming@^5.11.9": - version "5.11.9" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.11.9.tgz#ce3f7b7fa7de3e8d6b2a3132a22bffd6bfaabe9b" - integrity sha512-XMyVIFGomVCmCm92EvYlgq3zrC9K+J6r7IKl/rBJT2/xVYoRY6uM7jeB+Wxh7kXxnW9Dbqsr2yL3cx6wSD1sAg== - dependencies: - "@babel/runtime" "^7.20.13" - "@mui/utils" "^5.11.9" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.11.0": - version "5.11.0" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz" - integrity sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ== +"@mui/private-theming@^5.14.5": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.5.tgz#834e1569c31e2644665f98d902def79014053017" + integrity sha512-cC4C5RrpXpDaaZyH9QwmPhRLgz+f2SYbOty3cPkk4qPSOSfif2ZEcDD9HTENKDDd9deB+xkPKzzZhi8cxIx8Ig== dependencies: - "@babel/runtime" "^7.20.6" - "@emotion/cache" "^11.10.5" - csstype "^3.1.1" + "@babel/runtime" "^7.22.6" + "@mui/utils" "^5.14.5" prop-types "^15.8.1" -"@mui/styled-engine@^5.11.9": - version "5.11.9" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.11.9.tgz#105da848163b993522de0deaada82e10ad357194" - integrity sha512-bkh2CjHKOMy98HyOc8wQXEZvhOmDa/bhxMUekFX5IG0/w4f5HJ8R6+K6nakUUYNEgjOWPYzNPrvGB8EcGbhahQ== +"@mui/styled-engine@^5.13.2": + version "5.13.2" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.13.2.tgz#c87bd61c0ab8086d34828b6defe97c02bcd642ef" + integrity sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw== dependencies: - "@babel/runtime" "^7.20.13" - "@emotion/cache" "^11.10.5" - csstype "^3.1.1" + "@babel/runtime" "^7.21.0" + "@emotion/cache" "^11.11.0" + csstype "^3.1.2" prop-types "^15.8.1" -"@mui/system@^5.11.4": - version "5.11.4" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.11.4.tgz" - integrity sha512-fE2Ts33V5zh7ouciwXgMm/a6sLvjIj9OMeojuHNYY7BStTxparC/Fp9CNUZNJwt76U6ZJC59aYScFSRQKbW08g== - dependencies: - "@babel/runtime" "^7.20.7" - "@mui/private-theming" "^5.11.2" - "@mui/styled-engine" "^5.11.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - clsx "^1.2.1" - csstype "^3.1.1" - prop-types "^15.8.1" - -"@mui/system@^5.11.9": - version "5.11.9" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.11.9.tgz#61f83c538cb4bb9383bcfb39734d9d22ae11c3e7" - integrity sha512-h6uarf+l3FO6l75Nf7yO+qDGrIoa1DM9nAMCUFZQsNCDKOInRzcptnm8M1w/Z3gVetfeeGoIGAYuYKbft6KZZA== - dependencies: - "@babel/runtime" "^7.20.13" - "@mui/private-theming" "^5.11.9" - "@mui/styled-engine" "^5.11.9" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.9" - clsx "^1.2.1" - csstype "^3.1.1" +"@mui/system@^5.14.5": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.5.tgz#614394c4183d90df82c540e0e736ba72c1f95f8e" + integrity sha512-mextXZHDeGcR7E1kx43TRARrVXy+gI4wzpUgNv7MqZs1dvTVXQGVeAT6ydj9d6FUqHBPMNLGV/21vJOrpqsL+w== + dependencies: + "@babel/runtime" "^7.22.6" + "@mui/private-theming" "^5.14.5" + "@mui/styled-engine" "^5.13.2" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.14.5" + clsx "^2.0.0" + csstype "^3.1.2" prop-types "^15.8.1" -"@mui/types@^7.2.3": - version "7.2.3" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz" - integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== +"@mui/types@^7.2.4": + version "7.2.4" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" + integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== -"@mui/utils@^5.11.2": - version "5.11.2" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.11.2.tgz" - integrity sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w== +"@mui/utils@^5.14.5": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.5.tgz#98fb6060610b793a8478e70ffe5e4ed5bd922dba" + integrity sha512-6Hzw63VR9C5xYv+CbjndoRLU6Gntal8rJ5W+GUzkyHrGWIyYPWZPa6AevnyGioySNETATe1H9oXS8f/7qgIHJA== dependencies: - "@babel/runtime" "^7.20.7" + "@babel/runtime" "^7.22.6" "@types/prop-types" "^15.7.5" - "@types/react-is" "^16.7.1 || ^17.0.0" + "@types/react-is" "^18.2.1" prop-types "^15.8.1" react-is "^18.2.0" -"@mui/utils@^5.11.9": - version "5.11.9" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.11.9.tgz#8fab9cf773c63ad916597921860d2344b5d4b706" - integrity sha512-eOJaqzcEs4qEwolcvFAmXGpln+uvouvOS9FUX6Wkrte+4I8rZbjODOBDVNlK+V6/ziTfD4iNKC0G+KfOTApbqg== +"@noble/curves@1.1.0", "@noble/curves@^1.0.0", "@noble/curves@~1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" + integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== dependencies: - "@babel/runtime" "^7.20.13" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^16.7.1 || ^17.0.0" - prop-types "^15.8.1" - react-is "^18.2.0" + "@noble/hashes" "1.3.1" -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== +"@noble/curves@~1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" + integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== dependencies: - eslint-scope "5.1.1" + "@noble/hashes" "1.3.0" + +"@noble/hashes@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" + integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== + +"@noble/hashes@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + +"@noble/hashes@1.3.1", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + +"@noble/secp256k1@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -2194,1126 +1152,1094 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.10" - resolved "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz" - integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA== +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@rainbow-me/rainbowkit@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.8.tgz#280b3c572118957cdcfd6e54bc5bea12f969d980" + integrity sha512-m1B9/X3p8MLmj4fDfs2NpJlFRmKz7vOR0jmcdBw2SMFzXqP1FQFQc4pjvtLEeyfEUGSNNceGrecFZRVS0Qk//A== dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^3.0.0" - source-map "^0.7.3" + "@vanilla-extract/css" "1.9.1" + "@vanilla-extract/dynamic" "2.0.2" + "@vanilla-extract/sprinkles" "1.5.0" + clsx "1.1.1" + qrcode "1.5.0" + react-remove-scroll "2.5.4" -"@popperjs/core@^2.11.6": - version "2.11.6" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== +"@remix-run/router@1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.8.0.tgz#e848d2f669f601544df15ce2a313955e4bf0bafc" + integrity sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg== -"@remix-run/router@1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz" - integrity sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ== +"@rollup/pluginutils@^5.0.0": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.3.tgz#183126d69aeb1cfa23401d5a71cb4b8c16c4a4e0" + integrity sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" -"@rollup/plugin-babel@^5.2.0": - version "5.3.1" - resolved "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" - integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== +"@safe-global/safe-apps-provider@^0.17.1": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.17.1.tgz#72df2a66be5343940ed505efe594ed3b0f2f7015" + integrity sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ== dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" + "@safe-global/safe-apps-sdk" "8.0.0" + events "^3.3.0" -"@rollup/plugin-node-resolve@^11.2.1": - version "11.2.1" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== +"@safe-global/safe-apps-sdk@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz#9bdfe0e0d85e1b2d279bb840f40c4b930aaf8bc1" + integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" -"@rollup/plugin-replace@^2.4.1": - version "2.4.2" - resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== +"@safe-global/safe-apps-sdk@^8.0.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz#d1d0c69cd2bf4eef8a79c5d677d16971926aa64a" + integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.9.0.tgz#5aa36c05b865f6fe754d1d460f83bc9bf3a0145e" + integrity sha512-DxRM/sBBQhv955dPtdo0z2Bf2fXxrzoRUnGyTa3+4Z0RAhcyiqnffRP1Bt3tyuvlyfZnFL0RsvkqDcAIKzq3RQ== dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" + cross-fetch "^3.1.5" -"@rushstack/eslint-patch@^1.1.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" - integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== +"@scure/bip32@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" + integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== + dependencies: + "@noble/curves" "~1.0.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.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== +"@scure/bip32@1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.1.tgz#7248aea723667f98160f593d621c47e208ccbb10" + integrity sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A== + dependencies: + "@noble/curves" "~1.1.0" + "@noble/hashes" "~1.3.1" + "@scure/base" "~1.1.0" -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== +"@scure/bip39@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" + integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== dependencies: - type-detect "4.0.8" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== dependencies: - "@sinonjs/commons" "^1.7.0" + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" -"@skalenetwork/ima-js@1.1.2-develop.3": - version "1.1.2-develop.3" - resolved "https://registry.npmjs.org/@skalenetwork/ima-js/-/ima-js-1.1.2-develop.3.tgz" - integrity sha512-xYC7KyI0oHxH/U6RP5hrNI80jHYX5FyNNvQEu2sb52xvPLZsCf6KXEFX+w/J2Iu9HxSmgJXe3wLe0Y1MGlfpJA== +"@skalenetwork/ima-js@2.0.0-experimental.1": + version "2.0.0-experimental.1" + resolved "https://registry.yarnpkg.com/@skalenetwork/ima-js/-/ima-js-2.0.0-experimental.1.tgz#1ba0db93e1cd59e4f2aed9a87cfad6602becb08d" + integrity sha512-/+8ELm7j6/OJvjmaqJsgpVwbXtPFh0e5cUVG9Ch95R6oNUzscOnf7M/TQHv3g0lMdmMf4V/uGSUgVNOVDtaZ/A== dependencies: - tslog "^3.2.0" - web3 "1.7.5" + debug "^4.3.4" + ethers "6.6.2" -"@skalenetwork/metaport@1.2.0-develop.21": - version "1.2.0-develop.21" - resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-1.2.0-develop.21.tgz#22692098b0d1b3a66ea9c37ac7d7217f29b19c60" - integrity sha512-4V5sUAZ8i2AETQ4wI0y7f3cmLQ28K0l7ezg4JELEB3rOUea2oCBW08DUXkwObwACu40bbCodXUQesIE1LCH81w== +"@skalenetwork/metaport@../metaport-rp": + version "2.0.0" + dependencies: + "@emotion/react" "^11.9.0" + "@emotion/styled" "^11.8.1" + "@fontsource/roboto" "^4.5.7" + "@mui/icons-material" "^5.8.0" + "@mui/lab" "^5.0.0-alpha.88" + "@mui/material" "^5.8.1" + "@rainbow-me/rainbowkit" "^1.0.8" + "@skalenetwork/ima-js" "2.0.0-experimental.1" + "@skaleproject/pow-ethers" "0.3.2" + coingecko-api-v3 "^0.0.28" + react-jazzicon "^1.0.4" + viem "^1.5.3" + wagmi "^1.3.9" + zustand "^4.4.1" + +"@skaleproject/constants@*": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@skaleproject/constants/-/constants-0.3.2.tgz#6e5d19733ebcc127f763362aad292d2240168a01" + integrity sha512-S7WsVaaq+vNO/x5M6vB+VuSEvFKes96z0aJqwjr9poF+yFNdQ2s5yWnbB7nN+YzsMPEtrvMmby70CuIrdzNdyQ== -"@skaleproject/pow-ethers@0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@skaleproject/pow-ethers/-/pow-ethers-0.2.4.tgz#8fcdd7ee4d2e389916804d7c6d077511f086a77d" - integrity sha512-Ld2luziwmVKTt2sm8JHfHMZC3SxzvMZyQIvLNS+b1TWriHamchqvNHAiCmnXZQvCOvWqiufPzUCOPVa4Izr3RQ== +"@skaleproject/pow-ethers@0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@skaleproject/pow-ethers/-/pow-ethers-0.3.2.tgz#59497ea6ce0fb89f5e4829be1d75731af5027e25" + integrity sha512-WxpEOVlDlb4hOeSl7eY6rBoDh0Gf2X0ZB0MmvDepEG9HdeevBaIEQcwuU8YmgIAqxTphHRrgKFpA/JPmLBWeYA== dependencies: "@ethersproject/providers" "^5.7.2" "@ethersproject/wallet" "^5.7.0" "@skaleproject/pow" "*" "@skaleproject/pow@*": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@skaleproject/pow/-/pow-0.1.1.tgz#b3c08153374276f9b1892262767fbecdbd9f88ce" - integrity sha512-wpcj5ZJ9KAo/cJWbEP2IqsMPps1arwlxnuiOvQagdBK939jlliJzraHV/x7zIhB3tOcr5H0kqy5Jj13Ue/s44w== - -"@surma/rollup-plugin-off-main-thread@^2.2.3": - version "2.2.3" - resolved "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" - integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== + version "0.3.2" + resolved "https://registry.yarnpkg.com/@skaleproject/pow/-/pow-0.3.2.tgz#c70881ee1bdb67d414b9835cfcc9331fab6d98f1" + integrity sha512-nB5yQ7d3WXYZ+ggkEcpFgq8iLLQWegOH+cBo2PtjIb+b8JvMb4q2cvBfcpQYUEXkZOgWbRUH84ZMpEAT5EUaDQ== dependencies: - ejs "^3.1.6" - json5 "^2.2.0" - magic-string "^0.25.0" - string.prototype.matchall "^4.0.6" - -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + "@skaleproject/constants" "*" + bn.js "^5.2.1" + web3-utils "^1.8.1" -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== +"@solana/buffer-layout@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + +"@solana/web3.js@^1.70.1": + version "1.78.4" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.78.4.tgz#e8ca9abe4ec2af5fc540c1d272efee24aaffedb3" + integrity sha512-up5VG1dK+GPhykmuMIozJZBbVqpm77vbOG6/r5dS7NBGZonwHfTLdBbsYc3rjmaQ4DpCXUa3tUc4RZHRORvZrw== + dependencies: + "@babel/runtime" "^7.22.6" + "@noble/curves" "^1.0.0" + "@noble/hashes" "^1.3.1" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.3.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.6.12" + rpc-websockets "^7.5.1" + superstruct "^0.14.2" + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== dependencies: - defer-to-connect "^2.0.1" + "@stablelib/bytes" "^1.0.1" -"@testing-library/dom@^8.5.0": - version "8.19.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.1.tgz" - integrity sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@^5.14.1": - version "5.16.5" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== - dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^13.0.0": - version "13.4.0" - resolved "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" - "@types/react-dom" "^18.0.0" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@testing-library/user-event@^13.2.1": - version "13.5.0" - resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== +"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== dependencies: - "@babel/runtime" "^7.12.5" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== dependencies: - "@types/estree" "*" - -"@types/aria-query@^5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz" - integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.20" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== +"@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== - dependencies: - "@babel/types" "^7.3.0" +"@tanstack/query-core@4.32.6": + version "4.32.6" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.32.6.tgz#cf7df91ab1542e67a82624fefb12a55f580b4c01" + integrity sha512-YVB+mVWENQwPyv+40qO7flMgKZ0uI41Ph7qXC2Zf1ft5AIGfnXnMZyifB2ghhZ27u+5wm5mlzO4Y6lwwadzxCA== -"@types/bn.js@^5.1.0": - version "5.1.1" - resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== +"@tanstack/query-persist-client-core@4.32.6": + version "4.32.6" + resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.32.6.tgz#8dbe10c3e86246a708f2a8725a5596c55fe57d7e" + integrity sha512-MJJ7CldvT5HOel50h/3wOZZwVlIcroFD5Vxn8vPsfo2C0qQ208ilmN/81JWutm/lWy4n2BjnCrrWv6HvVI7S0w== dependencies: - "@types/node" "*" + "@tanstack/query-core" "4.32.6" -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== +"@tanstack/query-sync-storage-persister@^4.27.1": + version "4.32.6" + resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.32.6.tgz#f9fe8284372f9e15a7beb2913189dc4779063b60" + integrity sha512-hTwNo5O5EvydbfdVvwnwY0nIrNg1BxKEV4WAA8A+0NP9yc/9xoWy8RxbIkcz1p4JN2JhagaTKek8Fa5h5KitsA== dependencies: - "@types/connect" "*" - "@types/node" "*" + "@tanstack/query-persist-client-core" "4.32.6" -"@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== +"@tanstack/react-query-persist-client@^4.28.0": + version "4.32.6" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.32.6.tgz#f8c539e8119461e4901dd6f212608ef8cfd4d117" + integrity sha512-EmNnYpvFYpxS4j5WFeNmfVVBxqq4RDnEFDBZwNKRfb4pzukcx/hcWtwqFk7Qj0EI4Dk8QGl239MEYwJbAc83tQ== dependencies: - "@types/node" "*" + "@tanstack/query-persist-client-core" "4.32.6" -"@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== +"@tanstack/react-query@^4.28.0": + version "4.32.6" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.32.6.tgz#f88c2d57f423d4cd295c501df2edeb3285a301bd" + integrity sha512-AITu/IKJJJXsHHeXNBy5bclu12t08usMCY0vFC2dh9SP/w6JAk5U9GwfjOIPj3p+ATADZvxQPe8UiCtMLNeQbg== dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" + "@tanstack/query-core" "4.32.6" + use-sync-external-store "^1.2.0" -"@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== +"@types/acorn@^4.0.0": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" + "@types/estree" "*" -"@types/connect@*": +"@types/connect@^3.4.33": version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/debug@^4.0.0", "@types/debug@^4.1.7": - version "4.1.7" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + version "4.1.8" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" + integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.4.10" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz" - integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - "@types/estree-jsx@^1.0.0": version "1.0.0" - resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": - version "4.17.31" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.15" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz" - integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.31" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== - dependencies: - "@types/unist" "*" - -"@types/history@^4.7.11": - version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" - integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - -"@types/http-proxy@^1.17.8": - version "1.17.9" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*": - version "29.2.4" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.2.4.tgz" - integrity sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jest@^27.0.1": - version "27.5.2" - resolved "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== + version "2.3.5" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.5.tgz#08caac88b44d0fdd04dc17a19142355f43bd8a7a" + integrity sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + "@types/unist" "^2" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" +"@types/json-schema@^7.0.12": + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== "@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" - integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== + version "3.0.12" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.12.tgz#beeb511b977c875a5b0cc92eab6fcac2f0895514" + integrity sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== dependencies: - "@types/unist" "*" - -"@types/mdx@^2.0.0", "@types/mdx@^2.0.3": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.3.tgz" - integrity sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ== + "@types/unist" "^2" -"@types/mime@*": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== +"@types/mdx@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.6.tgz#d03e0cc6f7e6627b296f4ef49049678316e8ee23" + integrity sha512-sVcwEG10aFU2KcM7cIA0M410UPv/DesOPyG8zMVk0QUDexHA3lYmGucpEpZ2dtWWhi2ip3CG+5g/iH0PwoW4Fw== "@types/ms@*": version "0.7.31" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - version "18.11.18" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + version "20.5.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.0.tgz#7fc8636d5f1aaa3b21e6245e97d56b7f56702313" + integrity sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q== + +"@types/node@18.15.13": + version "18.15.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" + integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== -"@types/node@^12.12.6": +"@types/node@^12.12.54": version "12.20.55" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^16.7.13": - version "16.18.11" - resolved "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz" - integrity sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA== - "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== - "@types/prop-types@*", "@types/prop-types@^15.7.5": version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/react-dom@^18.0.0": - version "18.0.10" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz" - integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== +"@types/react-dom@^18.2.7": + version "18.2.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" + integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA== dependencies: "@types/react" "*" -"@types/react-is@^16.7.1 || ^17.0.0": - version "17.0.3" - resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz" - integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== +"@types/react-is@^18.2.1": + version "18.2.1" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-18.2.1.tgz#61d01c2a6fc089a53520c0b66996d458fdc46863" + integrity sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw== dependencies: "@types/react" "*" -"@types/react-router-dom@^5.3.3": - version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" - integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== +"@types/react-transition-group@^4.4.6": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" + integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== dependencies: - "@types/history" "^4.7.11" "@types/react" "*" - "@types/react-router" "*" -"@types/react-router@*": - version "5.1.20" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== +"@types/react@*", "@types/react@^18.2.15": + version "18.2.20" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2" + integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== dependencies: - "@types/history" "^4.7.11" - "@types/react" "*" + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" -"@types/react-transition-group@^4.4.5": - version "4.4.5" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz" - integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== - dependencies: - "@types/react" "*" +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== -"@types/react@*", "@types/react@>=16", "@types/react@^18.0.0": - version "18.0.26" - resolved "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz" - integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" +"@types/semver@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== +"@types/trusted-types@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" + integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== + +"@types/unist@^2", "@types/unist@^2.0.0": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6" + integrity sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g== + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== dependencies: "@types/node" "*" -"@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== +"@types/ws@^8.5.4": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" + integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== dependencies: "@types/node" "*" -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@typescript-eslint/eslint-plugin@^6.0.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz#53428b616f7d80fe879f45a08f11cc0f0b62cf13" + integrity sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.4.0" + "@typescript-eslint/type-utils" "6.4.0" + "@typescript-eslint/utils" "6.4.0" + "@typescript-eslint/visitor-keys" "6.4.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.0.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.4.0.tgz#47e7c6e22ff1248e8675d95f488890484de67600" + integrity sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg== + dependencies: + "@typescript-eslint/scope-manager" "6.4.0" + "@typescript-eslint/types" "6.4.0" + "@typescript-eslint/typescript-estree" "6.4.0" + "@typescript-eslint/visitor-keys" "6.4.0" + debug "^4.3.4" -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@typescript-eslint/scope-manager@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz#3048e4262ba3eafa4e2e69b08912d9037ec646ae" + integrity sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig== + dependencies: + "@typescript-eslint/types" "6.4.0" + "@typescript-eslint/visitor-keys" "6.4.0" -"@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== +"@typescript-eslint/type-utils@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz#c8ac92716ed6a9d5443aa3e342910355b0796ba0" + integrity sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg== dependencies: - "@types/node" "*" + "@typescript-eslint/typescript-estree" "6.4.0" + "@typescript-eslint/utils" "6.4.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== +"@typescript-eslint/types@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.4.0.tgz#5b109a59a805f0d8d375895e42d9e5f0037f66ee" + integrity sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg== -"@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== +"@typescript-eslint/typescript-estree@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz#3c58d20632db93fec3d6ab902acbedf593d37276" + integrity sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA== dependencies: - "@types/express" "*" + "@typescript-eslint/types" "6.4.0" + "@typescript-eslint/visitor-keys" "6.4.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.4.0.tgz#23e996b693603c5924b1fbb733cc73196256baa5" + integrity sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.4.0" + "@typescript-eslint/types" "6.4.0" + "@typescript-eslint/typescript-estree" "6.4.0" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz#96a426cdb1add28274abd7a34aefe27f8b7d51ef" + integrity sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA== + dependencies: + "@typescript-eslint/types" "6.4.0" + eslint-visitor-keys "^3.4.1" + +"@vanilla-extract/css@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.9.1.tgz#337b79faa5f8f98915a90c3fe3c30b54be746c09" + integrity sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ== + dependencies: + "@emotion/hash" "^0.8.0" + "@vanilla-extract/private" "^1.0.3" + ahocorasick "1.0.2" + chalk "^4.1.1" + css-what "^5.0.1" + cssesc "^3.0.0" + csstype "^3.0.7" + deep-object-diff "^1.1.0" + deepmerge "^4.2.2" + media-query-parser "^2.0.2" + outdent "^0.8.0" -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== +"@vanilla-extract/dynamic@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@vanilla-extract/dynamic/-/dynamic-2.0.2.tgz#13a3e461964c8029a52e6b6b631009ca6a8b27f5" + integrity sha512-U4nKaEQ8Kuz+exXEr51DUpyaOuzo24/S/k1YbDPQR06cYcNjQqvwFRnwWtZ+9ImocqM1wTKtzrdUgSTtLGIwAg== dependencies: - "@types/mime" "*" - "@types/node" "*" + "@vanilla-extract/private" "^1.0.3" + +"@vanilla-extract/private@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.3.tgz#7ec72bc2ff6fe51f9d650f962e8d1989b073690f" + integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ== + +"@vanilla-extract/sprinkles@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz#c921183ae518bb484299c2dc81f2acefd91c3dbe" + integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== + +"@vercel/analytics@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.0.2.tgz#7af719a1bf33734840aee6f04eb548d2cedab9ec" + integrity sha512-BZFxVrv24VbNNl5xMxqUojQIegEeXMI6rX3rg1uVLYUEXsuKNBSAEQf4BWEcjQDp/8aYJOj6m8V4PUA3x/cxgg== -"@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== +"@vitejs/plugin-react@^4.0.3": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz#31c3f779dc534e045c4b134e7cf7b150af0a7646" + integrity sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g== dependencies: - "@types/node" "*" + "@babel/core" "^7.22.9" + "@babel/plugin-transform-react-jsx-self" "^7.22.5" + "@babel/plugin-transform-react-jsx-source" "^7.22.5" + react-refresh "^0.14.0" -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@wagmi/chains@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.6.0.tgz#eb992ad28dbaaab729b5bcab3e5b461e8a035656" + integrity sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw== -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== +"@wagmi/chains@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.7.0.tgz#8f6ad81cf867e1788417f7c978ca92bc083ecaf6" + integrity sha512-TKVeHv0GqP5sV1yQ8BDGYToAFezPnCexbbBpeH14x7ywi5a1dDStPffpt9x+ytE6LJWkZ6pAMs/HNWXBQ5Nqmw== + +"@wagmi/connectors@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-2.7.0.tgz#547972502cbe6719217043fe5b610ac48534dc93" + integrity sha512-1KOL0HTJl5kzSC/YdKwFwiokr6poUQn1V/tcT0TpG3iH2x0lSM7FTkvCjVVY/6lKzTXrLlo9y2aE7AsOPnkvqg== + dependencies: + "@coinbase/wallet-sdk" "^3.6.6" + "@ledgerhq/connect-kit-loader" "^1.1.0" + "@safe-global/safe-apps-provider" "^0.17.1" + "@safe-global/safe-apps-sdk" "^8.0.0" + "@walletconnect/ethereum-provider" "2.9.2" + "@walletconnect/legacy-provider" "^2.0.0" + "@walletconnect/modal" "2.6.1" + "@walletconnect/utils" "2.9.2" + abitype "0.8.7" + eventemitter3 "^4.0.7" + +"@wagmi/core@1.3.9": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.3.9.tgz#16bac164fe74203fde68abe7991b947d3a26e6ab" + integrity sha512-SrnABCrsDvhiMCLLLyzyHnZbEumsFT/XWlJJQZeyEDcixL95R7XQwOaaoRI4MpNilCtMtu3jzN57tA5Z2iA+kw== + dependencies: + "@wagmi/chains" "1.7.0" + "@wagmi/connectors" "2.7.0" + abitype "0.8.7" + eventemitter3 "^4.0.7" + zustand "^4.3.1" + +"@walletconnect/core@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.2.tgz#c46734ca63771b28fd77606fd521930b7ecfc5e1" + integrity sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ== + dependencies: + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.13" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + lodash.isequal "4.5.0" + uint8arrays "^3.1.0" + +"@walletconnect/crypto@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" + integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== dependencies: - "@types/jest" "*" + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + "@walletconnect/randombytes" "^1.0.3" + aes-js "^3.1.2" + hash.js "^1.1.7" + tslib "1.14.1" -"@types/trusted-types@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz" - integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== +"@walletconnect/encoding@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" + integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== + dependencies: + is-typedarray "1.0.0" + tslib "1.14.1" + typedarray-to-buffer "3.1.5" -"@types/unist@*", "@types/unist@^2.0.0": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.2.tgz#fb3a6fca279bb4e98e75baa2fb9730545d41bb99" + integrity sha512-eO1dkhZffV1g7vpG19XUJTw09M/bwGUwwhy1mJ3AOPbOSbMPvwiCuRz2Kbtm1g9B0Jv15Dl+TvJ9vTgYF8zoZg== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "^1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.3" + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/universal-provider" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" -"@types/webpack-env@^1.18.0": - version "1.18.0" - resolved "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.0.tgz" - integrity sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg== +"@walletconnect/heartbeat@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" + integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" -"@types/ws@^8.5.1": - version "8.5.3" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== +"@walletconnect/jsonrpc-http-connection@^1.0.4", "@walletconnect/jsonrpc-http-connection@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98" + integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== dependencies: - "@types/node" "*" + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + tslib "1.14.1" -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== +"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" + integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + tslib "1.14.1" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== +"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" + integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== dependencies: - "@types/yargs-parser" "*" + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" -"@types/yargs@^17.0.8": - version "17.0.17" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.17.tgz" - integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== dependencies: - "@types/yargs-parser" "*" + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.1.tgz" - integrity sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg== +"@walletconnect/jsonrpc-ws-connection@1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4" + integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg== dependencies: - "@typescript-eslint/scope-manager" "5.47.1" - "@typescript-eslint/type-utils" "5.47.1" - "@typescript-eslint/utils" "5.47.1" - debug "^4.3.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.47.1.tgz" - integrity sha512-zWHo/VbqAiRvhXP5byQqW7rGQtdanajHnItGqtmv8JaIi58zMPnmGZ1bW/drXIjU1fuOyfTVoDkNS7aEWGDSLg== - dependencies: - "@typescript-eslint/utils" "5.47.1" - -"@typescript-eslint/parser@^5.5.0": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.47.1.tgz" - integrity sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw== - dependencies: - "@typescript-eslint/scope-manager" "5.47.1" - "@typescript-eslint/types" "5.47.1" - "@typescript-eslint/typescript-estree" "5.47.1" - debug "^4.3.4" + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + tslib "1.14.1" + ws "^7.5.1" -"@typescript-eslint/scope-manager@5.47.1": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz" - integrity sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw== +"@walletconnect/keyvaluestorage@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" + integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== dependencies: - "@typescript-eslint/types" "5.47.1" - "@typescript-eslint/visitor-keys" "5.47.1" + safe-json-utils "^1.1.1" + tslib "1.14.1" -"@typescript-eslint/type-utils@5.47.1": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.1.tgz" - integrity sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w== +"@walletconnect/legacy-client@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30" + integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA== + dependencies: + "@walletconnect/crypto" "^1.0.3" + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "^5.3.0" + query-string "^6.13.5" + +"@walletconnect/legacy-modal@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz#d0fab01a1337a8f5d88cdb1430cbef2d46072bbf" + integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q== dependencies: - "@typescript-eslint/typescript-estree" "5.47.1" - "@typescript-eslint/utils" "5.47.1" - debug "^4.3.4" - tsutils "^3.21.0" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" + copy-to-clipboard "^3.3.3" + preact "^10.12.0" + qrcode "^1.5.1" -"@typescript-eslint/types@5.47.1": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.1.tgz" - integrity sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A== +"@walletconnect/legacy-provider@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz#08e2db1e4c234743b2f30422bc8100bc42e8fc44" + integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.4" + "@walletconnect/jsonrpc-provider" "^1.0.6" + "@walletconnect/legacy-client" "^2.0.0" + "@walletconnect/legacy-modal" "^2.0.0" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/legacy-utils" "^2.0.0" -"@typescript-eslint/typescript-estree@5.47.1": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz" - integrity sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA== +"@walletconnect/legacy-types@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227" + integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== dependencies: - "@typescript-eslint/types" "5.47.1" - "@typescript-eslint/visitor-keys" "5.47.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.47.1", "@typescript-eslint/utils@^5.13.0": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.1.tgz" - integrity sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw== - dependencies: - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.47.1" - "@typescript-eslint/types" "5.47.1" - "@typescript-eslint/typescript-estree" "5.47.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.47.1": - version "5.47.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz" - integrity sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig== - dependencies: - "@typescript-eslint/types" "5.47.1" - eslint-visitor-keys "^3.3.0" + "@walletconnect/jsonrpc-types" "^1.0.2" -"@vercel/analytics@^0.1.10": - version "0.1.11" - resolved "https://registry.npmjs.org/@vercel/analytics/-/analytics-0.1.11.tgz" - integrity sha512-mj5CPR02y0BRs1tN3oZcBNAX9a8NxsIUl9vElDPcqxnMfP0RbRc9fI9Ud7+QDg/1Izvt5uMumsr+6YsmVHcyuw== - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== +"@walletconnect/legacy-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz#e3a637c00783f9cd2ae139b640f82223ab78ed9d" + integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ== + dependencies: + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.4" + "@walletconnect/legacy-types" "^2.0.0" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "^5.3.0" + query-string "^6.13.5" + +"@walletconnect/logger@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" + integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== + dependencies: + pino "7.11.0" + tslib "1.14.1" -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@walletconnect/modal-core@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.1.tgz#bc76055d0b644a2d4b98024324825c108a700905" + integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ== + dependencies: + valtio "1.11.0" -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== +"@walletconnect/modal-ui@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz#200c54c8dfe3c71321abb2724e18bb357dfd6371" + integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA== + dependencies: + "@walletconnect/modal-core" "2.6.1" + lit "2.7.6" + motion "10.16.2" + qrcode "1.5.3" -abortcontroller-polyfill@^1.7.3: - version "1.7.5" - resolved "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz" - integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== +"@walletconnect/modal@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.1.tgz#066fdbfcff83b58c8a9da66ab4af0eb93e3626de" + integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw== + dependencies: + "@walletconnect/modal-core" "2.6.1" + "@walletconnect/modal-ui" "2.6.1" -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== +"@walletconnect/randombytes@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" + integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" + "@walletconnect/encoding" "^1.0.2" + "@walletconnect/environment" "^1.0.1" + randombytes "^2.1.0" + tslib "1.14.1" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== +"@walletconnect/relay-api@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" + integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" + "@walletconnect/jsonrpc-types" "^1.0.2" + tslib "1.14.1" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +"@walletconnect/relay-auth@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" -acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.2.tgz#ff4c81c082c2078878367d07f24bcb20b1f7ab9e" + integrity sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg== + dependencies: + "@walletconnect/core" "2.9.2" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.2.tgz#d5fd5a61dc0f41cbdca59d1885b85207ac7bf8c5" + integrity sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + +"@walletconnect/universal-provider@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.9.2.tgz#40e54e98bc48b1f2f5f77eb5b7f05462093a8506" + integrity sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw== + dependencies: + "@walletconnect/jsonrpc-http-connection" "^1.0.7" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.7" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" + events "^3.3.0" + +"@walletconnect/utils@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.2.tgz#035bdb859ee81a4bcc6420f56114cc5ec3e30afb" + integrity sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "^3.1.0" + +"@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" -acorn-node@^1.8.2: - version "1.8.2" - resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== +"@walletconnect/window-metadata@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" -acorn-walk@^7.0.0, acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" -acorn@^7.0.0, acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +abitype@0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" + integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== -acorn@^8.0.0, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== +abitype@0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.3.tgz#294d25288ee683d72baf4e1fed757034e3c8c277" + integrity sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w== -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== +acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -adjust-sourcemap-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" - integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" +acorn@^8.0.0, acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== +aes-js@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== +agentkeepalive@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== dependencies: - fast-deep-equal "^3.1.3" + humanize-ms "^1.2.1" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ahocorasick@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500" + integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== + +ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + 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" @@ -3321,856 +2247,269 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: - version "8.11.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + 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.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -aria-query@^5.0.0: - version "5.1.3" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.5: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.reduce@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" - integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" +astring@^1.8.0: + version "1.8.6" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== -asn1@~0.2.3: +async-mutex@^0.2.6: version "0.2.6" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" - 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.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -astring@^1.8.0: - version "1.8.4" - resolved "https://registry.npmjs.org/astring/-/astring-1.8.4.tgz" - integrity sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^3.2.3: - version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + tslib "^2.0.0" -at-least-node@^1.0.0: +atomic-sleep@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.13: - version "10.4.13" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz" - integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== - dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001426" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== available-typed-arrays@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -axe-core@^4.4.3: - version "4.6.1" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz" - integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-jest@^27.4.2, babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^8.2.3: - version "8.3.0" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" cosmiconfig "^7.0.0" resolve "^1.19.0" -babel-plugin-named-asset-import@^0.3.8: - version "0.3.8" - resolved "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz" - integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -babel-plugin-transform-react-remove-prop-types@^0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== - dependencies: - "@babel/core" "^7.16.0" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-decorators" "^7.16.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-runtime" "^7.16.4" - "@babel/preset-env" "^7.16.4" - "@babel/preset-react" "^7.16.0" - "@babel/preset-typescript" "^7.16.0" - "@babel/runtime" "^7.16.3" - babel-plugin-macros "^3.1.0" - babel-plugin-transform-react-remove-prop-types "^0.4.24" - bail@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2, base-x@^3.0.8: +base-x@^3.0.2: version "3.0.9" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" + 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.3.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -bfj@^7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" - integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== dependencies: - bluebird "^3.5.5" - check-types "^11.1.1" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^9.0.0: - version "9.1.1" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== + bindings "^1.3.0" binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -blakejs@^1.1.0: - version "1.2.1" - resolved "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== +bind-decorator@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f" + integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== -bluebird@^3.5.0, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bindings@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" bn.js@4.11.6: version "4.11.6" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.9: +bn.js@^4.11.9: version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + 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, body-parser@^1.16.0: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - 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" - -bonjour-service@^1.0.11: - version "1.0.14" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: +brorand@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== +browserslist@^4.21.9: + version "4.21.10" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" + integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== 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" + caniuse-lite "^1.0.30001517" + electron-to-chromium "^1.4.477" + node-releases "^2.0.13" + update-browserslist-db "^1.0.11" -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" + base-x "^3.0.2" -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" + base64-js "^1.3.1" + ieee754 "^1.2.1" -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== +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: - bn.js "^5.0.0" - randombytes "^2.0.1" + node-gyp-build "^4.3.0" -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz" - integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^5.0.5, 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== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== - dependencies: - node-gyp-build "^4.3.0" - -builtin-modules@^3.1.0: - version "3.3.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - 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.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz" - 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" - 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.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +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.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^5.3.1: +camelcase@^5.0.0: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0, camelcase@^6.2.1: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001441" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz" - integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== - -case-sensitive-paths-webpack-plugin@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" - integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== +caniuse-lite@^1.0.30001517: + version "1.0.30001520" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006" + integrity sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@^2.0.0, chalk@^2.4.1: +chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.1: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== -check-types@^11.1.1: - version "11.2.2" - resolved "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" - integrity sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA== - -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3: +"chokidar@>=3.0.0 <4.0.0": version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -4183,293 +2522,91 @@ check-types@^11.1.1: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.7.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz" - integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz" - 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.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -clean-css@^5.2.2: - version "5.3.1" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz" - integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== - dependencies: - source-map "~0.6.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" + wrap-ansi "^6.2.0" -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" +clsx@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -clsx@^1.2.1: +clsx@^1.1.0: version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +clsx@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== +coingecko-api-v3@^0.0.28: + version "0.0.28" + resolved "https://registry.yarnpkg.com/coingecko-api-v3/-/coingecko-api-v3-0.0.28.tgz#e30d05c7acd142ddef455f2a88c49ef4ae71e702" + integrity sha512-PdWujZzi6hFfgfyIC+p1M4jLud3yQLHn8Je0kWYoy2UTWnjERPZ4ggByzoEOSMmj66F4zlrix+qnklDrW0EaZQ== dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + https "^1.0.0" color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@^1.1.4, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -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== - dependencies: - delayed-stream "~1.0.0" - comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -commander@^2.20.0: +commander@^2.20.3: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -confusing-browser-globals@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -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.npmjs.org/content-hash/-/content-hash-2.5.2.tgz" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -core-js-compat@^3.25.1: - version "3.27.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.0.tgz" - integrity sha512-spN2H4E/wocMML7XtbKuqttHHM+zbF3bAdl9mT4/iyFaF33bowQGjxiWNWyvUJGH9F+hTgnhWziiLtwu3oC/Qg== - dependencies: - browserslist "^4.21.4" - -core-js-pure@^3.23.3, core-js-pure@^3.25.1: - version "3.27.0" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.0.tgz" - integrity sha512-fJml7FM6v1HI3Gkg5/Ifc/7Y2qXcJxaDwSROeZGAZfNykSTvUk94WT55TYzJ2lFHK0voSr/d4nOVChLuNCWNpA== - -core-js@^3.19.2: - version "3.27.0" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.0.tgz" - integrity sha512-wY6cKosevs430KRkHUIsvepDXHGjlXOZO3hYXNyqpD6JvB0X28aXyv0t1Y1vZMwE7SoKmtfa6IASHCPN52FwBQ== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - 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.npmjs.org/cors/-/cors-2.8.5.tgz" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== +copy-to-clipboard@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" + toggle-selection "^1.0.6" cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -4478,683 +2615,146 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - 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.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - 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" - -cross-fetch@^3.1.4: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== +cross-fetch@^3.1.4, cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: - node-fetch "2.6.7" + node-fetch "^2.6.12" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@3.12.0, crypto-browserify@^3.12.0: - version "3.12.0" - resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-blank-pseudo@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== - dependencies: - postcss-selector-parser "^6.0.9" - -css-declaration-sorter@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - -css-loader@^6.5.1: - version "6.7.3" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz" - integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.19" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - -css-minimizer-webpack-plugin@^3.2.0: - version "3.4.1" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-prefers-color-scheme@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -cssdb@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/cssdb/-/cssdb-7.2.0.tgz" - integrity sha512-JYlIsE7eKHSi0UNuCyo96YuIDFqvhGgHw4Ck6lsN+DP0Tp8M64UTDT2trGbkMDqnCoEjks7CkS0XcjU0rkvBdg== +css-what@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.2.13: - version "5.2.13" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz" - integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.3" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.1" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.6: - version "5.1.14" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz" - integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw== - dependencies: - cssnano-preset-default "^5.2.13" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" +csstype@^3.0.2, csstype@^3.0.7, csstype@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-named-character-reference@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" -decode-uri-component@^0.2.0: +decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + 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.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - 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" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-equal@^2.0.5: - version "2.1.0" - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.1.0.tgz" - integrity sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA== - dependencies: - call-bind "^1.0.2" - es-get-iterator "^1.1.2" - get-intrinsic "^1.1.3" - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.8" - -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deep-object-diff@^1.1.0: + version "1.1.9" + resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.9.tgz#6df7ef035ad6a0caa44479c536ed7b02570f4595" + integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA== + deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== -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== +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +detect-browser@5.3.0, detect-browser@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "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.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detective@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz" - integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== - dependencies: - acorn-node "^1.8.2" - defined "^1.0.0" - minimist "^1.2.6" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== diff@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.4.0" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.14" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domelementtype@1: - version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - 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.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.6: - version "3.1.8" - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== +duplexify@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== dependencies: - jake "^10.8.5" + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.0" -electron-to-chromium@^1.4.251: - version "1.4.284" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== +electron-to-chromium@^1.4.477: + version "1.4.491" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.491.tgz#53de4625bde1e75b5b7804a36c68b2c39f6a0c1f" + integrity sha512-ZzPqGKghdVzlQJ+qpfE+r6EB321zed7e5JsvHIlMM4zPFF8okXUkF5Of7h7F3l3cltPL0rG7YVmlp5Qro7RQLA== -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: +elliptic@6.5.4: version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + 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" @@ -5165,472 +2765,189 @@ elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + 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.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== -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" + 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" -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.5" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz" - integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - 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-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - unbox-primitive "^1.0.2" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-get-iterator@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz" - integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.0" - has-symbols "^1.0.1" - is-arguments "^1.1.0" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.5" - isarray "^2.0.5" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.62" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" - 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: - version "2.0.3" - resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz" - integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== - -es6-promise@^4.2.8: +es6-promise@^4.0.3: version "4.2.8" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== dependencies: - d "^1.0.1" - ext "^1.1.2" + es6-promise "^4.0.3" + +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== + optionalDependencies: + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - 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" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" - integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== - dependencies: - "@babel/core" "^7.16.0" - "@babel/eslint-parser" "^7.16.3" - "@rushstack/eslint-patch" "^1.1.0" - "@typescript-eslint/eslint-plugin" "^5.5.0" - "@typescript-eslint/parser" "^5.5.0" - babel-preset-react-app "^10.0.1" - confusing-browser-globals "^1.0.11" - eslint-plugin-flowtype "^8.0.3" - eslint-plugin-import "^2.25.3" - eslint-plugin-jest "^25.3.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.27.1" - eslint-plugin-react-hooks "^4.3.0" - eslint-plugin-testing-library "^5.0.1" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.25.3: - version "2.26.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jest@^25.3.0: - version "25.7.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== - dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.3.0: +eslint-plugin-react-hooks@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@^7.27.1: - version "7.31.11" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz" - integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-plugin-testing-library@^5.0.1: - version "5.9.1" - resolved "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz" - integrity sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ== - dependencies: - "@typescript-eslint/utils" "^5.13.0" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" +eslint-plugin-react-refresh@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz#59dae8c00a119f06ea16b1d3e6891df3775947c7" + integrity sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA== -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint-webpack-plugin@^3.1.1: - version "3.2.0" - resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" - integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== - dependencies: - "@types/eslint" "^7.29.0 || ^8.4.1" - jest-worker "^28.0.2" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@^8.3.0: - version "8.30.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz" - integrity sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ== - dependencies: - "@eslint/eslintrc" "^1.4.0" - "@humanwhocodes/config-array" "^0.11.8" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.45.0: + version "8.47.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" + integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "^8.47.0" + "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" globals "^13.19.0" - grapheme-splitter "^1.0.4" + graphemer "^1.4.0" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" - js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.8.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.1" -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: +estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-attach-comments@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz#ee44f4ff6890ee7dfb3237ac7810154c94c63f84" integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== dependencies: "@types/estree" "^1.0.0" estree-util-build-jsx@^2.0.0: version "2.2.2" - resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz#32f8a239fb40dc3f3dca75bb5dcf77a831e4e47b" integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -5639,12 +2956,12 @@ estree-util-build-jsx@^2.0.0: estree-util-is-identifier-name@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz#fb70a432dcb19045e77b05c8e732f1364b4b49b2" integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ== estree-util-to-js@^1.1.0: version "1.2.0" - resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz#0f80d42443e3b13bd32f7012fffa6f93603f4a36" integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -5653,242 +2970,139 @@ estree-util-to-js@^1.1.0: estree-util-visit@^1.0.0: version "1.2.1" - resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz#8bc2bc09f25b00827294703835aabee1cc9ec69d" integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== dependencies: "@types/estree-jsx" "^1.0.0" "@types/unist" "^2.0.0" -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== estree-walker@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eth-ens-namehash@2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz" - 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.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz" - 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.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz" - 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" +eth-block-tracker@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz#0481f97bbb88a100b9d45806fe7e37af741cbefc" + integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + "@metamask/utils" "^3.0.1" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + +eth-json-rpc-filters@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz#f0c2aeaec2a45e2dc6ca1b9843d8e85447821427" + integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + async-mutex "^0.2.6" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" + integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-rpc-errors@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" ethereum-bloom-filters@^1.0.6: version "1.0.10" - resolved "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz" + 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.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz" - 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.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2: - version "7.1.5" - resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz" - 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" +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.1.2.tgz#18fa7108622e56481157a5cb7c01c0c6a672eb67" + integrity sha512-Z5Ba0T0ImZ8fqXrJbpHcbpAvIswRte2wGNR/KePnu8GbbvgJ47lMxT/ZZPG6i9Jaht4azPDop4HaM00J0J59ug== + dependencies: + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.1" + "@scure/bip32" "1.3.1" + "@scure/bip39" "1.2.1" + +ethers@6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.6.2.tgz#0b6131b5fa291fec69b7ae379cb6bb2405c505a7" + integrity sha512-vyWfVAj2g7xeZIivOqlbpt7PbS2MzvJkKgsncgn4A/1xZr8Q3BznBmEBRQyPXKCgHmX4PzRQLpnYG7jl/yutMg== + dependencies: + "@adraffy/ens-normalize" "1.9.2" + "@noble/hashes" "1.1.2" + "@noble/secp256k1" "1.7.1" + "@types/node" "18.15.13" + aes-js "4.0.0-beta.5" + tslib "2.4.0" + ws "8.5.0" ethjs-unit@0.1.6: version "0.1.6" - resolved "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz" + 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" -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -eventemitter3@^4.0.0: +eventemitter3@^4.0.7: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0: +events@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -expect@^29.0.0: - version "29.3.1" - resolved "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== - dependencies: - "@jest/expect-utils" "^29.3.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - -express@^4.14.0, express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - 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@^1.1.2: - version "1.7.0" - resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend@^3.0.0, extend@~3.0.2: +extend@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5896,108 +3110,70 @@ fast-glob@^3.2.12, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== - dependencies: - reusify "^1.0.4" +fast-redact@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: - bser "2.1.1" + reusify "^1.0.4" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filelist@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - 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-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== find-root@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -6005,7 +3181,7 @@ find-up@^4.0.0, find-up@^4.1.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -6013,7 +3189,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -6021,236 +3197,73 @@ flat-cache@^3.0.4: flatted@^3.1.0: version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + 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" -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.2" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz" - integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data-encoder@1.7.1: - version "1.7.1" - resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz" - integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== +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== -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +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.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + 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.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - 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: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -fuzzysort@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/fuzzysort/-/fuzzysort-2.0.4.tgz" - integrity sha512-Api1mJL+Ad7W7vnDZnWq5pGaXJjyencT+iKGia2PlHUcSsSzWwIQ3S1isiMpwpavjYtGd2FzhUIhnnhOULZgDw== - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: +get-caller-file@^2.0.1: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + 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.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== dependencies: function-bind "^1.1.1" has "^1.0.3" + has-proto "^1.0.1" has-symbols "^1.0.3" -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== 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" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.3: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -6260,45 +3273,21 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/global/-/global-4.4.0.tgz" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.19.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + version "13.21.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" + integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== dependencies: type-fest "^0.20.2" -globby@^11.0.4, globby@^11.1.0: +globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -6310,149 +3299,62 @@ globby@^11.0.4, globby@^11.1.0: gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" -got@12.1.0: - version "12.1.0" - resolved "https://registry.npmjs.org/got/-/got-12.1.0.tgz" - 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: - version "11.8.6" - resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz" - 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.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + 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.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - 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.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + 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.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + 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.npmjs.org/has/-/has-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - 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.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + 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" hast-util-to-estree@^2.0.0: - version "2.3.2" - resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.2.tgz" - integrity sha512-YYDwATNdnvZi3Qi84iatPIl1lWpXba1MeNrNbDfJfVzEBZL8uUmtR7mt7bxKBC8kuAuvb0bkojXYZzsNHyHCLg== + version "2.3.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz#da60142ffe19a6296923ec222aba73339c8bf470" + integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -6472,17 +3374,17 @@ hast-util-to-estree@^2.0.0: hast-util-whitespace@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== hmac-drbg@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + 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" @@ -6491,337 +3393,92 @@ hmac-drbg@^1.0.1: hoist-non-react-statics@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -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-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - 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-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz" - integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - 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" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -http2-wrapper@^2.1.10: - version "2.2.0" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.0.tgz" - integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -https-browserify@^1.0.0: +https@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -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" - -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -idb@^7.0.1: - version "7.1.1" - resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" - integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== + resolved "https://registry.yarnpkg.com/https/-/https-1.0.0.tgz#3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4" + integrity sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg== -identity-obj-proxy@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: - punycode "2.1.0" + ms "^2.0.0" -ieee754@^1.1.13, ieee754@^1.2.1: +ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.2.0: +ignore@^5.2.0, ignore@^5.2.4: version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -immer@^9.0.7: - version "9.0.16" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz" - integrity sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ== - immutable@^4.0.0: - version "4.2.2" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz" - integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== + version "4.3.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.2.tgz#f89d910f8dfb6e15c03b2cae2faaf8c1f66455fe" + integrity sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - inline-style-parser@0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -internal-slot@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - side-channel "^1.0.4" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + loose-envify "^1.0.0" is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" is-decimal "^2.0.0" -is-arguments@^1.0.4, is-arguments@^1.1.0, is-arguments@^1.1.1: +is-arguments@^1.0.4: version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -6829,1279 +3486,319 @@ is-arguments@^1.0.4, is-arguments@^1.1.0, is-arguments@^1.1.1: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + 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.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== dependencies: has "^1.0.3" -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - 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" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: has-tostringtag "^1.0.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-hex-prefixed@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== is-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + 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@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - is-plain-obj@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-reference@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.1.tgz#d400f4260f7e55733955e60d361d827eb4d3b831" integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w== dependencies: "@types/estree" "*" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-typed-array@^1.1.3: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + which-typed-array "^1.1.11" -is-regexp@^1.0.0: +is-typedarray@1.0.0, is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +isomorphic-ws@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +jayson@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" + integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.4.5" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" +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== -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -is-typed-array@^1.1.10, is-typed-array@^1.1.3: - version "1.1.10" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 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" + argparse "^2.0.1" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jake@^10.8.5: - version "10.8.5" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== - dependencies: - chalk "^4.0.0" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-regex-util@^28.0.0: - version "28.0.2" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.4.2, jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watch-typeahead@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" - integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.0.0" - jest-regex-util "^28.0.0" - jest-watcher "^28.0.0" - slash "^4.0.0" - string-length "^5.0.1" - strip-ansi "^7.0.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-watcher@^28.0.0: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== - dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" - string-length "^4.0.1" - -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^28.0.2: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^27.4.3: - version "27.5.1" - resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -js-sdsl@^4.1.4: - version "4.2.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz" - integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" +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" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== +json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== dependencies: - argparse "^2.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + 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, json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: - version "2.2.2" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz" - integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - 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" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonpointer@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -keccak@^3.0.0: +keccak@^3.0.1: version "3.0.3" - resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz" + 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" - integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== kleur@^4.0.3: version "4.1.5" - resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== -klona@^2.0.4, klona@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5: - version "1.0.7" - resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz" - integrity sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw== - dependencies: - language-subtag-registry "^0.3.20" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== - lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== +lit-element@^3.3.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" + "@lit-labs/ssr-dom-shim" "^1.1.0" + "@lit/reactive-element" "^1.3.0" + lit-html "^2.8.0" -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== +lit-html@^2.7.0, lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== + dependencies: + "@types/trusted-types" "^2.0.2" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== +lit@2.7.6: + version "2.7.6" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665" + integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg== dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.7.0" locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^2.0.0: - version "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.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - markdown-extensions@^1.0.0: version "1.1.1" - resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - mdast-util-definitions@^5.0.0: version "5.1.2" - resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== dependencies: "@types/mdast" "^3.0.0" @@ -8109,9 +3806,9 @@ mdast-util-definitions@^5.0.0: unist-util-visit "^4.0.0" mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz" - integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -8128,7 +3825,7 @@ mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0: mdast-util-mdx-expression@^1.0.0: version "1.3.2" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -8138,9 +3835,9 @@ mdast-util-mdx-expression@^1.0.0: mdast-util-to-markdown "^1.0.0" mdast-util-mdx-jsx@^2.0.0: - version "2.1.2" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.2.tgz" - integrity sha512-o9vBCYQK5ZLGEj3tCGISJGjvafyHRVJlZmfJzSE7xjiogSzIeph/Z4zMY65q4WGRMezQBeAwPlrdymDYYYx0tA== + version "2.1.4" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz#7c1f07f10751a78963cfabee38017cbc8b7786d1" + integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^2.0.0" @@ -8157,7 +3854,7 @@ mdast-util-mdx-jsx@^2.0.0: mdast-util-mdx@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz#49b6e70819b99bb615d7223c088d295e53bb810f" integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw== dependencies: mdast-util-from-markdown "^1.0.0" @@ -8168,7 +3865,7 @@ mdast-util-mdx@^2.0.0: mdast-util-mdxjs-esm@^1.0.0: version "1.3.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz#645d02cd607a227b49721d146fd81796b2e2d15b" integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== dependencies: "@types/estree-jsx" "^1.0.0" @@ -8179,7 +3876,7 @@ mdast-util-mdxjs-esm@^1.0.0: mdast-util-phrasing@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== dependencies: "@types/mdast" "^3.0.0" @@ -8187,7 +3884,7 @@ mdast-util-phrasing@^3.0.0: mdast-util-to-hast@^12.1.0: version "12.3.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== dependencies: "@types/hast" "^2.0.0" @@ -8201,7 +3898,7 @@ mdast-util-to-hast@^12.1.0: mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: version "1.5.0" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== dependencies: "@types/mdast" "^3.0.0" @@ -8214,63 +3911,38 @@ mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: zwitch "^2.0.0" mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz" - integrity sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== dependencies: "@types/mdast" "^3.0.0" -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.4.12" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz" - integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== +media-query-parser@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/media-query-parser/-/media-query-parser-2.0.2.tgz#ff79e56cee92615a304a1c2fa4f2bd056c0a1d29" + integrity sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w== dependencies: - fs-monkey "^1.0.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - 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" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + "@babel/runtime" "^7.12.5" merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== mersenne-twister@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" integrity sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA== -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== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: - version "1.0.6" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz" - integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== dependencies: decode-named-character-reference "^1.0.0" micromark-factory-destination "^1.0.0" @@ -8290,10 +3962,11 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: uvu "^0.5.0" micromark-extension-mdx-expression@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz" - integrity sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw== + version "1.0.8" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz#5bc1f5fd90388e8293b3ef4f7c6f06c24aff6314" + integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== dependencies: + "@types/estree" "^1.0.0" micromark-factory-mdx-expression "^1.0.0" micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -8303,11 +3976,12 @@ micromark-extension-mdx-expression@^1.0.0: uvu "^0.5.0" micromark-extension-mdx-jsx@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz" - integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz#e72d24b7754a30d20fb797ece11e2c4e2cae9e82" + integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== dependencies: "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" estree-util-is-identifier-name "^2.0.0" micromark-factory-mdx-expression "^1.0.0" micromark-factory-space "^1.0.0" @@ -8318,17 +3992,18 @@ micromark-extension-mdx-jsx@^1.0.0: vfile-message "^3.0.0" micromark-extension-mdx-md@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz" - integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz#595d4b2f692b134080dca92c12272ab5b74c6d1a" + integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== dependencies: micromark-util-types "^1.0.0" micromark-extension-mdxjs-esm@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz" - integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A== + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz#e4f8be9c14c324a80833d8d3a227419e2b25dec1" + integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== dependencies: + "@types/estree" "^1.0.0" micromark-core-commonmark "^1.0.0" micromark-util-character "^1.0.0" micromark-util-events-to-acorn "^1.0.0" @@ -8339,9 +4014,9 @@ micromark-extension-mdxjs-esm@^1.0.0: vfile-message "^3.0.0" micromark-extension-mdxjs@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz" - integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz#f78d4671678d16395efeda85170c520ee795ded8" + integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== dependencies: acorn "^8.0.0" acorn-jsx "^5.0.0" @@ -8353,18 +4028,18 @@ micromark-extension-mdxjs@^1.0.0: micromark-util-types "^1.0.0" micromark-factory-destination@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz" - integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-label@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz" - integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" @@ -8372,11 +4047,11 @@ micromark-factory-label@^1.0.0: uvu "^0.5.0" micromark-factory-mdx-expression@^1.0.0: - version "1.0.7" - resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz" - integrity sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz#57ba4571b69a867a1530f34741011c71c73a4976" + integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== dependencies: - micromark-factory-space "^1.0.0" + "@types/estree" "^1.0.0" micromark-util-character "^1.0.0" micromark-util-events-to-acorn "^1.0.0" micromark-util-symbol "^1.0.0" @@ -8386,28 +4061,27 @@ micromark-factory-mdx-expression@^1.0.0: vfile-message "^3.0.0" micromark-factory-space@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz" - integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== dependencies: micromark-util-character "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-title@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz" - integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" - uvu "^0.5.0" micromark-factory-whitespace@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz" - integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -8415,48 +4089,48 @@ micromark-factory-whitespace@^1.0.0: micromark-util-types "^1.0.0" micromark-util-character@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz" - integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-chunked@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz" - integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== dependencies: micromark-util-symbol "^1.0.0" micromark-util-classify-character@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz" - integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-combine-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz" - integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== dependencies: micromark-util-chunked "^1.0.0" micromark-util-types "^1.0.0" micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz" - integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-string@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz" - integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^1.0.0" @@ -8464,55 +4138,56 @@ micromark-util-decode-string@^1.0.0: micromark-util-symbol "^1.0.0" micromark-util-encode@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz" - integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== micromark-util-events-to-acorn@^1.0.0: - version "1.2.1" - resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz" - integrity sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg== + version "1.2.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz#a4ab157f57a380e646670e49ddee97a72b58b557" + integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== dependencies: "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" + "@types/unist" "^2.0.0" estree-util-visit "^1.0.0" + micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" uvu "^0.5.0" - vfile-location "^4.0.0" vfile-message "^3.0.0" micromark-util-html-tag-name@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz" - integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== micromark-util-normalize-identifier@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz" - integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== dependencies: micromark-util-symbol "^1.0.0" micromark-util-resolve-all@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz" - integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== dependencies: micromark-util-types "^1.0.0" micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz" - integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== dependencies: micromark-util-character "^1.0.0" micromark-util-encode "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-subtokenize@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz" - integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== dependencies: micromark-util-chunked "^1.0.0" micromark-util-symbol "^1.0.0" @@ -8520,19 +4195,19 @@ micromark-util-subtokenize@^1.0.0: uvu "^0.5.0" micromark-util-symbol@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz" - integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz" - integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz" - integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -8552,584 +4227,190 @@ micromark@^3.0.0: micromark-util-types "^1.0.1" uvu "^0.5.0" -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.4: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "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.16, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, 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.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "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.npmjs.org/min-document/-/min-document-2.19.0.tgz" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@^2.4.5: - version "2.7.2" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz" - integrity sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw== - dependencies: - schema-utils "^4.0.0" - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + 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.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz" - integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz" - integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== - dependencies: - mkdirp "*" - -mkdirp@*: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== +motion@10.16.2: + version "10.16.2" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== dependencies: - minimist "^1.2.6" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.16.2" mri@^1.1.0: version "1.2.0" - resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@^2.0.0: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz" - 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.npmjs.org/multibase/-/multibase-0.6.1.tgz" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz" - 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.npmjs.org/multihashes/-/multihashes-0.4.21.tgz" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz" - integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - node-addon-api@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-fetch@^2.6.12: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== dependencies: whatwg-url "^5.0.0" -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: version "4.6.0" - resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.8" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz" - integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - number-to-bn@1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz" + 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" -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-is@^1.0.1, object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - 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.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.5" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz" - integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== - dependencies: - array.prototype.reduce "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.values@^1.1.0, object.values@^1.1.5, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz" - integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== - dependencies: - http-https "^1.0.0" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" +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== -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.0" - resolved "https://registry.npmjs.org/open/-/open-8.4.0.tgz" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -p-cancelable@^2.0.0: - version "2.1.1" - 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.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== +outdent@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" + integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-entities@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== dependencies: "@types/unist" "^2.0.0" @@ -9141,14 +4422,9 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" -parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -9156,759 +4432,122 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 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" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - 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" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.17, pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - 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" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - periscopic@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== dependencies: "@types/estree" "^1.0.0" estree-walker "^3.0.0" is-reference "^3.0.0" -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: +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" + 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.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -postcss-attribute-case-insensitive@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-browser-comments@^4: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz" - integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - version "4.2.4" - resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.10: - version "12.1.11" - resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-double-position-gradients@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-flexbugs-fixes@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== - -postcss-focus-visible@^6.0.4: - version "6.0.4" - resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-focus-within@^5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== - dependencies: - postcss-selector-parser "^6.0.9" +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== -postcss-font-variant@^5.0.0: +pify@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== -postcss-image-set-function@^4.0.7: - version "4.0.7" - resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-import@^14.1.0: - version "14.1.0" - resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" + duplexify "^4.1.2" + split2 "^4.0.0" -postcss-initial@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-js@^4.0.0: +pino-std-serializers@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== - dependencies: - camelcase-css "^2.0.1" - -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-load-config@^3.1.4: - version "3.1.4" - resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== - dependencies: - lilconfig "^2.0.5" - yaml "^1.10.2" - -postcss-loader@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-logical@^5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== - -postcss-media-minmax@^5.0.0: + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + +pngjs@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz" - integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-nested@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz" - integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-nesting@^10.2.0: - version "10.2.0" - resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== +postcss@^8.4.27: + version "8.4.27" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057" + integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" - integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== - dependencies: - "@csstools/normalize.css" "*" - postcss-browser-comments "^4" - sanitize.css "*" - -postcss-opacity-percentage@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz" - integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^7.0.5: - version "7.0.5" - resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^7.0.1: - version "7.8.3" - resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" - integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== - dependencies: - "@csstools/postcss-cascade-layers" "^1.1.1" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.13" - browserslist "^4.21.4" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.1.0" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.10" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.2.0" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.6: - version "7.1.6" - resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz" - integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz" - integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.11" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.35: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.18, postcss@^8.4.19, postcss@^8.4.4: - version "8.4.20" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz" - integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== - dependencies: - nanoid "^3.3.4" + nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" +preact@^10.12.0, preact@^10.5.9: + version "10.17.0" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.0.tgz#77c0e3402767c999ac0f1ba39bd43cd85beab06b" + integrity sha512-SNsI8cbaCcUS5tbv9nlXuCfIXnJ9ysBMWk0WnB6UWwcVA3qZ2O6FxqDFECMAMttvLQcW/HaNZUe2BLidyvrVYw== + prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: - version "5.6.0" - resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.0.0, pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.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" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -promise@^8.1.0: - version "8.3.0" - resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1, prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -9917,179 +4556,83 @@ prop-types@^15.6.2, prop-types@^15.8.1: property-information@^6.0.0: version "6.2.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" +proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== -psl@^1.1.28, psl@^1.1.33: - version "1.9.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== +qrcode@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" + integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== +qrcode@1.5.3, qrcode@^1.5.1: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@^6.10.3: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== +query-string@^6.13.5: + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== dependencies: decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + 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.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - 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" - -react-app-polyfill@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" - integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== - dependencies: - core-js "^3.19.2" - object-assign "^4.1.1" - promise "^8.1.0" - raf "^3.4.1" - regenerator-runtime "^0.13.9" - whatwg-fetch "^3.6.2" - -react-app-rewired@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz" - integrity sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA== - dependencies: - semver "^5.6.0" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -10098,111 +4641,74 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0, react-is@^18.2.0: +react-is@^18.2.0: version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react-jazzicon@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/react-jazzicon/-/react-jazzicon-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/react-jazzicon/-/react-jazzicon-1.0.4.tgz#31e5f6908e042786ba93a9093b852dea1870e7a0" integrity sha512-/3kWv5vtAhI18GBFoqjpxRTtL+EImuB73PAC02r/zJQ6E+PAUmoBx8edYvTCIYHwS01uFf6N3elTDqSrVPwg4w== dependencies: mersenne-twister "^1.1.0" -react-refresh@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== -react-router-dom@^6.6.2: - version "6.6.2" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.2.tgz" - integrity sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA== +react-remove-scroll-bar@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" + integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== dependencies: - "@remix-run/router" "1.2.1" - react-router "6.6.2" + react-style-singleton "^2.2.1" + tslib "^2.0.0" -react-router@6.6.2: - version "6.6.2" - resolved "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz" - integrity sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ== +react-remove-scroll@2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0" + integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== dependencies: - "@remix-run/router" "1.2.1" + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" -react-scripts@5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" - integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== - dependencies: - "@babel/core" "^7.16.0" - "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@svgr/webpack" "^5.5.0" - babel-jest "^27.4.2" - babel-loader "^8.2.3" - babel-plugin-named-asset-import "^0.3.8" - babel-preset-react-app "^10.0.1" - bfj "^7.0.2" - browserslist "^4.18.1" - camelcase "^6.2.1" - case-sensitive-paths-webpack-plugin "^2.4.0" - css-loader "^6.5.1" - css-minimizer-webpack-plugin "^3.2.0" - dotenv "^10.0.0" - dotenv-expand "^5.1.0" - eslint "^8.3.0" - eslint-config-react-app "^7.0.1" - eslint-webpack-plugin "^3.1.1" - file-loader "^6.2.0" - fs-extra "^10.0.0" - html-webpack-plugin "^5.5.0" - identity-obj-proxy "^3.0.0" - jest "^27.4.3" - jest-resolve "^27.4.2" - jest-watch-typeahead "^1.0.0" - mini-css-extract-plugin "^2.4.5" - postcss "^8.4.4" - postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^6.2.1" - postcss-normalize "^10.0.1" - postcss-preset-env "^7.0.1" - prompts "^2.4.2" - react-app-polyfill "^3.0.0" - react-dev-utils "^12.0.1" - react-refresh "^0.11.0" - resolve "^1.20.0" - resolve-url-loader "^4.0.0" - sass-loader "^12.3.0" - semver "^7.3.5" - source-map-loader "^3.0.0" - style-loader "^3.3.1" - tailwindcss "^3.0.2" - terser-webpack-plugin "^5.2.5" - webpack "^5.64.4" - webpack-dev-server "^4.6.0" - webpack-manifest-plugin "^4.0.2" - workbox-webpack-plugin "^6.4.1" - optionalDependencies: - fsevents "^2.3.2" +react-router-dom@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.15.0.tgz#6da7db61e56797266fbbef0d5e324d6ac443ee40" + integrity sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ== + dependencies: + "@remix-run/router" "1.8.0" + react-router "6.15.0" + +react-router@6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.15.0.tgz#bf2cb5a4a7ed57f074d4ea88db0d95033f39cac8" + integrity sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg== + dependencies: + "@remix-run/router" "1.8.0" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -10211,36 +4717,16 @@ react-transition-group@^4.4.5: prop-types "^15.6.2" react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^2.0.1: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 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" + loose-envify "^1.1.0" -readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== +readable-stream@^3.1.1, readable-stream@^3.5.0, 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" @@ -10248,110 +4734,33 @@ readable-stream@^3.0.6, readable-stream@^3.5.0, readable-stream@^3.6.0: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-parser@^2.2.11: - version "2.2.11" - resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== - -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.2.1: - version "5.2.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz" - integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== remark-mdx@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.3.0.tgz#efe678025a8c2726681bde8bf111af4a93943db4" integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g== dependencies: mdast-util-mdx "^2.0.0" micromark-extension-mdxjs "^1.0.0" remark-parse@^10.0.0: - version "10.0.1" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz" - integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== dependencies: "@types/mdast" "^3.0.0" mdast-util-from-markdown "^1.0.0" @@ -10359,7 +4768,7 @@ remark-parse@^10.0.0: remark-rehype@^10.0.0: version "10.1.0" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== dependencies: "@types/hast" "^2.0.0" @@ -10367,414 +4776,139 @@ remark-rehype@^10.0.0: mdast-util-to-hast "^12.1.0" unified "^10.0.0" -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -request@^2.79.0: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - 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" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -require-from-string@^2.0.2: - version "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== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -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== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== - dependencies: - adjust-sourcemap-loader "^4.0.0" - convert-source-map "^1.7.0" - loader-utils "^2.0.0" - postcss "^7.0.35" - source-map "0.6.1" - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== +resolve@^1.19.0: + version "1.22.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" + integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - 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.npmjs.org/rlp/-/rlp-2.2.7.tgz" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" +rollup@^3.27.1: + version "3.28.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.0.tgz#a3c70004b01934760c0cb8df717c7a1d932389a2" + integrity sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw== + optionalDependencies: + fsevents "~2.3.2" -rollup-plugin-terser@^7.0.0: - version "7.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== +rpc-websockets@^7.5.1: + version "7.6.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.6.0.tgz#d3f4c0dac108ca35566b0e31552c32e58928cd04" + integrity sha512-Jgcs8q6t8Go98dEulww1x7RysgTkzpCMelVxZW4hvuyFtOGpeUz9prpr2KjUa/usqxgFCd9Tu3+yhHEP9GVmiQ== dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.43.1: - version "2.79.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + "@babel/runtime" "^7.17.2" + eventemitter3 "^4.0.7" + uuid "^8.3.2" + ws "^8.5.0" optionalDependencies: - fsevents "~2.3.2" + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" +rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + sade@^1.7.3: version "1.8.1" - resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: mri "^1.1.0" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, 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: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - 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", "safer-buffer@>= 2.1.2 < 3.0.0", 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== - -sanitize.css@*: - version "13.0.0" - resolved "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz" - integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== +safe-json-utils@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" + integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== -sass-loader@^12.3.0: - version "12.6.0" - resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" +safe-stable-stringify@^2.1.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== -sass@^1.57.1: - version "1.57.1" - resolved "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz" - integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== +sass@^1.65.1: + version "1.65.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.65.1.tgz#8f283b0c26335a88246a448d22e1342ba2ea1432" + integrity sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - scheduler@^0.23.0: version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: +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.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== - dependencies: - node-forge "^1" - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: - version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@^7.3.8, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - 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" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz" - 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.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -sha.js@^2.4.0, sha.js@^2.4.8: +sha.js@^2.4.11: version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" @@ -10782,844 +4916,277 @@ sha.js@^2.4.0, sha.js@^2.4.8: shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3: - version "1.7.4" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz" - integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== - side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + 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.3: - version "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.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -source-list-map@^2.0.0, source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + atomic-sleep "^1.0.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@^0.5.21, source-map-support@^0.5.6, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - source-map@^0.5.7: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.7.0, source-map@^0.7.3: +source-map@^0.7.0: version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz" - 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" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== stream-browserify@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== dependencies: inherits "~2.0.4" readable-stream "^3.5.0" -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== - dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== 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" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - 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.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - 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.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-entities@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" - integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - strip-hex-prefix@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz" + 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-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -style-loader@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== - style-to-object@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz" - integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== + version "0.4.2" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54" + integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA== dependencies: inline-style-parser "0.1.1" -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== -stylis@4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz" - integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== +superstruct@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" + integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== + +superstruct@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" + integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -swarm-js@^0.1.40: - version "0.1.42" - resolved "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.42.tgz" - 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" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tailwindcss@^3.0.2: - version "3.2.4" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz" - integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== - dependencies: - arg "^5.0.2" - chokidar "^3.5.3" - color-name "^1.1.4" - detective "^5.2.1" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.12" - glob-parent "^6.0.2" - is-glob "^4.0.3" - lilconfig "^2.0.6" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.18" - postcss-import "^14.1.0" - postcss-js "^4.0.0" - postcss-load-config "^3.1.4" - postcss-nested "6.0.0" - postcss-selector-parser "^6.0.10" - postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.1" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" - 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" - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" - integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== - dependencies: - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: - version "5.3.6" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.14" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" - -terser@^5.0.0, terser@^5.10.0, terser@^5.14.1: - version "5.16.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz" - integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -throat@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -tinycolor2@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.5.2.tgz" - integrity sha512-h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg== +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trough@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== -tryer@^1.0.1: +ts-api-utils@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d" + integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A== -tslib@^1.8.1: +tslib@1.14.1, tslib@^1.9.0: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3: - version "2.4.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tslog@^3.2.0: - version "3.3.4" - resolved "https://registry.npmjs.org/tslog/-/tslog-3.3.4.tgz" - integrity sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q== - dependencies: - source-map-support "^0.5.21" - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" + integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - 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" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typedarray-to-buffer@^3.1.5: +typedarray-to-buffer@3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + 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@^4.4.2: - version "4.9.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - 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" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== +typescript@^5.0.2: + version "5.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== +uint8arrays@^3.0.0, uint8arrays@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + multiformats "^9.4.2" unified@^10.0.0: version "10.1.2" - resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== dependencies: "@types/unist" "^2.0.0" @@ -11630,40 +5197,35 @@ unified@^10.0.0: trough "^2.0.0" vfile "^5.0.0" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - unist-util-generated@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== unist-util-is@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz" - integrity sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ== + version "5.2.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz#8ac2480027229de76512079e377afbcabcfcce22" integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww== dependencies: "@types/unist" "^2.0.0" unist-util-position@^4.0.0: version "4.0.4" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== dependencies: "@types/unist" "^2.0.0" unist-util-remove-position@^4.0.0: version "4.0.2" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ== dependencies: "@types/unist" "^2.0.0" @@ -11671,14 +5233,14 @@ unist-util-remove-position@^4.0.0: unist-util-stringify-position@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== dependencies: "@types/unist" "^2.0.0" unist-util-visit-parents@^5.1.1: version "5.1.3" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== dependencies: "@types/unist" "^2.0.0" @@ -11686,101 +5248,68 @@ unist-util-visit-parents@^5.1.1: unist-util-visit@^4.0.0: version "4.1.2" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" unist-util-visit-parents "^5.1.1" -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -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.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -upath@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: escalade "^3.1.1" picocolors "^1.0.0" uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== +use-callback-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" + integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" + tslib "^2.0.0" -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz" - integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== utf-8-validate@^5.0.2: version "5.0.10" - resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" + 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.npmjs.org/utf8/-/utf8-3.0.0.tgz" + 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.2, 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" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@^0.12.0: +util@^0.12.4: version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== dependencies: inherits "^2.0.3" @@ -11789,34 +5318,14 @@ util@^0.12.0: is-typed-array "^1.1.3" which-typed-array "^1.1.2" -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - 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" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uvu@^0.5.0: version "0.5.6" - resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" @@ -11824,45 +5333,17 @@ uvu@^0.5.0: kleur "^4.0.3" sade "^1.7.3" -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== +valtio@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed" + integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg== dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vfile-location@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" vfile-message@^3.0.0: version "3.1.4" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== dependencies: "@types/unist" "^2.0.0" @@ -11870,7 +5351,7 @@ vfile-message@^3.0.0: vfile@^5.0.0: version "5.3.7" - resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== dependencies: "@types/unist" "^2.0.0" @@ -11878,696 +5359,99 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -web-vitals@^2.1.0: - version "2.1.4" - resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" - integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== - -web3-bzz@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.5.tgz" - integrity sha512-Z53sY0YK/losqjJncmL4vP0zZI9r6tiXg6o7R6e1JD2Iy7FH3serQvU+qXmPjqEBzsnhf8wTG+YcBPB3RHpr0Q== - dependencies: - "@types/node" "^12.12.6" - got "12.1.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.5.tgz" - integrity sha512-lDDjTks6Q6aNUO87RYrY2xub3UWTKr/RIWxpHJODEqkLxZS1dWdyliJ6aIx3031VQwsNT5HE7NvABe/t0p3iDQ== - dependencies: - web3-eth-iban "1.7.5" - web3-utils "1.7.5" - -web3-core-method@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.5.tgz" - integrity sha512-ApTvq1Llzlbxmy0n4L7QaE6NodIsR80VJqk8qN4kLg30SGznt/pNJFebryLI2kpyDmxSgj1TjEWzmHJBp6FhYg== - dependencies: - "@ethersproject/transactions" "^5.6.2" - web3-core-helpers "1.7.5" - web3-core-promievent "1.7.5" - web3-core-subscriptions "1.7.5" - web3-utils "1.7.5" - -web3-core-promievent@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.5.tgz" - integrity sha512-uZ1VRErVuhiLtHlyt3oEH/JSvAf6bWPndChHR9PG7i1Zfqm6ZVCeM91ICTPmiL8ddsGQOxASpnJk4vhApcTIww== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.5.tgz" - integrity sha512-3KpfxW/wVH4mgwWEsSJGHKrtRVoijWlDxtUrm17xgtqRNZ2mFolifKnHAUKa0fY48C9CrxmcCiMIi3W4G6WYRw== - dependencies: - util "^0.12.0" - web3-core-helpers "1.7.5" - web3-providers-http "1.7.5" - web3-providers-ipc "1.7.5" - web3-providers-ws "1.7.5" - -web3-core-subscriptions@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.5.tgz" - integrity sha512-YK6utQ7Wwjbe4XZOIA8quWGBPi1lFDS1A+jQYwxKKrCvm6BloBNc3FhvrcSYlDhLe/kOy8+2Je8i9amndgT4ww== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.5" - -web3-core@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-core/-/web3-core-1.7.5.tgz" - integrity sha512-UgOWXZr1fR/3cUQJKWbfMwRxj1/N7o6RSd/dHqdXBlOD+62EjNZItFmLRg5veq5kp9YfXzrNw9bnDkXfsL+nKQ== - dependencies: - "@types/bn.js" "^5.1.0" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-requestmanager "1.7.5" - web3-utils "1.7.5" - -web3-eth-abi@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.5.tgz" - integrity sha512-qWHvF7sayxql9BD1yqK9sZRLBQ66eJzGeaU53Y1PRq2iFPrhY6NUWxQ3c3ps0rg+dyObvRbloviWpKXcS4RE/A== - dependencies: - "@ethersproject/abi" "^5.6.3" - web3-utils "1.7.5" - -web3-eth-accounts@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.5.tgz" - integrity sha512-AzMLoTj3RGwKpyp3x3TtHrEeU4VpR99iMOD6NKrWSDumS6QEi0lCo+y7QZhdTlINw3iIA3SFIdvbAOO4NCHSDg== - dependencies: - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.2" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-util "^7.0.10" - scrypt-js "^3.0.1" - uuid "3.3.2" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-utils "1.7.5" - -web3-eth-contract@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.5.tgz" - integrity sha512-qab7NPJRKRlTs58ozsqK8YIEwWpxIm3vD/okSIKBGkFx5gIHWW+vGmMh5PDSfefLJM9rCd+T+Lc0LYvtME7uqg== - dependencies: - "@types/bn.js" "^5.1.0" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-promievent "1.7.5" - web3-core-subscriptions "1.7.5" - web3-eth-abi "1.7.5" - web3-utils "1.7.5" - -web3-eth-ens@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.5.tgz" - integrity sha512-k1Q0msdRv/wac2egpZBIwG3n/sa/KdrVmVJvFm471gLTL4xfUizV5qJjkDVf+ikf9JyDvWJTs5eWNUUbOFIw/A== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-promievent "1.7.5" - web3-eth-abi "1.7.5" - web3-eth-contract "1.7.5" - web3-utils "1.7.5" - -web3-eth-iban@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.5.tgz" - integrity sha512-mn2W5t/1IpL8OZvzAabLKT4kvwRnZSJ9K0tctndl9sDNWkfITYQibEEhUaNNA50Q5fJKgVudHI/m0gwIVTyG8Q== - dependencies: - bn.js "^5.2.1" - web3-utils "1.7.5" - -web3-eth-personal@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.5.tgz" - integrity sha512-txh2P/eN8I4AOUKFi9++KKddoD0tWfCuu9Y1Kc41jSRbk6smO88Fum0KWNmYFYhSCX2qiknS1DfqsONl3igoKQ== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-net "1.7.5" - web3-utils "1.7.5" - -web3-eth@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.5.tgz" - integrity sha512-BucjvqZyDWYkGlsFX+OnOBub0YutlC1KZiNGibdmvtNX0NQK+8iw1uzAoL9yTTwCSszL7lnkFe8N+HCOl9B4Dw== - dependencies: - web3-core "1.7.5" - web3-core-helpers "1.7.5" - web3-core-method "1.7.5" - web3-core-subscriptions "1.7.5" - web3-eth-abi "1.7.5" - web3-eth-accounts "1.7.5" - web3-eth-contract "1.7.5" - web3-eth-ens "1.7.5" - web3-eth-iban "1.7.5" - web3-eth-personal "1.7.5" - web3-net "1.7.5" - web3-utils "1.7.5" - -web3-net@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-net/-/web3-net-1.7.5.tgz" - integrity sha512-xwuCb2YWw49PmW81AJQ/G+Xi2ikRsYyZXSgyPt4LmZuKjiqg/6kSdK8lZvUi3Pi3wM+QDBXbpr73M/WEkW0KvA== - dependencies: - web3-core "1.7.5" - web3-core-method "1.7.5" - web3-utils "1.7.5" - -web3-providers-http@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.5.tgz" - integrity sha512-vPgr4Kzy0M3CHtoP/Bh7qwK/D9h2fhjpoqctdMWVJseOfeTgfOphCKN0uwV8w2VpZgDPXA8aeTdBx5OjmDdStA== - dependencies: - abortcontroller-polyfill "^1.7.3" - cross-fetch "^3.1.4" - es6-promise "^4.2.8" - web3-core-helpers "1.7.5" - -web3-providers-ipc@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.5.tgz" - integrity sha512-aNHx+RAROzO+apDEzy8Zncj78iqWBadIXtpmFDg7uiTn8i+oO+IcP1Yni7jyzkltsysVJHgHWG4kPx50ANCK3Q== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.7.5" - -web3-providers-ws@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.5.tgz" - integrity sha512-9uJNVVkIGC8PmM9kNbgPth56HDMSSsxZh3ZEENdwO3LNWemaADiQYUDCsD/dMVkn0xsGLHP5dgAy4Q5msqySLg== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.5" - websocket "^1.0.32" +viem@^1.0.0, viem@^1.5.3: + version "1.6.0" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.6.0.tgz#8befa678c3ac79b9558dfd1708130b2ecb1994f4" + integrity sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA== + dependencies: + "@adraffy/ens-normalize" "1.9.0" + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + "@types/ws" "^8.5.4" + "@wagmi/chains" "1.6.0" + abitype "0.9.3" + isomorphic-ws "5.0.0" + ws "8.12.0" + +vite@^4.4.5: + version "4.4.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" + integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" + optionalDependencies: + fsevents "~2.3.2" -web3-shh@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.5.tgz" - integrity sha512-aCIWJyLMH5H76OybU4ZpUCJ93yNOPATGhJ+KboRPU8QZDzS2CcVhtEzyl27bbvw+rSnVroMLqBgTXBB4mmKI7A== +wagmi@^1.3.9: + version "1.3.10" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.3.10.tgz#100aeaecf7a030e9e91118d366a734ec30c56551" + integrity sha512-MMGJcnxOmeUZWDmzUxgRGcB1cqxbJoSFSa+pNY4vBCWMz0n4ptpE5F8FKISLCx+BGoDwsaz2ldcMALcdJZ+29w== dependencies: - web3-core "1.7.5" - web3-core-method "1.7.5" - web3-core-subscriptions "1.7.5" - web3-net "1.7.5" + "@tanstack/query-sync-storage-persister" "^4.27.1" + "@tanstack/react-query" "^4.28.0" + "@tanstack/react-query-persist-client" "^4.28.0" + "@wagmi/core" "1.3.9" + abitype "0.8.7" + use-sync-external-store "^1.2.0" -web3-utils@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.5.tgz" - integrity sha512-9AqNOziQky4wNQadEwEfHiBdOZqopIHzQQVzmvvv6fJwDSMhP+khqmAZC7YTiGjs0MboyZ8tWNivqSO1699XQw== +web3-utils@^1.8.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.1.tgz#97532130d85358628bc0ff14d94b7e9449786983" + integrity sha512-r6iUUw/uMnNcWXjhRv33Nyrhxq3VGOPBXeSzxhOXIci4SvC/LPTpROY0uTrMX7ztKyODYrHp8WhTkEf+ZnHssw== dependencies: + "@ethereumjs/util" "^8.1.0" bn.js "^5.2.1" ethereum-bloom-filters "^1.0.6" - ethereumjs-util "^7.1.0" + ethereum-cryptography "^2.1.2" ethjs-unit "0.1.6" number-to-bn "1.7.0" randombytes "^2.1.0" utf8 "3.0.0" -web3@1.7.5: - version "1.7.5" - resolved "https://registry.npmjs.org/web3/-/web3-1.7.5.tgz" - integrity sha512-3jHZTWyXt975AOXgnZKayiSWDLpoSKk9fZtLk1hURQtt7AdSbXPT8AK9ooBCm0Dt3GYaOeNcHGaiHC3gtyqhLg== - dependencies: - web3-bzz "1.7.5" - web3-core "1.7.5" - web3-eth "1.7.5" - web3-eth-personal "1.7.5" - web3-net "1.7.5" - web3-shh "1.7.5" - web3-utils "1.7.5" - webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.6.0: - version "4.11.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz" - integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - -webpack-manifest-plugin@^4.0.2: - version "4.1.1" - resolved "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" - integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== - dependencies: - tapable "^2.0.0" - webpack-sources "^2.2.0" - -webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" - integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.64.4: - version "5.75.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz" - integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -websocket@^1.0.32: - version "1.0.34" - resolved "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz" - 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-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - 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-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.2, which-typed-array@^1.1.8: - version "1.1.9" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== +which-typed-array@^1.1.11, which-typed-array@^1.1.2: + version "1.1.11" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== 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@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -workbox-background-sync@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz" - integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-broadcast-update@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz" - integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== - dependencies: - workbox-core "6.5.4" - -workbox-build@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz" - integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== - dependencies: - "@apideck/better-ajv-errors" "^0.3.1" - "@babel/core" "^7.11.1" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.2" - "@rollup/plugin-babel" "^5.2.0" - "@rollup/plugin-node-resolve" "^11.2.1" - "@rollup/plugin-replace" "^2.4.1" - "@surma/rollup-plugin-off-main-thread" "^2.2.3" - ajv "^8.6.0" - common-tags "^1.8.0" - fast-json-stable-stringify "^2.1.0" - fs-extra "^9.0.1" - glob "^7.1.6" - lodash "^4.17.20" - pretty-bytes "^5.3.0" - rollup "^2.43.1" - rollup-plugin-terser "^7.0.0" - source-map "^0.8.0-beta.0" - stringify-object "^3.3.0" - strip-comments "^2.0.1" - tempy "^0.6.0" - upath "^1.2.0" - workbox-background-sync "6.5.4" - workbox-broadcast-update "6.5.4" - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-google-analytics "6.5.4" - workbox-navigation-preload "6.5.4" - workbox-precaching "6.5.4" - workbox-range-requests "6.5.4" - workbox-recipes "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - workbox-streams "6.5.4" - workbox-sw "6.5.4" - workbox-window "6.5.4" - -workbox-cacheable-response@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz" - integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== - dependencies: - workbox-core "6.5.4" - -workbox-core@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz" - integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== - -workbox-expiration@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz" - integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-google-analytics@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz" - integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== - dependencies: - workbox-background-sync "6.5.4" - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-navigation-preload@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz" - integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== - dependencies: - workbox-core "6.5.4" - -workbox-precaching@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz" - integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-range-requests@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz" - integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== - dependencies: - workbox-core "6.5.4" - -workbox-recipes@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz" - integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== - dependencies: - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-precaching "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-routing@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz" - integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== - dependencies: - workbox-core "6.5.4" - -workbox-strategies@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz" - integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== - dependencies: - workbox-core "6.5.4" - -workbox-streams@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz" - integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - -workbox-sw@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz" - integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== - -workbox-webpack-plugin@^6.4.1: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz" - integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== - dependencies: - fast-json-stable-stringify "^2.1.0" - pretty-bytes "^5.4.1" - upath "^1.2.0" - webpack-sources "^1.4.3" - workbox-build "6.5.4" - -workbox-window@6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz" - integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== - dependencies: - "@types/trusted-types" "^2.0.2" - workbox-core "6.5.4" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -12575,137 +5459,97 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - ws@7.4.6: version "7.4.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" +ws@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== -ws@^7.4.6: +ws@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + +ws@^7.4.5, ws@^7.5.1: version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.4.2: - version "8.11.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz" - 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.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz" - 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.npmjs.org/xhr/-/xhr-2.6.0.tgz" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +ws@^8.5.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, xtend@^4.0.2: +xtend@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + 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.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.npmjs.org/yaeti/-/yaeti-0.0.6.tgz" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: +yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + 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" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: +yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +zustand@^4.3.1, zustand@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" + integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== + dependencies: + use-sync-external-store "1.2.0" + zwitch@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 0c3fb3ae41b85e31dce06c88644d2b56c670d269 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 22 Aug 2023 13:47:33 +0100 Subject: [PATCH 04/68] Update styling system, add community pool component --- src/App.scss | 472 --------------------- src/Bridge.tsx | 2 +- src/Header.tsx | 11 +- src/SkDrawer.tsx | 3 +- src/components/AccountMenu/AccountMenu.tsx | 20 +- src/components/Faq/Faq.tsx | 16 +- src/components/HelpZen/HelpZen.tsx | 4 +- src/components/Main.tsx | 55 ++- src/components/MoreMenu/MoreMenu.tsx | 32 +- src/components/Terms/Terms.tsx | 12 +- yarn.lock | 10 +- 11 files changed, 89 insertions(+), 548 deletions(-) diff --git a/src/App.scss b/src/App.scss index 87a20a3..4769772 100644 --- a/src/App.scss +++ b/src/App.scss @@ -40,16 +40,8 @@ body { } - - - - - - - @import './variables'; - body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', @@ -193,12 +185,6 @@ h4 { } - - - - - - .bridge-dark .MuiFormControlLabel-label { color: rgba(255, 255, 255, 0.7); } @@ -267,160 +253,6 @@ h4 { padding: 24px 0 !important; } -.mp__fullHeight { - height: 85vh; -} - -.mp__flex { - display: flex; - vertical-align: middle; -} - -.mp__flexWrap { - flex-wrap: wrap; -} - -.fl-right { - justify-content: end; -} - -.mp__flexCentered { - align-items: center; - justify-content: center; - -} - -.mp__flexCenteredVert { - align-items: center; -} - -.mp__flexGrow { - flex-grow: 1; -} - - -.mp__margTop10 { - margin-top: 10px !important; -} - -.mp__margTop20 { - margin-top: 20px !important; -} - -.mp__margTop30 { - margin-top: 30px !important; -} - -.mp__margTop40 { - margin-top: 40px !important; -} - -.mp__margLeft5 { - margin-left: 5px !important; -} - -.mp__margLeft10 { - margin-left: 10px !important; -} - -.mp__margLeft20 { - margin-left: 20px !important; -} - -.mp__margRi20 { - margin-right: 20px !important; -} - -.mp__margRi10 { - margin-right: 10px !important; -} - -.mp__margRi5 { - margin-right: 5px !important; -} - - -.marg-top-20 { - margin-top: 20px !important; -} - -.mp__margTop20Pt { - margin-top: 20pt !important; -} - -.marg-top-30 { - margin-top: 30px !important; -} - -.mp__margBott20 { - margin-bottom: 20px !important; -} - -.mp__margBott10 { - margin-bottom: 10px !important; -} - -.mp__margBott15 { - margin-bottom: 15px !important; -} - -.mp__margBottMin10 { - margin-bottom: -10px !important; -} - -.mp__margBottMin15 { - margin-bottom: -15px !important; -} - - -.marg-bott-40 { - margin-bottom: 40px !important; -} - -.mp__margBott5 { - margin-bottom: 5px !important; -} - -.mp__margTop5 { - margin-top: 5px !important; -} - - -.mp__noMargTop { - margin-top: 0 !important; -} - - -.mp__noMargBott { - margin-bottom: 0 !important; -} - -.mp__noMarg { - margin: 0 !important; -} - -.mp__noPadd { - padding: 0 !important; -} - -.mp__paddTop10 { - padding-top: 10px !important; -} - - -.mp__noMarg-bott { - margin-bottom: 0 !important; -} - -.mp__noMarg { - margin: 0 !important; -} - -.hidden { - display: none !important; -} - - .bridge-dark .MuiListItemText-primary { color: #ffffffdb !important; } @@ -496,85 +328,6 @@ h4 { width: 100%; } -.undec { - text-decoration: none !important; -} - -.bridge__btn { - font-size: .7125rem !important; - line-height: 1.7 !important; - border-radius: 15px !important; - font-weight: 600 !important; -} - - -.bridge__action_btn { - box-shadow: none !important; - font-size: 0.7525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.02857em !important; - font-weight: 600 !important; - padding-top: 0.8em !important; - padding-bottom: 0.8em !important; - min-height: $sk-btn-height !important; - border-radius: $sk-border-radius !important; -} - -.bridge__btnLoading { - padding-left: 35px !important; -} - -.bridge__transferBtn { - width: 100%; - font-size: 0.8rem !important; - font-weight: 600 !important; - padding: 12px !important; -} - -.nftImg { - max-height: 200px; - padding: 20px 30px; -} - -.nftImgWrap { - max-height: 200px; -} - - -input[type=number] { - -moz-appearance: textfield; - /* Firefox */ -} - -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - /* display: none; <- Crashes Chrome on hover */ - -webkit-appearance: none; - margin: 0; - /* <-- Apparently some margin are still there even though it's hidden */ -} - -.inputAmount .MuiFormControl-root { - width: 100%; -} - - -.MuiInputBase-root::after { - border-bottom: none !important; -} - -.MuiInputBase-root::before { - border-bottom: none !important; -} - -.MuiInputBase-root { - border-radius: 8px !important; -} - -.inputAmount { - margin: 20px 0 10px 0; -} - .mp__btnConnect { @@ -624,109 +377,21 @@ input::-webkit-inner-spin-button { } -.mp__btnChain { - width: 100%; - text-align: left; - text-transform: uppercase; - font-size: 0.6525rem; - line-height: 1.6; - letter-spacing: 0.02857em; -} - -.mp__btnChainBig { - width: 100%; - text-transform: uppercase; - font-size: 0.90525rem; - line-height: 1.5; - letter-spacing: 0.02857em; - padding-left: 25pt; - padding-right: 25pt; -} - .MuiSnackbar-root .MuiPaper-root { padding: 5px 15px !important; } -.chainLogo { - width: 80px; -} - - -.ethLogo { - width: 65px; -} - -.headerText { - margin-bottom: 1px !important; - font-size: 1.5rem !important; - font-weight: 600; -} - -.mp__undec { - text-decoration: none !important; -} - -.mp__logoLink { - color: white; -} - -.chainIcon { - width: 24px !important; - height: 24px !important; -} - -.MuiListItemIcon-root { - .chainIcon { - width: 20px !important; - height: 20px !important; - } -} - - -.fade-enter { - opacity: 0; - transform: translate(0, 25px); - z-index: 1; -} - -.fade-enter.fade-enter-active { - opacity: 1; - transform: translate(0, 0); - - transition: opacity 250ms ease-out, transform 300ms ease; -} -.fade-exit { - opacity: 1; - transform: translate(0, 0); -} -.fade-exit.fade-exit-active { - opacity: 0; - transform: translate(0, 30px); - transition: opacity 250ms ease-out, transform 300ms ease; -} -.uppercase { - text-transform: uppercase !important; -} -.mp__p3 { - margin: 0; - font-weight: 600 !important; - // text-transform: uppercase !important; - //font-size: 0.6525rem !important; - font-size: 0.7rem !important; - line-height: 1.6 !important; - letter-spacing: 0.02857em !important; -} .MuiToggleButton-root { @@ -738,143 +403,6 @@ input::-webkit-inner-spin-button { letter-spacing: 0.02857em !important; } -.mp__p, -.mp__infoIcon, -.mp__backIcon { - color: rgb(255 255 255 / 65%) !important; -} - -.mp__p2 { - margin: 0; - font-weight: 600 !important; - // text-transform: uppercase !important; - font-size: 0.9525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.03857em !important; -} - - -.mp__p4 { - margin: 0; - font-weight: 400 !important; - // text-transform: uppercase !important; - font-size: 0.8525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.03857em !important; -} - -.mp__p6 { - margin: 0; - font-weight: 500 !important; - font-size: 0.9rem !important; - line-height: 1.4 !important; -} - -.mp__p5 { - margin: 0; - font-weight: 400 !important; - // text-transform: uppercase !important; - font-size: 0.7025rem !important; - line-height: 1.6 !important; - letter-spacing: 0.03857em !important; -} - - - -.mp__textCentered { - text-align: center; -} - -.chainInfoIcon { - width: 12pt !important; - color: #0000008a !important; -} - -.chainInfoText { - color: #0000008a !important; -} - - -.schain-name { - font-weight: bold; - // text-transform: uppercase; - font-size: .75rem; - color: white; - text-align: center; -} - -.defaultChainIcon { - width: 20px !important; - height: 20px !important; -} - - -.mp__iconToken { - width: 25px; - height: 25px; - margin-right: -10px; - border: 1px $border-color solid !important; - border-radius: 50%; -} - - -.mp__iconHub { - img { - width: 25px; - height: 25px; - // margin-right: 10px; - border: 1px $border-color solid !important; - border-radius: 50%; - } -} - -.mp__iconTokenMore { - margin-left: 10px !important; - background: #00000081; - - p { - color: white !important; - font-weight: bold; - font-size: 0.6rem; - } -} - -.mp__iconTokenBig { - width: 30px; - height: 30px; - margin-top: 10px; - margin-right: 10px; -} - -.mp__iconTokenBtn { - width: 30px; - height: 30px; -} - -.mp__iconTokenTransferDone { - width: 25px; - height: 25px; -} - -.topBannerNew { - font-weight: 500 !important; - /* text-transform: uppercase !important; */ - font-size: .8525rem !important; - line-height: 1.5 !important; - letter-spacing: .02857em !important; - color: #e1e1e1 !important; -} - - -.mp__chipToken { - height: 45px !important; -} - -.mp__chipAmount { - height: 35px !important; - font-size: 0.7125rem !important; -} - .MuiChip-filled { border-radius: 50px !important; diff --git a/src/Bridge.tsx b/src/Bridge.tsx index d40f29c..da9d1ea 100644 --- a/src/Bridge.tsx +++ b/src/Bridge.tsx @@ -32,7 +32,7 @@ import CssBaseline from '@mui/material/CssBaseline'; -import { Metaport, SkConnect, TokenIcon, ChainIcon, ChainsList, TokenList, interfaces, useCollapseStore, useMetaportStore, cls, styles, common, useWagmiAccount } from '@skalenetwork/metaport'; +import { Metaport, SkConnect, TokenIcon, ChainIcon, ChainsList, TokenList, interfaces, useCollapseStore, useMetaportStore, cls, styles, cmn, useWagmiAccount } from '@skalenetwork/metaport'; import { Button } from '@mui/material'; diff --git a/src/Header.tsx b/src/Header.tsx index 0a71ca0..ad2a339 100644 --- a/src/Header.tsx +++ b/src/Header.tsx @@ -21,7 +21,6 @@ * @copyright SKALE Labs 2021-Present */ -import React from 'react'; import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Chip from '@mui/material/Chip'; @@ -30,6 +29,7 @@ import { Link } from "react-router-dom"; import logo from './assets/skale_lg.svg'; +import { cmn, cls } from '@skalenetwork/metaport'; import HelpZen from './components/HelpZen'; import MoreMenu from './components/MoreMenu'; @@ -39,7 +39,6 @@ import { MAINNET_CHAIN_NAME } from './core/constants'; export default function Header(props: { address: `0x${string}` | undefined }) { - return ( theme.zIndex.drawer + 1 }} > - -

- + +
+ logo
-
+
{ 'mainnet' !== MAINNET_CHAIN_NAME ? - +

Bridge

diff --git a/src/components/AccountMenu/AccountMenu.tsx b/src/components/AccountMenu/AccountMenu.tsx index c100c53..60d34f3 100644 --- a/src/components/AccountMenu/AccountMenu.tsx +++ b/src/components/AccountMenu/AccountMenu.tsx @@ -14,7 +14,7 @@ import SignalCellularAltOutlinedIcon from '@mui/icons-material/SignalCellularAlt import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; import AccountCircleRoundedIcon from '@mui/icons-material/AccountCircleRounded'; -import { cls, styles, common } from '@skalenetwork/metaport'; +import { cls, styles, cmn } from '@skalenetwork/metaport'; export default function AccountMenu(props: any) { const [anchorEl, setAnchorEl] = React.useState(null); @@ -33,9 +33,9 @@ export default function AccountMenu(props: any) {
diff --git a/src/components/Main.tsx b/src/components/Main.tsx index ba32995..c04b5f0 100644 --- a/src/components/Main.tsx +++ b/src/components/Main.tsx @@ -6,6 +6,9 @@ import Collapse from '@mui/material/Collapse'; import Stack from '@mui/material/Stack'; // import TransferFrom from '../TransferFrom'; + +import { MAINNET_CHAIN_NAME } from '../core/constants' + import { TransferETF, TransferETA, @@ -19,12 +22,13 @@ import { useCollapseStore, useMetaportStore, cls, - common, + cmn, styles, AmountErrorMessage, TokenBalance, DestTokenBalance, - ErrorMessage + ErrorMessage, + CommunityPool } from '@skalenetwork/metaport'; @@ -39,6 +43,7 @@ export default function Main(props: any) { const expandedTo = useCollapseStore((state) => state.expandedTo) const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) + const expandedCP = useCollapseStore((state) => state.expandedCP) const expandedTokens = useCollapseStore((state) => state.expandedTokens) const token = useMetaportStore((state) => state.token) @@ -47,6 +52,7 @@ export default function Main(props: any) { const tokens = useMetaportStore((state) => state.tokens) const chainName1 = useMetaportStore((state) => state.chainName1) const chainName2 = useMetaportStore((state) => state.chainName2) + const destChains = useMetaportStore((state) => state.destChains) const setChainName1 = useMetaportStore((state) => state.setChainName1) const setChainName2 = useMetaportStore((state) => state.setChainName2) @@ -69,29 +75,28 @@ export default function Main(props: any) { }, [tokens]); - const showFrom = !expandedTo && !expandedTokens && !errorMessage - const showTo = !expandedFrom && !expandedTokens && !errorMessage - const showInput = !expandedFrom && !expandedTo && !errorMessage - const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage - const showStepper = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage - const showError = !!errorMessage; + const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP + const showTo = !expandedFrom && !expandedTokens && !errorMessage && !expandedCP + const showInput = !expandedFrom && !expandedTo && !errorMessage && !expandedCP + const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP + const showStepper = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP + const showCP = !expandedFrom && !expandedTo && !expandedTokens && chainName2 === MAINNET_CHAIN_NAME + const showError = !!errorMessage return ( -

Transfer

- {/* */} - +
+

Transfer

+
- - - + -
-

From

+
+

From

{token ? -
+
@@ -128,9 +134,9 @@ export default function Main(props: any) { - -
-

To

+ +
+

To

- + + + + + + - ) } \ No newline at end of file diff --git a/src/components/MoreMenu/MoreMenu.tsx b/src/components/MoreMenu/MoreMenu.tsx index 4cc9f8b..dec3dad 100644 --- a/src/components/MoreMenu/MoreMenu.tsx +++ b/src/components/MoreMenu/MoreMenu.tsx @@ -14,7 +14,7 @@ import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; import InventoryOutlinedIcon from '@mui/icons-material/InventoryOutlined'; import HubOutlinedIcon from '@mui/icons-material/HubOutlined'; -import { cls, styles, common } from '@skalenetwork/metaport'; +import { cls, styles, cmn } from '@skalenetwork/metaport'; //import { METAPORT_CONFIG } from '../../core/constants'; // import { getProxyEndpoint } from '../../core/network'; @@ -39,9 +39,9 @@ export default function MoreMenu() { aria-haspopup="true" aria-expanded={open ? 'true' : undefined} onClick={handleClick} - className={cls(styles.paperGrey, common.pMain, common.margLeft10)} + className={cls(styles.paperGrey, cmn.pPrim, cmn.mleft10)} > - + @@ -83,43 +83,43 @@ export default function MoreMenu() { > - Terms of service + Terms of service
-
- +
+
-
+
Main website
-
+
-
- +
+
-
+
Docs portal
-
+
{/* -
- +
+
-
+
Endpoints
-
+
*/} diff --git a/src/components/Terms/Terms.tsx b/src/components/Terms/Terms.tsx index 93dff87..e829cb6 100644 --- a/src/components/Terms/Terms.tsx +++ b/src/components/Terms/Terms.tsx @@ -1,18 +1,18 @@ import Container from '@mui/material/Container'; import Stack from '@mui/material/Stack'; +import { cmn, cls } from '@skalenetwork/metaport'; + import TermsOfService from './terms-of-service.mdx' export default function Terms() { return ( - -
-
-

Terms of Service

-
+ +
+

Terms of Service

-

+

SKALE Network Blockchain Bridge Terms of Service

diff --git a/yarn.lock b/yarn.lock index 96aba7a..c1aece0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1264,10 +1264,10 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@skalenetwork/ima-js@2.0.0-experimental.1": - version "2.0.0-experimental.1" - resolved "https://registry.yarnpkg.com/@skalenetwork/ima-js/-/ima-js-2.0.0-experimental.1.tgz#1ba0db93e1cd59e4f2aed9a87cfad6602becb08d" - integrity sha512-/+8ELm7j6/OJvjmaqJsgpVwbXtPFh0e5cUVG9Ch95R6oNUzscOnf7M/TQHv3g0lMdmMf4V/uGSUgVNOVDtaZ/A== +"@skalenetwork/ima-js@2.0.0-develop.3": + version "2.0.0-develop.3" + resolved "https://registry.yarnpkg.com/@skalenetwork/ima-js/-/ima-js-2.0.0-develop.3.tgz#8f641503fa798f0f433241d4c1c523f05d7d35df" + integrity sha512-EcgOwovc9Xom+F82tRPv4Mta+edEVC12O1DDnjHS5erU8JCDFi8kkVxomZnhADg3QKSd5H8DltEsiz8ZQfRKsQ== dependencies: debug "^4.3.4" ethers "6.6.2" @@ -1282,7 +1282,7 @@ "@mui/lab" "^5.0.0-alpha.88" "@mui/material" "^5.8.1" "@rainbow-me/rainbowkit" "^1.0.8" - "@skalenetwork/ima-js" "2.0.0-experimental.1" + "@skalenetwork/ima-js" "2.0.0-develop.3" "@skaleproject/pow-ethers" "0.3.2" coingecko-api-v3 "^0.0.28" react-jazzicon "^1.0.4" From 68dea86308b0789f872bb3a5ce38db46f35fcadb Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 30 Aug 2023 22:18:06 +0100 Subject: [PATCH 05/68] Update metaport lib, add sFUEL management module --- package.json | 4 +- src/Router.tsx | 34 +- src/components/HelpZen/HelpZen.tsx | 2 +- src/components/Main.tsx | 154 +++++---- yarn.lock | 491 +---------------------------- 5 files changed, 112 insertions(+), 573 deletions(-) diff --git a/package.json b/package.json index 64ba296..8d1b63d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "bridge-vite", + "name": "bridge-ui", "private": true, - "version": "0.0.0", + "version": "2.0.0", "type": "module", "scripts": { "dev": "vite", diff --git a/src/Router.tsx b/src/Router.tsx index 59c8e2e..a58917e 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -18,12 +18,12 @@ export default function Router(props: any) { return ( // // - - } - /> - {/* + + } + /> + {/* } @@ -67,17 +67,17 @@ export default function Router(props: any) { */} - - } - /> - } - /> - - + + } + /> + } + /> + + // // ); diff --git a/src/components/HelpZen/HelpZen.tsx b/src/components/HelpZen/HelpZen.tsx index fa3cb36..9a98139 100644 --- a/src/components/HelpZen/HelpZen.tsx +++ b/src/components/HelpZen/HelpZen.tsx @@ -23,7 +23,7 @@ export default function HelpZen() { return ( */} diff --git a/src/Chains.scss b/src/Chains.scss new file mode 100644 index 0000000..3d69f09 --- /dev/null +++ b/src/Chains.scss @@ -0,0 +1,23 @@ +.copyBoard { + margin: 10px 0 !important; + padding: 13pt 15pt !important; + background-color: #3a3a3a !important; + border-radius: 20px !important; + border: none !important; + cursor: pointer !important; + width: 100%; + font-size: 0.9rem !important; +} + + +code { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} + +.overflow-auto { + overflow: auto; +} \ No newline at end of file diff --git a/src/Main.tsx b/src/Main.tsx index b437713..3643652 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -3,15 +3,15 @@ import ReactDOM from 'react-dom/client' import App from './App.tsx' import './index.css' -import { HashRouter } from "react-router-dom"; +import { BrowserRouter } from "react-router-dom"; import { inject } from '@vercel/analytics'; inject(); ReactDOM.createRoot(document.getElementById('root')!).render( - + - + , ) diff --git a/src/Router.tsx b/src/Router.tsx index a58917e..9695a93 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -1,82 +1,66 @@ import './App.scss'; +import { useState } from 'react' + import Main from './components/Main'; // import Transfer from './components/Transfer'; // import TransferV2 from './components/TransferV2'; import Faq from './components/Faq'; import Terms from './components/Terms'; +import Network from './components/Network'; +import Schain from './components/Schain'; +import Stats from './components/Stats'; // import ExitGasWallet from './components/ExitGasWallet'; // import TransferTo from './components/TransferTo'; // import Overview from './components/Overview'; // import History from './components/History'; + +import { useMetaportStore, PROXY_ENDPOINTS } from '@skalenetwork/metaport'; import { Routes, Route, useLocation } from "react-router-dom"; -import { TransitionGroup, CSSTransition } from "react-transition-group"; -export default function Router(props: any) { + +export default function Router() { const location = useLocation(); + + const [schains, setSchains] = useState([]) + const mpc = useMetaportStore((state) => state.mpc) + const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork] + + async function loadSchains() { + let response = await fetch(`https://${endpoint}/files/chains.json`); + let chainsJson = await response.json(); + let schains = []; + for (let chain of chainsJson) { + schains.push(chain.schain); + } + setSchains(schains) + } + return ( - // - // - } - /> - {/* - } - /> - } - /> - } - /> - - } - /> - } - /> - - - } - /> - } - /> - - - - */} - - } - /> + } /> + } /> + } + path=":name" + element={} /> + + } /> + + } /> + } /> + // // diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index c30fa09..6d3bc9b 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -17,9 +17,12 @@ import HelpOutlineOutlinedIcon from '@mui/icons-material/HelpOutlineOutlined'; import PublicOutlinedIcon from '@mui/icons-material/PublicOutlined'; import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; import LocalGasStationOutlinedIcon from '@mui/icons-material/LocalGasStationOutlined'; +import LeaderboardRoundedIcon from '@mui/icons-material/LeaderboardRounded'; import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; import HistoryIcon from '@mui/icons-material/History'; - +import SpaceDashboardRoundedIcon from '@mui/icons-material/SpaceDashboardRounded'; +import SpaceDashboardOutlinedIcon from '@mui/icons-material/SpaceDashboardOutlined'; +import InsertChartOutlinedIcon from '@mui/icons-material/InsertChartOutlined'; // import { METAPORT_CONFIG } from './core/constants'; // import { getProxyEndpoint } from './core/network'; @@ -98,19 +101,42 @@ export default function SkDrawer() { */} -

Other

+

Network

- - + + - + + + + + + + + + + + + + + + + + + + + + + + + {/* @@ -133,7 +159,18 @@ export default function SkDrawer() { */} - + {/* + + + + + + + + + + */} + {/* @@ -143,7 +180,7 @@ export default function SkDrawer() { - + */}
diff --git a/src/components/CategorySection.tsx b/src/components/CategorySection.tsx new file mode 100644 index 0000000..8c66599 --- /dev/null +++ b/src/components/CategorySection.tsx @@ -0,0 +1,48 @@ +/** + * @license + * SKALE proxy-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file CategorySection.tsx + * @copyright SKALE Labs 2022-Present +*/ + +import Box from '@mui/material/Box'; +import Grid from '@mui/material/Grid'; + +import ChainCard from './ChainCard'; + + +export default function CategorySection(props: any) { + if (!props.schains || props.schains.length === 0) return; + return ( +
+

+ {props.category} ({props.schains.length}) +

+ + + {props.schains.map((schain: any[]) => ( + + + + ))} + + +
+ ); +} diff --git a/src/components/ChainCard.tsx b/src/components/ChainCard.tsx new file mode 100644 index 0000000..3c6f6e0 --- /dev/null +++ b/src/components/ChainCard.tsx @@ -0,0 +1,71 @@ +/** + * @license + * SKALE proxy-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file ChainCard.tsx + * @copyright SKALE Labs 2022-Present +*/ + +import { Link } from "react-router-dom"; +import { cmn, cls, ChainIcon, chainBg, getChainAlias, BASE_EXPLORER_URLS, interfaces } from '@skalenetwork/metaport'; + +import Button from '@mui/material/Button'; +import KeyboardArrowRightRoundedIcon from '@mui/icons-material/KeyboardArrowRightRounded'; + +import { getExplorerUrl } from './SchainDetails' + +export default function ChainCard(props: { + skaleNetwork: interfaces.SkaleNetwork, + schain: any[] +}) { + const explorerUrl = getExplorerUrl( + BASE_EXPLORER_URLS[props.skaleNetwork], + props.schain[0] + ) + return ( +
+
+ +

+ {getChainAlias(props.skaleNetwork, props.schain[0])} +

+ +
+ +
+ ); +} diff --git a/src/components/CopySurface.tsx b/src/components/CopySurface.tsx new file mode 100644 index 0000000..c5aa0a3 --- /dev/null +++ b/src/components/CopySurface.tsx @@ -0,0 +1,94 @@ +/** + * @license + * SKALE proxy-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file CopySurface.tsx + * @copyright SKALE Labs 2021-Present +*/ + +import React, { useState } from 'react'; + +import { CopyToClipboard } from 'react-copy-to-clipboard'; + +import Tooltip from '@mui/material/Tooltip'; +import Snackbar from '@mui/material/Snackbar'; +import ButtonBase from '@mui/material/ButtonBase'; + +import IconButton from '@mui/material/IconButton'; +import CloseIcon from '@mui/icons-material/Close'; + +import ContentCopyIcon from '@mui/icons-material/ContentCopy'; + + +export default function CopySurface(props: any) { + const [copy, setCopied] = useState(false); + + const handleClick = () => { + setCopied(true); + }; + + const handleClose = (event: any, reason: any) => { + if (reason === 'clickaway') { + return; + } + setCopied(false); + }; + + const action = ( + + + + + + ); + + return ( +
+ + + + +
+ + {props.url} + +
+
+ +
+
+
+
+ +
+ + ); +} diff --git a/src/components/Main.tsx b/src/components/Main.tsx index bc886cb..058f9bc 100644 --- a/src/components/Main.tsx +++ b/src/components/Main.tsx @@ -17,12 +17,14 @@ import { SwitchDirection, SkStepper, ChainsList, + SkConnect, TokenList, interfaces, useCollapseStore, useMetaportStore, useSFuelStore, useUIStore, + useWagmiAccount, cls, cmn, styles, @@ -32,6 +34,7 @@ import { ErrorMessage, CommunityPool, SFuelWarning, + WrappedTokens, chainBg } from '@skalenetwork/metaport'; @@ -48,6 +51,7 @@ export default function Main(props: any) { const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) const expandedCP = useCollapseStore((state) => state.expandedCP) + const expandedWT = useCollapseStore((state) => state.expandedWT) const expandedTokens = useCollapseStore((state) => state.expandedTokens) const token = useMetaportStore((state) => state.token) @@ -71,6 +75,8 @@ export default function Main(props: any) { const sFuelOk = useSFuelStore((state) => state.sFuelOk) + const { address } = useWagmiAccount() + useEffect(() => { setChainName1(mpc.config.chains ? mpc.config.chains[0] : '') setChainName2(mpc.config.chains ? mpc.config.chains[1] : '') @@ -84,13 +90,27 @@ export default function Main(props: any) { const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP - const showTo = !expandedFrom && !expandedTokens && !errorMessage && !expandedCP - const showInput = !expandedFrom && !expandedTo && !errorMessage && !expandedCP - const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP + const showTo = !expandedFrom && !expandedTokens && !errorMessage && !expandedCP && !expandedWT + const showInput = !expandedFrom && !expandedTo && !errorMessage && !expandedCP && !expandedWT + const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP && !expandedWT const showStepper = - !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP && sFuelOk + !expandedFrom && + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + sFuelOk && + !expandedWT && + !!address const showCP = - !expandedFrom && !expandedTo && !expandedTokens && chainName2 === MAINNET_CHAIN_NAME + !expandedFrom && !expandedTo && !expandedTokens && chainName2 === MAINNET_CHAIN_NAME && !expandedWT + const showWT = !expandedFrom && + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + sFuelOk && + !!address const showError = !!errorMessage const grayBg = 'rgb(136 135 135 / 15%)' @@ -173,11 +193,22 @@ export default function Main(props: any) { - + + + + + + + + + + + {!address ? : null} +
) diff --git a/src/components/Network/Network.tsx b/src/components/Network/Network.tsx new file mode 100644 index 0000000..df23165 --- /dev/null +++ b/src/components/Network/Network.tsx @@ -0,0 +1,78 @@ +import { useState, useEffect } from 'react' +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import CircularProgress from '@mui/material/CircularProgress'; + +import CategorySection from '../CategorySection' + +import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; + +export default function Chains(props: { + loadSchains: any, + schains: any[], + mpc: MetaportCore +}) { + + const [intervalId, setIntervalId] = useState(); + + useEffect(() => { + props.loadSchains(); + let intervalId = setInterval(props.loadSchains, 10000); + setIntervalId(intervalId); + }, []); + + + + const chainsMeta: interfaces.ChainsMetadataMap = CHAINS_META[props.mpc.config.skaleNetwork] + + if (props.schains.length === 0) { + return ( +
+
+
+ +
+
+

+ Loading SKALE Chains +

+
+
+ +
+ ); + }; + + return ( + +
+

Chains ({props.schains.length})

+
+

+ SKALE Chains overview - block explorer links, endpoints and more +

+
+ chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'hub')} + /> + chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'games')} + /> + chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'apps')} + /> + !chainsMeta[schain[0]])} + /> +
+
+
) +} \ No newline at end of file diff --git a/src/components/Network/index.ts b/src/components/Network/index.ts new file mode 100644 index 0000000..7a8a2ce --- /dev/null +++ b/src/components/Network/index.ts @@ -0,0 +1 @@ +export { default } from "./Network"; diff --git a/src/components/Schain.tsx b/src/components/Schain.tsx new file mode 100644 index 0000000..795bf77 --- /dev/null +++ b/src/components/Schain.tsx @@ -0,0 +1,88 @@ +/** + * @license + * SKALE proxy-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Schain.tsx + * @copyright SKALE Labs 2022-Present +*/ + +import React, { useEffect } from 'react'; + +import { useParams } from "react-router-dom"; +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import SchainDetails from './SchainDetails'; +import CircularProgress from '@mui/material/CircularProgress'; + +import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; + + +export default function Schain(props: { + loadSchains: any, + schains: any[], + mpc: MetaportCore +}) { + let { name } = useParams(); + name = name ?? '' + + const chain = props.schains.find(schain => schain[0] === name); + + useEffect(() => { + if (props.schains.length === 0) { + props.loadSchains() + } + }, []); + + if (props.schains.length === 0) { + return ( +
+
+
+ +
+
+

+ Loading SKALE Chain +

+
+
+ +
+ ); + }; + + if (!chain) { + return

No such chain: {name}

; + } + + const chainsMeta: interfaces.ChainsMetadataMap = CHAINS_META[props.mpc.config.skaleNetwork] + + return ( + + + + + + + ) +} + diff --git a/src/components/SchainDetails.tsx b/src/components/SchainDetails.tsx new file mode 100644 index 0000000..ae17500 --- /dev/null +++ b/src/components/SchainDetails.tsx @@ -0,0 +1,219 @@ +/** + * @license + * SKALE proxy-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file SchainDetails.tsx + * @copyright SKALE Labs 2021-Present +*/ + +import React from 'react'; + +import { id } from 'ethers' + +import CopySurface from './CopySurface'; + +import Grid from '@mui/material/Grid'; +import Button from '@mui/material/Button'; +import WidgetsIcon from '@mui/icons-material/Widgets'; +import LanguageIcon from '@mui/icons-material/Language'; +import AddCircleIcon from '@mui/icons-material/AddCircle'; + +import { cmn, cls, PROXY_ENDPOINTS, BASE_EXPLORER_URLS, MetaportCore, SkPaper } from '@skalenetwork/metaport'; + +//const BASE_PROXY_URL = process.env["REACT_APP_BASE_PROXY_URL"]; +// const EXPLORER_URL = process.env["REACT_APP_EXPLORER_URL"]; + +const HTTP_PREFIX = 'http://'; +const HTTPS_PREFIX = 'https://'; +const WS_PREFIX = 'ws://'; +const WSS_PREFIX = 'wss://'; + + +function getRpcUrl(proxyUrl: string, schainName: string, prefix: string): string { + return prefix + proxyUrl + '/v1/' + schainName; +} + +function getRpcWsUrl(proxyUrl: string, schainName: string, prefix: string): string { + return prefix + proxyUrl + '/v1/ws/' + schainName; +} + +function getFsUrl(proxyUrl: string, schainName: string, prefix: string): string { + return prefix + proxyUrl + '/fs/' + schainName; +} + +export function getExplorerUrl(explorerUrl: string, schainName: string): string { + return HTTPS_PREFIX + schainName + '.' + explorerUrl; +} + +function getChainId(schainName: string): string { + // let hash = Web3.utils.soliditySha3(schainName).substring(0, 15); + // return rmPad0x(hash); + return id(schainName) +} + +function getSchainHash(schainName: string): string { + // return Web3.utils.sha3(schainName); + return '0xxx234' +} + +export default function SchainDetails(props: { + schainName: string, + chainMeta: any, + mpc: MetaportCore +}) { + + const proxyBase = PROXY_ENDPOINTS[props.mpc.config.skaleNetwork] + const explorerBase = BASE_EXPLORER_URLS[props.mpc.config.skaleNetwork] + + const rpcUrl = getRpcUrl(proxyBase, props.schainName, HTTPS_PREFIX); + const rpcHttpUrl = getRpcUrl(proxyBase, props.schainName, HTTP_PREFIX); + + const rpcWssUrl = getRpcWsUrl(proxyBase, props.schainName, WSS_PREFIX); + const rpcWsUrl = getRpcWsUrl(proxyBase, props.schainName, WS_PREFIX); + + const fsUrl = getFsUrl(proxyBase, props.schainName, HTTPS_PREFIX); + const fsHttpUrl = getFsUrl(proxyBase, props.schainName, HTTP_PREFIX); + + const explorerUrl = getExplorerUrl(explorerBase, props.schainName); + const chainId = getChainId(props.schainName); + const schainHash = getSchainHash(props.schainName); + + const [checked, setChecked] = React.useState(true); + + const networkParams = { + chainId: chainId, + chainName: "[S]" + getChainName(props.schainName), + rpcUrls: [rpcUrl], + nativeCurrency: { + name: "sFUEL", + symbol: "sFUEL", + decimals: 18 + } + } + + function getChainName(schainName: string) { + if (props.chainMeta) { + return props.chainMeta['alias']; + } + return schainName; + } + + function getBgColor(schainName: string) { + if (props.chainMeta) { + return props.chainMeta['background']; + } + // return stringToColour(schainName); + } + + async function addNetwork() { + await window.ethereum.request({ + method: 'wallet_addEthereumChain', + params: [networkParams], + }); + } + + return ( +
+ +
+

{getChainName(props.schainName)}

+
+ {(props.chainMeta && props.chainMeta.description) ? ( +

+ {props.chainMeta.description} +

) : null} + + + + + +
+ +
+ +
+ {(props.chainMeta && props.chainMeta.url) ? : null} +
+ +
+ +

+ Dev +

+ + + +

+ Websocket +

+ +
+ +

+ Filestorage +

+ +
+
+ + + +

+ Chain ID +

+ +
+ +

+ Chain name hash +

+ +
+
+
+
+
+ ); +} diff --git a/src/components/Stats.tsx b/src/components/Stats.tsx new file mode 100644 index 0000000..7f63868 --- /dev/null +++ b/src/components/Stats.tsx @@ -0,0 +1,27 @@ + +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import { cmn, cls } from '@skalenetwork/metaport'; + +import { DASHBOARD_URL } from '../core/constants' + + +export default function Stats(props: any) { + return ( + +
+

Stats

+
+

+ SKALE Network statistics +

+ +
+
) +} \ No newline at end of file diff --git a/src/core/constants.ts b/src/core/constants.ts index d95c277..28dc8d6 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -24,6 +24,8 @@ export const MAINNET_CHAIN_NAME = 'mainnet' +export const DASHBOARD_URL = "https://app.geckoboard.com/v5/dashboards/LISYTRBEVGCVGL57/inception" + import FAQ from '../faq.json' export { FAQ } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f83a24e..a48ecc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -864,10 +864,10 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== -"@rainbow-me/rainbowkit@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.8.tgz#280b3c572118957cdcfd6e54bc5bea12f969d980" - integrity sha512-m1B9/X3p8MLmj4fDfs2NpJlFRmKz7vOR0jmcdBw2SMFzXqP1FQFQc4pjvtLEeyfEUGSNNceGrecFZRVS0Qk//A== +"@rainbow-me/rainbowkit@^1.0.9": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.10.tgz#fa6d38d962c9fa8113f2478af73b309f08c59bf0" + integrity sha512-nXo1mPO8c7aV8mtog0QN9Kn1DoNRJmjd5V8zMU+kIUDAmZFzUhwrBKNcL/X24ie67NjOtbmIKlSBlwWdGZlcvg== dependencies: "@vanilla-extract/css" "1.9.1" "@vanilla-extract/dynamic" "2.0.2" @@ -951,22 +951,10 @@ debug "^4.3.4" ethers "6.6.2" -"@skalenetwork/metaport@../metaport-rp": - version "2.0.0" - dependencies: - "@emotion/react" "^11.9.0" - "@emotion/styled" "^11.8.1" - "@fontsource/roboto" "^4.5.7" - "@mui/icons-material" "^5.8.0" - "@mui/lab" "^5.0.0-alpha.88" - "@mui/material" "^5.8.1" - "@rainbow-me/rainbowkit" "^1.0.8" - "@skalenetwork/ima-js" "2.0.0-develop.3" - coingecko-api-v3 "^0.0.28" - react-jazzicon "^1.0.4" - viem "^1.5.3" - wagmi "^1.3.9" - zustand "^4.4.1" +"@skalenetwork/metaport@2.0.0-preview.1": + version "2.0.0-preview.1" + resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.1.tgz#5239cc8dcb1c48853d4b9aaee89bfaf5992e69c4" + integrity sha512-mPiHSlvWoaD1bKHfnzCmE4b+P1ocrT3tEejYJsPL/bqdGuZRIURy0bhP3eVDCtO0xRsxLESZcyqFEqKFf5IIjg== "@solana/buffer-layout@^4.0.0": version "4.0.1" @@ -1251,6 +1239,13 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== +"@types/react-copy-to-clipboard@^5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz#558f2c38a97f53693e537815f6024f1e41e36a7e" + integrity sha512-otTJsJpofYAeaIeOwV5xBUGpo6exXG2HX7X4nseToCB2VgPEBxGBHCm/FecZ676doNR7HCSTVtmohxfG2b3/yQ== + dependencies: + "@types/react" "*" + "@types/react-dom@^18.2.7": version "18.2.7" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" @@ -2227,7 +2222,7 @@ convert-source-map@^1.5.0, convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== -copy-to-clipboard@^3.3.3: +copy-to-clipboard@^3.3.1, copy-to-clipboard@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== @@ -4188,6 +4183,14 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +react-copy-to-clipboard@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" + integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== + dependencies: + copy-to-clipboard "^3.3.1" + prop-types "^15.8.1" + react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" From ca6763425e780868290ff99d9472ea306b8383a6 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 17:27:19 +0100 Subject: [PATCH 07/68] Fix build, add ToC modal --- .gitignore | 1 + build.sh | 16 + env/staging/metaportConfig.ts | 316 +++++++++++++++++++ src/App.tsx | 6 +- src/Bridge.tsx | 44 +-- src/Router.tsx | 4 +- src/SkBottomNavigation.tsx | 2 +- src/SkDrawer.tsx | 7 +- src/components/CopySurface.tsx | 8 +- src/components/Faq/Faq.tsx | 6 +- src/components/FaqAccordion/FaqAccordion.tsx | 2 +- src/components/Main.tsx | 27 +- src/components/MoreMenu/MoreMenu.tsx | 4 - src/components/Network/Network.tsx | 2 +- src/components/Schain.tsx | 2 +- src/components/SchainDetails.tsx | 14 +- src/components/Stats.tsx | 2 +- src/components/TermsModal/TermsModal.tsx | 64 ++-- src/core/themes.ts | 4 +- 19 files changed, 406 insertions(+), 125 deletions(-) create mode 100644 build.sh create mode 100644 env/staging/metaportConfig.ts diff --git a/.gitignore b/.gitignore index 7ddb80d..d25a2cd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ # production /build +/dist # misc .DS_Store diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..76413de --- /dev/null +++ b/build.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +: "${NETWORK_NAME?Need to set NETWORK_NAME}" + +export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +METAPORT_CONFIG_PATH=$DIR/env/$NETWORK_NAME/metaportConfig.ts +METAPORT_CONFIG_PATH_SRC=$DIR/src/metadata/metaportConfig.ts + +echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." +cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC + +echo "Building..." +yarn build diff --git a/env/staging/metaportConfig.ts b/env/staging/metaportConfig.ts new file mode 100644 index 0000000..c112fc6 --- /dev/null +++ b/env/staging/metaportConfig.ts @@ -0,0 +1,316 @@ +import { interfaces } from '@skalenetwork/metaport' + +export const METAPORT_CONFIG: interfaces.MetaportConfig = { + skaleNetwork: 'staging', + openOnLoad: true, + openButton: true, + debug: false, + chains: [ + 'mainnet', + 'staging-legal-crazy-castor', // Europa + 'staging-utter-unripe-menkar', // Calypso + 'staging-faint-slimy-achird', // Nebula + 'staging-perfect-parallel-gacrux', // Test Chain 1 + 'staging-severe-violet-wezen', // Test Chain 2 + 'staging-weepy-fitting-caph', // Tank War Zone + ], + tokens: { + eth: { + symbol: 'ETH' + }, + skl: { + decimals: '18', + name: 'SKALE', + symbol: 'SKL', + }, + usdc: { + decimals: '6', + symbol: 'USDC', + name: 'USD Coin', + }, + usdt: { + decimals: '6', + symbol: 'USDT', + name: 'Tether USD', + }, + wbtc: { + decimals: '18', + symbol: 'WBTC', + name: 'WBTC', + }, + _SPACE_1: { + name: 'SKALE Space', + symbol: 'SPACE', + iconUrl: + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png', + }, + _SKALIENS_1: { + name: 'SKALIENS Collection', + symbol: 'SKALIENS', + iconUrl: + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png', + }, + ruby: { + name: 'Ruby Token', + iconUrl: 'https://ruby.exchange/images/tokens/ruby-square.png', + symbol: 'RUBY', + }, + dai: { + name: 'DAI Stablecoin', + symbol: 'DAI', + }, + usdp: { + name: 'Pax Dollar', + symbol: 'USDP', + iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png', + }, + hmt: { + name: 'Human Token', + symbol: 'HMT', + iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png', + }, + }, + connections: { + mainnet: { + eth: { + eth: { + chains: { + 'staging-legal-crazy-castor': {}, + // "staging-utter-unripe-menkar": {}, + // "staging-faint-slimy-achird": {}, + // "staging-perfect-parallel-gacrux": {}, + // "staging-severe-violet-wezen": {}, + // "staging-weepy-fitting-caph": {} + } + } + }, + erc20: { + skl: { + address: '0x493D4442013717189C9963a2e275Ad33bfAFcE11', + chains: { + 'staging-legal-crazy-castor': {}, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + }, + 'staging-faint-slimy-achird': { + hub: 'staging-legal-crazy-castor', + }, + }, + }, + ruby: { + address: '0xd66641E25E9D36A995682572eaD74E24C11Bb422', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + dai: { + address: '0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdp: { + address: '0x66259E472f8d09083ecB51D42F9F872A61001426', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdt: { + address: '0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdc: { + address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9', + chains: { + 'staging-legal-crazy-castor': {}, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + }, + }, + }, + wbtc: { + address: '0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + hmt: { + address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0', + chains: {}, + }, + }, + erc721meta: { + _SPACE_1: { + address: '0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6', + chains: {}, + }, + }, + erc1155: { + _SKALIENS_1: { + address: '0x6cb73D413970ae9379560aA45c769b417Fbf33D6', + chains: {}, + }, + }, + }, + 'staging-utter-unripe-menkar': { + // Calypso connections + erc20: { + skl: { + address: '0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + 'staging-faint-slimy-achird': { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + usdc: { + address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + }, + }, + 'staging-faint-slimy-achird': { + erc20: { + skl: { + address: '0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + }, + }, + 'staging-legal-crazy-castor': { + // Europa connections + eth: { + eth: { + address: '0xD2Aaa00700000000000000000000000000000000', + chains: { + mainnet: { + clone: true + } + } + } + }, + erc20: { + skl: { + address: '0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6', + chains: { + mainnet: { + clone: true, + }, + 'staging-utter-unripe-menkar': { + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', + }, + 'staging-faint-slimy-achird': { + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', + }, + }, + }, + ruby: { + address: '0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39', + chains: { + mainnet: { + clone: true, + }, + }, + }, + dai: { + address: '0x3595E2f313780cb2f23e197B8e297066fd410d30', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdp: { + address: '0xe0E2cb3A5d6f94a5bc2D00FAa3e64460A9D241E1', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdt: { + address: '0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdc: { + address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33', + chains: { + mainnet: { + clone: true, + }, + 'staging-utter-unripe-menkar': { + wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0', + }, + }, + }, + wbtc: { + address: '0xf5E880E1066DDc90471B9BAE6f183D5344fd289F', + chains: { + mainnet: { + clone: true, + }, + }, + }, + }, + }, + 'staging-severe-violet-wezen': { + erc20: {}, + }, + 'staging-perfect-parallel-gacrux': { + erc20: {}, + erc721: {}, + erc1155: { + // "skaliens": { + // "address": "0xBA9fF38A2b22edDfa8e05805bD22C8f20c40546e", + // "chains": {} + // }, + // "medals": { + // "address": "0x5D8bD602dC5468B3998e8514A1851bd5888E9639", + // "chains": {} + // }, + // "_ANIMALS_0xDf87EEF0977148129969b01b329379b17756cdDE": { + // "address": "0xDf87EEF0977148129969b01b329379b17756cdDE", + // "chains": {} + // } + }, + }, + }, + theme: { + mode: 'dark', + vibrant: true + } +} diff --git a/src/App.tsx b/src/App.tsx index 0cb3dd7..00c45b3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -23,7 +23,7 @@ import './App.scss'; -import { MetaportProvider, interfaces, getMetaportTheme } from '@skalenetwork/metaport'; +import { MetaportProvider, getMetaportTheme } from '@skalenetwork/metaport'; import '@skalenetwork/metaport/dist/style.css' import { StyledEngineProvider } from '@mui/material/styles' @@ -42,11 +42,11 @@ const isDarkMode = mpTheme.mode === 'dark'; export default function App() { return ( -
+
- + diff --git a/src/Bridge.tsx b/src/Bridge.tsx index 199afc4..25a963c 100644 --- a/src/Bridge.tsx +++ b/src/Bridge.tsx @@ -23,43 +23,24 @@ import { useState } from 'react'; -import Header from './Header'; -import SkDrawer from './SkDrawer'; -import Router from './Router'; - import Box from '@mui/material/Box'; import CssBaseline from '@mui/material/CssBaseline'; +import Header from './Header'; +import SkDrawer from './SkDrawer'; +import Router from './Router'; +import TermsModal from './components/TermsModal'; - -import { Metaport, SkConnect, TokenIcon, ChainIcon, ChainsList, TokenList, interfaces, useCollapseStore, useMetaportStore, cls, styles, cmn, useWagmiAccount } from '@skalenetwork/metaport'; -import { Button } from '@mui/material'; +import { useMetaportStore, useWagmiAccount } from '@skalenetwork/metaport' -function Bridge(props: { mpTheme: interfaces.MetaportTheme }) { +export default function Bridge() { const [termsAccepted, setTermsAccepted] = useState(false); - const expandedFrom = useCollapseStore((state) => state.expandedFrom) - const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) - - const expandedTo = useCollapseStore((state) => state.expandedTo) - const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) - - const token = useMetaportStore((state) => state.token) - const chainName1 = useMetaportStore((state) => state.chainName1) - const chainName2 = useMetaportStore((state) => state.chainName2) - - const setChainName1 = useMetaportStore((state) => state.setChainName1) - const setChainName2 = useMetaportStore((state) => state.setChainName2) - - const transferInProgress = useMetaportStore((state) => state.transferInProgress) const mpc = useMetaportStore((state) => state.mpc) - const { address } = useWagmiAccount() - // const address = '0x' - if (!mpc) return
return ( @@ -68,21 +49,18 @@ function Bridge(props: { mpTheme: interfaces.MetaportTheme }) { className={'AppWrap'} > +
- {/* */} - {/* */} - ) } - -export default Bridge diff --git a/src/Router.tsx b/src/Router.tsx index 9695a93..7fa2494 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -17,12 +17,10 @@ import Stats from './components/Stats'; import { useMetaportStore, PROXY_ENDPOINTS } from '@skalenetwork/metaport'; -import { Routes, Route, useLocation } from "react-router-dom"; +import { Routes, Route } from "react-router-dom"; export default function Router() { - const location = useLocation(); - const [schains, setSchains] = useState([]) const mpc = useMetaportStore((state) => state.mpc) const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork] diff --git a/src/SkBottomNavigation.tsx b/src/SkBottomNavigation.tsx index 228ae4d..269f595 100644 --- a/src/SkBottomNavigation.tsx +++ b/src/SkBottomNavigation.tsx @@ -25,7 +25,7 @@ export default function SkBottomNavigation() { { + onChange={(_, newValue) => { setValue(newValue); }} > diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index 6d3bc9b..ea7e21a 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -15,16 +15,11 @@ import ListItemText from '@mui/material/ListItemText'; import SwapHorizontalCircleOutlinedIcon from '@mui/icons-material/SwapHorizontalCircleOutlined'; import HelpOutlineOutlinedIcon from '@mui/icons-material/HelpOutlineOutlined'; import PublicOutlinedIcon from '@mui/icons-material/PublicOutlined'; -import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; -import LocalGasStationOutlinedIcon from '@mui/icons-material/LocalGasStationOutlined'; -import LeaderboardRoundedIcon from '@mui/icons-material/LeaderboardRounded'; import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; import HistoryIcon from '@mui/icons-material/History'; -import SpaceDashboardRoundedIcon from '@mui/icons-material/SpaceDashboardRounded'; import SpaceDashboardOutlinedIcon from '@mui/icons-material/SpaceDashboardOutlined'; import InsertChartOutlinedIcon from '@mui/icons-material/InsertChartOutlined'; -// import { METAPORT_CONFIG } from './core/constants'; -// import { getProxyEndpoint } from './core/network'; + const drawerWidth = 240; diff --git a/src/components/CopySurface.tsx b/src/components/CopySurface.tsx index c5aa0a3..8419749 100644 --- a/src/components/CopySurface.tsx +++ b/src/components/CopySurface.tsx @@ -42,7 +42,7 @@ export default function CopySurface(props: any) { setCopied(true); }; - const handleClose = (event: any, reason: any) => { + const handleClose = (_: any, reason: any) => { if (reason === 'clickaway') { return; } @@ -53,9 +53,9 @@ export default function CopySurface(props: any) { diff --git a/src/components/Faq/Faq.tsx b/src/components/Faq/Faq.tsx index 8d26c55..b89d1e2 100644 --- a/src/components/Faq/Faq.tsx +++ b/src/components/Faq/Faq.tsx @@ -1,4 +1,3 @@ -import debug from 'debug'; import Container from '@mui/material/Container'; import Stack from '@mui/material/Stack'; @@ -6,11 +5,8 @@ import { cmn, cls } from '@skalenetwork/metaport'; import FaqAccordion from '../FaqAccordion'; -debug.enable('*'); -const log = debug('bridge:components:Faq'); - -export default function Faq(props: any) { +export default function Faq() { return (
diff --git a/src/components/FaqAccordion/FaqAccordion.tsx b/src/components/FaqAccordion/FaqAccordion.tsx index 717e323..53b8929 100644 --- a/src/components/FaqAccordion/FaqAccordion.tsx +++ b/src/components/FaqAccordion/FaqAccordion.tsx @@ -11,7 +11,7 @@ export default function FaqAccordion() { const [expanded, setExpanded] = React.useState(false); const handleChange = - (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => { + (panel: string) => (_: React.SyntheticEvent, isExpanded: boolean) => { setExpanded(isExpanded ? panel : false); }; diff --git a/src/components/Main.tsx b/src/components/Main.tsx index 058f9bc..2743628 100644 --- a/src/components/Main.tsx +++ b/src/components/Main.tsx @@ -1,25 +1,18 @@ -import { useEffect, useState } from 'react'; +import { useEffect } from 'react'; -import Button from '@mui/material/Button'; import Container from '@mui/material/Container'; import Collapse from '@mui/material/Collapse'; import Stack from '@mui/material/Stack'; -// import TransferFrom from '../TransferFrom'; - import { MAINNET_CHAIN_NAME } from '../core/constants' import { - TransferETF, - TransferETA, SkPaper, AmountInput, SwitchDirection, SkStepper, ChainsList, SkConnect, - TokenList, - interfaces, useCollapseStore, useMetaportStore, useSFuelStore, @@ -27,7 +20,6 @@ import { useWagmiAccount, cls, cmn, - styles, AmountErrorMessage, TokenBalance, DestTokenBalance, @@ -40,10 +32,7 @@ import { -export default function Main(props: any) { - - // const [tokenOnce, setTokenOnce] = useState(false); - +export default function Main() { const expandedFrom = useCollapseStore((state) => state.expandedFrom) const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) @@ -105,12 +94,12 @@ export default function Main(props: any) { const showCP = !expandedFrom && !expandedTo && !expandedTokens && chainName2 === MAINNET_CHAIN_NAME && !expandedWT const showWT = !expandedFrom && - !expandedTo && - !expandedTokens && - !errorMessage && - !expandedCP && - sFuelOk && - !!address + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + sFuelOk && + !!address const showError = !!errorMessage const grayBg = 'rgb(136 135 135 / 15%)' diff --git a/src/components/MoreMenu/MoreMenu.tsx b/src/components/MoreMenu/MoreMenu.tsx index dec3dad..b3bb98d 100644 --- a/src/components/MoreMenu/MoreMenu.tsx +++ b/src/components/MoreMenu/MoreMenu.tsx @@ -12,13 +12,9 @@ import { Link } from "react-router-dom"; import PublicOutlinedIcon from '@mui/icons-material/PublicOutlined'; import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; import InventoryOutlinedIcon from '@mui/icons-material/InventoryOutlined'; -import HubOutlinedIcon from '@mui/icons-material/HubOutlined'; import { cls, styles, cmn } from '@skalenetwork/metaport'; -//import { METAPORT_CONFIG } from '../../core/constants'; -// import { getProxyEndpoint } from '../../core/network'; - export default function MoreMenu() { const [anchorEl, setAnchorEl] = React.useState(null); diff --git a/src/components/Network/Network.tsx b/src/components/Network/Network.tsx index df23165..fc692d2 100644 --- a/src/components/Network/Network.tsx +++ b/src/components/Network/Network.tsx @@ -13,7 +13,7 @@ export default function Chains(props: { mpc: MetaportCore }) { - const [intervalId, setIntervalId] = useState(); + const [_, setIntervalId] = useState(); useEffect(() => { props.loadSchains(); diff --git a/src/components/Schain.tsx b/src/components/Schain.tsx index 795bf77..28d4124 100644 --- a/src/components/Schain.tsx +++ b/src/components/Schain.tsx @@ -21,7 +21,7 @@ * @copyright SKALE Labs 2022-Present */ -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { useParams } from "react-router-dom"; import Container from '@mui/material/Container'; diff --git a/src/components/SchainDetails.tsx b/src/components/SchainDetails.tsx index ae17500..ee39a8b 100644 --- a/src/components/SchainDetails.tsx +++ b/src/components/SchainDetails.tsx @@ -21,8 +21,6 @@ * @copyright SKALE Labs 2021-Present */ -import React from 'react'; - import { id } from 'ethers' import CopySurface from './CopySurface'; @@ -68,7 +66,7 @@ function getChainId(schainName: string): string { function getSchainHash(schainName: string): string { // return Web3.utils.sha3(schainName); - return '0xxx234' + return '0xxx234' + schainName // todo! } export default function SchainDetails(props: { @@ -93,7 +91,8 @@ export default function SchainDetails(props: { const chainId = getChainId(props.schainName); const schainHash = getSchainHash(props.schainName); - const [checked, setChecked] = React.useState(true); + // const [checked, setChecked] = React.useState(true); + const checked = true; const networkParams = { chainId: chainId, @@ -113,13 +112,6 @@ export default function SchainDetails(props: { return schainName; } - function getBgColor(schainName: string) { - if (props.chainMeta) { - return props.chainMeta['background']; - } - // return stringToColour(schainName); - } - async function addNetwork() { await window.ethereum.request({ method: 'wallet_addEthereumChain', diff --git a/src/components/Stats.tsx b/src/components/Stats.tsx index 7f63868..e3eebb2 100644 --- a/src/components/Stats.tsx +++ b/src/components/Stats.tsx @@ -6,7 +6,7 @@ import { cmn, cls } from '@skalenetwork/metaport'; import { DASHBOARD_URL } from '../core/constants' -export default function Stats(props: any) { +export default function Stats() { return (
diff --git a/src/components/TermsModal/TermsModal.tsx b/src/components/TermsModal/TermsModal.tsx index b888084..79e9b72 100644 --- a/src/components/TermsModal/TermsModal.tsx +++ b/src/components/TermsModal/TermsModal.tsx @@ -21,19 +21,19 @@ * @copyright SKALE Labs 2022-Present */ -import React from 'react'; +import React, { Dispatch, SetStateAction } from 'react'; import Modal from '@mui/material/Modal'; import Container from '@mui/material/Container'; import Button from '@mui/material/Button'; import Link from '@mui/material/Link'; -import { METAPORT_CONFIG, MAINNET_CHAIN_NAME } from '../../core/constants'; +import { MAINNET_CHAIN_NAME } from '../../core/constants'; -import BridgePaper from '../BridgePaper'; import TermsOfService from '../Terms/terms-of-service.mdx' -import logo from '../../skale_lg.svg'; +import logo from '../../assets/skale_lg.svg'; +import { MetaportCore, SkPaper, cls, cmn, styles } from '@skalenetwork/metaport'; const style = { @@ -45,7 +45,11 @@ const style = { }; -export default function TermsModal(props: any) { +export default function TermsModal(props: { + mpc: MetaportCore, + termsAccepted: boolean, + setTermsAccepted: Dispatch> +}) { const [scrolled, setScrolled] = React.useState(false); function getAgreeButtonText() { @@ -60,42 +64,42 @@ export default function TermsModal(props: any) { } if (props.termsAccepted) return null; return ( -
+
- - - logo - { - METAPORT_CONFIG.skaleNetwork !== MAINNET_CHAIN_NAME ? -

- ❗ THIS IS A TEST WEBSITE ❗

-

:
} -

- 🖥️ For Desktop Use Only.

- SKALE will NEVER ask you for your seed phrase or private keys.

- Please make sure you are connected to the correct bridge and only use this official link: https://bridge.skale.space/ -
-
- Before you use the SKALE Bridge, you must review the terms of service carefully and confirm below. -

-
-
- -
+ + + +
+ logo + { + props.mpc.config.skaleNetwork !== MAINNET_CHAIN_NAME ? +

+ ❗ THIS IS A TEST WEBSITE +

:
} +

+ 🖥️ For Desktop Use Only

+ SKALE will NEVER ask you for your seed phrase or private keys.

+ Please make sure you are connected to the correct bridge and only use this official link: https://bridge.skale.space/ +
+ Before you use the SKALE Bridge, you must review the terms of service carefully and confirm below. +

+
+ +
- -
+ + -
+
) diff --git a/src/core/themes.ts b/src/core/themes.ts index 805bda5..0b65957 100644 --- a/src/core/themes.ts +++ b/src/core/themes.ts @@ -1,6 +1,6 @@ import { PaletteMode } from '@mui/material' -import { createTheme, ThemeProvider } from '@mui/material/styles'; -import { interfaces, getMetaportTheme } from '@skalenetwork/metaport'; +import { createTheme } from '@mui/material/styles'; +import { interfaces } from '@skalenetwork/metaport'; export function createMuiTheme(mpTheme: interfaces.MetaportTheme) { From fe36ea8d6dbafbfd9b1d952f868a0d7766614519 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 17:33:19 +0100 Subject: [PATCH 08/68] Cleanup router --- src/Router.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Router.tsx b/src/Router.tsx index 7fa2494..8db893e 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -3,16 +3,11 @@ import './App.scss'; import { useState } from 'react' import Main from './components/Main'; -// import Transfer from './components/Transfer'; -// import TransferV2 from './components/TransferV2'; import Faq from './components/Faq'; import Terms from './components/Terms'; import Network from './components/Network'; import Schain from './components/Schain'; import Stats from './components/Stats'; -// import ExitGasWallet from './components/ExitGasWallet'; -// import TransferTo from './components/TransferTo'; -// import Overview from './components/Overview'; // import History from './components/History'; From 86628b290ab316c161e373574a7fe3a9f062221b Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 18:13:44 +0100 Subject: [PATCH 09/68] Add mp config --- env/mainnet/metaportConfig.ts | 316 ++++++++++++++++++++++++++++++++++ src/Router.tsx | 1 - 2 files changed, 316 insertions(+), 1 deletion(-) create mode 100644 env/mainnet/metaportConfig.ts diff --git a/env/mainnet/metaportConfig.ts b/env/mainnet/metaportConfig.ts new file mode 100644 index 0000000..c112fc6 --- /dev/null +++ b/env/mainnet/metaportConfig.ts @@ -0,0 +1,316 @@ +import { interfaces } from '@skalenetwork/metaport' + +export const METAPORT_CONFIG: interfaces.MetaportConfig = { + skaleNetwork: 'staging', + openOnLoad: true, + openButton: true, + debug: false, + chains: [ + 'mainnet', + 'staging-legal-crazy-castor', // Europa + 'staging-utter-unripe-menkar', // Calypso + 'staging-faint-slimy-achird', // Nebula + 'staging-perfect-parallel-gacrux', // Test Chain 1 + 'staging-severe-violet-wezen', // Test Chain 2 + 'staging-weepy-fitting-caph', // Tank War Zone + ], + tokens: { + eth: { + symbol: 'ETH' + }, + skl: { + decimals: '18', + name: 'SKALE', + symbol: 'SKL', + }, + usdc: { + decimals: '6', + symbol: 'USDC', + name: 'USD Coin', + }, + usdt: { + decimals: '6', + symbol: 'USDT', + name: 'Tether USD', + }, + wbtc: { + decimals: '18', + symbol: 'WBTC', + name: 'WBTC', + }, + _SPACE_1: { + name: 'SKALE Space', + symbol: 'SPACE', + iconUrl: + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png', + }, + _SKALIENS_1: { + name: 'SKALIENS Collection', + symbol: 'SKALIENS', + iconUrl: + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png', + }, + ruby: { + name: 'Ruby Token', + iconUrl: 'https://ruby.exchange/images/tokens/ruby-square.png', + symbol: 'RUBY', + }, + dai: { + name: 'DAI Stablecoin', + symbol: 'DAI', + }, + usdp: { + name: 'Pax Dollar', + symbol: 'USDP', + iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png', + }, + hmt: { + name: 'Human Token', + symbol: 'HMT', + iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png', + }, + }, + connections: { + mainnet: { + eth: { + eth: { + chains: { + 'staging-legal-crazy-castor': {}, + // "staging-utter-unripe-menkar": {}, + // "staging-faint-slimy-achird": {}, + // "staging-perfect-parallel-gacrux": {}, + // "staging-severe-violet-wezen": {}, + // "staging-weepy-fitting-caph": {} + } + } + }, + erc20: { + skl: { + address: '0x493D4442013717189C9963a2e275Ad33bfAFcE11', + chains: { + 'staging-legal-crazy-castor': {}, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + }, + 'staging-faint-slimy-achird': { + hub: 'staging-legal-crazy-castor', + }, + }, + }, + ruby: { + address: '0xd66641E25E9D36A995682572eaD74E24C11Bb422', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + dai: { + address: '0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdp: { + address: '0x66259E472f8d09083ecB51D42F9F872A61001426', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdt: { + address: '0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + usdc: { + address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9', + chains: { + 'staging-legal-crazy-castor': {}, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + }, + }, + }, + wbtc: { + address: '0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3', + chains: { + 'staging-legal-crazy-castor': {}, + }, + }, + hmt: { + address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0', + chains: {}, + }, + }, + erc721meta: { + _SPACE_1: { + address: '0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6', + chains: {}, + }, + }, + erc1155: { + _SKALIENS_1: { + address: '0x6cb73D413970ae9379560aA45c769b417Fbf33D6', + chains: {}, + }, + }, + }, + 'staging-utter-unripe-menkar': { + // Calypso connections + erc20: { + skl: { + address: '0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + 'staging-faint-slimy-achird': { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + usdc: { + address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + }, + }, + 'staging-faint-slimy-achird': { + erc20: { + skl: { + address: '0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d', + chains: { + 'staging-legal-crazy-castor': { + clone: true, + }, + mainnet: { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor', + clone: true, + }, + }, + }, + }, + }, + 'staging-legal-crazy-castor': { + // Europa connections + eth: { + eth: { + address: '0xD2Aaa00700000000000000000000000000000000', + chains: { + mainnet: { + clone: true + } + } + } + }, + erc20: { + skl: { + address: '0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6', + chains: { + mainnet: { + clone: true, + }, + 'staging-utter-unripe-menkar': { + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', + }, + 'staging-faint-slimy-achird': { + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', + }, + }, + }, + ruby: { + address: '0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39', + chains: { + mainnet: { + clone: true, + }, + }, + }, + dai: { + address: '0x3595E2f313780cb2f23e197B8e297066fd410d30', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdp: { + address: '0xe0E2cb3A5d6f94a5bc2D00FAa3e64460A9D241E1', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdt: { + address: '0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1', + chains: { + mainnet: { + clone: true, + }, + }, + }, + usdc: { + address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33', + chains: { + mainnet: { + clone: true, + }, + 'staging-utter-unripe-menkar': { + wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0', + }, + }, + }, + wbtc: { + address: '0xf5E880E1066DDc90471B9BAE6f183D5344fd289F', + chains: { + mainnet: { + clone: true, + }, + }, + }, + }, + }, + 'staging-severe-violet-wezen': { + erc20: {}, + }, + 'staging-perfect-parallel-gacrux': { + erc20: {}, + erc721: {}, + erc1155: { + // "skaliens": { + // "address": "0xBA9fF38A2b22edDfa8e05805bD22C8f20c40546e", + // "chains": {} + // }, + // "medals": { + // "address": "0x5D8bD602dC5468B3998e8514A1851bd5888E9639", + // "chains": {} + // }, + // "_ANIMALS_0xDf87EEF0977148129969b01b329379b17756cdDE": { + // "address": "0xDf87EEF0977148129969b01b329379b17756cdDE", + // "chains": {} + // } + }, + }, + }, + theme: { + mode: 'dark', + vibrant: true + } +} diff --git a/src/Router.tsx b/src/Router.tsx index 8db893e..1a341df 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -10,7 +10,6 @@ import Schain from './components/Schain'; import Stats from './components/Stats'; // import History from './components/History'; - import { useMetaportStore, PROXY_ENDPOINTS } from '@skalenetwork/metaport'; import { Routes, Route } from "react-router-dom"; From 0b32ca2890f3d473445fce74cad4787db3993e29 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 18:26:59 +0100 Subject: [PATCH 10/68] Push metadata folder --- src/metadata/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/metadata/.keep diff --git a/src/metadata/.keep b/src/metadata/.keep new file mode 100644 index 0000000..e69de29 From ca0d5247dc32131ec7c1e539a020af271d14f03b Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 18:32:29 +0100 Subject: [PATCH 11/68] Update yarn.lock --- yarn.lock | 876 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 450 insertions(+), 426 deletions(-) diff --git a/yarn.lock b/yarn.lock index a48ecc7..a8e5679 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,16 +7,16 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@adraffy/ens-normalize@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" - integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== - "@adraffy/ens-normalize@1.9.2": version "1.9.2" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== +"@adraffy/ens-normalize@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" + integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== + "@ampproject/remapping@^2.2.0": version "2.2.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" @@ -25,12 +25,12 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3" - integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - "@babel/highlight" "^7.22.10" + "@babel/highlight" "^7.22.13" chalk "^2.4.2" "@babel/compat-data@^7.22.9": @@ -39,43 +39,43 @@ integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== "@babel/core@^7.22.9": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" - integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.15.tgz#15d4fd03f478a459015a4b94cfbb3bd42c48d2f4" + integrity sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.10" - "@babel/parser" "^7.22.10" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.22.15" + "@babel/helpers" "^7.22.15" + "@babel/parser" "^7.22.15" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.15" + "@babel/types" "^7.22.15" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" + json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722" - integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== +"@babel/generator@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.15.tgz#1564189c7ec94cb8f77b5e8a90c4d200d21b2339" + integrity sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA== dependencies: - "@babel/types" "^7.22.10" + "@babel/types" "^7.22.15" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024" - integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== dependencies: "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" browserslist "^4.21.9" lru-cache "^5.1.1" semver "^6.3.1" @@ -100,23 +100,23 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129" - integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== +"@babel/helper-module-transforms@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz#40ad2f6950f143900e9c1c72363c0b431a606082" + integrity sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ== dependencies: "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-simple-access" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.15" "@babel/helper-plugin-utils@^7.22.5": version "7.22.5" @@ -142,38 +142,38 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== +"@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz#601fa28e4cc06786c18912dca138cec73b882044" + integrity sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ== -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== -"@babel/helpers@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.10.tgz#ae6005c539dfbcb5cd71fb51bfc8a52ba63bc37a" - integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw== +"@babel/helpers@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.15.tgz#f09c3df31e86e3ea0b7ff7556d85cdebd47ea6f1" + integrity sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw== dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.10" - "@babel/types" "^7.22.10" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.15" + "@babel/types" "^7.22.15" -"@babel/highlight@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7" - integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ== +"@babel/highlight@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.13.tgz#9cda839e5d3be9ca9e8c26b6dd69e7548f0cbf16" + integrity sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ== dependencies: "@babel/helper-validator-identifier" "^7.22.5" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.22.10", "@babel/parser@^7.22.5": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" - integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== +"@babel/parser@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" + integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== "@babel/plugin-transform-react-jsx-self@^7.22.5": version "7.22.5" @@ -189,45 +189,45 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682" - integrity sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ== +"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.22.10", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" + integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== +"@babel/template@^7.22.15", "@babel/template@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" -"@babel/traverse@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa" - integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== +"@babel/traverse@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.15.tgz#75be4d2d6e216e880e93017f4e2389aeb77ef2d9" + integrity sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ== dependencies: - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-function-name" "^7.22.5" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.10" - "@babel/types" "^7.22.10" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.22.10", "@babel/types@^7.22.5": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03" - integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg== +"@babel/types@^7.22.15", "@babel/types@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" + integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== dependencies: "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.15" to-fast-properties "^2.0.0" "@coinbase/wallet-sdk@^3.6.6": @@ -483,9 +483,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" - integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== + version "4.8.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.0.tgz#11195513186f68d42fbf449f9a7136b2c0c92005" + integrity sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg== "@eslint/eslintrc@^2.1.2": version "2.1.2" @@ -502,10 +502,37 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.47.0": - version "8.47.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" - integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== +"@eslint/js@8.48.0": + version "8.48.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" + integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== + +"@floating-ui/core@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.4.1.tgz#0d633f4b76052668afb932492ac452f7ebe97f17" + integrity sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ== + dependencies: + "@floating-ui/utils" "^0.1.1" + +"@floating-ui/dom@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.1.tgz#88b70defd002fe851f17b4a25efb2d3c04d7a8d7" + integrity sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw== + dependencies: + "@floating-ui/core" "^1.4.1" + "@floating-ui/utils" "^0.1.1" + +"@floating-ui/react-dom@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" + integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== + dependencies: + "@floating-ui/dom" "^1.5.1" + +"@floating-ui/utils@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.1.tgz#1a5b1959a528e374e8037c4396c3e825d6cf4a83" + integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw== "@fontsource/roboto@^4.5.7": version "4.5.8" @@ -513,9 +540,9 @@ integrity sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA== "@humanwhocodes/config-array@^0.11.10": - version "0.11.10" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" - integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -697,57 +724,59 @@ "@motionone/dom" "^10.16.2" tslib "^2.3.1" -"@mui/base@5.0.0-beta.11": - version "5.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.11.tgz#0124d336f1931c6cd5f0008d015df5bd8fafd3a8" - integrity sha512-FdKZGPd8qmC3ZNke7CNhzcEgToc02M6WYZc9hcBsNQ17bgAd3s9F//1bDDYgMVBYxDM71V0sv/hBHlOY4I1ZVA== +"@mui/base@5.0.0-beta.14": + version "5.0.0-beta.14" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.14.tgz#315b67b0fd231cbd47e8d54f8f92be23122e4d66" + integrity sha512-Je/9JzzYObsuLCIClgE8XvXNFb55IEz8n2NtStUfASfNiVrwiR8t6VVFFuhofehkyTIN34tq1qbBaOjCnOovBw== dependencies: - "@babel/runtime" "^7.22.6" + "@babel/runtime" "^7.22.10" "@emotion/is-prop-valid" "^1.2.1" + "@floating-ui/react-dom" "^2.0.1" "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.5" + "@mui/utils" "^5.14.8" "@popperjs/core" "^2.11.8" clsx "^2.0.0" prop-types "^15.8.1" react-is "^18.2.0" -"@mui/core-downloads-tracker@^5.14.5": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.5.tgz#c5854b89d57520c77253a79b20b784d5c2903fb6" - integrity sha512-+wpGH1USwPcKMFPMvXqYPC6fEvhxM3FzxC8lyDiNK/imLyyJ6y2DPb1Oue7OGIKJWBmYBqrWWtfovrxd1aJHTA== +"@mui/core-downloads-tracker@^5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.8.tgz#9117bd29e94e96dc376f93a28e024666a2456696" + integrity sha512-8V7ZOC/lKkM03TRHqaThQFIq6bWPnj7L/ZWPh0ymldYFFyh8XdF0ywTgafsofDNYT4StlNknbaTjVHBma3SNjQ== "@mui/icons-material@^5.8.0": - version "5.14.3" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.3.tgz#26a84d52ab2fceea2856adf7a139527b3a51ae90" - integrity sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw== + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.8.tgz#e07418e792050eae611afd74f810ed1c234be687" + integrity sha512-YXcReLydTuNWb1/PxduAH5LgnHNH6spSQBaA0JOz9HD4J+vwst0IanAQgsXy9KKCJSjCsHywE3DB8X+w/b4eeQ== dependencies: - "@babel/runtime" "^7.22.6" + "@babel/runtime" "^7.22.10" "@mui/lab@^5.0.0-alpha.88": - version "5.0.0-alpha.140" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.140.tgz#07028563fb18715e49da973ee814da7c0976133d" - integrity sha512-k75jos6jklCD8tA20PAK2H4RSCKycTcR4Pbfz7JbdxIkWXJ+y2MRalwMcen1vpB99v0yZHNUo6BtGz6rvs2jlQ== + version "5.0.0-alpha.143" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.143.tgz#0fef89f8780f819a28d7f7e62383ab964d121ae2" + integrity sha512-2lpzJCSyrb0yNhxzKK2G25w9+Tk+vjlmjgAXh+j8NS2fyRD7F992DuChRqNaoZmg1aoAbFli6qZh6XJE/5cymA== dependencies: - "@babel/runtime" "^7.22.6" - "@mui/base" "5.0.0-beta.11" - "@mui/system" "^5.14.5" + "@babel/runtime" "^7.22.10" + "@mui/base" "5.0.0-beta.14" + "@mui/system" "^5.14.8" "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.5" + "@mui/utils" "^5.14.8" + "@mui/x-tree-view" "https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view" clsx "^2.0.0" prop-types "^15.8.1" react-is "^18.2.0" "@mui/material@^5.14.5", "@mui/material@^5.8.1": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.5.tgz#4610b381fd159cd208c28e1d1f29c303ea24a518" - integrity sha512-4qa4GMfuZH0Ai3mttk5ccXP8a3sf7aPlAJwyMrUSz6h9hPri6BPou94zeu3rENhhmKLby9S/W1y+pmficy8JKA== - dependencies: - "@babel/runtime" "^7.22.6" - "@mui/base" "5.0.0-beta.11" - "@mui/core-downloads-tracker" "^5.14.5" - "@mui/system" "^5.14.5" + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.8.tgz#1cad40f106f7c983639376589c3f21485fb1d166" + integrity sha512-fqvDGGF1pXwOOL/f0Gw+KHo/67hasRpf2ApTIJkbuONOk9AUb2jnYMEqCWmL2sUcbbE3ShMbHl8N7HPSsRv1/A== + dependencies: + "@babel/runtime" "^7.22.10" + "@mui/base" "5.0.0-beta.14" + "@mui/core-downloads-tracker" "^5.14.8" + "@mui/system" "^5.14.8" "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.5" + "@mui/utils" "^5.14.8" "@types/react-transition-group" "^4.4.6" clsx "^2.0.0" csstype "^3.1.2" @@ -755,35 +784,35 @@ react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.14.5": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.5.tgz#834e1569c31e2644665f98d902def79014053017" - integrity sha512-cC4C5RrpXpDaaZyH9QwmPhRLgz+f2SYbOty3cPkk4qPSOSfif2ZEcDD9HTENKDDd9deB+xkPKzzZhi8cxIx8Ig== +"@mui/private-theming@^5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.8.tgz#8e224cd10c531d12b871dc59b1f9376028dd13bb" + integrity sha512-iBzpcl3Mh92XaYpYPdgzzRxNGkjpoDz8rf8/q5m+EBPowFEHV+CCS9hC0Q2pOKLW3VFFikA7w/GHt7n++40JGQ== dependencies: - "@babel/runtime" "^7.22.6" - "@mui/utils" "^5.14.5" + "@babel/runtime" "^7.22.10" + "@mui/utils" "^5.14.8" prop-types "^15.8.1" -"@mui/styled-engine@^5.13.2": - version "5.13.2" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.13.2.tgz#c87bd61c0ab8086d34828b6defe97c02bcd642ef" - integrity sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw== +"@mui/styled-engine@^5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.14.8.tgz#b7a4d5dc6cbe3ecaa5af5189eb5ad90a62a255eb" + integrity sha512-LGwOav/Y40PZWZ2yDk4beUoRlc57Vg+Vpxi9V9BBtT2ESAucCgFobkt+T8eVLMWF9huUou5pwKgLSU5pF90hBg== dependencies: - "@babel/runtime" "^7.21.0" + "@babel/runtime" "^7.22.10" "@emotion/cache" "^11.11.0" csstype "^3.1.2" prop-types "^15.8.1" -"@mui/system@^5.14.5": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.5.tgz#614394c4183d90df82c540e0e736ba72c1f95f8e" - integrity sha512-mextXZHDeGcR7E1kx43TRARrVXy+gI4wzpUgNv7MqZs1dvTVXQGVeAT6ydj9d6FUqHBPMNLGV/21vJOrpqsL+w== +"@mui/system@^5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.8.tgz#1ca201b948310083e670352bae2d7963ad6f971e" + integrity sha512-Dxnasv7Pj5hYe4ZZFKJZu4ufKm6cxpitWt3A+qMPps22YhqyeEqgDBq/HsAB3GOjqDP40fTAvQvS/Hguf4SJuw== dependencies: - "@babel/runtime" "^7.22.6" - "@mui/private-theming" "^5.14.5" - "@mui/styled-engine" "^5.13.2" + "@babel/runtime" "^7.22.10" + "@mui/private-theming" "^5.14.8" + "@mui/styled-engine" "^5.14.8" "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.5" + "@mui/utils" "^5.14.8" clsx "^2.0.0" csstype "^3.1.2" prop-types "^15.8.1" @@ -793,45 +822,44 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== -"@mui/utils@^5.14.5": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.5.tgz#98fb6060610b793a8478e70ffe5e4ed5bd922dba" - integrity sha512-6Hzw63VR9C5xYv+CbjndoRLU6Gntal8rJ5W+GUzkyHrGWIyYPWZPa6AevnyGioySNETATe1H9oXS8f/7qgIHJA== +"@mui/utils@^5.13.7", "@mui/utils@^5.14.8": + version "5.14.8" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.8.tgz#e1737d5fcd54aa413d6b1aaea3ea670af2919402" + integrity sha512-1Ls2FfyY2yVSz9NEqedh3J8JAbbZAnUWkOWLE2f4/Hc4T5UWHMfzBLLrCqExfqyfyU+uXYJPGeNIsky6f8Gh5Q== dependencies: - "@babel/runtime" "^7.22.6" + "@babel/runtime" "^7.22.10" "@types/prop-types" "^15.7.5" "@types/react-is" "^18.2.1" prop-types "^15.8.1" react-is "^18.2.0" -"@noble/curves@1.1.0", "@noble/curves@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== +"@mui/x-tree-view@https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view": + version "6.0.0-alpha.0" + resolved "https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view#93cbc61c818ed2d6c40554cdbada969f7dcbaab1" dependencies: - "@noble/hashes" "1.3.1" + "@babel/runtime" "^7.22.6" + "@mui/utils" "^5.13.7" + "@types/react-transition-group" "^4.4.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-transition-group "^4.4.5" -"@noble/curves@~1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" - integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== +"@noble/curves@1.2.0", "@noble/curves@^1.0.0", "@noble/curves@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== dependencies: - "@noble/hashes" "1.3.0" + "@noble/hashes" "1.3.2" "@noble/hashes@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== -"@noble/hashes@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== - -"@noble/hashes@1.3.1", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/hashes@1.3.2", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@noble/secp256k1@1.7.1": version "1.7.1" @@ -882,9 +910,9 @@ integrity sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg== "@rollup/pluginutils@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.3.tgz#183126d69aeb1cfa23401d5a71cb4b8c16c4a4e0" - integrity sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g== + version "5.0.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.4.tgz#74f808f9053d33bafec0cc98e7b835c9667d32ba" + integrity sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" @@ -915,30 +943,30 @@ viem "^1.0.0" "@safe-global/safe-gateway-typescript-sdk@^3.5.3": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.9.0.tgz#5aa36c05b865f6fe754d1d460f83bc9bf3a0145e" - integrity sha512-DxRM/sBBQhv955dPtdo0z2Bf2fXxrzoRUnGyTa3+4Z0RAhcyiqnffRP1Bt3tyuvlyfZnFL0RsvkqDcAIKzq3RQ== + version "3.10.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.10.0.tgz#a252ac5a61487d7785c44f1ed7e899ccd5aa9038" + integrity sha512-nhWjFRRgrGz4uZbyQ3Hgm4si1AixCWlnvi5WUCq/+V+e8EoA2Apj9xJEt8zzXvtELlddFqkH2sfTFy9LIjGXKg== dependencies: cross-fetch "^3.1.5" -"@scure/base@~1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" - integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== +"@scure/base@~1.1.0", "@scure/base@~1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== -"@scure/bip32@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" - integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== dependencies: - "@noble/curves" "~1.0.0" - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" -"@scure/bip39@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" - integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== dependencies: "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" @@ -1118,38 +1146,38 @@ "@stablelib/random" "^1.0.2" "@stablelib/wipe" "^1.0.1" -"@tanstack/query-core@4.32.6": - version "4.32.6" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.32.6.tgz#cf7df91ab1542e67a82624fefb12a55f580b4c01" - integrity sha512-YVB+mVWENQwPyv+40qO7flMgKZ0uI41Ph7qXC2Zf1ft5AIGfnXnMZyifB2ghhZ27u+5wm5mlzO4Y6lwwadzxCA== +"@tanstack/query-core@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.33.0.tgz#7756da9a75a424e521622b1d84eb55b7a2b33715" + integrity sha512-qYu73ptvnzRh6se2nyBIDHGBQvPY1XXl3yR769B7B6mIDD7s+EZhdlWHQ67JI6UOTFRaI7wupnTnwJ3gE0Mr/g== -"@tanstack/query-persist-client-core@4.32.6": - version "4.32.6" - resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.32.6.tgz#8dbe10c3e86246a708f2a8725a5596c55fe57d7e" - integrity sha512-MJJ7CldvT5HOel50h/3wOZZwVlIcroFD5Vxn8vPsfo2C0qQ208ilmN/81JWutm/lWy4n2BjnCrrWv6HvVI7S0w== +"@tanstack/query-persist-client-core@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.33.0.tgz#38bddb653cd61fa7303039e6d13dd5f39c38d0e0" + integrity sha512-3P16+2JjcUU5CHi10jJuwd0ZQYvQtSuzLvCUCjVuAnj3GZjfSso1v8t6WAObAr9RPuIC6vDXeOQ3mr07EF/NxQ== dependencies: - "@tanstack/query-core" "4.32.6" + "@tanstack/query-core" "4.33.0" "@tanstack/query-sync-storage-persister@^4.27.1": - version "4.32.6" - resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.32.6.tgz#f9fe8284372f9e15a7beb2913189dc4779063b60" - integrity sha512-hTwNo5O5EvydbfdVvwnwY0nIrNg1BxKEV4WAA8A+0NP9yc/9xoWy8RxbIkcz1p4JN2JhagaTKek8Fa5h5KitsA== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.33.0.tgz#9f821335db7c08177211fe151a0ffd76f0b1f4e0" + integrity sha512-V6igMcdEOXPRpvmNFQ6I/iJaw9NhxWy7x8PWamm2cgSsLi8bHaDvUVuWkZm+ikI47QjoCUk7qll/82JYLaH+pw== dependencies: - "@tanstack/query-persist-client-core" "4.32.6" + "@tanstack/query-persist-client-core" "4.33.0" "@tanstack/react-query-persist-client@^4.28.0": - version "4.32.6" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.32.6.tgz#f8c539e8119461e4901dd6f212608ef8cfd4d117" - integrity sha512-EmNnYpvFYpxS4j5WFeNmfVVBxqq4RDnEFDBZwNKRfb4pzukcx/hcWtwqFk7Qj0EI4Dk8QGl239MEYwJbAc83tQ== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.33.0.tgz#ec37f43837c35d3f99738df49832b265e2723112" + integrity sha512-B3q0r1tqTTSkd9vctyqFj28xdGZJ+Dnr/7H05Ta1JF1w7EauVQl8ILrmXADecwvILnr1xoZO6lvi2W+mZxMinw== dependencies: - "@tanstack/query-persist-client-core" "4.32.6" + "@tanstack/query-persist-client-core" "4.33.0" "@tanstack/react-query@^4.28.0": - version "4.32.6" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.32.6.tgz#f88c2d57f423d4cd295c501df2edeb3285a301bd" - integrity sha512-AITu/IKJJJXsHHeXNBy5bclu12t08usMCY0vFC2dh9SP/w6JAk5U9GwfjOIPj3p+ATADZvxQPe8UiCtMLNeQbg== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.33.0.tgz#e927b0343a6ecaa948fee59e9ca98fe561062638" + integrity sha512-97nGbmDK0/m0B86BdiXzx3EW9RcDYKpnyL2+WwyuLHEgpfThYAnXFaMMmnTDuAO4bQJXEhflumIEUfKmP7ESGA== dependencies: - "@tanstack/query-core" "4.32.6" + "@tanstack/query-core" "4.33.0" use-sync-external-store "^1.2.0" "@types/acorn@^4.0.0": @@ -1160,9 +1188,9 @@ "@types/estree" "*" "@types/connect@^3.4.33": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + version "3.4.36" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab" + integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== dependencies: "@types/node" "*" @@ -1205,9 +1233,9 @@ "@types/unist" "^2" "@types/mdx@^2.0.0": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.6.tgz#d03e0cc6f7e6627b296f4ef49049678316e8ee23" - integrity sha512-sVcwEG10aFU2KcM7cIA0M410UPv/DesOPyG8zMVk0QUDexHA3lYmGucpEpZ2dtWWhi2ip3CG+5g/iH0PwoW4Fw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.7.tgz#c7482e995673e01b83f8e96df83b3843ea76401f" + integrity sha512-BG4tyr+4amr3WsSEmHn/fXPqaCba/AYZ7dsaQTiavihQunHSIxk+uAtqsjvicNpyHN6cm+B9RVrUOtW9VzIKHw== "@types/ms@*": version "0.7.31" @@ -1215,9 +1243,9 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - version "20.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.0.tgz#7fc8636d5f1aaa3b21e6245e97d56b7f56702313" - integrity sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q== + version "20.5.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.9.tgz#a70ec9d8fa0180a314c3ede0e20ea56ff71aed9a" + integrity sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ== "@types/node@18.15.13": version "18.15.13" @@ -1268,9 +1296,9 @@ "@types/react" "*" "@types/react@*", "@types/react@^18.2.15": - version "18.2.20" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2" - integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== + version "18.2.21" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.21.tgz#774c37fd01b522d0b91aed04811b58e4e0514ed9" + integrity sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -1282,9 +1310,9 @@ integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== "@types/semver@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" - integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== + version "7.5.1" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.1.tgz#0480eeb7221eb9bc398ad7432c9d7e14b1a5a367" + integrity sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg== "@types/trusted-types@^2.0.2": version "2.0.3" @@ -1292,9 +1320,9 @@ integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== "@types/unist@^2", "@types/unist@^2.0.0": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6" - integrity sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g== + version "2.0.8" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.8.tgz#bb197b9639aa1a04cf464a617fe800cccd92ad5c" + integrity sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== "@types/ws@^7.4.4": version "7.4.7" @@ -1303,7 +1331,7 @@ dependencies: "@types/node" "*" -"@types/ws@^8.5.4": +"@types/ws@^8.5.5": version "8.5.5" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== @@ -1311,15 +1339,15 @@ "@types/node" "*" "@typescript-eslint/eslint-plugin@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.0.tgz#53428b616f7d80fe879f45a08f11cc0f0b62cf13" - integrity sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg== + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.6.0.tgz#19ba09aa34fd504696445100262e5a9e1b1d7024" + integrity sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.4.0" - "@typescript-eslint/type-utils" "6.4.0" - "@typescript-eslint/utils" "6.4.0" - "@typescript-eslint/visitor-keys" "6.4.0" + "@typescript-eslint/scope-manager" "6.6.0" + "@typescript-eslint/type-utils" "6.6.0" + "@typescript-eslint/utils" "6.6.0" + "@typescript-eslint/visitor-keys" "6.6.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -1328,71 +1356,71 @@ ts-api-utils "^1.0.1" "@typescript-eslint/parser@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.4.0.tgz#47e7c6e22ff1248e8675d95f488890484de67600" - integrity sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg== - dependencies: - "@typescript-eslint/scope-manager" "6.4.0" - "@typescript-eslint/types" "6.4.0" - "@typescript-eslint/typescript-estree" "6.4.0" - "@typescript-eslint/visitor-keys" "6.4.0" + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.6.0.tgz#fe323a7b4eafb6d5ea82b96216561810394a739e" + integrity sha512-setq5aJgUwtzGrhW177/i+DMLqBaJbdwGj2CPIVFFLE0NCliy5ujIdLHd2D1ysmlmsjdL2GWW+hR85neEfc12w== + dependencies: + "@typescript-eslint/scope-manager" "6.6.0" + "@typescript-eslint/types" "6.6.0" + "@typescript-eslint/typescript-estree" "6.6.0" + "@typescript-eslint/visitor-keys" "6.6.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.4.0.tgz#3048e4262ba3eafa4e2e69b08912d9037ec646ae" - integrity sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig== +"@typescript-eslint/scope-manager@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.6.0.tgz#57105d4419d6de971f7d2c30a2ff4ac40003f61a" + integrity sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw== dependencies: - "@typescript-eslint/types" "6.4.0" - "@typescript-eslint/visitor-keys" "6.4.0" + "@typescript-eslint/types" "6.6.0" + "@typescript-eslint/visitor-keys" "6.6.0" -"@typescript-eslint/type-utils@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.4.0.tgz#c8ac92716ed6a9d5443aa3e342910355b0796ba0" - integrity sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg== +"@typescript-eslint/type-utils@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.6.0.tgz#14f651d13b884915c4fca0d27adeb652a4499e86" + integrity sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg== dependencies: - "@typescript-eslint/typescript-estree" "6.4.0" - "@typescript-eslint/utils" "6.4.0" + "@typescript-eslint/typescript-estree" "6.6.0" + "@typescript-eslint/utils" "6.6.0" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/types@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.4.0.tgz#5b109a59a805f0d8d375895e42d9e5f0037f66ee" - integrity sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg== +"@typescript-eslint/types@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.6.0.tgz#95e7ea650a2b28bc5af5ea8907114a48f54618c2" + integrity sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg== -"@typescript-eslint/typescript-estree@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.0.tgz#3c58d20632db93fec3d6ab902acbedf593d37276" - integrity sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA== +"@typescript-eslint/typescript-estree@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.6.0.tgz#373c420d2e12c28220f4a83352280a04823a91b7" + integrity sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA== dependencies: - "@typescript-eslint/types" "6.4.0" - "@typescript-eslint/visitor-keys" "6.4.0" + "@typescript-eslint/types" "6.6.0" + "@typescript-eslint/visitor-keys" "6.6.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.4.0.tgz#23e996b693603c5924b1fbb733cc73196256baa5" - integrity sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw== +"@typescript-eslint/utils@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.6.0.tgz#2d686c0f0786da6362d909e27a9de1c13ba2e7dc" + integrity sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.4.0" - "@typescript-eslint/types" "6.4.0" - "@typescript-eslint/typescript-estree" "6.4.0" + "@typescript-eslint/scope-manager" "6.6.0" + "@typescript-eslint/types" "6.6.0" + "@typescript-eslint/typescript-estree" "6.6.0" semver "^7.5.4" -"@typescript-eslint/visitor-keys@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.0.tgz#96a426cdb1add28274abd7a34aefe27f8b7d51ef" - integrity sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA== +"@typescript-eslint/visitor-keys@6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.6.0.tgz#1109088b4346c8b2446f3845db526374d9a3bafc" + integrity sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ== dependencies: - "@typescript-eslint/types" "6.4.0" + "@typescript-eslint/types" "6.6.0" eslint-visitor-keys "^3.4.1" "@vanilla-extract/css@1.9.1": @@ -1444,47 +1472,36 @@ "@babel/plugin-transform-react-jsx-source" "^7.22.5" react-refresh "^0.14.0" -"@wagmi/chains@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.6.0.tgz#eb992ad28dbaaab729b5bcab3e5b461e8a035656" - integrity sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw== - -"@wagmi/chains@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.7.0.tgz#8f6ad81cf867e1788417f7c978ca92bc083ecaf6" - integrity sha512-TKVeHv0GqP5sV1yQ8BDGYToAFezPnCexbbBpeH14x7ywi5a1dDStPffpt9x+ytE6LJWkZ6pAMs/HNWXBQ5Nqmw== - -"@wagmi/connectors@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-2.7.0.tgz#547972502cbe6719217043fe5b610ac48534dc93" - integrity sha512-1KOL0HTJl5kzSC/YdKwFwiokr6poUQn1V/tcT0TpG3iH2x0lSM7FTkvCjVVY/6lKzTXrLlo9y2aE7AsOPnkvqg== +"@wagmi/connectors@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-3.1.1.tgz#3a7993e1e6865370aa9635b7a5d53f0faf0534f1" + integrity sha512-ewOV40AlrXcX018qckU0V9OCsDgHhs+KZjQJZhlplqRtc2ijjS62B5kcypXkcTtfU5qXUBA9KEwPsSTxGdT4ag== dependencies: "@coinbase/wallet-sdk" "^3.6.6" "@ledgerhq/connect-kit-loader" "^1.1.0" "@safe-global/safe-apps-provider" "^0.17.1" "@safe-global/safe-apps-sdk" "^8.0.0" - "@walletconnect/ethereum-provider" "2.9.2" + "@walletconnect/ethereum-provider" "2.10.0" "@walletconnect/legacy-provider" "^2.0.0" "@walletconnect/modal" "2.6.1" - "@walletconnect/utils" "2.9.2" + "@walletconnect/utils" "2.10.0" abitype "0.8.7" eventemitter3 "^4.0.7" -"@wagmi/core@1.3.9": - version "1.3.9" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.3.9.tgz#16bac164fe74203fde68abe7991b947d3a26e6ab" - integrity sha512-SrnABCrsDvhiMCLLLyzyHnZbEumsFT/XWlJJQZeyEDcixL95R7XQwOaaoRI4MpNilCtMtu3jzN57tA5Z2iA+kw== +"@wagmi/core@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.4.1.tgz#808a44260e1149709649b6ab2b4425988edbdd02" + integrity sha512-b6LDFL0vZSCNcIHjnJzv++hakavTTt1/2WEQg2S5eEnaHTp7UoQlwfCyjKeiBhRih4yF34N06ea8cyEVjyjXrw== dependencies: - "@wagmi/chains" "1.7.0" - "@wagmi/connectors" "2.7.0" + "@wagmi/connectors" "3.1.1" abitype "0.8.7" eventemitter3 "^4.0.7" zustand "^4.3.1" -"@walletconnect/core@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.2.tgz#c46734ca63771b28fd77606fd521930b7ecfc5e1" - integrity sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ== +"@walletconnect/core@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.10.0.tgz#b659de4dfb374becd938964abd4f2150d410e617" + integrity sha512-Z8pdorfIMueuiBXLdnf7yloiO9JIiobuxN3j0OTal+MYc4q5/2O7d+jdD1DAXbLi1taJx3x60UXT/FPVkjIqIQ== dependencies: "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-provider" "1.0.13" @@ -1497,8 +1514,8 @@ "@walletconnect/relay-auth" "^1.0.4" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.2" - "@walletconnect/utils" "2.9.2" + "@walletconnect/types" "2.10.0" + "@walletconnect/utils" "2.10.0" events "^3.3.0" lodash.isequal "4.5.0" uint8arrays "^3.1.0" @@ -1531,19 +1548,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.2.tgz#fb3a6fca279bb4e98e75baa2fb9730545d41bb99" - integrity sha512-eO1dkhZffV1g7vpG19XUJTw09M/bwGUwwhy1mJ3AOPbOSbMPvwiCuRz2Kbtm1g9B0Jv15Dl+TvJ9vTgYF8zoZg== +"@walletconnect/ethereum-provider@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.10.0.tgz#eebde38674222a48be35bb4aa3f6a74247ba059b" + integrity sha512-NyTm7RcrtAiSaYQPh6G4sOtr1kg/pL5Z3EDE6rBTV3Se5pMsYvtuwMiSol7MidsQpf4ux9HFhthTO3imcoWImw== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "^1.0.13" "@walletconnect/jsonrpc-types" "^1.0.3" "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/sign-client" "2.9.2" - "@walletconnect/types" "2.9.2" - "@walletconnect/universal-provider" "2.9.2" - "@walletconnect/utils" "2.9.2" + "@walletconnect/sign-client" "2.10.0" + "@walletconnect/types" "2.10.0" + "@walletconnect/universal-provider" "2.10.0" + "@walletconnect/utils" "2.10.0" events "^3.3.0" "@walletconnect/events@^1.0.1": @@ -1748,19 +1765,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.2.tgz#ff4c81c082c2078878367d07f24bcb20b1f7ab9e" - integrity sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg== +"@walletconnect/sign-client@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.10.0.tgz#0fee8f12821e37783099f0c7bd64e6efdfbd9d86" + integrity sha512-hbDljDS53kR/It3oXD91UkcOsT6diNnW5+Zzksm0YEfwww5dop/YfNlcdnc8+jKUhWOL/YDPNQCjzsCSNlVzbw== dependencies: - "@walletconnect/core" "2.9.2" + "@walletconnect/core" "2.10.0" "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "^2.0.1" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.2" - "@walletconnect/utils" "2.9.2" + "@walletconnect/types" "2.10.0" + "@walletconnect/utils" "2.10.0" events "^3.3.0" "@walletconnect/time@^1.0.2": @@ -1770,10 +1787,10 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.2.tgz#d5fd5a61dc0f41cbdca59d1885b85207ac7bf8c5" - integrity sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A== +"@walletconnect/types@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.10.0.tgz#5d63235b49e03d609521402a4b49627dbc4ed514" + integrity sha512-kSTA/WZnbKdEbvbXSW16Ty6dOSzOZCHnGg6JH7q1MuraalD2HuNg00lVVu7QAZ/Rj1Gn9DAkrgP5Wd5a8Xq//Q== dependencies: "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" @@ -1782,25 +1799,25 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/universal-provider@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.9.2.tgz#40e54e98bc48b1f2f5f77eb5b7f05462093a8506" - integrity sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw== +"@walletconnect/universal-provider@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.10.0.tgz#565d6478dcb5cc66955e5f03d6a00f51c9bcac14" + integrity sha512-jtVWf+AeTCqBcB3lCmWkv3bvSmdRCkQdo67GNoT5y6/pvVHMxfjgrJNBOUsWQMxpREpWDpZ993X0JRjsYVsMcA== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "1.0.13" "@walletconnect/jsonrpc-types" "^1.0.2" "@walletconnect/jsonrpc-utils" "^1.0.7" "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.9.2" - "@walletconnect/types" "2.9.2" - "@walletconnect/utils" "2.9.2" + "@walletconnect/sign-client" "2.10.0" + "@walletconnect/types" "2.10.0" + "@walletconnect/utils" "2.10.0" events "^3.3.0" -"@walletconnect/utils@2.9.2": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.2.tgz#035bdb859ee81a4bcc6420f56114cc5ec3e30afb" - integrity sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg== +"@walletconnect/utils@2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.10.0.tgz#6918d12180d797b8bd4a19fb2ff128e394e181d6" + integrity sha512-9GRyEz/7CJW+G04RvrjPET5k7hOEsB9b3fF9cWDk/iDCxSWpbkU/hv/urRB36C+gvQMAZgIZYX3dHfzJWkY/2g== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" @@ -1810,7 +1827,7 @@ "@walletconnect/relay-api" "^1.0.9" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.2" + "@walletconnect/types" "2.10.0" "@walletconnect/window-getters" "^1.0.1" "@walletconnect/window-metadata" "^1.0.1" detect-browser "5.3.0" @@ -1845,10 +1862,10 @@ abitype@0.8.7: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== -abitype@0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.3.tgz#294d25288ee683d72baf4e1fed757034e3c8c277" - integrity sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w== +abitype@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" + integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: version "5.3.2" @@ -2086,9 +2103,9 @@ camelcase@^5.0.0: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001517: - version "1.0.30001520" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006" - integrity sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA== + version "1.0.30001527" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz#813826554828245ccee776c850566dce12bdeaba" + integrity sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ== ccount@^2.0.0: version "2.0.1" @@ -2161,7 +2178,7 @@ clsx@1.1.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -clsx@^1.1.0: +clsx@^1.1.0, clsx@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -2373,9 +2390,9 @@ duplexify@^4.1.2: stream-shift "^1.0.0" electron-to-chromium@^1.4.477: - version "1.4.491" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.491.tgz#53de4625bde1e75b5b7804a36c68b2c39f6a0c1f" - integrity sha512-ZzPqGKghdVzlQJ+qpfE+r6EB321zed7e5JsvHIlMM4zPFF8okXUkF5Of7h7F3l3cltPL0rG7YVmlp5Qro7RQLA== + version "1.4.508" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz#5641ff2f5ba11df4bd960fe6a2f9f70aa8b9af96" + integrity sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg== emoji-regex@^8.0.0: version "8.0.0" @@ -2480,14 +2497,14 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.45.0: - version "8.47.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" - integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== + version "8.48.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" + integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "^8.47.0" + "@eslint/js" "8.48.0" "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -2775,14 +2792,15 @@ find-up@^5.0.0: path-exists "^4.0.0" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== dependencies: - flatted "^3.1.0" + flatted "^3.2.7" + keyv "^4.5.3" rimraf "^3.0.2" -flatted@^3.1.0: +flatted@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== @@ -2800,9 +2818,9 @@ fs.realpath@^1.0.0: integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 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== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.1: version "1.1.1" @@ -2999,9 +3017,9 @@ ignore@^5.2.0, ignore@^5.2.4: integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immutable@^4.0.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.2.tgz#f89d910f8dfb6e15c03b2cae2faaf8c1f66455fe" - integrity sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA== + version "4.3.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" + integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== import-fresh@^3.2.1: version "3.3.0" @@ -3209,6 +3227,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" @@ -3242,7 +3265,7 @@ json-stringify-safe@^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: +json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -3261,6 +3284,13 @@ keccak@^3.0.1: node-gyp-build "^4.2.0" readable-stream "^3.6.0" +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" + keyvaluestorage-interface@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" @@ -3858,16 +3888,16 @@ node-addon-api@^2.0.0: integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== node-fetch@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" 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== + version "4.6.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" + integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== node-releases@^2.0.13: version "2.0.13" @@ -4072,18 +4102,18 @@ pngjs@^5.0.0: integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== postcss@^8.4.27: - version "8.4.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057" - integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== + version "8.4.29" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd" + integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" preact@^10.12.0, preact@^10.5.9: - version "10.17.0" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.0.tgz#77c0e3402767c999ac0f1ba39bd43cd85beab06b" - integrity sha512-SNsI8cbaCcUS5tbv9nlXuCfIXnJ9ysBMWk0WnB6UWwcVA3qZ2O6FxqDFECMAMttvLQcW/HaNZUe2BLidyvrVYw== + version "10.17.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.1.tgz#0a1b3c658c019e759326b9648c62912cf5c2dde1" + integrity sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA== prelude-ls@^1.2.1: version "1.2.1" @@ -4105,9 +4135,9 @@ prop-types@^15.6.2, prop-types@^15.8.1: react-is "^16.13.1" property-information@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" - integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== + version "6.3.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" + integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== proxy-compare@2.5.1: version "2.5.1" @@ -4371,9 +4401,9 @@ rimraf@^3.0.2: glob "^7.1.3" rollup@^3.27.1: - version "3.28.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.0.tgz#a3c70004b01934760c0cb8df717c7a1d932389a2" - integrity sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw== + version "3.28.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433" + integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw== optionalDependencies: fsevents "~2.3.2" @@ -4427,9 +4457,9 @@ safe-stable-stringify@^2.1.0: integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== sass@^1.65.1: - version "1.65.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.65.1.tgz#8f283b0c26335a88246a448d22e1342ba2ea1432" - integrity sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA== + version "1.66.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1" + integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -4680,9 +4710,9 @@ trough@^2.0.0: integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== ts-api-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d" - integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A== + version "1.0.2" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.2.tgz#7c094f753b6705ee4faee25c3c684ade52d66d99" + integrity sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ== tslib@1.14.1, tslib@^1.9.0: version "1.14.1" @@ -4695,9 +4725,9 @@ tslib@2.4.0: integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" - integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -4719,9 +4749,9 @@ typedarray-to-buffer@3.1.5: is-typedarray "^1.0.0" typescript@^5.0.2: - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== uint8arrays@^3.0.0, uint8arrays@^3.1.0: version "3.1.1" @@ -4901,20 +4931,19 @@ vfile@^5.0.0: vfile-message "^3.0.0" viem@^1.0.0, viem@^1.5.3: - version "1.6.0" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.6.0.tgz#8befa678c3ac79b9558dfd1708130b2ecb1994f4" - integrity sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA== - dependencies: - "@adraffy/ens-normalize" "1.9.0" - "@noble/curves" "1.1.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - "@types/ws" "^8.5.4" - "@wagmi/chains" "1.6.0" - abitype "0.9.3" + version "1.10.3" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.3.tgz#e558ec568f961a5472ba6999528cb4eb7ae31c6f" + integrity sha512-7L35k0JmxTa7xIx1s8lCsTLGrTEUXTYnLppZ56EVBjtvE2OKSfDjL8No0Fnedu6Ye0zi/VX2BQC3arhpKOVIlw== + dependencies: + "@adraffy/ens-normalize" "1.9.4" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + "@types/ws" "^8.5.5" + abitype "0.9.8" isomorphic-ws "5.0.0" - ws "8.12.0" + ws "8.13.0" vite@^4.4.5: version "4.4.9" @@ -4928,14 +4957,14 @@ vite@^4.4.5: fsevents "~2.3.2" wagmi@^1.3.9: - version "1.3.10" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.3.10.tgz#100aeaecf7a030e9e91118d366a734ec30c56551" - integrity sha512-MMGJcnxOmeUZWDmzUxgRGcB1cqxbJoSFSa+pNY4vBCWMz0n4ptpE5F8FKISLCx+BGoDwsaz2ldcMALcdJZ+29w== + version "1.4.1" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.4.1.tgz#32e5fda3e3a47559115118e7c8315fe25115ab11" + integrity sha512-v3xd+uYZfLCAs1I4fLU7U9hg/gCw+Ud005J7kNR0mi20BcFAEU1EDN1LxHxpjUV0qKhOzSlMlrLjJyBCmSYhFA== dependencies: "@tanstack/query-sync-storage-persister" "^4.27.1" "@tanstack/react-query" "^4.28.0" "@tanstack/react-query-persist-client" "^4.28.0" - "@wagmi/core" "1.3.9" + "@wagmi/core" "1.4.1" abitype "0.8.7" use-sync-external-store "^1.2.0" @@ -4989,10 +5018,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@8.13.0, ws@^8.5.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== ws@8.5.0: version "8.5.0" @@ -5004,11 +5033,6 @@ ws@^7.4.5, ws@^7.5.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.5.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.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From a5c4cf11ff6f37a0e300ffe9ad19ea3310959a9a Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 18:57:05 +0100 Subject: [PATCH 12/68] Update deps, add icons lib --- package.json | 3 ++- src/Router.tsx | 4 ++-- tsconfig.json | 3 ++- yarn.lock | 10 +++++----- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 9f7152c..5e4fa03 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,9 @@ }, "dependencies": { "@mdx-js/rollup": "^2.3.0", + "@mui/icons-material": "^5.14.8", "@mui/material": "^5.14.5", - "@skalenetwork/metaport": "2.0.0-preview.1", + "@skalenetwork/metaport": "2.0.0-preview.2", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", "react": "^18.2.0", diff --git a/src/Router.tsx b/src/Router.tsx index 1a341df..9d5b37d 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -10,13 +10,13 @@ import Schain from './components/Schain'; import Stats from './components/Stats'; // import History from './components/History'; -import { useMetaportStore, PROXY_ENDPOINTS } from '@skalenetwork/metaport'; +import { useMetaportStore, PROXY_ENDPOINTS, MetaportState } from '@skalenetwork/metaport'; import { Routes, Route } from "react-router-dom"; export default function Router() { const [schains, setSchains] = useState([]) - const mpc = useMetaportStore((state) => state.mpc) + const mpc = useMetaportStore((state: MetaportState) => state.mpc) const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork] async function loadSchains() { diff --git a/tsconfig.json b/tsconfig.json index a7fc6fb..6348729 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,7 +18,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true }, "include": ["src"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/yarn.lock b/yarn.lock index a8e5679..031b9f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -744,7 +744,7 @@ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.8.tgz#9117bd29e94e96dc376f93a28e024666a2456696" integrity sha512-8V7ZOC/lKkM03TRHqaThQFIq6bWPnj7L/ZWPh0ymldYFFyh8XdF0ywTgafsofDNYT4StlNknbaTjVHBma3SNjQ== -"@mui/icons-material@^5.8.0": +"@mui/icons-material@^5.14.8", "@mui/icons-material@^5.8.0": version "5.14.8" resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.8.tgz#e07418e792050eae611afd74f810ed1c234be687" integrity sha512-YXcReLydTuNWb1/PxduAH5LgnHNH6spSQBaA0JOz9HD4J+vwst0IanAQgsXy9KKCJSjCsHywE3DB8X+w/b4eeQ== @@ -979,10 +979,10 @@ debug "^4.3.4" ethers "6.6.2" -"@skalenetwork/metaport@2.0.0-preview.1": - version "2.0.0-preview.1" - resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.1.tgz#5239cc8dcb1c48853d4b9aaee89bfaf5992e69c4" - integrity sha512-mPiHSlvWoaD1bKHfnzCmE4b+P1ocrT3tEejYJsPL/bqdGuZRIURy0bhP3eVDCtO0xRsxLESZcyqFEqKFf5IIjg== +"@skalenetwork/metaport@2.0.0-preview.2": + version "2.0.0-preview.2" + resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.2.tgz#27f893a69b3b94439493b0cae96746164f33df6b" + integrity sha512-ntEKZ5tstLid+heUv5BkT01bJI+vdB7FIGF0b7e0nQ7AzVWo5ZtcdAlHgrcW9fcgzwZP9rvY0a1cfM+NSIGOaw== "@solana/buffer-layout@^4.0.0": version "4.0.1" From 38ba6364892092ce34ce81ff4179ce5ec869ae31 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 19:03:45 +0100 Subject: [PATCH 13/68] Update metaport dependency --- package.json | 3 ++- yarn.lock | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5e4fa03..c4a66c5 100644 --- a/package.json +++ b/package.json @@ -13,12 +13,13 @@ "@mdx-js/rollup": "^2.3.0", "@mui/icons-material": "^5.14.8", "@mui/material": "^5.14.5", - "@skalenetwork/metaport": "2.0.0-preview.2", + "@skalenetwork/metaport": "2.0.0-preview.3", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", "react": "^18.2.0", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", + "react-jazzicon": "^1.0.4", "react-router-dom": "^6.15.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 031b9f6..95a0c04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -979,10 +979,24 @@ debug "^4.3.4" ethers "6.6.2" -"@skalenetwork/metaport@2.0.0-preview.2": - version "2.0.0-preview.2" - resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.2.tgz#27f893a69b3b94439493b0cae96746164f33df6b" - integrity sha512-ntEKZ5tstLid+heUv5BkT01bJI+vdB7FIGF0b7e0nQ7AzVWo5ZtcdAlHgrcW9fcgzwZP9rvY0a1cfM+NSIGOaw== +"@skalenetwork/metaport@2.0.0-preview.3": + version "2.0.0-preview.3" + resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.3.tgz#01a4669ea19b3a5e0a623e1ac3095b7f426eda5d" + integrity sha512-oZ3CeuhudCmdiuf/5U7eslkDo2E+wFQmtPrJH4zzG1Y2p3ZfMsByPOtr7ijKHa0t12GlHpJLPpfs4G8IAq3wxA== + dependencies: + "@emotion/react" "^11.9.0" + "@emotion/styled" "^11.8.1" + "@fontsource/roboto" "^4.5.7" + "@mui/icons-material" "^5.8.0" + "@mui/lab" "^5.0.0-alpha.88" + "@mui/material" "^5.8.1" + "@rainbow-me/rainbowkit" "^1.0.9" + "@skalenetwork/ima-js" "2.0.0-develop.3" + coingecko-api-v3 "^0.0.28" + react-jazzicon "^1.0.4" + viem "^1.5.3" + wagmi "^1.3.9" + zustand "^4.4.1" "@solana/buffer-layout@^4.0.0": version "4.0.1" From 16dd68496a64541075ca9704b773ed1c62d537dc Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 19:14:50 +0100 Subject: [PATCH 14/68] Add vercel plugin --- package.json | 3 +- vite.config.ts | 4 +- yarn.lock | 177 ++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 179 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c4a66c5..70fc27a 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "eslint-plugin-react-refresh": "^0.4.3", "sass": "^1.65.1", "typescript": "^5.0.2", - "vite": "^4.4.5" + "vite": "^4.4.5", + "vite-plugin-vercel": "^0.2.1" } } diff --git a/vite.config.ts b/vite.config.ts index ba0e506..511fde3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,10 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import mdx from "@mdx-js/rollup" - +import vercel from 'vite-plugin-vercel'; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), mdx()] + plugins: [react(), mdx(), vercel()] // assetsInclude: ["**/*.mdx"] }) diff --git a/yarn.lock b/yarn.lock index 95a0c04..a0739fb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -230,6 +230,11 @@ "@babel/helper-validator-identifier" "^7.22.15" to-fast-properties "^2.0.0" +"@brillout/libassert@^0.5.8": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@brillout/libassert/-/libassert-0.5.8.tgz#d0f78e5c0ee53aaae8c2aa675f0b0dfb544e32b0" + integrity sha512-u/fu+jTRUdNdbLONGq1plCfh+k2/XjSbGVTfnF3rHnSPZd+ABWp0XinR5ifrFkyGOzMbzv8IiQ44lZ4U6ZGrGA== + "@coinbase/wallet-sdk@^3.6.6": version "3.7.1" resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541" @@ -365,111 +370,221 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== + "@esbuild/android-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== + "@esbuild/android-arm@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== + "@esbuild/android-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" + integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== + "@esbuild/darwin-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== + "@esbuild/darwin-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== + "@esbuild/freebsd-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== + "@esbuild/freebsd-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== + "@esbuild/linux-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== + "@esbuild/linux-arm@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== + "@esbuild/linux-ia32@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== + "@esbuild/linux-loong64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== + "@esbuild/linux-mips64el@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== + "@esbuild/linux-ppc64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== + "@esbuild/linux-riscv64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== + "@esbuild/linux-s390x@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== + "@esbuild/linux-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== + "@esbuild/netbsd-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== + "@esbuild/openbsd-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== + "@esbuild/sunos-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== + "@esbuild/win32-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== + "@esbuild/win32-ia32@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== + "@esbuild/win32-x64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" @@ -1476,6 +1591,15 @@ resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.0.2.tgz#7af719a1bf33734840aee6f04eb548d2cedab9ec" integrity sha512-BZFxVrv24VbNNl5xMxqUojQIegEeXMI6rX3rg1uVLYUEXsuKNBSAEQf4BWEcjQDp/8aYJOj6m8V4PUA3x/cxgg== +"@vercel/routing-utils@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@vercel/routing-utils/-/routing-utils-2.2.1.tgz#c33a3859f4927c5f8483cb4455a6fb7cbf21778b" + integrity sha512-kzMZsvToDCDskNRZD71B9UAgstec7ujmlGH8cBEo6F/07VaFeji6GQdgd6Zwnrj+TvzQBggKoPQR64VkVY8Lzw== + dependencies: + path-to-regexp "6.1.0" + optionalDependencies: + ajv "^6.0.0" + "@vitejs/plugin-react@^4.0.3": version "4.0.4" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz#31c3f779dc534e045c4b134e7cf7b150af0a7646" @@ -1913,7 +2037,7 @@ ahocorasick@1.0.2: resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500" integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== -ajv@^6.12.4: +ajv@^6.0.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2444,6 +2568,34 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +esbuild@^0.17.19: + version "0.17.19" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" + integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== + optionalDependencies: + "@esbuild/android-arm" "0.17.19" + "@esbuild/android-arm64" "0.17.19" + "@esbuild/android-x64" "0.17.19" + "@esbuild/darwin-arm64" "0.17.19" + "@esbuild/darwin-x64" "0.17.19" + "@esbuild/freebsd-arm64" "0.17.19" + "@esbuild/freebsd-x64" "0.17.19" + "@esbuild/linux-arm" "0.17.19" + "@esbuild/linux-arm64" "0.17.19" + "@esbuild/linux-ia32" "0.17.19" + "@esbuild/linux-loong64" "0.17.19" + "@esbuild/linux-mips64el" "0.17.19" + "@esbuild/linux-ppc64" "0.17.19" + "@esbuild/linux-riscv64" "0.17.19" + "@esbuild/linux-s390x" "0.17.19" + "@esbuild/linux-x64" "0.17.19" + "@esbuild/netbsd-x64" "0.17.19" + "@esbuild/openbsd-x64" "0.17.19" + "@esbuild/sunos-x64" "0.17.19" + "@esbuild/win32-arm64" "0.17.19" + "@esbuild/win32-ia32" "0.17.19" + "@esbuild/win32-x64" "0.17.19" + esbuild@^0.18.10: version "0.18.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" @@ -2717,7 +2869,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9: +fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== @@ -4046,6 +4198,11 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-to-regexp@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" + integrity sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -4959,6 +5116,17 @@ viem@^1.0.0, viem@^1.5.3: isomorphic-ws "5.0.0" ws "8.13.0" +vite-plugin-vercel@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vite-plugin-vercel/-/vite-plugin-vercel-0.2.1.tgz#89add96a315a540703127af6dde452ab84587219" + integrity sha512-f9zlN3PrIKAX6rlJnnBm3+aMCZ8mf2JB6AGIvQj8dsOj8dqN/D8UBoM/Jk4gn+jMqfYfVyXTRia2N2GHVf6wvg== + dependencies: + "@brillout/libassert" "^0.5.8" + "@vercel/routing-utils" "^2.2.1" + esbuild "^0.17.19" + fast-glob "^3.3.0" + zod "^3.21.4" + vite@^4.4.5: version "4.4.9" resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" @@ -5102,6 +5270,11 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +zod@^3.21.4: + version "3.22.2" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.2.tgz#3add8c682b7077c05ac6f979fea6998b573e157b" + integrity sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg== + zustand@^4.3.1, zustand@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" From 5739a60126b509ca64f4bac5c67220dab1dbbf1c Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 19:32:40 +0100 Subject: [PATCH 15/68] Fix path in index.html --- index.html | 2 +- vite.config.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index da69205..60bc809 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
- + \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 511fde3..ddfde26 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,10 +1,9 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import mdx from "@mdx-js/rollup" -import vercel from 'vite-plugin-vercel'; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), mdx(), vercel()] + plugins: [react(), mdx()] // assetsInclude: ["**/*.mdx"] }) From 8272cad8a836d4ccfd39bc9219b92afed8f91f3a Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 19:45:56 +0100 Subject: [PATCH 16/68] Use absolute path in index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 60bc809..da69205 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
- + \ No newline at end of file From b215f1a2e08a53c526b7728f141912bbac0220d4 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 19:48:35 +0100 Subject: [PATCH 17/68] Use absolute path in index.html --- build.sh | 1 + index.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 76413de..f9e342e 100644 --- a/build.sh +++ b/build.sh @@ -13,4 +13,5 @@ echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC echo "Building..." +cd $DIR yarn build diff --git a/index.html b/index.html index da69205..8c5858d 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
- + \ No newline at end of file From a5fe439b3339ce607da0071316a691043f66b73d Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 5 Sep 2023 23:51:34 +0100 Subject: [PATCH 18/68] Update deps --- index.html | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 8c5858d..da69205 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
- + \ No newline at end of file diff --git a/package.json b/package.json index 70fc27a..9da7c52 100644 --- a/package.json +++ b/package.json @@ -27,13 +27,13 @@ "@types/react-dom": "^18.2.7", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", - "@vitejs/plugin-react": "^4.0.3", + "@vitejs/plugin-react": "^4.0.4", "eslint": "^8.45.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", "sass": "^1.65.1", "typescript": "^5.0.2", - "vite": "^4.4.5", + "vite": "^4.4.9", "vite-plugin-vercel": "^0.2.1" } } From 3a9aa7853ae55c3a27a646dd9d1722892afb0523 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 20 Sep 2023 13:41:26 +0100 Subject: [PATCH 19/68] Add transfers history, cleanup CSS --- package.json | 2 +- src/App.scss | 618 +----------------- src/Bridge.tsx | 2 +- src/Chains.scss | 23 - src/Router.tsx | 16 +- src/SkDrawer.tsx | 109 +-- .../{AccountMenu => }/AccountMenu.tsx | 0 src/components/AccountMenu/index.ts | 1 - src/components/App.tsx | 21 + src/components/Apps.tsx | 21 + src/components/CategorySection.tsx | 2 +- src/components/History.tsx | 29 + src/components/Main.tsx | 41 +- src/components/Network/Network.tsx | 4 +- yarn.lock | 81 +-- 15 files changed, 233 insertions(+), 737 deletions(-) delete mode 100644 src/Chains.scss rename src/components/{AccountMenu => }/AccountMenu.tsx (100%) delete mode 100644 src/components/AccountMenu/index.ts create mode 100644 src/components/App.tsx create mode 100644 src/components/Apps.tsx create mode 100644 src/components/History.tsx diff --git a/package.json b/package.json index 9da7c52..8ef59e3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@mdx-js/rollup": "^2.3.0", "@mui/icons-material": "^5.14.8", "@mui/material": "^5.14.5", - "@skalenetwork/metaport": "2.0.0-preview.3", + "@skalenetwork/metaport": "2.0.0-preview.5", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", "react": "^18.2.0", diff --git a/src/App.scss b/src/App.scss index 4c2c795..e82f41e 100644 --- a/src/App.scss +++ b/src/App.scss @@ -1,6 +1,4 @@ @import './variables'; -@import './Chains'; - body { margin: 0; @@ -21,268 +19,21 @@ body { width: 75pt; } -.appContent { - height: calc(100vh - 94px); - overflow-y: auto; -} - -.bridge-light .logo { - filter: invert(1); -} - -.mainApp { - padding-top: 94px; -} - .sk-header { background-color: rgba(0, 0, 0, 0) !important; -webkit-backdrop-filter: blur(80px) !important; backdrop-filter: blur(80px) !important; } - -@import './variables'; - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif !important; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.textPage { - p { - font-size: 0.9rem; - } -} - -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - - to { - transform: rotate(360deg); - } -} - -.MuiToggleButtonGroup-root .Mui-disabled { - color: #bdbdbd !important; -} - - - -h1, -h2, -h3, -h4, -h5, -h6, -p { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - -webkit-font-smoothing: antialiased; -} - - -.bbLogo { - width: 60pt; -} - -.skaleLogo { - height: 30pt; -} - - -.no-text-transform { - text-transform: none !important; -} - - -.br__paper { - background-color: #151515; - padding: 20px !important; -} - -.bridge__paperTop { - border-radius: 25px 25px 0 0 !important; -} - -.bridge__paperBott { - border-radius: 0 0 25px 25px !important; -} - - -.br__alert { - font-weight: 500 !important; - font-size: 0.8525rem !important; - padding: 20px !important; - - .MuiAlert-icon, - .MuiAlert-message, - .MuiAlert-action, - .MuiButtonBase-root { - padding: 0 !important; - } - - .MuiButtonBase-root { - margin-right: 10px; - } -} - -.br__paperRounded, -.br__alert { - border-radius: 25px !important; -} - - -.MuiPaper-rounded { - border-radius: 25px; -} - -.br__paper.MuiPaper-rounded { - border-radius: 25px !important; - background-color: #151515; - border: none !important; -} - -h4 { - font-weight: 600 !important; -} - -.bridge-light { - background-color: #f2f2f2; -} - - -.bridge-dark .MuiFormControlLabel-label { - color: rgba(255, 255, 255, 0.7); -} - -.MuiCardContent-root:last-child { - // padding-bottom: 16px !important; -} - -.logo { - width: 75pt; -} - -.logoBig { - width: 95pt; -} - -.sk-header { - background-color: rgba(0, 0, 0, 0) !important; -} - -.appContent { - height: calc(100vh - 94px); - overflow-y: auto; -} - .bridge-light .logo { filter: invert(0.85); } -.mainApp { - padding-top: 94px; -} - -.ApdpWrap { - height: 100vh; -} - .MuiAppBar-positionFixed { background-image: none !important; padding: 10pt 0; } -.sk-header .MuiFab-root { - box-shadow: none !important; -} - -.fl-centered-vert { - align-items: center; -} - -.try-icon .MuiSvgIcon-root { - width: 13pt; - height: 13pt; -} - -.bridge-light .try-icon .MuiSvgIcon-root { - color: rgba(0, 0, 0, 0.87); -} - -.try-text { - font-weight: 600 !important; - font-size: 10pt !important; -} - -.MuiTabPanel-root { - padding: 24px 0 !important; -} - -.bridge-dark .MuiListItemText-primary { - color: #ffffffdb !important; -} - -.bridge-light .MuiListItemText-primary { - color: #525252 !important; -} - - -.MuiFab-sizeSmall { - width: 25pt !important; - height: 25pt !important; - min-height: 0 !important; -} - -.MuiFab-sizeSmall svg { - width: 15pt !important; - height: 15pt !important; -} - - -.skBtn { - font-weight: 600 !important; - text-transform: none !important; - font-size: .9525rem !important; - line-height: 1.6 !important; - letter-spacing: .03857em !important; -} - .MuiListItemButton-root { padding: 5px !important; @@ -303,16 +54,6 @@ h4 { letter-spacing: .02857em !important; } - -.bridge-dark .secondaryText { - color: rgba(255, 255, 255, .65) !important; -} - -.sectionHeader { - margin: 10pt 0 0 15pt !important; -} - - .MuiListItemButton-root .MuiTypography-root { margin: 0; font-weight: 600 !important; @@ -320,17 +61,10 @@ h4 { line-height: 1.6 !important; } -.MuiListItemIcon-root { - min-width: 35px !important; - margin-left: 10px; -} - .fullWidth { width: 100%; } - - .mp__btnConnect { width: 100%; border-radius: 18px !important; @@ -364,229 +98,24 @@ h4 { } } -.moreBtn { - background-color: #191919 !important; - - svg { - color: white !important; - width: 14pt !important; - height: 14pt !important; - } - - height: 37px; - width: 37px; -} - - -.MuiSnackbar-root .MuiPaper-root { - padding: 5px 15px !important; -} - - - - - - - - - - - - - - -.MuiToggleButton-root { - margin: 0; - // font-weight: 600 !important; - text-transform: uppercase !important; - font-size: 0.8525rem !important; - line-height: 1.6 !important; - letter-spacing: 0.02857em !important; -} - - -.MuiChip-filled { - border-radius: 50px !important; - padding-right: 5px !important; - padding-left: 5px !important; - - .MuiChip-label { - text-transform: uppercase !important; - font-weight: 600 !important; - } -} - - -.selectedToken .MuiButtonBase-root { - background-color: #535610 !important; -} - -.whiteText { - color: white !important; -} - -.mp__disabledP { - color: #707070 !important; -} - - -.sk-header { - background-color: rgba(0, 0, 0, 0) !important; - -webkit-backdrop-filter: blur(80px) !important; - backdrop-filter: blur(80px) !important; -} - -.mp__iconGray { - color: #8c8c8c; -} - - - .MuiDrawer-paper { - // background-color: black !important; margin-bottom: 20px !important; border: none !important; } .MuiListItemIcon-root { - svg { - width: 22px; - } -} - - - -.MuiInputBase-inputSizeSmall, -.MuiInputLabel-sizeSmall { - font-size: 0.9rem !important; -} - -.mp__inputAmountDark { - background-color: rgba(255, 255, 255, 0.09) !important; - - svg { - width: 13pt; - height: 13pt; - color: #8b8b8b; - } -} - - -.MuiAccordion-rounded:first-of-type { - border-top-left-radius: 20px !important; - border-top-right-radius: 20px !important; -} - -.MuiAccordion-rounded:last-of-type { - border-bottom-left-radius: 20px !important; - border-bottom-right-radius: 20px !important; -} - -.Mui-expanded { - border-radius: 20px !important; -} - -.MuiAccordionSummary-content { - margin: 12pt 0 !important; -} - -.MuiAccordionSummary-content.Mui-expanded p { - font-weight: 600 !important; -} - -.MuiAccordionDetails-root { - padding: 8pt 16pt 16pt !important; -} - -.MuiAccordionSummary-root { - padding: 0 16pt !important; -} - -.drawerIconRi { - color: #a6a6a6; - width: 12pt !important; - height: 12pt !important; - margin-right: 12px !important; -} - -.menuIconRi { - color: #a6a6a6; - width: 12pt !important; - height: 12pt !important; -} - - - -.bridgeFooter { - position: fixed; - left: 0; - bottom: 0; - width: 100%; - // background-color: red; - // color: white; - text-align: center; - z-index: 9999; - - background-color: rgba(0, 0, 0, 0) !important; - -webkit-backdrop-filter: blur(80px) !important; - backdrop-filter: blur(80px) !important; -} - - - -.bridge__moveDownIcon { - text-align: center; - // margin-top: -35px !important; - position: absolute; - position: relative; + min-width: 30px; + margin-left: 10px; svg { - //background-color: white; - // color: black; - border-radius: 50%; - padding: 5px; - width: 42px; - height: 42px; - - background-color: #151515; - margin-top: -20px; - - border: 6px black solid; - } -} - -.bridge__tokensChips { - flex-flow: row wrap; - align-content: space-between; -} - -.br__balanceCard { - .chainIcon { - width: 15px !important; - height: 15px !important; - } -} - -.br__transferData { - .chainIcon { - width: 15px !important; - height: 15px !important; + width: 20px; } } -.br__paperGrey { - background-color: #2a2a2a; -} - -.br__fullHeight { - height: 100%; -} - .MuiModal-root { z-index: 99999 !important; } - .br__modal { .MuiContainer-root { padding: 0px !important; @@ -606,10 +135,12 @@ h4 { } } -// ::-webkit-scrollbar { -// display: none; -// } - +.drawerIconRi { + color: #a6a6a6; + width: 12pt !important; + height: 12pt !important; + margin-right: 12px !important; +} .br__modalScroll { ::-webkit-scrollbar { @@ -647,88 +178,12 @@ body::-webkit-scrollbar { display: none; } - .br__bottomNav { position: fixed; bottom: 0; width: 100%; } -.br__transactionDataIcon { - width: 45px; - height: 45px; - border-radius: 50%; - - svg, - img { - width: 20px !important; - height: 20px !important; - } -} - -.br__action_deposit { - background-image: linear-gradient(45deg, #8A463C 0%, #b02d50 100%); -} - -.br__action_transferToSchain { - // background-image: linear-gradient(120deg, #00546B 0%, #003559 50%, #002466 100%); - background-image: linear-gradient(120deg, #9c27b0 0%, #3f51b5 100%) -} - -.br__action_wrap { - background-image: linear-gradient(160deg, #237bc3 0%, #1a3b94 100%); -} - -.br__action_wrapsfuel { - background-image: linear-gradient(160deg, #237bc3 0%, #1a3b94 100%); -} - -.br__action_unwrap { - background-image: linear-gradient(160deg, #1a3b94 0%, #237bc3 100%); - // background-image: linear-gradient(135deg, #31a385 0%, #25648a 100%); -} - -.br__action_withdraw { - background-image: linear-gradient(45deg, #b02d50 0%, #8A463C 100%); -} - -.br__action_getMyEth { - background-image: linear-gradient(45deg, #009688 0%, #0c5f57 100%); -} - -.br__action_approve { - background-image: linear-gradient(135deg, #29b1a9 0%, #14532a 100%); -} - -.br__action_approveWrap { - background-image: linear-gradient(135deg, #14532a 0%, #29b1a9 100%); -} - -.br__action_wallet { - background-image: linear-gradient(135deg, #dedede 0%, #aeaeae 100%); -} - -.capitalize { - text-transform: capitalize; -} - -.bold { - font-weight: bold !important; -} - -.br__openExplorerBtn { - svg { - width: 15px !important; - height: 15px !important - } -} - - - -.tile-container { - perspective: 500px; -} - .br__tile { box-shadow: 0px -4px 6px rgba(255, 255, 255, 0.05); transform-style: preserve-3d; @@ -758,11 +213,6 @@ body::-webkit-scrollbar { } } -.br__tileBottIcons { - padding: 12pt 15pt; -} - - .br__tileBott { position: absolute; bottom: 0; @@ -822,12 +272,6 @@ body::-webkit-scrollbar { } } -.switchDirection { - margin-bottom: -13pt !important; - margin-top: 0 !important; -} - - .fullscreen-msg { display: flex; justify-content: center; @@ -838,27 +282,6 @@ body::-webkit-scrollbar { width: 100%; } -.fullscreen-msg-text { - color: #ffffff; - font-size: 1.5rem; - box-sizing: border-box; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-weight: 500; - line-height: 1.75; - letter-spacing: 0.02857em; - margin-right: 15px; - margin-left: 15px; -} - -.schain-name { - font-weight: bold; - // text-transform: uppercase; - font-size: .75rem; - color: white; - text-align: center; -} - - .cardBtn { background: rgba(0, 0, 0, .506) !important; border: 1px solid hsla(0, 0%, 51%, .35) !important; @@ -888,4 +311,27 @@ body::-webkit-scrollbar { width: 14pt; height: 14pt; } +} + +.copyBoard { + margin: 10px 0 !important; + padding: 13pt 15pt !important; + background-color: #3a3a3a !important; + border-radius: 20px !important; + border: none !important; + cursor: pointer !important; + width: 100%; + font-size: 0.9rem !important; +} + +code { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} + +.overflow-auto { + overflow: auto; } \ No newline at end of file diff --git a/src/Bridge.tsx b/src/Bridge.tsx index 25a963c..8db4c2d 100644 --- a/src/Bridge.tsx +++ b/src/Bridge.tsx @@ -46,7 +46,7 @@ export default function Bridge() { return ( } /> + + } + /> + } /> - + } /> + + } + /> + } /> } /> diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index ea7e21a..0ce1d2f 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -1,5 +1,5 @@ import { Link, useLocation } from "react-router-dom"; -import { cmn } from '@skalenetwork/metaport'; +import { cls, cmn, useMetaportStore } from '@skalenetwork/metaport'; import Box from '@mui/material/Box'; @@ -19,6 +19,7 @@ import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; import HistoryIcon from '@mui/icons-material/History'; import SpaceDashboardOutlinedIcon from '@mui/icons-material/SpaceDashboardOutlined'; import InsertChartOutlinedIcon from '@mui/icons-material/InsertChartOutlined'; +import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; const drawerWidth = 240; @@ -26,6 +27,7 @@ const drawerWidth = 240; export default function SkDrawer() { const location = useLocation(); + const transfersHistory = useMetaportStore((state) => state.transfersHistory) return ( -

Bridge

+

+ Bridge +

@@ -54,17 +59,19 @@ export default function SkDrawer() { - + @@ -73,34 +80,16 @@ export default function SkDrawer() { - {/* - - - - - - - - - */} - {/* - - - - - - - - - */} -

Network

+

+ Network +

- + @@ -108,10 +97,24 @@ export default function SkDrawer() { + + + + + + + + + + - + @@ -119,10 +122,9 @@ export default function SkDrawer() { - - + @@ -131,55 +133,10 @@ export default function SkDrawer() { - - {/* - - - - - - - - - - */} - {/* - - - - - - - - - - */} - {/* - - - - - - - - - - */} - {/* - - - - - - - - - - */}
-
+
); } diff --git a/src/components/AccountMenu/AccountMenu.tsx b/src/components/AccountMenu.tsx similarity index 100% rename from src/components/AccountMenu/AccountMenu.tsx rename to src/components/AccountMenu.tsx diff --git a/src/components/AccountMenu/index.ts b/src/components/AccountMenu/index.ts deleted file mode 100644 index 5fa9c9d..0000000 --- a/src/components/AccountMenu/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from "./AccountMenu"; diff --git a/src/components/App.tsx b/src/components/App.tsx new file mode 100644 index 0000000..9210bf5 --- /dev/null +++ b/src/components/App.tsx @@ -0,0 +1,21 @@ +import { useState, useEffect } from 'react' +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import CircularProgress from '@mui/material/CircularProgress'; + +import CategorySection from './CategorySection' + +import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; + +export default function App(props: { mpc: MetaportCore }) { + return ( + +
+

App

+
+

+ Test app +

+
+
) +} \ No newline at end of file diff --git a/src/components/Apps.tsx b/src/components/Apps.tsx new file mode 100644 index 0000000..3ac5c45 --- /dev/null +++ b/src/components/Apps.tsx @@ -0,0 +1,21 @@ +import { useState, useEffect } from 'react' +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import CircularProgress from '@mui/material/CircularProgress'; + +import CategorySection from './CategorySection' + +import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; + +export default function Apps(props: { mpc: MetaportCore }) { + return ( + +
+

Apps

+
+

+ Apps on SKALE Network +

+
+
) +} \ No newline at end of file diff --git a/src/components/CategorySection.tsx b/src/components/CategorySection.tsx index 8c66599..7c96579 100644 --- a/src/components/CategorySection.tsx +++ b/src/components/CategorySection.tsx @@ -32,7 +32,7 @@ export default function CategorySection(props: any) { return (

- {props.category} ({props.schains.length}) + {props.category}

diff --git a/src/components/History.tsx b/src/components/History.tsx new file mode 100644 index 0000000..d49a36c --- /dev/null +++ b/src/components/History.tsx @@ -0,0 +1,29 @@ +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import { cmn, cls, TransactionsHistory, useCollapseStore, useMetaportStore } from '@skalenetwork/metaport'; +import { useEffect } from 'react'; + + +export default function History() { + + const expandedTH = useCollapseStore((state) => state.expandedTH) + const setExpandedTH = useCollapseStore((state) => state.setExpandedTH) + + const transfersHistory = useMetaportStore((state) => state.transfersHistory) + + useEffect(() => { + setExpandedTH(true) + }, []); + + return ( + +
+

History ({transfersHistory.length})

+
+

+ SKALE Bridge transfers history +

+ +
+
) +} \ No newline at end of file diff --git a/src/components/Main.tsx b/src/components/Main.tsx index 2743628..77f42b1 100644 --- a/src/components/Main.tsx +++ b/src/components/Main.tsx @@ -3,7 +3,9 @@ import { useEffect } from 'react'; import Container from '@mui/material/Container'; import Collapse from '@mui/material/Collapse'; import Stack from '@mui/material/Stack'; - +import IconButton from '@mui/material/IconButton'; +import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; +import GradeRoundedIcon from '@mui/icons-material/GradeRounded'; import { MAINNET_CHAIN_NAME } from '../core/constants' import { @@ -31,7 +33,6 @@ import { } from '@skalenetwork/metaport'; - export default function Main() { const expandedFrom = useCollapseStore((state) => state.expandedFrom) const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) @@ -47,13 +48,18 @@ export default function Main() { const setToken = useMetaportStore((state) => state.setToken) const tokenBalances = useMetaportStore((state) => state.tokenBalances) const tokens = useMetaportStore((state) => state.tokens) - const chainName1 = useMetaportStore((state) => state.chainName1) - const chainName2 = useMetaportStore((state) => state.chainName2) const destChains = useMetaportStore((state) => state.destChains) + const chainName1 = useMetaportStore((state) => state.chainName1) + const chainName2 = useMetaportStore((state) => state.chainName2) const setChainName1 = useMetaportStore((state) => state.setChainName1) const setChainName2 = useMetaportStore((state) => state.setChainName2) + const appName1 = useMetaportStore((state) => state.appName1) + const appName2 = useMetaportStore((state) => state.appName2) + const setAppName1 = useMetaportStore((state) => state.setAppName1) + const setAppName2 = useMetaportStore((state) => state.setAppName2) + const transferInProgress = useMetaportStore((state) => state.transferInProgress) const mpc = useMetaportStore((state) => state.mpc) @@ -103,8 +109,8 @@ export default function Main() { const showError = !!errorMessage const grayBg = 'rgb(136 135 135 / 15%)' - const sourceBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName1) : grayBg; - const destBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName2) : grayBg; + const sourceBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName1, appName1) : grayBg + const destBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName2, appName2) : grayBg return ( @@ -113,6 +119,25 @@ export default function Main() {

Transfer

+ + +
+
+ +
+

+ Zero Gas Fees between SKALE Chains +

+
+ + + +
+
+
+ @@ -133,6 +158,8 @@ export default function Main() { chain={chainName1} chains={mpc.config.chains ?? []} setChain={setChainName1} + setApp={setAppName1} + app={appName1} disabledChain={chainName2} disabled={transferInProgress} from={true} @@ -170,6 +197,8 @@ export default function Main() { chain={chainName2} chains={destChains} setChain={setChainName2} + setApp={setAppName2} + app={appName2} disabledChain={chainName1} disabled={transferInProgress} size='md' diff --git a/src/components/Network/Network.tsx b/src/components/Network/Network.tsx index fc692d2..b0f49c9 100644 --- a/src/components/Network/Network.tsx +++ b/src/components/Network/Network.tsx @@ -21,8 +21,6 @@ export default function Chains(props: { setIntervalId(intervalId); }, []); - - const chainsMeta: interfaces.ChainsMetadataMap = CHAINS_META[props.mpc.config.skaleNetwork] if (props.schains.length === 0) { @@ -46,7 +44,7 @@ export default function Chains(props: { return (
-

Chains ({props.schains.length})

+

Chains

SKALE Chains overview - block explorer links, endpoints and more diff --git a/yarn.lock b/yarn.lock index a0739fb..1226274 100644 --- a/yarn.lock +++ b/yarn.lock @@ -308,7 +308,7 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/react@^11.9.0": +"@emotion/react@^11.11.1": version "11.11.1" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== @@ -338,7 +338,7 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== -"@emotion/styled@^11.8.1": +"@emotion/styled@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== @@ -649,11 +649,6 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.1.tgz#1a5b1959a528e374e8037c4396c3e825d6cf4a83" integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw== -"@fontsource/roboto@^4.5.7": - version "4.5.8" - resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-4.5.8.tgz#56347764786079838faf43f0eeda22dd7328437f" - integrity sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA== - "@humanwhocodes/config-array@^0.11.10": version "0.11.11" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" @@ -859,14 +854,14 @@ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.8.tgz#9117bd29e94e96dc376f93a28e024666a2456696" integrity sha512-8V7ZOC/lKkM03TRHqaThQFIq6bWPnj7L/ZWPh0ymldYFFyh8XdF0ywTgafsofDNYT4StlNknbaTjVHBma3SNjQ== -"@mui/icons-material@^5.14.8", "@mui/icons-material@^5.8.0": +"@mui/icons-material@^5.14.8": version "5.14.8" resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.8.tgz#e07418e792050eae611afd74f810ed1c234be687" integrity sha512-YXcReLydTuNWb1/PxduAH5LgnHNH6spSQBaA0JOz9HD4J+vwst0IanAQgsXy9KKCJSjCsHywE3DB8X+w/b4eeQ== dependencies: "@babel/runtime" "^7.22.10" -"@mui/lab@^5.0.0-alpha.88": +"@mui/lab@^5.0.0-alpha.143": version "5.0.0-alpha.143" resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.143.tgz#0fef89f8780f819a28d7f7e62383ab964d121ae2" integrity sha512-2lpzJCSyrb0yNhxzKK2G25w9+Tk+vjlmjgAXh+j8NS2fyRD7F992DuChRqNaoZmg1aoAbFli6qZh6XJE/5cymA== @@ -881,7 +876,7 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/material@^5.14.5", "@mui/material@^5.8.1": +"@mui/material@^5.14.5", "@mui/material@^5.14.8": version "5.14.8" resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.8.tgz#1cad40f106f7c983639376589c3f21485fb1d166" integrity sha512-fqvDGGF1pXwOOL/f0Gw+KHo/67hasRpf2ApTIJkbuONOk9AUb2jnYMEqCWmL2sUcbbE3ShMbHl8N7HPSsRv1/A== @@ -1007,10 +1002,10 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== -"@rainbow-me/rainbowkit@^1.0.9": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.10.tgz#fa6d38d962c9fa8113f2478af73b309f08c59bf0" - integrity sha512-nXo1mPO8c7aV8mtog0QN9Kn1DoNRJmjd5V8zMU+kIUDAmZFzUhwrBKNcL/X24ie67NjOtbmIKlSBlwWdGZlcvg== +"@rainbow-me/rainbowkit@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.11.tgz#5d03a8b1f8b8d7f8b3dee14dae378574ea3e6f8b" + integrity sha512-+cm6+WUPG9iPgkfJKbvlowcrSHu266Zk20LVRsYLcmb6v29gVMHcWQvyI4T6EVC9TxNjnyq/jIlen++uiUBmmQ== dependencies: "@vanilla-extract/css" "1.9.1" "@vanilla-extract/dynamic" "2.0.2" @@ -1094,23 +1089,20 @@ debug "^4.3.4" ethers "6.6.2" -"@skalenetwork/metaport@2.0.0-preview.3": - version "2.0.0-preview.3" - resolved "https://registry.yarnpkg.com/@skalenetwork/metaport/-/metaport-2.0.0-preview.3.tgz#01a4669ea19b3a5e0a623e1ac3095b7f426eda5d" - integrity sha512-oZ3CeuhudCmdiuf/5U7eslkDo2E+wFQmtPrJH4zzG1Y2p3ZfMsByPOtr7ijKHa0t12GlHpJLPpfs4G8IAq3wxA== - dependencies: - "@emotion/react" "^11.9.0" - "@emotion/styled" "^11.8.1" - "@fontsource/roboto" "^4.5.7" - "@mui/icons-material" "^5.8.0" - "@mui/lab" "^5.0.0-alpha.88" - "@mui/material" "^5.8.1" - "@rainbow-me/rainbowkit" "^1.0.9" +"@skalenetwork/metaport@../metaport-rp": + version "2.0.0" + dependencies: + "@emotion/react" "^11.11.1" + "@emotion/styled" "^11.11.0" + "@mui/icons-material" "^5.14.8" + "@mui/lab" "^5.0.0-alpha.143" + "@mui/material" "^5.14.8" + "@rainbow-me/rainbowkit" "^1.0.11" "@skalenetwork/ima-js" "2.0.0-develop.3" - coingecko-api-v3 "^0.0.28" + coingecko-api-v3 "^0.0.29" react-jazzicon "^1.0.4" - viem "^1.5.3" - wagmi "^1.3.9" + viem "^1.10.8" + wagmi "^1.4.1" zustand "^4.4.1" "@solana/buffer-layout@^4.0.0": @@ -1600,7 +1592,7 @@ optionalDependencies: ajv "^6.0.0" -"@vitejs/plugin-react@^4.0.3": +"@vitejs/plugin-react@^4.0.4": version "4.0.4" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz#31c3f779dc534e045c4b134e7cf7b150af0a7646" integrity sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g== @@ -2326,10 +2318,10 @@ clsx@^2.0.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== -coingecko-api-v3@^0.0.28: - version "0.0.28" - resolved "https://registry.yarnpkg.com/coingecko-api-v3/-/coingecko-api-v3-0.0.28.tgz#e30d05c7acd142ddef455f2a88c49ef4ae71e702" - integrity sha512-PdWujZzi6hFfgfyIC+p1M4jLud3yQLHn8Je0kWYoy2UTWnjERPZ4ggByzoEOSMmj66F4zlrix+qnklDrW0EaZQ== +coingecko-api-v3@^0.0.29: + version "0.0.29" + resolved "https://registry.yarnpkg.com/coingecko-api-v3/-/coingecko-api-v3-0.0.29.tgz#68b43ecae04519ca9f669da44df596e868861845" + integrity sha512-4aF0mU6Pwmo78W4NsPbMslU3ooeSa2Dq8a8PFR+5+wWcWvTBMiUZgfy9UvybynYVsnvYCoyxtNwxTiMZBeZh4w== dependencies: https "^1.0.0" @@ -5101,7 +5093,7 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -viem@^1.0.0, viem@^1.5.3: +viem@^1.0.0: version "1.10.3" resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.3.tgz#e558ec568f961a5472ba6999528cb4eb7ae31c6f" integrity sha512-7L35k0JmxTa7xIx1s8lCsTLGrTEUXTYnLppZ56EVBjtvE2OKSfDjL8No0Fnedu6Ye0zi/VX2BQC3arhpKOVIlw== @@ -5116,6 +5108,21 @@ viem@^1.0.0, viem@^1.5.3: isomorphic-ws "5.0.0" ws "8.13.0" +viem@^1.10.8: + version "1.10.8" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.8.tgz#1c6aaaf25cb25484bbe69dc93870a70907b2bd2e" + integrity sha512-/kVDjc9j1OVoDsxV0E1iw1ehPuWPXv5x/9Yc1H0wKky6ACWRoKsURDeLi0Xwtli7vmFcJne+MMPhA96zVu5iIg== + dependencies: + "@adraffy/ens-normalize" "1.9.4" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + "@types/ws" "^8.5.5" + abitype "0.9.8" + isomorphic-ws "5.0.0" + ws "8.13.0" + vite-plugin-vercel@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/vite-plugin-vercel/-/vite-plugin-vercel-0.2.1.tgz#89add96a315a540703127af6dde452ab84587219" @@ -5127,7 +5134,7 @@ vite-plugin-vercel@^0.2.1: fast-glob "^3.3.0" zod "^3.21.4" -vite@^4.4.5: +vite@^4.4.9: version "4.4.9" resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== @@ -5138,7 +5145,7 @@ vite@^4.4.5: optionalDependencies: fsevents "~2.3.2" -wagmi@^1.3.9: +wagmi@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.4.1.tgz#32e5fda3e3a47559115118e7c8315fe25115ab11" integrity sha512-v3xd+uYZfLCAs1I4fLU7U9hg/gCw+Ud005J7kNR0mi20BcFAEU1EDN1LxHxpjUV0qKhOzSlMlrLjJyBCmSYhFA== From 2e5ca2afc68f40db152beb8a167c1702f19356f0 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 20 Sep 2023 13:48:43 +0100 Subject: [PATCH 20/68] Fix ts compile errors --- src/Router.tsx | 4 ++-- src/components/App.tsx | 8 ++------ src/components/Apps.tsx | 9 ++------- src/components/History.tsx | 2 -- 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/Router.tsx b/src/Router.tsx index 029b66b..94436d7 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -55,9 +55,9 @@ export default function Router() { />} /> - } /> + } /> - } + } /> } /> diff --git a/src/components/App.tsx b/src/components/App.tsx index 9210bf5..a338639 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,13 +1,9 @@ -import { useState, useEffect } from 'react' import Container from '@mui/material/Container'; import Stack from '@mui/material/Stack'; -import CircularProgress from '@mui/material/CircularProgress'; -import CategorySection from './CategorySection' +import { cmn, cls } from '@skalenetwork/metaport'; -import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; - -export default function App(props: { mpc: MetaportCore }) { +export default function App() { return (

diff --git a/src/components/Apps.tsx b/src/components/Apps.tsx index 3ac5c45..6699b73 100644 --- a/src/components/Apps.tsx +++ b/src/components/Apps.tsx @@ -1,13 +1,8 @@ -import { useState, useEffect } from 'react' import Container from '@mui/material/Container'; import Stack from '@mui/material/Stack'; -import CircularProgress from '@mui/material/CircularProgress'; +import { cmn, cls } from '@skalenetwork/metaport'; -import CategorySection from './CategorySection' - -import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; - -export default function Apps(props: { mpc: MetaportCore }) { +export default function Apps() { return (
diff --git a/src/components/History.tsx b/src/components/History.tsx index d49a36c..4960205 100644 --- a/src/components/History.tsx +++ b/src/components/History.tsx @@ -6,9 +6,7 @@ import { useEffect } from 'react'; export default function History() { - const expandedTH = useCollapseStore((state) => state.expandedTH) const setExpandedTH = useCollapseStore((state) => state.setExpandedTH) - const transfersHistory = useMetaportStore((state) => state.transfersHistory) useEffect(() => { From a16d83aed988d75a1ac79fd844a73d32e7c0030a Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 20 Sep 2023 16:08:11 +0100 Subject: [PATCH 21/68] Trigger build --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index f9e342e..b2a795d 100644 --- a/build.sh +++ b/build.sh @@ -13,5 +13,5 @@ echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC echo "Building..." -cd $DIR +# cd $DIR yarn build From 339a6fd26e195d4e961daeef817742921bcfc5ff Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 20 Sep 2023 16:25:59 +0100 Subject: [PATCH 22/68] Trigger build --- build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build.sh b/build.sh index b2a795d..76413de 100644 --- a/build.sh +++ b/build.sh @@ -13,5 +13,4 @@ echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC echo "Building..." -# cd $DIR yarn build From 553a7bf4ed56d8a91dc6ae47a09478ce09e07d30 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 20 Sep 2023 16:29:20 +0100 Subject: [PATCH 23/68] Fix Main.tsx import --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index da69205..b444219 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
- + \ No newline at end of file From a8d52d7ac06c93c1b388132e351ec27f94c1c618 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 20 Sep 2023 21:42:47 +0100 Subject: [PATCH 24/68] Add USDT Calypso --- env/mainnet/chainsData.json | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index 06e2c90..0b1611f 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -150,6 +150,21 @@ "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", "tokenType": "erc20" } + }, + "usdt": { + "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "tokenType": "erc20" + } } }, "app": "nftrade" @@ -279,6 +294,16 @@ "500" ], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515" } } }, @@ -482,6 +507,16 @@ "500" ], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67" + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A" } } }, @@ -531,6 +566,21 @@ "tokenKeyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "tokenType": "erc20" } + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", + "tokenType": "erc20" + } } } } From 0705e830e6eadfe99c19db025745592975da8583 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 20 Sep 2023 21:54:08 +0100 Subject: [PATCH 25/68] Add DAI Calypso --- env/mainnet/chainsData.json | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index 0b1611f..88f55ce 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -165,6 +165,21 @@ "tokenKeyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", "tokenType": "erc20" } + }, + "dai": { + "keyname": "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", + "tokenType": "erc20" + } } }, "app": "nftrade" @@ -304,6 +319,16 @@ "500" ], "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515" + }, + "dai": { + "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xd05c4be5f3be302d376518c9492ec0147fa5a718" } } }, @@ -517,6 +542,16 @@ "500" ], "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A" + }, + "dai": { + "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x941C0Dd6055787aE9D417620E8F4F540d8B9D9E5" } } }, @@ -581,6 +616,21 @@ "tokenKeyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", "tokenType": "erc20" } + }, + "dai": { + "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x941C0Dd6055787aE9D417620E8F4F540d8B9D9E5", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F", + "tokenType": "erc20" + } } } } From ad58a5c8d7b777ca9a1f15ca040529c7f0840ab6 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 20 Sep 2023 22:15:00 +0100 Subject: [PATCH 26/68] Update Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ebe6b3..f8f3c9a 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ function encodeUrl(url) { To get started with the SKALE Bridge UI, users can visit the [SKALE Bridge UI](https://bridge.skale.network/) website and click on the "Connect wallet" button. Users can then connect their wallets and select the source and destination blockchains for their transfers. ## Development Setup -If you're interested in contributing to the SKALE Bridge UI, follow these steps to set up your development environment: +If you are interested in contributing to the SKALE Bridge UI, follow these steps to set up your development environment: 1. Clone the repository: `git clone --recurse-submodules https://github.com/skalenetwork/bridge-ui.git` 2. Install dependencies: `cd bridge-ui && yarn install` From 2a215826fe078da25a4ea47a6c5a4d3685ec0925 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Wed, 20 Sep 2023 23:04:45 +0100 Subject: [PATCH 27/68] Add uSDT and DAI to metaport --- env/mainnet/metaportConfig.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/env/mainnet/metaportConfig.json b/env/mainnet/metaportConfig.json index e6fb1c9..fe258eb 100644 --- a/env/mainnet/metaportConfig.json +++ b/env/mainnet/metaportConfig.json @@ -140,6 +140,30 @@ "symbol": "USDC", "name": "USDC" } + }, + "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB": { + "address": "0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "name": "USDT", + "symbol": "USDT", + "cloneSymbol": "USDT", + "decimals": "6", + "wraps": { + "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515", + "symbol": "USDT", + "name": "USDT" + } + }, + "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28": { + "address": "0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", + "name": "DAI", + "symbol": "DAI", + "cloneSymbol": "DAI", + "decimals": "18", + "wraps": { + "address": "0xd05c4be5f3be302d376518c9492ec0147fa5a718", + "symbol": "DAI", + "name": "DAI" + } } } }, From 029675c6495804b0edeb1f72d3a10c07c8bcae89 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 13:04:51 +0100 Subject: [PATCH 28/68] Add DAI back to Ethereum --- env/mainnet/chainsData.json | 94 ++++++++++++++++++++++--------------- 1 file changed, 56 insertions(+), 38 deletions(-) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index 88f55ce..c829443 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -33,6 +33,25 @@ "0.5" ] }, + "skl": { + "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", + "recommendedValues": [ + "500", + "1000", + "2000", + "5000" + ], + "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7" + }, + "ruby": { + "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", + "recommendedValues": [ + "1000", + "3000", + "5000" + ], + "address": "0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23" + }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "recommendedValues": [ @@ -52,6 +71,15 @@ ], "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" }, + "dai": { + "keyname": "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F", + "recommendedValues": [ + "100", + "300", + "1000" + ], + "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F" + }, "wbtc": { "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "recommendedValues": [ @@ -61,25 +89,6 @@ ], "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" }, - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7" - }, - "ruby": { - "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23" - }, "hmt": { "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", "recommendedValues": [ @@ -359,6 +368,25 @@ ], "address": "0xD2Aaa00700000000000000000000000000000000" }, + "skl": { + "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", + "recommendedValues": [ + "500", + "1000", + "2000", + "5000" + ], + "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" + }, + "ruby": { + "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", + "recommendedValues": [ + "1000", + "3000", + "5000" + ], + "address": "0x2B4e4899b53E8b7958c4591a6d02f9C0b5c50F8f" + }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "recommendedValues": [ @@ -378,6 +406,15 @@ ], "address": "0x1c0491E3396AD6a35f061c62387a95d7218FC515" }, + "dai": { + "keyname": "_USDT_0x6B175474E89094C44Da98b954EedeAC495271d0F", + "recommendedValues": [ + "100", + "300", + "1000" + ], + "address": "0xd05c4be5f3be302d376518c9492ec0147fa5a718" + }, "wbtc": { "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "recommendedValues": [ @@ -387,25 +424,6 @@ ], "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870" }, - "skl": { - "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], - "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" - }, - "ruby": { - "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], - "address": "0x2B4e4899b53E8b7958c4591a6d02f9C0b5c50F8f" - }, "hmt": { "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", "recommendedValues": [ From 92f599d941f7e5f511ac02b11324c927826fe3ce Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 13:44:24 +0100 Subject: [PATCH 29/68] Add USDT and WBTC on Nebula and connect Nebula and Calypso --- env/mainnet/chainsData.json | 157 +++++++++++++++++++++++++++++++++++- 1 file changed, 155 insertions(+), 2 deletions(-) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index c829443..9602ebd 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -244,7 +244,37 @@ "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", "tokenType": "erc20" } - } + }, + "usdt": { + "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "tokenType": "erc20" + } + }, + "wbtc": { + "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", + "tokenType": "erc20" + } + }, } }, "wan-red-ain": { @@ -480,6 +510,26 @@ "500" ], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515" + }, + "wbtc": { + "keyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870" } } }, @@ -651,6 +701,40 @@ } } } + }, + "green-giddy-denebola": { + "tokens": { + "usdc": { + "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", + "tokenType": "erc20" + } + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "tokenType": "erc20" + } + } + } } } }, @@ -788,7 +872,27 @@ "500" ], "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d" - } + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83" + }, + "wbtc": { + "keyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x64d2EebA8B02f2aB19e2238f1655A8409dB64817" + }, } }, "mainnet": { @@ -822,6 +926,55 @@ "tokenKeyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "tokenType": "erc20" } + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", + "tokenType": "erc20" + } + } + } + }, + "honorable-steel-rasalhague": { + "tokens": { + "usdc": { + "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", + "tokenType": "erc20" + } + }, + "usdt": { + "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "recommendedValues": [ + "50", + "100", + "200", + "500" + ], + "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", + "tokenType": "erc20" + } } } } From 8b6c57957411700a93804a453518f95a5b37a18e Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 13:52:42 +0100 Subject: [PATCH 30/68] Fix config --- env/mainnet/chainsData.json | 521 ++++++------------------------------ 1 file changed, 78 insertions(+), 443 deletions(-) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index 9602ebd..ae1b892 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -6,12 +6,7 @@ "tokens": { "skl": { "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", "route": { "hub": "elated-tan-skat", @@ -26,76 +21,41 @@ "tokens": { "eth": { "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"] }, "skl": { "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7" }, "ruby": { "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], + "recommendedValues": ["1000", "3000", "5000"], "address": "0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23" }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "usdt": { "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "100", - "300", - "1000" - ], + "recommendedValues": ["100", "300", "1000"], "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7" }, "dai": { "keyname": "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F", - "recommendedValues": [ - "100", - "300", - "1000" - ], + "recommendedValues": ["100", "300", "1000"], "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F" }, "wbtc": { "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.5"], "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" }, "hmt": { "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], + "recommendedValues": ["1000", "3000", "5000"], "address": "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867" } } @@ -104,12 +64,7 @@ "tokens": { "razor": { "keyname": "_RAZOR_0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd", - "recommendedValues": [ - "100", - "300", - "1000", - "2000" - ], + "recommendedValues": ["100", "300", "1000", "2000"], "address": "0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd" } } @@ -118,12 +73,7 @@ "tokens": { "eth": { "keyname": "eth", - "recommendedValues": [ - "0.1", - "0.2", - "0.5", - "1" - ], + "recommendedValues": ["0.1", "0.2", "0.5", "1"], "route": { "hub": "elated-tan-skat", "tokenKeyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", @@ -132,12 +82,7 @@ }, "skl": { "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", "route": { "hub": "elated-tan-skat", @@ -147,12 +92,7 @@ }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "route": { "hub": "elated-tan-skat", @@ -162,12 +102,7 @@ }, "usdt": { "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "route": { "hub": "elated-tan-skat", @@ -177,12 +112,7 @@ }, "dai": { "keyname": "_DAI_0x6B175474E89094C44Da98b954EedeAC495271d0F", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "route": { "hub": "elated-tan-skat", @@ -197,12 +127,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "route": { "hub": "elated-tan-skat", @@ -217,12 +142,7 @@ "tokens": { "skl": { "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", "route": { "hub": "elated-tan-skat", @@ -232,12 +152,7 @@ }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "route": { "hub": "elated-tan-skat", @@ -247,12 +162,7 @@ }, "usdt": { "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "route": { "hub": "elated-tan-skat", @@ -262,31 +172,21 @@ }, "wbtc": { "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "route": { "hub": "elated-tan-skat", "tokenKeyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", "tokenType": "erc20" } - }, + } } }, "wan-red-ain": { "tokens": { "hmt": { "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", "route": { "hub": "elated-tan-skat", @@ -300,12 +200,7 @@ "tokens": { "eth": { "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ] + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"] } } } @@ -321,52 +216,27 @@ "tokens": { "eth": { "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"], "address": "0xD2Aaa00700000000000000000000000000000000" }, "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515" }, "dai": { "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xd05c4be5f3be302d376518c9492ec0147fa5a718" } } @@ -376,12 +246,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" } } @@ -390,77 +255,42 @@ "tokens": { "eth": { "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"], "address": "0xD2Aaa00700000000000000000000000000000000" }, "skl": { "keyname": "_SKL_0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" }, "ruby": { "keyname": "_RUBY_0x918D8F3670c67f14Ff3fEB025D46B9C165d12a23", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], + "recommendedValues": ["1000", "3000", "5000"], "address": "0x2B4e4899b53E8b7958c4591a6d02f9C0b5c50F8f" }, "usdc": { "keyname": "_USDC_0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" }, "usdt": { "keyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", - "recommendedValues": [ - "100", - "300", - "1000" - ], + "recommendedValues": ["100", "300", "1000"], "address": "0x1c0491E3396AD6a35f061c62387a95d7218FC515" }, "dai": { "keyname": "_USDT_0x6B175474E89094C44Da98b954EedeAC495271d0F", - "recommendedValues": [ - "100", - "300", - "1000" - ], + "recommendedValues": ["100", "300", "1000"], "address": "0xd05c4be5f3be302d376518c9492ec0147fa5a718" }, "wbtc": { "keyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "recommendedValues": [ - "0.01", - "0.1", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.5"], "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870" }, "hmt": { "keyname": "_HMT_0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", - "recommendedValues": [ - "1000", - "3000", - "5000" - ], + "recommendedValues": ["1000", "3000", "5000"], "address": "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5" } } @@ -469,22 +299,12 @@ "tokens": { "skill": { "keyname": "_SKILL_0x5F6E97612482095C0c2C02BC495C0171e61017d7", - "recommendedValues": [ - "100", - "300", - "500", - "1000" - ], + "recommendedValues": ["100", "300", "500", "1000"], "address": "0xBDDad45160E10C3738785d9dD7F30b4B2a5Eeba8" }, "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" } } @@ -493,42 +313,22 @@ "tokens": { "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xE0595a049d02b7674572b0d59cd4880Db60EDC50" }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x5F795bb52dAC3085f578f4877D450e2929D2F13d" }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x1c0491e3396ad6a35f061c62387a95d7218fc515" }, "wbtc": { "keyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870" } } @@ -537,12 +337,7 @@ "tokens": { "hmt": { "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5" } } @@ -551,12 +346,7 @@ "tokens": { "brawl": { "keyname": "_BRAWL_0xE0A107a0010930Ac218ED0a50937b50D5633EB3e", - "recommendedValues": [ - "100", - "200", - "500", - "1000" - ], + "recommendedValues": ["100", "200", "500", "1000"], "address": "0x28c6ac22aB738BB01FC6CBA75804dC088aae6193" } } @@ -573,52 +363,27 @@ "tokens": { "eth": { "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"], "address": "0x59ab97Ee239e02112652587F9Ef86CB6F762983b" }, "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x4048C4dd6eccF1Dc23b068211fDf20AD19602e50" }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67" }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A" }, "dai": { "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x941C0Dd6055787aE9D417620E8F4F540d8B9D9E5" } } @@ -627,12 +392,7 @@ "tokens": { "eth": { "keyname": "_ETH_0xa5274efA35EbeFF47C1510529D9a8812F95F5735", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"], "address": "0x59ab97Ee239e02112652587F9Ef86CB6F762983b", "route": { "hub": "elated-tan-skat", @@ -642,12 +402,7 @@ }, "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x4048C4dd6eccF1Dc23b068211fDf20AD19602e50", "route": { "hub": "elated-tan-skat", @@ -657,12 +412,7 @@ }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", "route": { "hub": "elated-tan-skat", @@ -672,12 +422,7 @@ }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A", "route": { "hub": "elated-tan-skat", @@ -687,12 +432,7 @@ }, "dai": { "keyname": "_DAI_0x9E7563B0D51F9B6dFB1917F97D29D50804300d28", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x941C0Dd6055787aE9D417620E8F4F540d8B9D9E5", "route": { "hub": "elated-tan-skat", @@ -706,12 +446,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", "route": { "hub": "elated-tan-skat", @@ -721,12 +456,7 @@ }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xf9B5736E74b37Ec2EDd37B1B3c8e1aF9fa426F2A", "route": { "hub": "elated-tan-skat", @@ -748,12 +478,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67" } } @@ -762,12 +487,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", "route": { "hub": "elated-tan-skat", @@ -787,22 +507,12 @@ "tokens": { "skill": { "keyname": "_SKILL_0x5F6E97612482095C0c2C02BC495C0171e61017d7", - "recommendedValues": [ - "100", - "300", - "500", - "1000" - ], + "recommendedValues": ["100", "300", "500", "1000"], "address": "0x5F6E97612482095C0c2C02BC495C0171e61017d7" }, "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x9FeF16c2Fe0dCB261cfD39e0B618c69A73feB3FE" } } @@ -811,12 +521,7 @@ "tokens": { "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x9FeF16c2Fe0dCB261cfD39e0B618c69A73feB3FE", "route": { "hub": "elated-tan-skat", @@ -835,12 +540,7 @@ "tokens": { "razor": { "keyname": "_RAZOR_0x50DE6856358Cc35f3A9a57eAAA34BD4cB707d2cd", - "recommendedValues": [ - "100", - "300", - "1000", - "2000" - ], + "recommendedValues": ["100", "300", "1000", "2000"], "address": "0xcbf70914Fae03B3acB91E953De60CfDAaCA8145f" } } @@ -855,56 +555,31 @@ "tokens": { "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d" }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d" }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83" }, "wbtc": { "keyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x64d2EebA8B02f2aB19e2238f1655A8409dB64817" - }, + } } }, "mainnet": { "tokens": { "skl": { "keyname": "_SKL_0xD162bB5c75FE99144295b03510bAb2DF99617440", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d", "route": { "hub": "elated-tan-skat", @@ -914,12 +589,7 @@ }, "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d", "route": { "hub": "elated-tan-skat", @@ -929,12 +599,7 @@ }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83", "route": { "hub": "elated-tan-skat", @@ -948,12 +613,7 @@ "tokens": { "usdc": { "keyname": "_USDC_0x1c566a47e1baC535Ca616373146e3BE024F88Aa4", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0xCC205196288B7A26f6D43bBD68AaA98dde97276d", "route": { "hub": "elated-tan-skat", @@ -963,12 +623,7 @@ }, "usdt": { "keyname": "_USDT_0x42dDeBDa2195FaEDAEC1cf24c19B42da1c881feB", - "recommendedValues": [ - "50", - "100", - "200", - "500" - ], + "recommendedValues": ["50", "100", "200", "500"], "address": "0x932427E1f1Ea096e2bb05C7dE937d083ddb8Ff83", "route": { "hub": "elated-tan-skat", @@ -988,12 +643,7 @@ "tokens": { "hmt": { "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x6E5FF61Ea88270F6142E0E0eC8cbe9d67476CbCd" } } @@ -1002,12 +652,7 @@ "tokens": { "hmt": { "keyname": "_HMT_0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75", - "recommendedValues": [ - "500", - "1000", - "2000", - "5000" - ], + "recommendedValues": ["500", "1000", "2000", "5000"], "address": "0x6E5FF61Ea88270F6142E0E0eC8cbe9d67476CbCd", "route": { "hub": "elated-tan-skat", @@ -1026,12 +671,7 @@ "tokens": { "eth": { "keyname": "eth", - "recommendedValues": [ - "0.01", - "0.1", - "0.2", - "0.5" - ], + "recommendedValues": ["0.01", "0.1", "0.2", "0.5"], "address": "0xD2Aaa00700000000000000000000000000000000" } } @@ -1046,12 +686,7 @@ "tokens": { "brawl": { "keyname": "_BRAWL_0xE0A107a0010930Ac218ED0a50937b50D5633EB3e", - "recommendedValues": [ - "100", - "200", - "500", - "1000" - ], + "recommendedValues": ["100", "200", "500", "1000"], "address": "", "wrapsSFuel": true } @@ -1059,4 +694,4 @@ } } } -} \ No newline at end of file +} From 6cbdfe90bb717b50728e0ec2c35c9c2dca5f2708 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 14:01:56 +0100 Subject: [PATCH 31/68] Add WBTC on Europa to metaportConfig --- env/mainnet/metaportConfig.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/env/mainnet/metaportConfig.json b/env/mainnet/metaportConfig.json index fe258eb..7efeefd 100644 --- a/env/mainnet/metaportConfig.json +++ b/env/mainnet/metaportConfig.json @@ -164,6 +164,18 @@ "symbol": "DAI", "name": "DAI" } + }, + "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0": { + "address": "0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", + "name": "WBTC", + "symbol": "WBTC", + "cloneSymbol": "WBTC", + "decimals": "8", + "wraps": { + "address": "0xcb011E86DF014a46F4e3AC3F3cbB114A4EB80870", + "symbol": "WBTC", + "name": "WBTC" + } } } }, From 5ef9be5dae3f73f170cd08fb078416a8a8bc69d2 Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 15:33:42 +0100 Subject: [PATCH 32/68] Add WBTC Mainnet to Nebula --- env/mainnet/chainsData.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/env/mainnet/chainsData.json b/env/mainnet/chainsData.json index ae1b892..b846911 100644 --- a/env/mainnet/chainsData.json +++ b/env/mainnet/chainsData.json @@ -606,6 +606,16 @@ "tokenKeyname": "_USDT_0xdAC17F958D2ee523a2206206994597C13D831ec7", "tokenType": "erc20" } + }, + "wbtc": { + "keyname": "_WBTC_0x497C476bcABB2F7D50afF99ca3Ae9354451Ff7d0", + "recommendedValues": ["0.05", "0.1", "0.2", "0.5"], + "address": "0x64d2EebA8B02f2aB19e2238f1655A8409dB64817", + "route": { + "hub": "elated-tan-skat", + "tokenKeyname": "_WBTC_0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "tokenType": "erc20" + } } } }, From 103e4c1f63e65268cb2b34e3e0a0c8374553898d Mon Sep 17 00:00:00 2001 From: Artem Payvin Date: Thu, 21 Sep 2023 15:43:14 +0100 Subject: [PATCH 33/68] Roll back Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8f3c9a..9ebe6b3 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ function encodeUrl(url) { To get started with the SKALE Bridge UI, users can visit the [SKALE Bridge UI](https://bridge.skale.network/) website and click on the "Connect wallet" button. Users can then connect their wallets and select the source and destination blockchains for their transfers. ## Development Setup -If you are interested in contributing to the SKALE Bridge UI, follow these steps to set up your development environment: +If you're interested in contributing to the SKALE Bridge UI, follow these steps to set up your development environment: 1. Clone the repository: `git clone --recurse-submodules https://github.com/skalenetwork/bridge-ui.git` 2. Install dependencies: `cd bridge-ui && yarn install` From 61390e40ae1bb25d4db4f6909c47a73287567ebd Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 26 Sep 2023 17:27:40 +0100 Subject: [PATCH 34/68] Parse transfer data from URL params, update metaport add Portfolio page MVP --- build.sh | 2 +- config/mainnet.ts | 213 ++++++++++++ .../metaportConfig.ts => config/staging.ts | 211 +++++++----- env/staging/metaportConfig.ts | 316 ------------------ package.json | 2 +- src/App.tsx | 9 +- src/{Bridge.tsx => Portal.tsx} | 25 +- src/Router.tsx | 6 +- src/SkDrawer.tsx | 20 +- src/components/Bridge.tsx | 125 +++++++ src/components/BridgeBody.tsx | 238 +++++++++++++ src/components/CategorySection.tsx | 2 +- src/components/ChainCard.tsx | 4 +- src/components/CopySurface.tsx | 2 +- src/components/HelpZen/HelpZen.tsx | 2 +- src/components/Main.tsx | 233 ------------- src/components/Message.tsx | 64 ++++ src/components/Portfolio.tsx | 119 +++++++ src/components/Schain.tsx | 2 +- src/components/SchainDetails.tsx | 2 +- 20 files changed, 921 insertions(+), 676 deletions(-) create mode 100644 config/mainnet.ts rename env/mainnet/metaportConfig.ts => config/staging.ts (70%) delete mode 100644 env/staging/metaportConfig.ts rename src/{Bridge.tsx => Portal.tsx} (81%) create mode 100644 src/components/Bridge.tsx create mode 100644 src/components/BridgeBody.tsx delete mode 100644 src/components/Main.tsx create mode 100644 src/components/Message.tsx create mode 100644 src/components/Portfolio.tsx diff --git a/build.sh b/build.sh index 76413de..6210529 100644 --- a/build.sh +++ b/build.sh @@ -6,7 +6,7 @@ set -e export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -METAPORT_CONFIG_PATH=$DIR/env/$NETWORK_NAME/metaportConfig.ts +METAPORT_CONFIG_PATH=$DIR/config/$NETWORK_NAME.ts METAPORT_CONFIG_PATH_SRC=$DIR/src/metadata/metaportConfig.ts echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." diff --git a/config/mainnet.ts b/config/mainnet.ts new file mode 100644 index 0000000..71e9da0 --- /dev/null +++ b/config/mainnet.ts @@ -0,0 +1,213 @@ +import { interfaces } from '@skalenetwork/metaport' + +export const METAPORT_CONFIG: interfaces.MetaportConfig = { + theme: { + mode: 'dark', + vibrant: true + }, + mainnetEndpoint: 'https://cloudflare-eth.com/', + skaleNetwork: "mainnet", + openButton: true, + openOnLoad: true, + chains: [ + // "mainnet", + "elated-tan-skat", // europa hub + "honorable-steel-rasalhague", // calypso hub + "green-giddy-denebola", // nebula hub + "wan-red-ain", // human protocol + ], + "tokens": { + eth: { + symbol: "ETH", + name: "Ethereum" + }, + skl: { + decimals: "18", + name: "SKALE", + symbol: "SKL" + }, + usdc: { + decimals: "6", + symbol: "USDC", + name: "USD Coin" + }, + hmt: { + decimals: "18", + symbol: "HMT", + name: "Human Token", + iconUrl: "https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png" + } + }, + "connections": { + "mainnet": { + eth: { + eth: { + chains: { + "elated-tan-skat": {} + } + } + }, + erc20: { + skl: { + address: "0x00c83aeCC790e8a4453e5dD3B0B4b3680501a7A7", // uni: 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 + chains: { + "elated-tan-skat": {}, + "honorable-steel-rasalhague": { + hub: "elated-tan-skat" + }, + "green-giddy-denebola": { + hub: "elated-tan-skat" + } + } // weth 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 + }, + usdc: { // usdt 0xdAC17F958D2ee523a2206206994597C13D831ec7 + address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + chains: { + "elated-tan-skat": {}, + "honorable-steel-rasalhague": { + hub: "elated-tan-skat" + }, + "green-giddy-denebola": { + hub: "elated-tan-skat" + } + } + }, + hmt: { + address: "0xd1ba9BAC957322D6e8c07a160a3A8dA11A0d2867", + chains: { + "elated-tan-skat": {}, + "wan-red-ain": { + "hub": "elated-tan-skat" + } + } + } + } + }, + "elated-tan-skat": { // europa connections + eth: { + eth: { + address: '0xD2Aaa00700000000000000000000000000000000', + chains: { + mainnet: { + clone: true + } + } + } + }, + erc20: { + skl: { + address: "0xE0595a049d02b7674572b0d59cd4880Db60EDC50", + chains: { + "mainnet": { + clone: true + }, + "honorable-steel-rasalhague": { + wrapper: "0xD162bB5c75FE99144295b03510bAb2DF99617440" + }, + "green-giddy-denebola": { + wrapper: "0xD162bB5c75FE99144295b03510bAb2DF99617440" + } + } + }, + usdc: { + address: "0x5F795bb52dAC3085f578f4877D450e2929D2F13d", + chains: { + "mainnet": { + clone: true + }, + "honorable-steel-rasalhague": { + wrapper: "0x1c566a47e1baC535Ca616373146e3BE024F88Aa4" + }, + "green-giddy-denebola": { + wrapper: "0x1c566a47e1baC535Ca616373146e3BE024F88Aa4" + } + } + }, + hmt: { + address: "0xBE3530a3eDf9472693065041B8c9155C7FeCB8e5", + chains: { + "mainnet": { + clone: true + }, + "wan-red-ain": { + wrapper: "0xA0f4D4db1457E442b83555cb92aaBB8DE959Aa75" + } + } + } + } + }, + "honorable-steel-rasalhague": { // calypso connections + erc20: { + skl: { + address: "0x4048C4dd6eccF1Dc23b068211fDf20AD19602e50", + chains: { + "elated-tan-skat": { + clone: true + }, + "mainnet": { + clone: true, + hub: "elated-tan-skat" + } + } + }, + usdc: { + address: "0x7Cf76E740Cb23b99337b21F392F22c47Ad910c67", + chains: { + "elated-tan-skat": { + clone: true + }, + "mainnet": { + clone: true, + hub: "elated-tan-skat" + } + } + } + } + }, + "green-giddy-denebola": { // nebula connections + erc20: { + skl: { + address: "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d", + chains: { + "elated-tan-skat": { + clone: true + }, + "mainnet": { + clone: true, + hub: "elated-tan-skat" + } + } + }, + usdc: { + address: "0xCC205196288B7A26f6D43bBD68AaA98dde97276d", + chains: { + "elated-tan-skat": { + clone: true + }, + "mainnet": { + clone: true, + hub: "elated-tan-skat" + } + } + } + } + }, + "wan-red-ain": { // human connections + erc20: { + hmt: { + address: "0x6E5FF61Ea88270F6142E0E0eC8cbe9d67476CbCd", + chains: { + "elated-tan-skat": { + clone: true + }, + "mainnet": { + clone: true, + hub: "elated-tan-skat" + } + } + } + } + } + } +} + diff --git a/env/mainnet/metaportConfig.ts b/config/staging.ts similarity index 70% rename from env/mainnet/metaportConfig.ts rename to config/staging.ts index c112fc6..e55117b 100644 --- a/env/mainnet/metaportConfig.ts +++ b/config/staging.ts @@ -12,7 +12,6 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { 'staging-faint-slimy-achird', // Nebula 'staging-perfect-parallel-gacrux', // Test Chain 1 'staging-severe-violet-wezen', // Test Chain 2 - 'staging-weepy-fitting-caph', // Tank War Zone ], tokens: { eth: { @@ -21,54 +20,54 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { skl: { decimals: '18', name: 'SKALE', - symbol: 'SKL', + symbol: 'SKL' }, usdc: { decimals: '6', symbol: 'USDC', - name: 'USD Coin', + name: 'USD Coin' }, usdt: { decimals: '6', symbol: 'USDT', - name: 'Tether USD', + name: 'Tether USD' }, wbtc: { decimals: '18', symbol: 'WBTC', - name: 'WBTC', + name: 'WBTC' }, _SPACE_1: { name: 'SKALE Space', symbol: 'SPACE', iconUrl: - 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png', + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png' }, _SKALIENS_1: { name: 'SKALIENS Collection', symbol: 'SKALIENS', iconUrl: - 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png', + 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png' }, ruby: { name: 'Ruby Token', iconUrl: 'https://ruby.exchange/images/tokens/ruby-square.png', - symbol: 'RUBY', + symbol: 'RUBY' }, dai: { name: 'DAI Stablecoin', - symbol: 'DAI', + symbol: 'DAI' }, usdp: { name: 'Pax Dollar', symbol: 'USDP', - iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png', + iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png' }, hmt: { name: 'Human Token', symbol: 'HMT', - iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png', - }, + iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png' + } }, connections: { mainnet: { @@ -76,11 +75,12 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { eth: { chains: { 'staging-legal-crazy-castor': {}, - // "staging-utter-unripe-menkar": {}, - // "staging-faint-slimy-achird": {}, - // "staging-perfect-parallel-gacrux": {}, - // "staging-severe-violet-wezen": {}, - // "staging-weepy-fitting-caph": {} + 'staging-utter-unripe-menkar': { + hub: 'staging-legal-crazy-castor' + } + // 'staging-faint-slimy-achird': { + // hub: 'staging-legal-crazy-castor' + // } } } }, @@ -90,122 +90,151 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { chains: { 'staging-legal-crazy-castor': {}, 'staging-utter-unripe-menkar': { - hub: 'staging-legal-crazy-castor', + hub: 'staging-legal-crazy-castor' }, 'staging-faint-slimy-achird': { - hub: 'staging-legal-crazy-castor', - }, - }, + hub: 'staging-legal-crazy-castor' + } + } }, ruby: { address: '0xd66641E25E9D36A995682572eaD74E24C11Bb422', chains: { - 'staging-legal-crazy-castor': {}, - }, + 'staging-legal-crazy-castor': {} + } }, dai: { address: '0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7', chains: { - 'staging-legal-crazy-castor': {}, - }, + 'staging-legal-crazy-castor': {} + } }, usdp: { address: '0x66259E472f8d09083ecB51D42F9F872A61001426', chains: { - 'staging-legal-crazy-castor': {}, - }, + 'staging-legal-crazy-castor': {} + } }, usdt: { address: '0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6', chains: { - 'staging-legal-crazy-castor': {}, - }, + 'staging-legal-crazy-castor': {} + } }, usdc: { address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9', chains: { 'staging-legal-crazy-castor': {}, 'staging-utter-unripe-menkar': { - hub: 'staging-legal-crazy-castor', - }, - }, + hub: 'staging-legal-crazy-castor' + } + } }, wbtc: { address: '0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3', chains: { - 'staging-legal-crazy-castor': {}, - }, + 'staging-legal-crazy-castor': {} + } }, hmt: { address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0', - chains: {}, - }, + chains: {} + } }, erc721meta: { _SPACE_1: { address: '0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6', - chains: {}, - }, + chains: {} + } }, erc1155: { _SKALIENS_1: { address: '0x6cb73D413970ae9379560aA45c769b417Fbf33D6', - chains: {}, - }, - }, + chains: {} + } + } }, 'staging-utter-unripe-menkar': { // Calypso connections + eth: { + eth: { + address: '0xECabAE592Eb56D96115FcF4c7F772ADB7BF573d0', + chains: { + 'staging-legal-crazy-castor': { + clone: true + }, + mainnet: { + clone: true, + hub: 'staging-legal-crazy-castor' + } + } + } + }, erc20: { skl: { address: '0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852', chains: { 'staging-legal-crazy-castor': { - clone: true, + clone: true }, 'staging-faint-slimy-achird': { hub: 'staging-legal-crazy-castor', - clone: true, + clone: true }, mainnet: { hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, + clone: true + } + } }, usdc: { address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6', chains: { 'staging-legal-crazy-castor': { - clone: true, + clone: true }, mainnet: { hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, - }, - }, + clone: true + } + } + } + } }, 'staging-faint-slimy-achird': { + // Nebula connections + // eth: { + // eth: { + // address: '0x', + // chains: { + // 'staging-legal-crazy-castor': { + // clone: true + // }, + // mainnet: { + // hub: 'staging-legal-crazy-castor', + // clone: true + // }, + // } + // } + // }, erc20: { skl: { address: '0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d', chains: { 'staging-legal-crazy-castor': { - clone: true, + clone: true }, mainnet: { hub: 'staging-legal-crazy-castor', - clone: true, + clone: true }, 'staging-utter-unripe-menkar': { hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, - }, - }, + clone: true + } + } + } + } }, 'staging-legal-crazy-castor': { // Europa connections @@ -215,7 +244,13 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { chains: { mainnet: { clone: true + }, + 'staging-utter-unripe-menkar': { + wrapper: '0xa270484784f043e159f74C03B691F80B6F6e3c24' } + // 'staging-faint-slimy-achird': { + // wrapper: '0xa270484784f043e159f74C03B691F80B6F6e3c24' + // } } } }, @@ -224,71 +259,71 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { address: '0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6', chains: { mainnet: { - clone: true, + clone: true }, 'staging-utter-unripe-menkar': { - wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6' }, 'staging-faint-slimy-achird': { - wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', - }, - }, + wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6' + } + } }, ruby: { address: '0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39', chains: { mainnet: { - clone: true, - }, - }, + clone: true + } + } }, dai: { address: '0x3595E2f313780cb2f23e197B8e297066fd410d30', chains: { mainnet: { - clone: true, - }, - }, + clone: true + } + } }, usdp: { address: '0xe0E2cb3A5d6f94a5bc2D00FAa3e64460A9D241E1', chains: { mainnet: { - clone: true, - }, - }, + clone: true + } + } }, usdt: { address: '0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1', chains: { mainnet: { - clone: true, - }, - }, + clone: true + } + } }, usdc: { address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33', chains: { mainnet: { - clone: true, + clone: true }, 'staging-utter-unripe-menkar': { - wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0', - }, - }, + wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0' + } + } }, wbtc: { address: '0xf5E880E1066DDc90471B9BAE6f183D5344fd289F', chains: { mainnet: { - clone: true, - }, - }, - }, - }, + clone: true + } + } + } + } }, 'staging-severe-violet-wezen': { - erc20: {}, + erc20: {} }, 'staging-perfect-parallel-gacrux': { erc20: {}, @@ -306,8 +341,8 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { // "address": "0xDf87EEF0977148129969b01b329379b17756cdDE", // "chains": {} // } - }, - }, + } + } }, theme: { mode: 'dark', diff --git a/env/staging/metaportConfig.ts b/env/staging/metaportConfig.ts deleted file mode 100644 index c112fc6..0000000 --- a/env/staging/metaportConfig.ts +++ /dev/null @@ -1,316 +0,0 @@ -import { interfaces } from '@skalenetwork/metaport' - -export const METAPORT_CONFIG: interfaces.MetaportConfig = { - skaleNetwork: 'staging', - openOnLoad: true, - openButton: true, - debug: false, - chains: [ - 'mainnet', - 'staging-legal-crazy-castor', // Europa - 'staging-utter-unripe-menkar', // Calypso - 'staging-faint-slimy-achird', // Nebula - 'staging-perfect-parallel-gacrux', // Test Chain 1 - 'staging-severe-violet-wezen', // Test Chain 2 - 'staging-weepy-fitting-caph', // Tank War Zone - ], - tokens: { - eth: { - symbol: 'ETH' - }, - skl: { - decimals: '18', - name: 'SKALE', - symbol: 'SKL', - }, - usdc: { - decimals: '6', - symbol: 'USDC', - name: 'USD Coin', - }, - usdt: { - decimals: '6', - symbol: 'USDT', - name: 'Tether USD', - }, - wbtc: { - decimals: '18', - symbol: 'WBTC', - name: 'WBTC', - }, - _SPACE_1: { - name: 'SKALE Space', - symbol: 'SPACE', - iconUrl: - 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png', - }, - _SKALIENS_1: { - name: 'SKALIENS Collection', - symbol: 'SKALIENS', - iconUrl: - 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png', - }, - ruby: { - name: 'Ruby Token', - iconUrl: 'https://ruby.exchange/images/tokens/ruby-square.png', - symbol: 'RUBY', - }, - dai: { - name: 'DAI Stablecoin', - symbol: 'DAI', - }, - usdp: { - name: 'Pax Dollar', - symbol: 'USDP', - iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png', - }, - hmt: { - name: 'Human Token', - symbol: 'HMT', - iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png', - }, - }, - connections: { - mainnet: { - eth: { - eth: { - chains: { - 'staging-legal-crazy-castor': {}, - // "staging-utter-unripe-menkar": {}, - // "staging-faint-slimy-achird": {}, - // "staging-perfect-parallel-gacrux": {}, - // "staging-severe-violet-wezen": {}, - // "staging-weepy-fitting-caph": {} - } - } - }, - erc20: { - skl: { - address: '0x493D4442013717189C9963a2e275Ad33bfAFcE11', - chains: { - 'staging-legal-crazy-castor': {}, - 'staging-utter-unripe-menkar': { - hub: 'staging-legal-crazy-castor', - }, - 'staging-faint-slimy-achird': { - hub: 'staging-legal-crazy-castor', - }, - }, - }, - ruby: { - address: '0xd66641E25E9D36A995682572eaD74E24C11Bb422', - chains: { - 'staging-legal-crazy-castor': {}, - }, - }, - dai: { - address: '0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7', - chains: { - 'staging-legal-crazy-castor': {}, - }, - }, - usdp: { - address: '0x66259E472f8d09083ecB51D42F9F872A61001426', - chains: { - 'staging-legal-crazy-castor': {}, - }, - }, - usdt: { - address: '0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6', - chains: { - 'staging-legal-crazy-castor': {}, - }, - }, - usdc: { - address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9', - chains: { - 'staging-legal-crazy-castor': {}, - 'staging-utter-unripe-menkar': { - hub: 'staging-legal-crazy-castor', - }, - }, - }, - wbtc: { - address: '0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3', - chains: { - 'staging-legal-crazy-castor': {}, - }, - }, - hmt: { - address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0', - chains: {}, - }, - }, - erc721meta: { - _SPACE_1: { - address: '0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6', - chains: {}, - }, - }, - erc1155: { - _SKALIENS_1: { - address: '0x6cb73D413970ae9379560aA45c769b417Fbf33D6', - chains: {}, - }, - }, - }, - 'staging-utter-unripe-menkar': { - // Calypso connections - erc20: { - skl: { - address: '0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852', - chains: { - 'staging-legal-crazy-castor': { - clone: true, - }, - 'staging-faint-slimy-achird': { - hub: 'staging-legal-crazy-castor', - clone: true, - }, - mainnet: { - hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, - }, - usdc: { - address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6', - chains: { - 'staging-legal-crazy-castor': { - clone: true, - }, - mainnet: { - hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, - }, - }, - }, - 'staging-faint-slimy-achird': { - erc20: { - skl: { - address: '0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d', - chains: { - 'staging-legal-crazy-castor': { - clone: true, - }, - mainnet: { - hub: 'staging-legal-crazy-castor', - clone: true, - }, - 'staging-utter-unripe-menkar': { - hub: 'staging-legal-crazy-castor', - clone: true, - }, - }, - }, - }, - }, - 'staging-legal-crazy-castor': { - // Europa connections - eth: { - eth: { - address: '0xD2Aaa00700000000000000000000000000000000', - chains: { - mainnet: { - clone: true - } - } - } - }, - erc20: { - skl: { - address: '0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6', - chains: { - mainnet: { - clone: true, - }, - 'staging-utter-unripe-menkar': { - wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', - }, - 'staging-faint-slimy-achird': { - wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6', - }, - }, - }, - ruby: { - address: '0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39', - chains: { - mainnet: { - clone: true, - }, - }, - }, - dai: { - address: '0x3595E2f313780cb2f23e197B8e297066fd410d30', - chains: { - mainnet: { - clone: true, - }, - }, - }, - usdp: { - address: '0xe0E2cb3A5d6f94a5bc2D00FAa3e64460A9D241E1', - chains: { - mainnet: { - clone: true, - }, - }, - }, - usdt: { - address: '0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1', - chains: { - mainnet: { - clone: true, - }, - }, - }, - usdc: { - address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33', - chains: { - mainnet: { - clone: true, - }, - 'staging-utter-unripe-menkar': { - wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0', - }, - }, - }, - wbtc: { - address: '0xf5E880E1066DDc90471B9BAE6f183D5344fd289F', - chains: { - mainnet: { - clone: true, - }, - }, - }, - }, - }, - 'staging-severe-violet-wezen': { - erc20: {}, - }, - 'staging-perfect-parallel-gacrux': { - erc20: {}, - erc721: {}, - erc1155: { - // "skaliens": { - // "address": "0xBA9fF38A2b22edDfa8e05805bD22C8f20c40546e", - // "chains": {} - // }, - // "medals": { - // "address": "0x5D8bD602dC5468B3998e8514A1851bd5888E9639", - // "chains": {} - // }, - // "_ANIMALS_0xDf87EEF0977148129969b01b329379b17756cdDE": { - // "address": "0xDf87EEF0977148129969b01b329379b17756cdDE", - // "chains": {} - // } - }, - }, - }, - theme: { - mode: 'dark', - vibrant: true - } -} diff --git a/package.json b/package.json index 8ef59e3..92a6077 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@mdx-js/rollup": "^2.3.0", "@mui/icons-material": "^5.14.8", "@mui/material": "^5.14.5", - "@skalenetwork/metaport": "2.0.0-preview.5", + "@skalenetwork/metaport": "2.0.0-preview.6", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", "react": "^18.2.0", diff --git a/src/App.tsx b/src/App.tsx index 00c45b3..3a2aa2b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -29,7 +29,7 @@ import '@skalenetwork/metaport/dist/style.css' import { StyledEngineProvider } from '@mui/material/styles' import { ThemeProvider } from '@mui/material/styles' -import Bridge from './Bridge'; +import Portal from './Portal'; import { METAPORT_CONFIG } from './metadata/metaportConfig'; import { createMuiTheme } from './core/themes'; @@ -42,11 +42,14 @@ const isDarkMode = mpTheme.mode === 'dark'; export default function App() { return ( -
+
- + diff --git a/src/Bridge.tsx b/src/Portal.tsx similarity index 81% rename from src/Bridge.tsx rename to src/Portal.tsx index 8db4c2d..d6a9b41 100644 --- a/src/Bridge.tsx +++ b/src/Portal.tsx @@ -17,7 +17,7 @@ */ /** - * @file Bridge.tsx + * @file Portal.tsx * @copyright SKALE Labs 2023-Present */ @@ -34,33 +34,18 @@ import TermsModal from './components/TermsModal'; import { useMetaportStore, useWagmiAccount } from '@skalenetwork/metaport' -export default function Bridge() { - +export default function Portal() { const [termsAccepted, setTermsAccepted] = useState(false); - const mpc = useMetaportStore((state) => state.mpc) const { address } = useWagmiAccount() - if (!mpc) return
- return ( - + - - -
+ +
- ) } diff --git a/src/Router.tsx b/src/Router.tsx index 94436d7..7ec605d 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -2,7 +2,7 @@ import './App.scss'; import { useState } from 'react' -import Main from './components/Main'; +import Bridge from './components/Bridge'; import Faq from './components/Faq'; import Terms from './components/Terms'; import Network from './components/Network'; @@ -11,6 +11,7 @@ import Stats from './components/Stats'; import Apps from './components/Apps'; import App from './components/App'; import History from './components/History'; +import Portfolio from './components/Portfolio'; import { useMetaportStore, PROXY_ENDPOINTS, MetaportState } from '@skalenetwork/metaport'; import { Routes, Route } from "react-router-dom"; @@ -33,13 +34,14 @@ export default function Router() { return ( - } /> + } /> } /> + } /> + + + + + + + + + + - + {/* @@ -132,7 +142,7 @@ export default function SkDrawer() { - + */} diff --git a/src/components/Bridge.tsx b/src/components/Bridge.tsx new file mode 100644 index 0000000..84309ba --- /dev/null +++ b/src/components/Bridge.tsx @@ -0,0 +1,125 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Bridge.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { useEffect, useState } from 'react'; +import { useSearchParams } from "react-router-dom"; + +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import GradeRoundedIcon from '@mui/icons-material/GradeRounded'; + +import Message from './Message'; +import BridgeBody from './BridgeBody'; + +import { CHAINS_META, cls, cmn, dataclasses, useMetaportStore } from '@skalenetwork/metaport'; + + +interface TokenParams { + keyname: string | null + type: dataclasses.TokenType | null +} + +function getEmptyTokenParams(): TokenParams { + return { keyname: null, type: null } +} + + +export default function Bridge() { + + let [searchParams, setSearchParams] = useSearchParams() + const [tokenParams, setTokenParams] = useState(getEmptyTokenParams()) + + const mpc = useMetaportStore((state) => state.mpc) + + const chainName1 = useMetaportStore((state) => state.chainName1) + const chainName2 = useMetaportStore((state) => state.chainName2) + const setChainName1 = useMetaportStore((state) => state.setChainName1) + const setChainName2 = useMetaportStore((state) => state.setChainName2) + + const appName1 = useMetaportStore((state) => state.appName1) + const appName2 = useMetaportStore((state) => state.appName2) + const setAppName1 = useMetaportStore((state) => state.setAppName1) + const setAppName2 = useMetaportStore((state) => state.setAppName2) + + const token = useMetaportStore((state) => state.token) + const tokens = useMetaportStore((state) => state.tokens) + const setToken = useMetaportStore((state) => state.setToken) + + useEffect(() => { + const params: any = { + from: chainName1, + to: chainName2, + token: token?.keyname, + type: token?.type + } + if (appName1) params['from-app'] = appName1 + if (appName2) params['to-app'] = appName2 + setSearchParams(params) + }, [chainName1, chainName2, appName1, appName2, token]) + + useEffect(() => { + const from = searchParams.get('from') + const to = searchParams.get('to') + const fromApp = searchParams.get('from-app') + const toApp = searchParams.get('to-app') + const keyname = searchParams.get('token') + const type = searchParams.get('type') + const chainMeta = CHAINS_META[mpc.config.skaleNetwork]; + if (from) { + if (mpc.config.chains.includes(from)) setChainName1(from); + const apps = fromApp && chainMeta && chainMeta[from] && chainMeta[from].apps; + if (apps && apps[fromApp]) setAppName1(fromApp); + } + if (to) { + if (mpc.config.chains.includes(to)) setChainName2(to); + const apps = toApp && chainMeta && chainMeta[to] && chainMeta[to].apps; + if (apps && apps[toApp]) setAppName2(toApp); + } + if (keyname) setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }) + }, []) + + useEffect(() => { + if (tokens && tokenParams.type && tokenParams.keyname && tokens[tokenParams.type] && + tokens[tokenParams.type][tokenParams.keyname]) { + setToken(tokens[tokenParams.type][tokenParams.keyname]) + setTokenParams(getEmptyTokenParams()) + } + }, [tokenParams, tokens]) + + return ( + + +
+

Transfer

+
+
+ } + /> + +
+
+
) +} \ No newline at end of file diff --git a/src/components/BridgeBody.tsx b/src/components/BridgeBody.tsx new file mode 100644 index 0000000..dd5e3e8 --- /dev/null +++ b/src/components/BridgeBody.tsx @@ -0,0 +1,238 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Portfolio.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { useEffect } from 'react'; + +import Collapse from '@mui/material/Collapse'; +import { MAINNET_CHAIN_NAME } from '../core/constants' + +import { + SkPaper, + AmountInput, + SwitchDirection, + SkStepper, + ChainsList, + SkConnect, + useCollapseStore, + useMetaportStore, + useSFuelStore, + useUIStore, + useWagmiAccount, + cls, + cmn, + AmountErrorMessage, + TokenBalance, + DestTokenBalance, + ErrorMessage, + CommunityPool, + SFuelWarning, + WrappedTokens, + chainBg +} from '@skalenetwork/metaport'; + + +export default function Main() { + const expandedFrom = useCollapseStore((state) => state.expandedFrom) + const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) + + const expandedTo = useCollapseStore((state) => state.expandedTo) + const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) + + const expandedCP = useCollapseStore((state) => state.expandedCP) + const expandedWT = useCollapseStore((state) => state.expandedWT) + const expandedTokens = useCollapseStore((state) => state.expandedTokens) + const expandedTH = useCollapseStore((state) => state.expandedTH) + + const destChains = useMetaportStore((state) => state.destChains) + + const token = useMetaportStore((state) => state.token) + + const chainName1 = useMetaportStore((state) => state.chainName1) + const chainName2 = useMetaportStore((state) => state.chainName2) + const setChainName1 = useMetaportStore((state) => state.setChainName1) + const setChainName2 = useMetaportStore((state) => state.setChainName2) + + const appName1 = useMetaportStore((state) => state.appName1) + const appName2 = useMetaportStore((state) => state.appName2) + const setAppName1 = useMetaportStore((state) => state.setAppName1) + const setAppName2 = useMetaportStore((state) => state.setAppName2) + + const mpc = useMetaportStore((state) => state.mpc) + const tokens = useMetaportStore((state) => state.tokens) + const setToken = useMetaportStore((state) => state.setToken) + const tokenBalances = useMetaportStore((state) => state.tokenBalances) + + const errorMessage = useMetaportStore((state) => state.errorMessage) + + const transferInProgress = useMetaportStore((state) => state.transferInProgress) + + const sFuelOk = useSFuelStore((state) => state.sFuelOk) + + const theme = useUIStore((state) => state.theme) + + const { address } = useWagmiAccount() + + useEffect(() => { + setChainName1(mpc.config.chains ? mpc.config.chains[0] : '') + setChainName2(mpc.config.chains ? mpc.config.chains[1] : '') + }, []) + + useEffect(() => { + if (tokens && tokens.erc20 && Object.values(tokens.erc20)[0] && !token) { + setToken(Object.values(tokens.erc20)[0]) + } + }, [tokens]) + + const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP && !expandedTH + const showTo = + !expandedFrom && !expandedTokens && !errorMessage && !expandedCP && !expandedWT && !expandedTH + const showInput = + !expandedFrom && !expandedTo && !errorMessage && !expandedCP && !expandedWT && !expandedTH + const showSwitch = + !expandedFrom && + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + !expandedWT && + !expandedTH + const showStepper = + !expandedFrom && + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + sFuelOk && + !expandedWT && + !expandedTH && + !!address + const showCP = + !expandedFrom && + !expandedTo && + !expandedTokens && + !expandedTH && + chainName2 === MAINNET_CHAIN_NAME && + !expandedWT + const showWT = + !expandedFrom && + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + !expandedTH && + sFuelOk && + !!address + const showError = !!errorMessage + + const grayBg = 'rgb(136 135 135 / 15%)' + const sourceBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName1, appName1) : grayBg + const destBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName2, appName2) : grayBg + + return ( +
+ + + + + +
+

From

+ {token ? : null} +
+ +
+ + + + + + + +
+ + + + + + + +
+

To

+ +
+ +
+
+ + + + + + + + + + + + + + + + + {!address ? : null} + + + + + +
) +} \ No newline at end of file diff --git a/src/components/CategorySection.tsx b/src/components/CategorySection.tsx index 7c96579..ed3f42a 100644 --- a/src/components/CategorySection.tsx +++ b/src/components/CategorySection.tsx @@ -1,6 +1,6 @@ /** * @license - * SKALE proxy-ui + * SKALE bridge-ui * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by diff --git a/src/components/ChainCard.tsx b/src/components/ChainCard.tsx index 3c6f6e0..feb42d0 100644 --- a/src/components/ChainCard.tsx +++ b/src/components/ChainCard.tsx @@ -1,6 +1,6 @@ /** * @license - * SKALE proxy-ui + * SKALE bridge-ui * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -60,7 +60,7 @@ export default function ChainCard(props: {
-

+

{getChainAlias(props.skaleNetwork, props.schain[0])}

diff --git a/src/components/CopySurface.tsx b/src/components/CopySurface.tsx index 8419749..c87bf9a 100644 --- a/src/components/CopySurface.tsx +++ b/src/components/CopySurface.tsx @@ -1,6 +1,6 @@ /** * @license - * SKALE proxy-ui + * SKALE bridge-ui * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by diff --git a/src/components/HelpZen/HelpZen.tsx b/src/components/HelpZen/HelpZen.tsx index 9a98139..a82c357 100644 --- a/src/components/HelpZen/HelpZen.tsx +++ b/src/components/HelpZen/HelpZen.tsx @@ -29,7 +29,7 @@ export default function HelpZen() { diff --git a/src/components/Main.tsx b/src/components/Main.tsx deleted file mode 100644 index 77f42b1..0000000 --- a/src/components/Main.tsx +++ /dev/null @@ -1,233 +0,0 @@ -import { useEffect } from 'react'; - -import Container from '@mui/material/Container'; -import Collapse from '@mui/material/Collapse'; -import Stack from '@mui/material/Stack'; -import IconButton from '@mui/material/IconButton'; -import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; -import GradeRoundedIcon from '@mui/icons-material/GradeRounded'; -import { MAINNET_CHAIN_NAME } from '../core/constants' - -import { - SkPaper, - AmountInput, - SwitchDirection, - SkStepper, - ChainsList, - SkConnect, - useCollapseStore, - useMetaportStore, - useSFuelStore, - useUIStore, - useWagmiAccount, - cls, - cmn, - AmountErrorMessage, - TokenBalance, - DestTokenBalance, - ErrorMessage, - CommunityPool, - SFuelWarning, - WrappedTokens, - chainBg -} from '@skalenetwork/metaport'; - - -export default function Main() { - const expandedFrom = useCollapseStore((state) => state.expandedFrom) - const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) - - const expandedTo = useCollapseStore((state) => state.expandedTo) - const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) - - const expandedCP = useCollapseStore((state) => state.expandedCP) - const expandedWT = useCollapseStore((state) => state.expandedWT) - const expandedTokens = useCollapseStore((state) => state.expandedTokens) - - const token = useMetaportStore((state) => state.token) - const setToken = useMetaportStore((state) => state.setToken) - const tokenBalances = useMetaportStore((state) => state.tokenBalances) - const tokens = useMetaportStore((state) => state.tokens) - const destChains = useMetaportStore((state) => state.destChains) - - const chainName1 = useMetaportStore((state) => state.chainName1) - const chainName2 = useMetaportStore((state) => state.chainName2) - const setChainName1 = useMetaportStore((state) => state.setChainName1) - const setChainName2 = useMetaportStore((state) => state.setChainName2) - - const appName1 = useMetaportStore((state) => state.appName1) - const appName2 = useMetaportStore((state) => state.appName2) - const setAppName1 = useMetaportStore((state) => state.setAppName1) - const setAppName2 = useMetaportStore((state) => state.setAppName2) - - const transferInProgress = useMetaportStore((state) => state.transferInProgress) - const mpc = useMetaportStore((state) => state.mpc) - - const amountErrorMessage = useMetaportStore((state) => state.amountErrorMessage) - const errorMessage = useMetaportStore((state) => state.errorMessage) - - const theme = useUIStore((state) => state.theme) - - const sFuelOk = useSFuelStore((state) => state.sFuelOk) - - const { address } = useWagmiAccount() - - useEffect(() => { - setChainName1(mpc.config.chains ? mpc.config.chains[0] : '') - setChainName2(mpc.config.chains ? mpc.config.chains[1] : '') - }, []); - - useEffect(() => { - if (tokens && tokens.erc20) { - setToken(Object.values(tokens.erc20)[0]) - } - }, [tokens]); - - - const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP - const showTo = !expandedFrom && !expandedTokens && !errorMessage && !expandedCP && !expandedWT - const showInput = !expandedFrom && !expandedTo && !errorMessage && !expandedCP && !expandedWT - const showSwitch = !expandedFrom && !expandedTo && !expandedTokens && !errorMessage && !expandedCP && !expandedWT - const showStepper = - !expandedFrom && - !expandedTo && - !expandedTokens && - !errorMessage && - !expandedCP && - sFuelOk && - !expandedWT && - !!address - const showCP = - !expandedFrom && !expandedTo && !expandedTokens && chainName2 === MAINNET_CHAIN_NAME && !expandedWT - const showWT = !expandedFrom && - !expandedTo && - !expandedTokens && - !errorMessage && - !expandedCP && - sFuelOk && - !!address - const showError = !!errorMessage - - const grayBg = 'rgb(136 135 135 / 15%)' - const sourceBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName1, appName1) : grayBg - const destBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName2, appName2) : grayBg - - return ( - - -
-

Transfer

-
-
- - -
-
- -
-

- Zero Gas Fees between SKALE Chains -

-
- - - -
-
-
- - - - - - -
-

From

- {token ? : null} -
- -
- - - - - -
- -
-
- -
-
-
- - - - - - - -
-

To

- -
- -
-
- - - - - - - - - - - - - - - - - {!address ? : null} - - - - - -
-
-
) -} \ No newline at end of file diff --git a/src/components/Message.tsx b/src/components/Message.tsx new file mode 100644 index 0000000..a07be24 --- /dev/null +++ b/src/components/Message.tsx @@ -0,0 +1,64 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Message.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { ReactElement, useState } from 'react'; +import IconButton from '@mui/material/IconButton'; +import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; +import Collapse from '@mui/material/Collapse'; + +import { SkPaper, cls, cmn } from '@skalenetwork/metaport'; + + +export default function Message(props: { + text: string + icon: ReactElement + className?: string | undefined + showOnLoad?: boolean | undefined +}) { + const [show, setShow] = useState(true); + return ( + + +
+
+ {props.icon} +
+

+ {props.text} +

+
+ { setShow(false) }} + className={cls(cmn.paperGrey, cmn.pPrim, cmn.mleft10)} + > + + +
+
+
+
+ ) +} \ No newline at end of file diff --git a/src/components/Portfolio.tsx b/src/components/Portfolio.tsx new file mode 100644 index 0000000..d2a9e8f --- /dev/null +++ b/src/components/Portfolio.tsx @@ -0,0 +1,119 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Portfolio.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { useState, useEffect } from 'react'; +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; + +import { cmn, cls, MetaportCore, getChainAlias, ChainIcon, TokenIcon, SkPaper, dataclasses, interfaces, useWagmiAccount } from '@skalenetwork/metaport'; + +export default function Portfolio(props: { + mpc: MetaportCore +}) { + + const { address } = useWagmiAccount() + + const [balances, setTokenBalances] = useState([]); + + + useEffect(() => { + tokenBalances() + }, []); + + async function tokenBalances() { + const contracts = props.mpc.config.chains.map((chain: string) => ( + props.mpc.tokenContracts( + props.mpc.tokens(chain), + dataclasses.TokenType.erc20, + chain, + props.mpc.provider(chain) + ) + )) + setTokenBalances(await Promise.all(contracts.map(async ( + chainContracts: interfaces.TokenContractsMap + ): Promise => + props.mpc.tokenBalances(chainContracts, address!) + ))) + } + + return ( + +
+

Portfolio

+
+

+ Your assets across all SKALE Chains +

+
+ {Object.keys(props.mpc.config.tokens)?.map((token: string, index: number) => ( +
+
+ +
+

{props.mpc.config.tokens[token].symbol}

+

{props.mpc.config.tokens[token].name}

+
+
+

+ 550 {props.mpc.config.tokens[token].symbol}

+

+ On 2 chains

+
+
+ + + {props.mpc.config.chains?.map((chain: string, index: number) => ( +
+
+ +
+

{getChainAlias(props.mpc.config.skaleNetwork, chain)}

+
+
+

+ {balances[index] && balances[index][token] ? balances[index][token].toString() : ''} {props.mpc.config.tokens[token].symbol}

+ +
+
+
+ ))} +
+
+ ))} +
+ + + + + +
+
) +} \ No newline at end of file diff --git a/src/components/Schain.tsx b/src/components/Schain.tsx index 28d4124..788205f 100644 --- a/src/components/Schain.tsx +++ b/src/components/Schain.tsx @@ -1,6 +1,6 @@ /** * @license - * SKALE proxy-ui + * SKALE bridge-ui * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by diff --git a/src/components/SchainDetails.tsx b/src/components/SchainDetails.tsx index ee39a8b..2495551 100644 --- a/src/components/SchainDetails.tsx +++ b/src/components/SchainDetails.tsx @@ -1,6 +1,6 @@ /** * @license - * SKALE proxy-ui + * SKALE bridge-ui * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by From 869fc13c88c78c43b4dfdde649b888d2ea9ce5b5 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 27 Sep 2023 13:21:50 +0100 Subject: [PATCH 35/68] Fix URL params parsing --- src/components/Bridge.tsx | 34 +++++++++++++++++++++++----------- src/components/BridgeBody.tsx | 13 ------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/components/Bridge.tsx b/src/components/Bridge.tsx index 84309ba..30fc7d8 100644 --- a/src/components/Bridge.tsx +++ b/src/components/Bridge.tsx @@ -65,6 +65,19 @@ export default function Bridge() { const tokens = useMetaportStore((state) => state.tokens) const setToken = useMetaportStore((state) => state.setToken) + function validChainName(chainName: string | null): boolean { + if (!chainName) return false + return mpc.config.chains.includes(chainName) + } + + function validAppName(chainName: string | null, appName: string | null): boolean { + if (!chainName || !appName) return false + const chainMeta = CHAINS_META[mpc.config.skaleNetwork]; + const apps = chainMeta && chainMeta[chainName] && chainMeta[chainName].apps + return !!(apps && apps[appName]) + } + + useEffect(() => { const params: any = { from: chainName1, @@ -84,17 +97,12 @@ export default function Bridge() { const toApp = searchParams.get('to-app') const keyname = searchParams.get('token') const type = searchParams.get('type') - const chainMeta = CHAINS_META[mpc.config.skaleNetwork]; - if (from) { - if (mpc.config.chains.includes(from)) setChainName1(from); - const apps = fromApp && chainMeta && chainMeta[from] && chainMeta[from].apps; - if (apps && apps[fromApp]) setAppName1(fromApp); - } - if (to) { - if (mpc.config.chains.includes(to)) setChainName2(to); - const apps = toApp && chainMeta && chainMeta[to] && chainMeta[to].apps; - if (apps && apps[toApp]) setAppName2(toApp); - } + + setChainName1(validChainName(from) ? from! : mpc.config.chains[0]) + setChainName2(validChainName(to) ? to! : mpc.config.chains[1]) + setAppName1(validAppName(from, fromApp) ? fromApp! : undefined!) + setAppName2(validAppName(to, toApp) ? toApp! : undefined!) + if (keyname) setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }) }, []) @@ -103,6 +111,10 @@ export default function Bridge() { tokens[tokenParams.type][tokenParams.keyname]) { setToken(tokens[tokenParams.type][tokenParams.keyname]) setTokenParams(getEmptyTokenParams()) + return + } + if (tokens && tokens.erc20 && Object.values(tokens.erc20)[0] && !token) { + setToken(Object.values(tokens.erc20)[0]) } }, [tokenParams, tokens]) diff --git a/src/components/BridgeBody.tsx b/src/components/BridgeBody.tsx index dd5e3e8..62de5b3 100644 --- a/src/components/BridgeBody.tsx +++ b/src/components/BridgeBody.tsx @@ -78,8 +78,6 @@ export default function Main() { const setAppName2 = useMetaportStore((state) => state.setAppName2) const mpc = useMetaportStore((state) => state.mpc) - const tokens = useMetaportStore((state) => state.tokens) - const setToken = useMetaportStore((state) => state.setToken) const tokenBalances = useMetaportStore((state) => state.tokenBalances) const errorMessage = useMetaportStore((state) => state.errorMessage) @@ -92,17 +90,6 @@ export default function Main() { const { address } = useWagmiAccount() - useEffect(() => { - setChainName1(mpc.config.chains ? mpc.config.chains[0] : '') - setChainName2(mpc.config.chains ? mpc.config.chains[1] : '') - }, []) - - useEffect(() => { - if (tokens && tokens.erc20 && Object.values(tokens.erc20)[0] && !token) { - setToken(Object.values(tokens.erc20)[0]) - } - }, [tokens]) - const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP && !expandedTH const showTo = !expandedFrom && !expandedTokens && !errorMessage && !expandedCP && !expandedWT && !expandedTH From 83bb23ca2fda4a8fd0e31ea99f3606b258b8c350 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 5 Oct 2023 12:39:33 +0100 Subject: [PATCH 36/68] Update History module, add browser storage, add rainbow connect button, add legacy network config --- bun.lockb | Bin 0 -> 298935 bytes config/legacy.ts | 149 + config/staging.ts | 44 + package.json | 2 +- src/App.scss | 6 + src/Router.tsx | 26 +- src/SkDrawer.tsx | 2 +- src/components/AccountMenu.tsx | 14 +- src/components/Admin.tsx | 53 + src/components/Bridge.tsx | 21 +- src/components/ChainCard.tsx | 2 - src/components/FaqAccordion/FaqAccordion.tsx | 10 +- src/components/History.tsx | 75 +- src/core/transferHistory.ts | 50 + yarn.lock | 5295 ------------------ 15 files changed, 420 insertions(+), 5329 deletions(-) create mode 100755 bun.lockb create mode 100644 config/legacy.ts create mode 100644 src/components/Admin.tsx create mode 100644 src/core/transferHistory.ts delete mode 100644 yarn.lock diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4d26e1ebdd9cccd0bbbf272e2d46128b749856b3 GIT binary patch literal 298935 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 literal 0 HcmV?d00001 diff --git a/config/legacy.ts b/config/legacy.ts new file mode 100644 index 0000000..591511c --- /dev/null +++ b/config/legacy.ts @@ -0,0 +1,149 @@ +import { interfaces } from '@skalenetwork/metaport' + +export const METAPORT_CONFIG: interfaces.MetaportConfig = { + skaleNetwork: 'legacy', + openOnLoad: true, + openButton: true, + debug: false, + chains: [ + 'mainnet', + 'skale-innocent-nasty', // europa + 'international-villainous-zaurak' // calypso + ], + tokens: { + eth: { + symbol: 'ETH' + }, + skl: { + decimals: '18', + name: 'SKALE', + symbol: 'SKL' + }, + usdc: { + decimals: '6', + symbol: 'USDC', + name: 'USD Coin' + } + }, + connections: { + mainnet: { + eth: { + eth: { + chains: { + 'skale-innocent-nasty': {}, + 'international-villainous-zaurak': { + hub: 'skale-innocent-nasty' + } + } + } + }, + erc20: { + skl: { + address: '0x17A7Cf31a11554e75246973663262dA56F84F89b', + chains: { + 'skale-innocent-nasty': {}, + 'international-villainous-zaurak': { + hub: 'skale-innocent-nasty' + } + } + }, + // usdc: { + // address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9', + // chains: { + // 'skale-innocent-nasty': {}, + // 'international-villainous-zaurak': { + // hub: 'skale-innocent-nasty' + // } + // } + // } + } + }, + 'international-villainous-zaurak': { + // Calypso connections + eth: { + eth: { + address: '0x9C0e8bC2B2D403299214c80081F93fAB5e10b593', + chains: { + 'skale-innocent-nasty': { + clone: true + }, + mainnet: { + clone: true, + hub: 'skale-innocent-nasty' + } + } + } + }, + erc20: { + skl: { + address: '0xFbbDF9aC97093b1E88aB79F7D0c296d9cc5eD0d0', + chains: { + 'skale-innocent-nasty': { + clone: true + }, + mainnet: { + hub: 'skale-innocent-nasty', + clone: true + } + } + }, + // usdc: { + // address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6', + // chains: { + // 'skale-innocent-nasty': { + // clone: true + // }, + // mainnet: { + // hub: 'skale-innocent-nasty', + // clone: true + // } + // } + // } + } + }, + 'skale-innocent-nasty': { + // Europa connections + eth: { + eth: { + address: '0xD2Aaa00700000000000000000000000000000000', + chains: { + mainnet: { + clone: true + }, + 'international-villainous-zaurak': { + wrapper: '0x321e1aa81B4c6CC3B8EFe3D9c0AD67E6eC949c2c' + } + } + } + }, + erc20: { + skl: { + address: '0xa101902B3119f4830292bb79ebAB56967229207B', + chains: { + mainnet: { + clone: true + }, + 'international-villainous-zaurak': { + wrapper: '0x51A1eD016633Afb00C25Eb404745C61D8c16BBd4' + } + } + }, + // usdc: { + // address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33', + // chains: { + // mainnet: { + // clone: true + // }, + // 'international-villainous-zaurak': { + // wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0' + // } + // } + // } + } + } + }, + theme: { + mode: 'dark', + vibrant: true + } +} diff --git a/config/staging.ts b/config/staging.ts index e55117b..04787d1 100644 --- a/config/staging.ts +++ b/config/staging.ts @@ -10,6 +10,7 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { 'staging-legal-crazy-castor', // Europa 'staging-utter-unripe-menkar', // Calypso 'staging-faint-slimy-achird', // Nebula + 'staging-fast-active-bellatrix', // Chaos Testnet 'staging-perfect-parallel-gacrux', // Test Chain 1 'staging-severe-violet-wezen', // Test Chain 2 ], @@ -67,6 +68,12 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { name: 'Human Token', symbol: 'HMT', iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png' + }, + ubxs: { + name: 'UBXS Token', + symbol: 'UBXS', + decimals: '6', + iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/17242.png' } }, connections: { @@ -139,6 +146,15 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { hmt: { address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0', chains: {} + }, + ubxs: { + address: '0x5A4957cc54B21e1fa72BA549392f213030d34804', + chains: { + 'staging-legal-crazy-castor': {}, + 'staging-fast-active-bellatrix': { + hub: 'staging-legal-crazy-castor' + } + } } }, erc721meta: { @@ -201,6 +217,23 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { } } }, + 'staging-fast-active-bellatrix': { + // Chaos connections + erc20: { + ubxs: { + address: '0x1b54d4b074fed0cd6a0b5836fc82af13a7f9288a', + chains: { + mainnet: { + clone: true, + hub: 'staging-legal-crazy-castor' + }, + 'staging-legal-crazy-castor': { + clone: true + } + } + } + } + }, 'staging-faint-slimy-achird': { // Nebula connections // eth: { @@ -319,6 +352,17 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = { clone: true } } + }, + ubxs: { + address: '0x5A4957cc54B21e1fa72BA549392f213030d34804', + chains: { + mainnet: { + clone: true + }, + 'staging-fast-active-bellatrix': { + wrapper: '0x8e55e1Cc37ecA9636F4eF35874468876d52d623F' + } + } } } }, diff --git a/package.json b/package.json index 92a6077..0e09cdc 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@mdx-js/rollup": "^2.3.0", "@mui/icons-material": "^5.14.8", "@mui/material": "^5.14.5", - "@skalenetwork/metaport": "2.0.0-preview.6", + "@skalenetwork/metaport": "2.0.0-preview.8", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", "react": "^18.2.0", diff --git a/src/App.scss b/src/App.scss index e82f41e..dad65c1 100644 --- a/src/App.scss +++ b/src/App.scss @@ -272,6 +272,12 @@ body::-webkit-scrollbar { } } +.menuIconRi { + color: #a6a6a6; + width: 12pt !important; + height: 12pt !important; +} + .fullscreen-msg { display: flex; justify-content: center; diff --git a/src/Router.tsx b/src/Router.tsx index 7ec605d..bd8ab8e 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -1,6 +1,8 @@ import './App.scss'; -import { useState } from 'react' +import { useState, useEffect } from 'react' +import { Routes, Route } from "react-router-dom"; +import { useMetaportStore, PROXY_ENDPOINTS, MetaportState } from '@skalenetwork/metaport'; import Bridge from './components/Bridge'; import Faq from './components/Faq'; @@ -12,16 +14,30 @@ import Apps from './components/Apps'; import App from './components/App'; import History from './components/History'; import Portfolio from './components/Portfolio'; +import Admin from './components/Admin'; -import { useMetaportStore, PROXY_ENDPOINTS, MetaportState } from '@skalenetwork/metaport'; -import { Routes, Route } from "react-router-dom"; +import { getHistoryFromStorage, setHistoryToStorage } from './core/transferHistory' export default function Router() { const [schains, setSchains] = useState([]) + const mpc = useMetaportStore((state: MetaportState) => state.mpc) + const transfersHistory = useMetaportStore((state) => state.transfersHistory) + const setTransfersHistory = useMetaportStore((state) => state.setTransfersHistory) + const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork] + useEffect(() => { + setTransfersHistory(getHistoryFromStorage(mpc.config.skaleNetwork)) + }, []); + + useEffect(() => { + if (transfersHistory.length !== 0) { + setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork) + } + }, [transfersHistory]); + async function loadSchains() { let response = await fetch(`https://${endpoint}/files/chains.json`); let chainsJson = await response.json(); @@ -67,6 +83,10 @@ export default function Router() { } /> } /> + + } + /> + // // diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index 160fe39..3f5e72c 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -62,7 +62,7 @@ export default function SkDrawer() { - + diff --git a/src/components/AccountMenu.tsx b/src/components/AccountMenu.tsx index 60d34f3..f5bd253 100644 --- a/src/components/AccountMenu.tsx +++ b/src/components/AccountMenu.tsx @@ -14,7 +14,7 @@ import SignalCellularAltOutlinedIcon from '@mui/icons-material/SignalCellularAlt import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; import AccountCircleRoundedIcon from '@mui/icons-material/AccountCircleRounded'; -import { cls, styles, cmn } from '@skalenetwork/metaport'; +import { cls, styles, cmn, RainbowConnectButton } from '@skalenetwork/metaport'; export default function AccountMenu(props: any) { const [anchorEl, setAnchorEl] = React.useState(null); @@ -78,15 +78,19 @@ export default function AccountMenu(props: any) { transformOrigin={{ horizontal: 'right', vertical: 'top' }} anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }} > - - Account info - + + {({ openAccountModal }) => { + return { openAccountModal(); handleClose() }}> + Account info + + }} + Transfers history - + Assets overview diff --git a/src/components/Admin.tsx b/src/components/Admin.tsx new file mode 100644 index 0000000..0853444 --- /dev/null +++ b/src/components/Admin.tsx @@ -0,0 +1,53 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file Admin.tsx + * @copyright SKALE Labs 2023-Present +*/ + +import { useEffect } from 'react'; +import Container from '@mui/material/Container'; +import Stack from '@mui/material/Stack'; +import { useParams } from "react-router-dom"; + +import { cmn, cls, MetaportCore, getChainAlias } from '@skalenetwork/metaport'; + +export default function Admin(props: { + mpc: MetaportCore +}) { + let { name } = useParams(); + name = name ?? '' + const alias = getChainAlias(props.mpc.config.skaleNetwork, name) + + useEffect(() => { + }, []); + + return ( + +
+

Manage {alias}

+
+

+ Manage your SKALE Chain +

+
+
+
+
) +} \ No newline at end of file diff --git a/src/components/Bridge.tsx b/src/components/Bridge.tsx index 30fc7d8..c31622f 100644 --- a/src/components/Bridge.tsx +++ b/src/components/Bridge.tsx @@ -31,7 +31,7 @@ import GradeRoundedIcon from '@mui/icons-material/GradeRounded'; import Message from './Message'; import BridgeBody from './BridgeBody'; -import { CHAINS_META, cls, cmn, dataclasses, useMetaportStore } from '@skalenetwork/metaport'; +import { CHAINS_META, cls, cmn, dataclasses, useMetaportStore, SkPaper, interfaces, TransactionData } from '@skalenetwork/metaport'; interface TokenParams { @@ -65,6 +65,9 @@ export default function Bridge() { const tokens = useMetaportStore((state) => state.tokens) const setToken = useMetaportStore((state) => state.setToken) + const transactionsHistory = useMetaportStore((state) => state.transactionsHistory) + const setTransactionsHistory = useMetaportStore((state) => state.setTransactionsHistory) + function validChainName(chainName: string | null): boolean { if (!chainName) return false return mpc.config.chains.includes(chainName) @@ -77,7 +80,6 @@ export default function Bridge() { return !!(apps && apps[appName]) } - useEffect(() => { const params: any = { from: chainName1, @@ -103,7 +105,7 @@ export default function Bridge() { setAppName1(validAppName(from, fromApp) ? fromApp! : undefined!) setAppName2(validAppName(to, toApp) ? toApp! : undefined!) - if (keyname) setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }) + if (keyname) setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }) }, []) useEffect(() => { @@ -131,6 +133,19 @@ export default function Bridge() { icon={} /> + {transactionsHistory.length !== 0 ?
+

+ Completed transactions +

+ + {transactionsHistory.map((transactionData: interfaces.TransactionHistory) => ( + + ))} +
: null}
) diff --git a/src/components/ChainCard.tsx b/src/components/ChainCard.tsx index feb42d0..c252bdf 100644 --- a/src/components/ChainCard.tsx +++ b/src/components/ChainCard.tsx @@ -63,9 +63,7 @@ export default function ChainCard(props: {

{getChainAlias(props.skaleNetwork, props.schain[0])}

-
-
); } diff --git a/src/components/FaqAccordion/FaqAccordion.tsx b/src/components/FaqAccordion/FaqAccordion.tsx index 53b8929..aed1731 100644 --- a/src/components/FaqAccordion/FaqAccordion.tsx +++ b/src/components/FaqAccordion/FaqAccordion.tsx @@ -2,8 +2,8 @@ import * as React from 'react'; import Accordion from '@mui/material/Accordion'; import AccordionDetails from '@mui/material/AccordionDetails'; import AccordionSummary from '@mui/material/AccordionSummary'; -import Typography from '@mui/material/Typography'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; +import { cls, cmn } from '@skalenetwork/metaport' import { FAQ } from '../../core/constants'; @@ -24,14 +24,14 @@ export default function FaqAccordion() { aria-controls="panel1bh-content" id={"panel1bh-header-" + index} > - +

{question.question} - +

- +

{question.answer} - +

))} diff --git a/src/components/History.tsx b/src/components/History.tsx index 4960205..c1f6766 100644 --- a/src/components/History.tsx +++ b/src/components/History.tsx @@ -1,27 +1,74 @@ -import Container from '@mui/material/Container'; +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * @file History.tsx + * @copyright SKALE Labs 2023-Present +*/ + import Stack from '@mui/material/Stack'; -import { cmn, cls, TransactionsHistory, useCollapseStore, useMetaportStore } from '@skalenetwork/metaport'; -import { useEffect } from 'react'; +import Button from '@mui/material/Button' +import Container from '@mui/material/Container'; +import DeleteRoundedIcon from '@mui/icons-material/DeleteRounded' +import { cmn, cls, styles, History as TransfersHistory, useMetaportStore } from '@skalenetwork/metaport'; +import { setHistoryToStorage } from '../core/transferHistory' -export default function History() { - const setExpandedTH = useCollapseStore((state) => state.setExpandedTH) +export default function History() { + const mpc = useMetaportStore((state) => state.mpc) const transfersHistory = useMetaportStore((state) => state.transfersHistory) + const transactionsHistory = useMetaportStore((state) => state.transactionsHistory) + const clearTransactionsHistory = useMetaportStore((state) => state.clearTransactionsHistory) - useEffect(() => { - setExpandedTH(true) - }, []); + function clearTransferHistory() { + clearTransactionsHistory() + setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork) + } return ( -
+ {props.address.substring(0, 5) + + "..." + + props.address.substring(props.address.length - 3)} + + + + + + {({ openAccountModal }) => { + return ( + { + openAccountModal(); + handleClose(); + }} + > + Account info + + ); + }} + + + + Transfers history + + + + + Assets overview + + + + +
+ +
+
View on Etherscan
+
+ +
+
+
+
+ + ); } - - - diff --git a/src/components/Admin.tsx b/src/components/Admin.tsx index 0853444..34d3b91 100644 --- a/src/components/Admin.tsx +++ b/src/components/Admin.tsx @@ -19,35 +19,33 @@ /** * @file Admin.tsx * @copyright SKALE Labs 2023-Present -*/ + */ -import { useEffect } from 'react'; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; +import { useEffect } from "react"; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; import { useParams } from "react-router-dom"; -import { cmn, cls, MetaportCore, getChainAlias } from '@skalenetwork/metaport'; +import { cmn, cls, MetaportCore, getChainAlias } from "@skalenetwork/metaport"; -export default function Admin(props: { - mpc: MetaportCore -}) { - let { name } = useParams(); - name = name ?? '' - const alias = getChainAlias(props.mpc.config.skaleNetwork, name) +export default function Admin(props: { mpc: MetaportCore }) { + let { name } = useParams(); + name = name ?? ""; + const alias = getChainAlias(props.mpc.config.skaleNetwork, name); - useEffect(() => { - }, []); + useEffect(() => {}, []); - return ( - -
-

Manage {alias}

-
-

- Manage your SKALE Chain -

-
-
-
-
) -} \ No newline at end of file + return ( + + +
+

Manage {alias}

+
+

+ Manage your SKALE Chain +

+
+
+
+ ); +} diff --git a/src/components/App.tsx b/src/components/App.tsx index a338639..4fe0070 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,17 +1,17 @@ -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; -import { cmn, cls } from '@skalenetwork/metaport'; +import { cmn, cls } from "@skalenetwork/metaport"; export default function App() { - return ( - -
-

App

-
-

- Test app -

-
-
) -} \ No newline at end of file + return ( + + +
+

App

+
+

Test app

+
+
+ ); +} diff --git a/src/components/Apps.tsx b/src/components/Apps.tsx index 6699b73..927686d 100644 --- a/src/components/Apps.tsx +++ b/src/components/Apps.tsx @@ -1,16 +1,18 @@ -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import { cmn, cls } from '@skalenetwork/metaport'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; +import { cmn, cls } from "@skalenetwork/metaport"; export default function Apps() { - return ( - -
-

Apps

-
-

- Apps on SKALE Network -

-
-
) -} \ No newline at end of file + return ( + + +
+

Apps

+
+

+ Apps on SKALE Network +

+
+
+ ); +} diff --git a/src/components/Bridge.tsx b/src/components/Bridge.tsx index c31622f..946a424 100644 --- a/src/components/Bridge.tsx +++ b/src/components/Bridge.tsx @@ -19,65 +19,80 @@ /** * @file Bridge.tsx * @copyright SKALE Labs 2023-Present -*/ + */ -import { useEffect, useState } from 'react'; +import { useEffect, useState } from "react"; import { useSearchParams } from "react-router-dom"; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import GradeRoundedIcon from '@mui/icons-material/GradeRounded'; - -import Message from './Message'; -import BridgeBody from './BridgeBody'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; +import GradeRoundedIcon from "@mui/icons-material/GradeRounded"; -import { CHAINS_META, cls, cmn, dataclasses, useMetaportStore, SkPaper, interfaces, TransactionData } from '@skalenetwork/metaport'; +import Message from "./Message"; +import BridgeBody from "./BridgeBody"; +import { + CHAINS_META, + cls, + cmn, + dataclasses, + useMetaportStore, + SkPaper, + interfaces, + TransactionData, +} from "@skalenetwork/metaport"; interface TokenParams { - keyname: string | null - type: dataclasses.TokenType | null + keyname: string | null; + type: dataclasses.TokenType | null; } function getEmptyTokenParams(): TokenParams { - return { keyname: null, type: null } + return { keyname: null, type: null }; } - export default function Bridge() { - - let [searchParams, setSearchParams] = useSearchParams() - const [tokenParams, setTokenParams] = useState(getEmptyTokenParams()) - - const mpc = useMetaportStore((state) => state.mpc) - - const chainName1 = useMetaportStore((state) => state.chainName1) - const chainName2 = useMetaportStore((state) => state.chainName2) - const setChainName1 = useMetaportStore((state) => state.setChainName1) - const setChainName2 = useMetaportStore((state) => state.setChainName2) - - const appName1 = useMetaportStore((state) => state.appName1) - const appName2 = useMetaportStore((state) => state.appName2) - const setAppName1 = useMetaportStore((state) => state.setAppName1) - const setAppName2 = useMetaportStore((state) => state.setAppName2) - - const token = useMetaportStore((state) => state.token) - const tokens = useMetaportStore((state) => state.tokens) - const setToken = useMetaportStore((state) => state.setToken) - - const transactionsHistory = useMetaportStore((state) => state.transactionsHistory) - const setTransactionsHistory = useMetaportStore((state) => state.setTransactionsHistory) + let [searchParams, setSearchParams] = useSearchParams(); + const [tokenParams, setTokenParams] = useState( + getEmptyTokenParams(), + ); + + const mpc = useMetaportStore((state) => state.mpc); + + const chainName1 = useMetaportStore((state) => state.chainName1); + const chainName2 = useMetaportStore((state) => state.chainName2); + const setChainName1 = useMetaportStore((state) => state.setChainName1); + const setChainName2 = useMetaportStore((state) => state.setChainName2); + + const appName1 = useMetaportStore((state) => state.appName1); + const appName2 = useMetaportStore((state) => state.appName2); + const setAppName1 = useMetaportStore((state) => state.setAppName1); + const setAppName2 = useMetaportStore((state) => state.setAppName2); + + const token = useMetaportStore((state) => state.token); + const tokens = useMetaportStore((state) => state.tokens); + const setToken = useMetaportStore((state) => state.setToken); + + const transactionsHistory = useMetaportStore( + (state) => state.transactionsHistory, + ); + const setTransactionsHistory = useMetaportStore( + (state) => state.setTransactionsHistory, + ); function validChainName(chainName: string | null): boolean { - if (!chainName) return false - return mpc.config.chains.includes(chainName) + if (!chainName) return false; + return mpc.config.chains.includes(chainName); } - function validAppName(chainName: string | null, appName: string | null): boolean { - if (!chainName || !appName) return false + function validAppName( + chainName: string | null, + appName: string | null, + ): boolean { + if (!chainName || !appName) return false; const chainMeta = CHAINS_META[mpc.config.skaleNetwork]; - const apps = chainMeta && chainMeta[chainName] && chainMeta[chainName].apps - return !!(apps && apps[appName]) + const apps = chainMeta && chainMeta[chainName] && chainMeta[chainName].apps; + return !!(apps && apps[appName]); } useEffect(() => { @@ -85,40 +100,46 @@ export default function Bridge() { from: chainName1, to: chainName2, token: token?.keyname, - type: token?.type - } - if (appName1) params['from-app'] = appName1 - if (appName2) params['to-app'] = appName2 - setSearchParams(params) - }, [chainName1, chainName2, appName1, appName2, token]) + type: token?.type, + }; + if (appName1) params["from-app"] = appName1; + if (appName2) params["to-app"] = appName2; + setSearchParams(params); + }, [chainName1, chainName2, appName1, appName2, token]); useEffect(() => { - const from = searchParams.get('from') - const to = searchParams.get('to') - const fromApp = searchParams.get('from-app') - const toApp = searchParams.get('to-app') - const keyname = searchParams.get('token') - const type = searchParams.get('type') - - setChainName1(validChainName(from) ? from! : mpc.config.chains[0]) - setChainName2(validChainName(to) ? to! : mpc.config.chains[1]) - setAppName1(validAppName(from, fromApp) ? fromApp! : undefined!) - setAppName2(validAppName(to, toApp) ? toApp! : undefined!) - - if (keyname) setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }) - }, []) + const from = searchParams.get("from"); + const to = searchParams.get("to"); + const fromApp = searchParams.get("from-app"); + const toApp = searchParams.get("to-app"); + const keyname = searchParams.get("token"); + const type = searchParams.get("type"); + + setChainName1(validChainName(from) ? from! : mpc.config.chains[0]); + setChainName2(validChainName(to) ? to! : mpc.config.chains[1]); + setAppName1(validAppName(from, fromApp) ? fromApp! : undefined!); + setAppName2(validAppName(to, toApp) ? toApp! : undefined!); + + if (keyname) + setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }); + }, []); useEffect(() => { - if (tokens && tokenParams.type && tokenParams.keyname && tokens[tokenParams.type] && - tokens[tokenParams.type][tokenParams.keyname]) { - setToken(tokens[tokenParams.type][tokenParams.keyname]) - setTokenParams(getEmptyTokenParams()) - return + if ( + tokens && + tokenParams.type && + tokenParams.keyname && + tokens[tokenParams.type] && + tokens[tokenParams.type][tokenParams.keyname] + ) { + setToken(tokens[tokenParams.type][tokenParams.keyname]); + setTokenParams(getEmptyTokenParams()); + return; } if (tokens && tokens.erc20 && Object.values(tokens.erc20)[0] && !token) { - setToken(Object.values(tokens.erc20)[0]) + setToken(Object.values(tokens.erc20)[0]); } - }, [tokenParams, tokens]) + }, [tokenParams, tokens]); return ( @@ -129,24 +150,39 @@ export default function Bridge() {
} /> - {transactionsHistory.length !== 0 ?
-

- Completed transactions -

- - {transactionsHistory.map((transactionData: interfaces.TransactionHistory) => ( - - ))} -
: null} + {transactionsHistory.length !== 0 ? ( +
+

+ Completed transactions +

+ + {transactionsHistory.map( + (transactionData: interfaces.TransactionHistory) => ( + + ), + )} + +
+ ) : null}
-
) -} \ No newline at end of file + + ); +} diff --git a/src/components/BridgeBody.tsx b/src/components/BridgeBody.tsx index 62de5b3..bda74d7 100644 --- a/src/components/BridgeBody.tsx +++ b/src/components/BridgeBody.tsx @@ -19,12 +19,12 @@ /** * @file Portfolio.tsx * @copyright SKALE Labs 2023-Present -*/ + */ -import { useEffect } from 'react'; +import { useEffect } from "react"; -import Collapse from '@mui/material/Collapse'; -import { MAINNET_CHAIN_NAME } from '../core/constants' +import Collapse from "@mui/material/Collapse"; +import { MAINNET_CHAIN_NAME } from "../core/constants"; import { SkPaper, @@ -47,54 +47,70 @@ import { CommunityPool, SFuelWarning, WrappedTokens, - chainBg -} from '@skalenetwork/metaport'; - + chainBg, +} from "@skalenetwork/metaport"; export default function Main() { - const expandedFrom = useCollapseStore((state) => state.expandedFrom) - const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom) + const expandedFrom = useCollapseStore((state) => state.expandedFrom); + const setExpandedFrom = useCollapseStore((state) => state.setExpandedFrom); - const expandedTo = useCollapseStore((state) => state.expandedTo) - const setExpandedTo = useCollapseStore((state) => state.setExpandedTo) + const expandedTo = useCollapseStore((state) => state.expandedTo); + const setExpandedTo = useCollapseStore((state) => state.setExpandedTo); - const expandedCP = useCollapseStore((state) => state.expandedCP) - const expandedWT = useCollapseStore((state) => state.expandedWT) - const expandedTokens = useCollapseStore((state) => state.expandedTokens) - const expandedTH = useCollapseStore((state) => state.expandedTH) + const expandedCP = useCollapseStore((state) => state.expandedCP); + const expandedWT = useCollapseStore((state) => state.expandedWT); + const expandedTokens = useCollapseStore((state) => state.expandedTokens); + const expandedTH = useCollapseStore((state) => state.expandedTH); - const destChains = useMetaportStore((state) => state.destChains) + const destChains = useMetaportStore((state) => state.destChains); - const token = useMetaportStore((state) => state.token) + const token = useMetaportStore((state) => state.token); - const chainName1 = useMetaportStore((state) => state.chainName1) - const chainName2 = useMetaportStore((state) => state.chainName2) - const setChainName1 = useMetaportStore((state) => state.setChainName1) - const setChainName2 = useMetaportStore((state) => state.setChainName2) + const chainName1 = useMetaportStore((state) => state.chainName1); + const chainName2 = useMetaportStore((state) => state.chainName2); + const setChainName1 = useMetaportStore((state) => state.setChainName1); + const setChainName2 = useMetaportStore((state) => state.setChainName2); - const appName1 = useMetaportStore((state) => state.appName1) - const appName2 = useMetaportStore((state) => state.appName2) - const setAppName1 = useMetaportStore((state) => state.setAppName1) - const setAppName2 = useMetaportStore((state) => state.setAppName2) + const appName1 = useMetaportStore((state) => state.appName1); + const appName2 = useMetaportStore((state) => state.appName2); + const setAppName1 = useMetaportStore((state) => state.setAppName1); + const setAppName2 = useMetaportStore((state) => state.setAppName2); - const mpc = useMetaportStore((state) => state.mpc) - const tokenBalances = useMetaportStore((state) => state.tokenBalances) + const mpc = useMetaportStore((state) => state.mpc); + const tokenBalances = useMetaportStore((state) => state.tokenBalances); - const errorMessage = useMetaportStore((state) => state.errorMessage) + const errorMessage = useMetaportStore((state) => state.errorMessage); - const transferInProgress = useMetaportStore((state) => state.transferInProgress) + const transferInProgress = useMetaportStore( + (state) => state.transferInProgress, + ); - const sFuelOk = useSFuelStore((state) => state.sFuelOk) + const sFuelOk = useSFuelStore((state) => state.sFuelOk); - const theme = useUIStore((state) => state.theme) + const theme = useUIStore((state) => state.theme); - const { address } = useWagmiAccount() + const { address } = useWagmiAccount(); - const showFrom = !expandedTo && !expandedTokens && !errorMessage && !expandedCP && !expandedTH + const showFrom = + !expandedTo && + !expandedTokens && + !errorMessage && + !expandedCP && + !expandedTH; const showTo = - !expandedFrom && !expandedTokens && !errorMessage && !expandedCP && !expandedWT && !expandedTH + !expandedFrom && + !expandedTokens && + !errorMessage && + !expandedCP && + !expandedWT && + !expandedTH; const showInput = - !expandedFrom && !expandedTo && !errorMessage && !expandedCP && !expandedWT && !expandedTH + !expandedFrom && + !expandedTo && + !errorMessage && + !expandedCP && + !expandedWT && + !expandedTH; const showSwitch = !expandedFrom && !expandedTo && @@ -102,7 +118,7 @@ export default function Main() { !errorMessage && !expandedCP && !expandedWT && - !expandedTH + !expandedTH; const showStepper = !expandedFrom && !expandedTo && @@ -112,14 +128,14 @@ export default function Main() { sFuelOk && !expandedWT && !expandedTH && - !!address + !!address; const showCP = !expandedFrom && !expandedTo && !expandedTokens && !expandedTH && chainName2 === MAINNET_CHAIN_NAME && - !expandedWT + !expandedWT; const showWT = !expandedFrom && !expandedTo && @@ -128,12 +144,16 @@ export default function Main() { !expandedCP && !expandedTH && sFuelOk && - !!address - const showError = !!errorMessage + !!address; + const showError = !!errorMessage; - const grayBg = 'rgb(136 135 135 / 15%)' - const sourceBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName1, appName1) : grayBg - const destBg = theme.vibrant ? chainBg(mpc.config.skaleNetwork, chainName2, appName2) : grayBg + const grayBg = "rgb(136 135 135 / 15%)"; + const sourceBg = theme.vibrant + ? chainBg(mpc.config.skaleNetwork, chainName1, appName1) + : grayBg; + const destBg = theme.vibrant + ? chainBg(mpc.config.skaleNetwork, chainName2, appName2) + : grayBg; return (
@@ -143,12 +163,25 @@ export default function Main() {
-

From

- {token ? : null} +

+ From +

+ {token ? ( + + ) : null}
@@ -174,14 +207,25 @@ export default function Main() {
- +
-

To

+

+ To +

@@ -211,15 +255,15 @@ export default function Main() {
- + {!address ? : null} - + - -
) -} \ No newline at end of file +
-

History ({transfersHistory.length})

+
+
+

+ History ({transfersHistory.length + transactionsHistory.length}) +

+

+ SKALE Bridge transfers history +

+
+
+
+
+ +
+ {transfersHistory.length !== 0 ? :

+ No past transfers found +

}
-

- SKALE Bridge transfers history -

- ) } \ No newline at end of file diff --git a/src/core/transferHistory.ts b/src/core/transferHistory.ts new file mode 100644 index 0000000..5b8332a --- /dev/null +++ b/src/core/transferHistory.ts @@ -0,0 +1,50 @@ +/** + * @license + * SKALE bridge-ui + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +/** + * @file transferHistory.ts + * @copyright SKALE Labs 2023-Present +*/ + +import { interfaces } from "@skalenetwork/metaport"; + + +function getKeyName(skaleNetwork: interfaces.SkaleNetwork): string { + return `br__transfersHistory_${skaleNetwork}`; +} + + +export function getHistoryFromStorage( + skaleNetwork: interfaces.SkaleNetwork +): interfaces.TransferHistory[] { + const br__transfersHistory = localStorage.getItem(getKeyName(skaleNetwork)); + if (!br__transfersHistory) return []; + return JSON.parse(br__transfersHistory)['data']; +} + + +export function setHistoryToStorage( + transferHistory: interfaces.TransferHistory[], + skaleNetwork: interfaces.SkaleNetwork +): void { + localStorage.setItem(getKeyName(skaleNetwork), JSON.stringify({ data: transferHistory })); +} + + +export function clearTransferHistory(skaleNetwork: interfaces.SkaleNetwork): void { + localStorage.removeItem(getKeyName(skaleNetwork)); +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 1226274..0000000 --- a/yarn.lock +++ /dev/null @@ -1,5295 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adraffy/ens-normalize@1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" - integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== - -"@adraffy/ens-normalize@1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" - integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" - integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== - -"@babel/core@^7.22.9": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.15.tgz#15d4fd03f478a459015a4b94cfbb3bd42c48d2f4" - integrity sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.22.15" - "@babel/helpers" "^7.22.15" - "@babel/parser" "^7.22.15" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.15" - "@babel/types" "^7.22.15" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.15.tgz#1564189c7ec94cb8f77b5e8a90c4d200d21b2339" - integrity sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA== - dependencies: - "@babel/types" "^7.22.15" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz#40ad2f6950f143900e9c1c72363c0b431a606082" - integrity sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.15" - -"@babel/helper-plugin-utils@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz#601fa28e4cc06786c18912dca138cec73b882044" - integrity sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ== - -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== - -"@babel/helpers@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.15.tgz#f09c3df31e86e3ea0b7ff7556d85cdebd47ea6f1" - integrity sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/highlight@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.13.tgz#9cda839e5d3be9ca9e8c26b6dd69e7548f0cbf16" - integrity sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.15.tgz#d34592bfe288a32e741aa0663dbc4829fcd55160" - integrity sha512-RWmQ/sklUN9BvGGpCDgSubhHWfAx24XDTDObup4ffvxaYsptOg2P3KG0j+1eWKLxpkX0j0uHxmpq2Z1SP/VhxA== - -"@babel/plugin-transform-react-jsx-self@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" - integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-source@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" - integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.22.10", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" - integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.15.tgz#75be4d2d6e216e880e93017f4e2389aeb77ef2d9" - integrity sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" - integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.15" - to-fast-properties "^2.0.0" - -"@brillout/libassert@^0.5.8": - version "0.5.8" - resolved "https://registry.yarnpkg.com/@brillout/libassert/-/libassert-0.5.8.tgz#d0f78e5c0ee53aaae8c2aa675f0b0dfb544e32b0" - integrity sha512-u/fu+jTRUdNdbLONGq1plCfh+k2/XjSbGVTfnF3rHnSPZd+ABWp0XinR5ifrFkyGOzMbzv8IiQ44lZ4U6ZGrGA== - -"@coinbase/wallet-sdk@^3.6.6": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541" - integrity sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg== - dependencies: - "@metamask/safe-event-emitter" "2.0.0" - "@solana/web3.js" "^1.70.1" - bind-decorator "^1.0.11" - bn.js "^5.1.1" - buffer "^6.0.3" - clsx "^1.1.0" - eth-block-tracker "6.1.0" - eth-json-rpc-filters "5.1.0" - eth-rpc-errors "4.0.2" - json-rpc-engine "6.1.0" - keccak "^3.0.1" - preact "^10.5.9" - qs "^6.10.3" - rxjs "^6.6.3" - sha.js "^2.4.11" - stream-browserify "^3.0.0" - util "^0.12.4" - -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - -"@emotion/is-prop-valid@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" - integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== - dependencies: - "@emotion/memoize" "^0.8.1" - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/react@^11.11.1": - version "11.11.1" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" - integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.2" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.2.tgz#017a6e4c9b8a803bd576ff3d52a0ea6fa5a62b51" - integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/styled@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" - integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/is-prop-valid" "^1.2.1" - "@emotion/serialize" "^1.1.2" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@esbuild/android-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.17.19": - version "0.17.19" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.0.tgz#11195513186f68d42fbf449f9a7136b2c0c92005" - integrity sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg== - -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.48.0": - version "8.48.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" - integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== - -"@floating-ui/core@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.4.1.tgz#0d633f4b76052668afb932492ac452f7ebe97f17" - integrity sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ== - dependencies: - "@floating-ui/utils" "^0.1.1" - -"@floating-ui/dom@^1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.1.tgz#88b70defd002fe851f17b4a25efb2d3c04d7a8d7" - integrity sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw== - dependencies: - "@floating-ui/core" "^1.4.1" - "@floating-ui/utils" "^0.1.1" - -"@floating-ui/react-dom@^2.0.1": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" - integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== - dependencies: - "@floating-ui/dom" "^1.5.1" - -"@floating-ui/utils@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.1.tgz#1a5b1959a528e374e8037c4396c3e825d6cf4a83" - integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw== - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@ledgerhq/connect-kit-loader@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.2.tgz#d550e3c1f046e4c796f32a75324b03606b7e226a" - integrity sha512-mscwGroSJQrCTjtNGBu+18FQbZYA4+q6Tyx6K7CXHl6AwgZKbWfZYdgP2F+fyZcRUdGRsMX8QtvU61VcGGtO1A== - -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" - integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== - -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" - integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" - -"@mdx-js/mdx@^2.0.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.3.0.tgz#d65d8c3c28f3f46bb0e7cb3bf7613b39980671a9" - integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/mdx" "^2.0.0" - estree-util-build-jsx "^2.0.0" - estree-util-is-identifier-name "^2.0.0" - estree-util-to-js "^1.1.0" - estree-walker "^3.0.0" - hast-util-to-estree "^2.0.0" - markdown-extensions "^1.0.0" - periscopic "^3.0.0" - remark-mdx "^2.0.0" - remark-parse "^10.0.0" - remark-rehype "^10.0.0" - unified "^10.0.0" - unist-util-position-from-estree "^1.0.0" - unist-util-stringify-position "^3.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - -"@mdx-js/rollup@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@mdx-js/rollup/-/rollup-2.3.0.tgz#9dbdfc64e3ce4a1af041da963e1cb6f2b6450cbf" - integrity sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA== - dependencies: - "@mdx-js/mdx" "^2.0.0" - "@rollup/pluginutils" "^5.0.0" - source-map "^0.7.0" - vfile "^5.0.0" - -"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@metamask/utils@^3.0.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.6.0.tgz#b218b969a05ca7a8093b5d1670f6625061de707d" - integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== - dependencies: - "@types/debug" "^4.1.7" - debug "^4.3.4" - semver "^7.3.8" - superstruct "^1.0.3" - -"@motionone/animation@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" - integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== - dependencies: - "@motionone/easing" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/dom@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.2.tgz#0c44df8ee3d1cfc50ee11d27050b27824355a61a" - integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/generators" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" - integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== - dependencies: - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/generators@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" - integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== - dependencies: - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/svelte@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.2.tgz#0b37c3b12927814d31d24941d1ca0ff49981b444" - integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q== - dependencies: - "@motionone/dom" "^10.16.2" - tslib "^2.3.1" - -"@motionone/types@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" - integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== - -"@motionone/utils@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" - integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== - dependencies: - "@motionone/types" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/vue@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.2.tgz#faf13afc27620a2df870c71c58a04ee8de8dea65" - integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw== - dependencies: - "@motionone/dom" "^10.16.2" - tslib "^2.3.1" - -"@mui/base@5.0.0-beta.14": - version "5.0.0-beta.14" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.14.tgz#315b67b0fd231cbd47e8d54f8f92be23122e4d66" - integrity sha512-Je/9JzzYObsuLCIClgE8XvXNFb55IEz8n2NtStUfASfNiVrwiR8t6VVFFuhofehkyTIN34tq1qbBaOjCnOovBw== - dependencies: - "@babel/runtime" "^7.22.10" - "@emotion/is-prop-valid" "^1.2.1" - "@floating-ui/react-dom" "^2.0.1" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.8" - "@popperjs/core" "^2.11.8" - clsx "^2.0.0" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/core-downloads-tracker@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.8.tgz#9117bd29e94e96dc376f93a28e024666a2456696" - integrity sha512-8V7ZOC/lKkM03TRHqaThQFIq6bWPnj7L/ZWPh0ymldYFFyh8XdF0ywTgafsofDNYT4StlNknbaTjVHBma3SNjQ== - -"@mui/icons-material@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.8.tgz#e07418e792050eae611afd74f810ed1c234be687" - integrity sha512-YXcReLydTuNWb1/PxduAH5LgnHNH6spSQBaA0JOz9HD4J+vwst0IanAQgsXy9KKCJSjCsHywE3DB8X+w/b4eeQ== - dependencies: - "@babel/runtime" "^7.22.10" - -"@mui/lab@^5.0.0-alpha.143": - version "5.0.0-alpha.143" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.143.tgz#0fef89f8780f819a28d7f7e62383ab964d121ae2" - integrity sha512-2lpzJCSyrb0yNhxzKK2G25w9+Tk+vjlmjgAXh+j8NS2fyRD7F992DuChRqNaoZmg1aoAbFli6qZh6XJE/5cymA== - dependencies: - "@babel/runtime" "^7.22.10" - "@mui/base" "5.0.0-beta.14" - "@mui/system" "^5.14.8" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.8" - "@mui/x-tree-view" "https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view" - clsx "^2.0.0" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/material@^5.14.5", "@mui/material@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.8.tgz#1cad40f106f7c983639376589c3f21485fb1d166" - integrity sha512-fqvDGGF1pXwOOL/f0Gw+KHo/67hasRpf2ApTIJkbuONOk9AUb2jnYMEqCWmL2sUcbbE3ShMbHl8N7HPSsRv1/A== - dependencies: - "@babel/runtime" "^7.22.10" - "@mui/base" "5.0.0-beta.14" - "@mui/core-downloads-tracker" "^5.14.8" - "@mui/system" "^5.14.8" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.8" - "@types/react-transition-group" "^4.4.6" - clsx "^2.0.0" - csstype "^3.1.2" - prop-types "^15.8.1" - react-is "^18.2.0" - react-transition-group "^4.4.5" - -"@mui/private-theming@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.8.tgz#8e224cd10c531d12b871dc59b1f9376028dd13bb" - integrity sha512-iBzpcl3Mh92XaYpYPdgzzRxNGkjpoDz8rf8/q5m+EBPowFEHV+CCS9hC0Q2pOKLW3VFFikA7w/GHt7n++40JGQ== - dependencies: - "@babel/runtime" "^7.22.10" - "@mui/utils" "^5.14.8" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.14.8.tgz#b7a4d5dc6cbe3ecaa5af5189eb5ad90a62a255eb" - integrity sha512-LGwOav/Y40PZWZ2yDk4beUoRlc57Vg+Vpxi9V9BBtT2ESAucCgFobkt+T8eVLMWF9huUou5pwKgLSU5pF90hBg== - dependencies: - "@babel/runtime" "^7.22.10" - "@emotion/cache" "^11.11.0" - csstype "^3.1.2" - prop-types "^15.8.1" - -"@mui/system@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.8.tgz#1ca201b948310083e670352bae2d7963ad6f971e" - integrity sha512-Dxnasv7Pj5hYe4ZZFKJZu4ufKm6cxpitWt3A+qMPps22YhqyeEqgDBq/HsAB3GOjqDP40fTAvQvS/Hguf4SJuw== - dependencies: - "@babel/runtime" "^7.22.10" - "@mui/private-theming" "^5.14.8" - "@mui/styled-engine" "^5.14.8" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.8" - clsx "^2.0.0" - csstype "^3.1.2" - prop-types "^15.8.1" - -"@mui/types@^7.2.4": - version "7.2.4" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" - integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== - -"@mui/utils@^5.13.7", "@mui/utils@^5.14.8": - version "5.14.8" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.8.tgz#e1737d5fcd54aa413d6b1aaea3ea670af2919402" - integrity sha512-1Ls2FfyY2yVSz9NEqedh3J8JAbbZAnUWkOWLE2f4/Hc4T5UWHMfzBLLrCqExfqyfyU+uXYJPGeNIsky6f8Gh5Q== - dependencies: - "@babel/runtime" "^7.22.10" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^18.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/x-tree-view@https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view": - version "6.0.0-alpha.0" - resolved "https://pkg.csb.dev/mui/mui-x/commit/1f23b33d/@mui/x-tree-view#93cbc61c818ed2d6c40554cdbada969f7dcbaab1" - dependencies: - "@babel/runtime" "^7.22.6" - "@mui/utils" "^5.13.7" - "@types/react-transition-group" "^4.4.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-transition-group "^4.4.5" - -"@noble/curves@1.2.0", "@noble/curves@^1.0.0", "@noble/curves@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - -"@noble/hashes@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" - integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== - -"@noble/hashes@1.3.2", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - -"@noble/secp256k1@1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@rainbow-me/rainbowkit@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-1.0.11.tgz#5d03a8b1f8b8d7f8b3dee14dae378574ea3e6f8b" - integrity sha512-+cm6+WUPG9iPgkfJKbvlowcrSHu266Zk20LVRsYLcmb6v29gVMHcWQvyI4T6EVC9TxNjnyq/jIlen++uiUBmmQ== - dependencies: - "@vanilla-extract/css" "1.9.1" - "@vanilla-extract/dynamic" "2.0.2" - "@vanilla-extract/sprinkles" "1.5.0" - clsx "1.1.1" - qrcode "1.5.0" - react-remove-scroll "2.5.4" - -"@remix-run/router@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.8.0.tgz#e848d2f669f601544df15ce2a313955e4bf0bafc" - integrity sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg== - -"@rollup/pluginutils@^5.0.0": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.4.tgz#74f808f9053d33bafec0cc98e7b835c9667d32ba" - integrity sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@safe-global/safe-apps-provider@^0.17.1": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.17.1.tgz#72df2a66be5343940ed505efe594ed3b0f2f7015" - integrity sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ== - dependencies: - "@safe-global/safe-apps-sdk" "8.0.0" - events "^3.3.0" - -"@safe-global/safe-apps-sdk@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz#9bdfe0e0d85e1b2d279bb840f40c4b930aaf8bc1" - integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - viem "^1.0.0" - -"@safe-global/safe-apps-sdk@^8.0.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz#d1d0c69cd2bf4eef8a79c5d677d16971926aa64a" - integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - viem "^1.0.0" - -"@safe-global/safe-gateway-typescript-sdk@^3.5.3": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.10.0.tgz#a252ac5a61487d7785c44f1ed7e899ccd5aa9038" - integrity sha512-nhWjFRRgrGz4uZbyQ3Hgm4si1AixCWlnvi5WUCq/+V+e8EoA2Apj9xJEt8zzXvtELlddFqkH2sfTFy9LIjGXKg== - dependencies: - cross-fetch "^3.1.5" - -"@scure/base@~1.1.0", "@scure/base@~1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== - -"@scure/bip32@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" - integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== - dependencies: - "@noble/curves" "~1.2.0" - "@noble/hashes" "~1.3.2" - "@scure/base" "~1.1.2" - -"@scure/bip39@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" - integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@skalenetwork/ima-js@2.0.0-develop.3": - version "2.0.0-develop.3" - resolved "https://registry.yarnpkg.com/@skalenetwork/ima-js/-/ima-js-2.0.0-develop.3.tgz#8f641503fa798f0f433241d4c1c523f05d7d35df" - integrity sha512-EcgOwovc9Xom+F82tRPv4Mta+edEVC12O1DDnjHS5erU8JCDFi8kkVxomZnhADg3QKSd5H8DltEsiz8ZQfRKsQ== - dependencies: - debug "^4.3.4" - ethers "6.6.2" - -"@skalenetwork/metaport@../metaport-rp": - version "2.0.0" - dependencies: - "@emotion/react" "^11.11.1" - "@emotion/styled" "^11.11.0" - "@mui/icons-material" "^5.14.8" - "@mui/lab" "^5.0.0-alpha.143" - "@mui/material" "^5.14.8" - "@rainbow-me/rainbowkit" "^1.0.11" - "@skalenetwork/ima-js" "2.0.0-develop.3" - coingecko-api-v3 "^0.0.29" - react-jazzicon "^1.0.4" - viem "^1.10.8" - wagmi "^1.4.1" - zustand "^4.4.1" - -"@solana/buffer-layout@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/web3.js@^1.70.1": - version "1.78.4" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.78.4.tgz#e8ca9abe4ec2af5fc540c1d272efee24aaffedb3" - integrity sha512-up5VG1dK+GPhykmuMIozJZBbVqpm77vbOG6/r5dS7NBGZonwHfTLdBbsYc3rjmaQ4DpCXUa3tUc4RZHRORvZrw== - dependencies: - "@babel/runtime" "^7.22.6" - "@noble/curves" "^1.0.0" - "@noble/hashes" "^1.3.1" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.3.0" - bigint-buffer "^1.1.5" - bn.js "^5.2.1" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.6.12" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" - integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== - -"@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== - dependencies: - "@stablelib/int" "^1.0.1" - -"@stablelib/bytes@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" - integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== - -"@stablelib/chacha20poly1305@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" - integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== - dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/constant-time@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" - integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== - -"@stablelib/ed25519@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" - integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== - dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hash@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" - integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== - -"@stablelib/hkdf@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" - integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== - dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hmac@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" - integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== - -"@stablelib/keyagreement@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" - integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== - dependencies: - "@stablelib/bytes" "^1.0.1" - -"@stablelib/poly1305@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" - integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha256@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha512@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" - integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== - -"@stablelib/x25519@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" - integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== - dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - -"@tanstack/query-core@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.33.0.tgz#7756da9a75a424e521622b1d84eb55b7a2b33715" - integrity sha512-qYu73ptvnzRh6se2nyBIDHGBQvPY1XXl3yR769B7B6mIDD7s+EZhdlWHQ67JI6UOTFRaI7wupnTnwJ3gE0Mr/g== - -"@tanstack/query-persist-client-core@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.33.0.tgz#38bddb653cd61fa7303039e6d13dd5f39c38d0e0" - integrity sha512-3P16+2JjcUU5CHi10jJuwd0ZQYvQtSuzLvCUCjVuAnj3GZjfSso1v8t6WAObAr9RPuIC6vDXeOQ3mr07EF/NxQ== - dependencies: - "@tanstack/query-core" "4.33.0" - -"@tanstack/query-sync-storage-persister@^4.27.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.33.0.tgz#9f821335db7c08177211fe151a0ffd76f0b1f4e0" - integrity sha512-V6igMcdEOXPRpvmNFQ6I/iJaw9NhxWy7x8PWamm2cgSsLi8bHaDvUVuWkZm+ikI47QjoCUk7qll/82JYLaH+pw== - dependencies: - "@tanstack/query-persist-client-core" "4.33.0" - -"@tanstack/react-query-persist-client@^4.28.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.33.0.tgz#ec37f43837c35d3f99738df49832b265e2723112" - integrity sha512-B3q0r1tqTTSkd9vctyqFj28xdGZJ+Dnr/7H05Ta1JF1w7EauVQl8ILrmXADecwvILnr1xoZO6lvi2W+mZxMinw== - dependencies: - "@tanstack/query-persist-client-core" "4.33.0" - -"@tanstack/react-query@^4.28.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.33.0.tgz#e927b0343a6ecaa948fee59e9ca98fe561062638" - integrity sha512-97nGbmDK0/m0B86BdiXzx3EW9RcDYKpnyL2+WwyuLHEgpfThYAnXFaMMmnTDuAO4bQJXEhflumIEUfKmP7ESGA== - dependencies: - "@tanstack/query-core" "4.33.0" - use-sync-external-store "^1.2.0" - -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - -"@types/connect@^3.4.33": - version "3.4.36" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.36.tgz#e511558c15a39cb29bd5357eebb57bd1459cd1ab" - integrity sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w== - dependencies: - "@types/node" "*" - -"@types/debug@^4.0.0", "@types/debug@^4.1.7": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== - dependencies: - "@types/ms" "*" - -"@types/estree-jsx@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" - integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ== - dependencies: - "@types/estree" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== - -"@types/hast@^2.0.0": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.5.tgz#08caac88b44d0fdd04dc17a19142355f43bd8a7a" - integrity sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg== - dependencies: - "@types/unist" "^2" - -"@types/json-schema@^7.0.12": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/mdast@^3.0.0": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.12.tgz#beeb511b977c875a5b0cc92eab6fcac2f0895514" - integrity sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg== - dependencies: - "@types/unist" "^2" - -"@types/mdx@^2.0.0": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.7.tgz#c7482e995673e01b83f8e96df83b3843ea76401f" - integrity sha512-BG4tyr+4amr3WsSEmHn/fXPqaCba/AYZ7dsaQTiavihQunHSIxk+uAtqsjvicNpyHN6cm+B9RVrUOtW9VzIKHw== - -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - -"@types/node@*": - version "20.5.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.9.tgz#a70ec9d8fa0180a314c3ede0e20ea56ff71aed9a" - integrity sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ== - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^12.12.54": - 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/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prop-types@*", "@types/prop-types@^15.7.5": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-copy-to-clipboard@^5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz#558f2c38a97f53693e537815f6024f1e41e36a7e" - integrity sha512-otTJsJpofYAeaIeOwV5xBUGpo6exXG2HX7X4nseToCB2VgPEBxGBHCm/FecZ676doNR7HCSTVtmohxfG2b3/yQ== - dependencies: - "@types/react" "*" - -"@types/react-dom@^18.2.7": - version "18.2.7" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" - integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA== - dependencies: - "@types/react" "*" - -"@types/react-is@^18.2.1": - version "18.2.1" - resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-18.2.1.tgz#61d01c2a6fc089a53520c0b66996d458fdc46863" - integrity sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" - integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.2.15": - version "18.2.21" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.21.tgz#774c37fd01b522d0b91aed04811b58e4e0514ed9" - integrity sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== - -"@types/semver@^7.5.0": - version "7.5.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.1.tgz#0480eeb7221eb9bc398ad7432c9d7e14b1a5a367" - integrity sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg== - -"@types/trusted-types@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" - integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== - -"@types/unist@^2", "@types/unist@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.8.tgz#bb197b9639aa1a04cf464a617fe800cccd92ad5c" - integrity sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== - -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - -"@types/ws@^8.5.5": - version "8.5.5" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" - integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@^6.0.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.6.0.tgz#19ba09aa34fd504696445100262e5a9e1b1d7024" - integrity sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.6.0" - "@typescript-eslint/type-utils" "6.6.0" - "@typescript-eslint/utils" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.0.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.6.0.tgz#fe323a7b4eafb6d5ea82b96216561810394a739e" - integrity sha512-setq5aJgUwtzGrhW177/i+DMLqBaJbdwGj2CPIVFFLE0NCliy5ujIdLHd2D1ysmlmsjdL2GWW+hR85neEfc12w== - dependencies: - "@typescript-eslint/scope-manager" "6.6.0" - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/typescript-estree" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.6.0.tgz#57105d4419d6de971f7d2c30a2ff4ac40003f61a" - integrity sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw== - dependencies: - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" - -"@typescript-eslint/type-utils@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.6.0.tgz#14f651d13b884915c4fca0d27adeb652a4499e86" - integrity sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg== - dependencies: - "@typescript-eslint/typescript-estree" "6.6.0" - "@typescript-eslint/utils" "6.6.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.6.0.tgz#95e7ea650a2b28bc5af5ea8907114a48f54618c2" - integrity sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg== - -"@typescript-eslint/typescript-estree@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.6.0.tgz#373c420d2e12c28220f4a83352280a04823a91b7" - integrity sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA== - dependencies: - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.6.0.tgz#2d686c0f0786da6362d909e27a9de1c13ba2e7dc" - integrity sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.6.0" - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/typescript-estree" "6.6.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.6.0.tgz#1109088b4346c8b2446f3845db526374d9a3bafc" - integrity sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ== - dependencies: - "@typescript-eslint/types" "6.6.0" - eslint-visitor-keys "^3.4.1" - -"@vanilla-extract/css@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.9.1.tgz#337b79faa5f8f98915a90c3fe3c30b54be746c09" - integrity sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ== - dependencies: - "@emotion/hash" "^0.8.0" - "@vanilla-extract/private" "^1.0.3" - ahocorasick "1.0.2" - chalk "^4.1.1" - css-what "^5.0.1" - cssesc "^3.0.0" - csstype "^3.0.7" - deep-object-diff "^1.1.0" - deepmerge "^4.2.2" - media-query-parser "^2.0.2" - outdent "^0.8.0" - -"@vanilla-extract/dynamic@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@vanilla-extract/dynamic/-/dynamic-2.0.2.tgz#13a3e461964c8029a52e6b6b631009ca6a8b27f5" - integrity sha512-U4nKaEQ8Kuz+exXEr51DUpyaOuzo24/S/k1YbDPQR06cYcNjQqvwFRnwWtZ+9ImocqM1wTKtzrdUgSTtLGIwAg== - dependencies: - "@vanilla-extract/private" "^1.0.3" - -"@vanilla-extract/private@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.3.tgz#7ec72bc2ff6fe51f9d650f962e8d1989b073690f" - integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ== - -"@vanilla-extract/sprinkles@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz#c921183ae518bb484299c2dc81f2acefd91c3dbe" - integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== - -"@vercel/analytics@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.0.2.tgz#7af719a1bf33734840aee6f04eb548d2cedab9ec" - integrity sha512-BZFxVrv24VbNNl5xMxqUojQIegEeXMI6rX3rg1uVLYUEXsuKNBSAEQf4BWEcjQDp/8aYJOj6m8V4PUA3x/cxgg== - -"@vercel/routing-utils@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@vercel/routing-utils/-/routing-utils-2.2.1.tgz#c33a3859f4927c5f8483cb4455a6fb7cbf21778b" - integrity sha512-kzMZsvToDCDskNRZD71B9UAgstec7ujmlGH8cBEo6F/07VaFeji6GQdgd6Zwnrj+TvzQBggKoPQR64VkVY8Lzw== - dependencies: - path-to-regexp "6.1.0" - optionalDependencies: - ajv "^6.0.0" - -"@vitejs/plugin-react@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz#31c3f779dc534e045c4b134e7cf7b150af0a7646" - integrity sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g== - dependencies: - "@babel/core" "^7.22.9" - "@babel/plugin-transform-react-jsx-self" "^7.22.5" - "@babel/plugin-transform-react-jsx-source" "^7.22.5" - react-refresh "^0.14.0" - -"@wagmi/connectors@3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-3.1.1.tgz#3a7993e1e6865370aa9635b7a5d53f0faf0534f1" - integrity sha512-ewOV40AlrXcX018qckU0V9OCsDgHhs+KZjQJZhlplqRtc2ijjS62B5kcypXkcTtfU5qXUBA9KEwPsSTxGdT4ag== - dependencies: - "@coinbase/wallet-sdk" "^3.6.6" - "@ledgerhq/connect-kit-loader" "^1.1.0" - "@safe-global/safe-apps-provider" "^0.17.1" - "@safe-global/safe-apps-sdk" "^8.0.0" - "@walletconnect/ethereum-provider" "2.10.0" - "@walletconnect/legacy-provider" "^2.0.0" - "@walletconnect/modal" "2.6.1" - "@walletconnect/utils" "2.10.0" - abitype "0.8.7" - eventemitter3 "^4.0.7" - -"@wagmi/core@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.4.1.tgz#808a44260e1149709649b6ab2b4425988edbdd02" - integrity sha512-b6LDFL0vZSCNcIHjnJzv++hakavTTt1/2WEQg2S5eEnaHTp7UoQlwfCyjKeiBhRih4yF34N06ea8cyEVjyjXrw== - dependencies: - "@wagmi/connectors" "3.1.1" - abitype "0.8.7" - eventemitter3 "^4.0.7" - zustand "^4.3.1" - -"@walletconnect/core@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.10.0.tgz#b659de4dfb374becd938964abd4f2150d410e617" - integrity sha512-Z8pdorfIMueuiBXLdnf7yloiO9JIiobuxN3j0OTal+MYc4q5/2O7d+jdD1DAXbLi1taJx3x60UXT/FPVkjIqIQ== - dependencies: - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-provider" "1.0.13" - "@walletconnect/jsonrpc-types" "1.0.3" - "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/jsonrpc-ws-connection" "1.0.13" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.10.0" - "@walletconnect/utils" "2.10.0" - events "^3.3.0" - lodash.isequal "4.5.0" - uint8arrays "^3.1.0" - -"@walletconnect/crypto@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" - integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "@walletconnect/randombytes" "^1.0.3" - aes-js "^3.1.2" - hash.js "^1.1.7" - tslib "1.14.1" - -"@walletconnect/encoding@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" - integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== - dependencies: - is-typedarray "1.0.0" - tslib "1.14.1" - typedarray-to-buffer "3.1.5" - -"@walletconnect/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" - integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== - dependencies: - tslib "1.14.1" - -"@walletconnect/ethereum-provider@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.10.0.tgz#eebde38674222a48be35bb4aa3f6a74247ba059b" - integrity sha512-NyTm7RcrtAiSaYQPh6G4sOtr1kg/pL5Z3EDE6rBTV3Se5pMsYvtuwMiSol7MidsQpf4ux9HFhthTO3imcoWImw== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.7" - "@walletconnect/jsonrpc-provider" "^1.0.13" - "@walletconnect/jsonrpc-types" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/sign-client" "2.10.0" - "@walletconnect/types" "2.10.0" - "@walletconnect/universal-provider" "2.10.0" - "@walletconnect/utils" "2.10.0" - events "^3.3.0" - -"@walletconnect/events@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" - integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/heartbeat@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" - integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-http-connection@^1.0.4", "@walletconnect/jsonrpc-http-connection@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98" - integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - cross-fetch "^3.1.4" - tslib "1.14.1" - -"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": - version "1.0.13" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" - integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/safe-json" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" - integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" - integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== - dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.3" - tslib "1.14.1" - -"@walletconnect/jsonrpc-ws-connection@1.0.13": - version "1.0.13" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4" - integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.2" - events "^3.3.0" - tslib "1.14.1" - ws "^7.5.1" - -"@walletconnect/keyvaluestorage@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" - integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== - dependencies: - safe-json-utils "^1.1.1" - tslib "1.14.1" - -"@walletconnect/legacy-client@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30" - integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA== - dependencies: - "@walletconnect/crypto" "^1.0.3" - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/legacy-modal@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz#d0fab01a1337a8f5d88cdb1430cbef2d46072bbf" - integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q== - dependencies: - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - copy-to-clipboard "^3.3.3" - preact "^10.12.0" - qrcode "^1.5.1" - -"@walletconnect/legacy-provider@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz#08e2db1e4c234743b2f30422bc8100bc42e8fc44" - integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/legacy-client" "^2.0.0" - "@walletconnect/legacy-modal" "^2.0.0" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - -"@walletconnect/legacy-types@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227" - integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - -"@walletconnect/legacy-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz#e3a637c00783f9cd2ae139b640f82223ab78ed9d" - integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" - integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== - dependencies: - pino "7.11.0" - tslib "1.14.1" - -"@walletconnect/modal-core@2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.1.tgz#bc76055d0b644a2d4b98024324825c108a700905" - integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ== - dependencies: - valtio "1.11.0" - -"@walletconnect/modal-ui@2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz#200c54c8dfe3c71321abb2724e18bb357dfd6371" - integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA== - dependencies: - "@walletconnect/modal-core" "2.6.1" - lit "2.7.6" - motion "10.16.2" - qrcode "1.5.3" - -"@walletconnect/modal@2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.1.tgz#066fdbfcff83b58c8a9da66ab4af0eb93e3626de" - integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw== - dependencies: - "@walletconnect/modal-core" "2.6.1" - "@walletconnect/modal-ui" "2.6.1" - -"@walletconnect/randombytes@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" - integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - randombytes "^2.1.0" - tslib "1.14.1" - -"@walletconnect/relay-api@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" - integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/relay-auth@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" - integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - uint8arrays "^3.0.0" - -"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" - integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== - dependencies: - tslib "1.14.1" - -"@walletconnect/sign-client@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.10.0.tgz#0fee8f12821e37783099f0c7bd64e6efdfbd9d86" - integrity sha512-hbDljDS53kR/It3oXD91UkcOsT6diNnW5+Zzksm0YEfwww5dop/YfNlcdnc8+jKUhWOL/YDPNQCjzsCSNlVzbw== - dependencies: - "@walletconnect/core" "2.10.0" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.10.0" - "@walletconnect/utils" "2.10.0" - events "^3.3.0" - -"@walletconnect/time@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" - integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== - dependencies: - tslib "1.14.1" - -"@walletconnect/types@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.10.0.tgz#5d63235b49e03d609521402a4b49627dbc4ed514" - integrity sha512-kSTA/WZnbKdEbvbXSW16Ty6dOSzOZCHnGg6JH7q1MuraalD2HuNg00lVVu7QAZ/Rj1Gn9DAkrgP5Wd5a8Xq//Q== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "1.0.3" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - -"@walletconnect/universal-provider@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.10.0.tgz#565d6478dcb5cc66955e5f03d6a00f51c9bcac14" - integrity sha512-jtVWf+AeTCqBcB3lCmWkv3bvSmdRCkQdo67GNoT5y6/pvVHMxfjgrJNBOUsWQMxpREpWDpZ993X0JRjsYVsMcA== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.7" - "@walletconnect/jsonrpc-provider" "1.0.13" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.10.0" - "@walletconnect/types" "2.10.0" - "@walletconnect/utils" "2.10.0" - events "^3.3.0" - -"@walletconnect/utils@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.10.0.tgz#6918d12180d797b8bd4a19fb2ff128e394e181d6" - integrity sha512-9GRyEz/7CJW+G04RvrjPET5k7hOEsB9b3fF9cWDk/iDCxSWpbkU/hv/urRB36C+gvQMAZgIZYX3dHfzJWkY/2g== - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.10.0" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "5.3.0" - query-string "7.1.3" - uint8arrays "^3.1.0" - -"@walletconnect/window-getters@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" - integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== - dependencies: - tslib "1.14.1" - -"@walletconnect/window-metadata@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" - integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== - dependencies: - "@walletconnect/window-getters" "^1.0.1" - tslib "1.14.1" - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abitype@0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" - integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== - -abitype@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" - integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== - -acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.0.0, acorn@^8.9.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -agentkeepalive@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - -ahocorasick@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500" - integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== - -ajv@^6.0.0, ajv@^6.12.4: - 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" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -astring@^1.8.0: - version "1.8.6" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== - -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -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== - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2: - 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.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bind-decorator@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f" - integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== - -bindings@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bn.js@^5.1.1, 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== - -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.9: - version "4.21.10" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== - dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" - node-releases "^2.0.13" - update-browserslist-db "^1.0.11" - -bs58@^4.0.0, bs58@^4.0.1: - 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" - -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -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" - -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" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-lite@^1.0.30001517: - version "1.0.30001527" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz#813826554828245ccee776c850566dce12bdeaba" - integrity sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ== - -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== - -character-reference-invalid@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== - -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clsx@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - -clsx@^1.1.0, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -clsx@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" - integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== - -coingecko-api-v3@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/coingecko-api-v3/-/coingecko-api-v3-0.0.29.tgz#68b43ecae04519ca9f669da44df596e868861845" - integrity sha512-4aF0mU6Pwmo78W4NsPbMslU3ooeSa2Dq8a8PFR+5+wWcWvTBMiUZgfy9UvybynYVsnvYCoyxtNwxTiMZBeZh4w== - dependencies: - https "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -commander@^2.20.3: - 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== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -copy-to-clipboard@^3.3.1, copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-fetch@^3.1.4, cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-what@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.0.2, csstype@^3.0.7, csstype@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, 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" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== - dependencies: - character-entities "^2.0.0" - -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deep-object-diff@^1.1.0: - version "1.1.9" - resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.9.tgz#6df7ef035ad6a0caa44479c536ed7b02570f4595" - integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - -dequal@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -detect-browser@5.3.0, detect-browser@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - -detect-node-es@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" - integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== - -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -duplexify@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - -electron-to-chromium@^1.4.477: - version "1.4.508" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz#5641ff2f5ba11df4bd960fe6a2f9f70aa8b9af96" - integrity sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -end-of-stream@^1.4.1: - 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" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es6-promise@^4.0.3: - 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-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -esbuild@^0.17.19: - version "0.17.19" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== - optionalDependencies: - "@esbuild/android-arm" "0.17.19" - "@esbuild/android-arm64" "0.17.19" - "@esbuild/android-x64" "0.17.19" - "@esbuild/darwin-arm64" "0.17.19" - "@esbuild/darwin-x64" "0.17.19" - "@esbuild/freebsd-arm64" "0.17.19" - "@esbuild/freebsd-x64" "0.17.19" - "@esbuild/linux-arm" "0.17.19" - "@esbuild/linux-arm64" "0.17.19" - "@esbuild/linux-ia32" "0.17.19" - "@esbuild/linux-loong64" "0.17.19" - "@esbuild/linux-mips64el" "0.17.19" - "@esbuild/linux-ppc64" "0.17.19" - "@esbuild/linux-riscv64" "0.17.19" - "@esbuild/linux-s390x" "0.17.19" - "@esbuild/linux-x64" "0.17.19" - "@esbuild/netbsd-x64" "0.17.19" - "@esbuild/openbsd-x64" "0.17.19" - "@esbuild/sunos-x64" "0.17.19" - "@esbuild/win32-arm64" "0.17.19" - "@esbuild/win32-ia32" "0.17.19" - "@esbuild/win32-x64" "0.17.19" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -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: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react-refresh@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz#59dae8c00a119f06ea16b1d3e6891df3775947c7" - integrity sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA== - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.45.0: - version "8.48.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" - integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.48.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-util-attach-comments@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz#ee44f4ff6890ee7dfb3237ac7810154c94c63f84" - integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== - dependencies: - "@types/estree" "^1.0.0" - -estree-util-build-jsx@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz#32f8a239fb40dc3f3dca75bb5dcf77a831e4e47b" - integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg== - dependencies: - "@types/estree-jsx" "^1.0.0" - estree-util-is-identifier-name "^2.0.0" - estree-walker "^3.0.0" - -estree-util-is-identifier-name@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz#fb70a432dcb19045e77b05c8e732f1364b4b49b2" - integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ== - -estree-util-to-js@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz#0f80d42443e3b13bd32f7012fffa6f93603f4a36" - integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== - dependencies: - "@types/estree-jsx" "^1.0.0" - astring "^1.8.0" - source-map "^0.7.0" - -estree-util-visit@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz#8bc2bc09f25b00827294703835aabee1cc9ec69d" - integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/unist" "^2.0.0" - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -estree-walker@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-block-tracker@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz#0481f97bbb88a100b9d45806fe7e37af741cbefc" - integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "@metamask/utils" "^3.0.1" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - -eth-json-rpc-filters@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz#f0c2aeaec2a45e2dc6ca1b9843d8e85447821427" - integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" - integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== - dependencies: - fast-safe-stringify "^2.0.6" - -ethers@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.6.2.tgz#0b6131b5fa291fec69b7ae379cb6bb2405c505a7" - integrity sha512-vyWfVAj2g7xeZIivOqlbpt7PbS2MzvJkKgsncgn4A/1xZr8Q3BznBmEBRQyPXKCgHmX4PzRQLpnYG7jl/yutMg== - dependencies: - "@adraffy/ens-normalize" "1.9.2" - "@noble/hashes" "1.1.2" - "@noble/secp256k1" "1.7.1" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - 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-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-redact@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" - integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== - -fast-safe-stringify@^2.0.6: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" - integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== - dependencies: - flatted "^3.2.7" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.7: - version "3.2.7" - 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" - -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== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -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== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1: - 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.3: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-nonce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" - integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== - -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" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.21.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.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" - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -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" - -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" - -hast-util-to-estree@^2.0.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz#da60142ffe19a6296923ec222aba73339c8bf470" - integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== - dependencies: - "@types/estree" "^1.0.0" - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - comma-separated-tokens "^2.0.0" - estree-util-attach-comments "^2.0.0" - estree-util-is-identifier-name "^2.0.0" - hast-util-whitespace "^2.0.0" - mdast-util-mdx-expression "^1.0.0" - mdast-util-mdxjs-esm "^1.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.1" - unist-util-position "^4.0.0" - zwitch "^2.0.0" - -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== - -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - -hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https/-/https-1.0.0.tgz#3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4" - integrity sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -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.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-alphabetical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== - -is-alphanumerical@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== - dependencies: - is-alphabetical "^2.0.0" - is-decimal "^2.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -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-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" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.3: - 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-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== - dependencies: - has "^1.0.3" - -is-decimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "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@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-reference@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.1.tgz#d400f4260f7e55733955e60d361d827eb4d3b831" - integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w== - dependencies: - "@types/estree" "*" - -is-typed-array@^1.1.3: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -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== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-ws@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" - integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - -jayson@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" - integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - uuid "^8.3.2" - ws "^7.4.5" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - 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" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - -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-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -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.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -keccak@^3.0.1: - 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.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== - dependencies: - json-buffer "3.0.1" - -keyvaluestorage-interface@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" - integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== - -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -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" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lit-element@^3.3.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" - integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - lit-html "^2.8.0" - -lit-html@^2.7.0, lit-html@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" - integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== - dependencies: - "@types/trusted-types" "^2.0.2" - -lit@2.7.6: - version "2.7.6" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665" - integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg== - dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.3.0" - lit-html "^2.7.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -markdown-extensions@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" - integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== - -mdast-util-definitions@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - -mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" - integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" - -mdast-util-mdx-expression@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" - integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-mdx-jsx@^2.0.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz#7c1f07f10751a78963cfabee38017cbc8b7786d1" - integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - ccount "^2.0.0" - mdast-util-from-markdown "^1.1.0" - mdast-util-to-markdown "^1.3.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-remove-position "^4.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - -mdast-util-mdx@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz#49b6e70819b99bb615d7223c088d295e53bb810f" - integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw== - dependencies: - mdast-util-from-markdown "^1.0.0" - mdast-util-mdx-expression "^1.0.0" - mdast-util-mdx-jsx "^2.0.0" - mdast-util-mdxjs-esm "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-mdxjs-esm@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz#645d02cd607a227b49721d146fd81796b2e2d15b" - integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" - integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== - dependencies: - "@types/mdast" "^3.0.0" - unist-util-is "^5.0.0" - -mdast-util-to-hast@^12.1.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" - integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-definitions "^5.0.0" - micromark-util-sanitize-uri "^1.1.0" - trim-lines "^3.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" - integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^3.0.0" - mdast-util-to-string "^3.0.0" - micromark-util-decode-string "^1.0.0" - unist-util-visit "^4.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== - dependencies: - "@types/mdast" "^3.0.0" - -media-query-parser@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/media-query-parser/-/media-query-parser-2.0.2.tgz#ff79e56cee92615a304a1c2fa4f2bd056c0a1d29" - integrity sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w== - dependencies: - "@babel/runtime" "^7.12.5" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -mersenne-twister@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" - integrity sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA== - -micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" - integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark-extension-mdx-expression@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz#5bc1f5fd90388e8293b3ef4f7c6f06c24aff6314" - integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== - dependencies: - "@types/estree" "^1.0.0" - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-extension-mdx-jsx@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz#e72d24b7754a30d20fb797ece11e2c4e2cae9e82" - integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - estree-util-is-identifier-name "^2.0.0" - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdx-md@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz#595d4b2f692b134080dca92c12272ab5b74c6d1a" - integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== - dependencies: - micromark-util-types "^1.0.0" - -micromark-extension-mdxjs-esm@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz#e4f8be9c14c324a80833d8d3a227419e2b25dec1" - integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== - dependencies: - "@types/estree" "^1.0.0" - micromark-core-commonmark "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.1.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdxjs@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz#f78d4671678d16395efeda85170c520ee795ded8" - integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== - dependencies: - acorn "^8.0.0" - acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^1.0.0" - micromark-extension-mdx-jsx "^1.0.0" - micromark-extension-mdx-md "^1.0.0" - micromark-extension-mdxjs-esm "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-destination@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" - integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-label@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" - integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-factory-mdx-expression@^1.0.0: - version "1.0.9" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz#57ba4571b69a867a1530f34741011c71c73a4976" - integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== - dependencies: - "@types/estree" "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-title@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" - integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-whitespace@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" - integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-chunked@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" - integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-classify-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" - integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-combine-extensions@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" - integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" - integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-decode-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" - integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" - integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== - -micromark-util-events-to-acorn@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz#a4ab157f57a380e646670e49ddee97a72b58b557" - integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== - dependencies: - "@types/acorn" "^4.0.0" - "@types/estree" "^1.0.0" - "@types/unist" "^2.0.0" - estree-util-visit "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-util-html-tag-name@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" - integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== - -micromark-util-normalize-identifier@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" - integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-resolve-all@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" - integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== - dependencies: - micromark-util-types "^1.0.0" - -micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" - integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-subtokenize@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" - integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-util-symbol@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - -micromark@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" - integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -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== - -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -motion@10.16.2: - version "10.16.2" - resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" - integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.16.2" - "@motionone/svelte" "^10.16.2" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.16.2" - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multiformats@^9.4.2: - version "9.9.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -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-fetch@^2.6.12: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" - integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== - -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-assign@^4.1.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.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== - -on-exit-leak-free@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" - integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== - -once@^1.3.0, 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== - dependencies: - wrappy "1" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -outdent@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" - integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== - dependencies: - "@types/unist" "^2.0.0" - character-entities "^2.0.0" - character-entities-legacy "^3.0.0" - character-reference-invalid "^2.0.0" - decode-named-character-reference "^1.0.0" - is-alphanumerical "^2.0.0" - is-decimal "^2.0.0" - is-hexadecimal "^2.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" - integrity sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw== - -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== - -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -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@^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== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pino-abstract-transport@v0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" - integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== - dependencies: - duplexify "^4.1.2" - split2 "^4.0.0" - -pino-std-serializers@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" - integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== - -pino@7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" - integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.0.0" - on-exit-leak-free "^0.2.0" - pino-abstract-transport v0.5.0 - pino-std-serializers "^4.0.0" - process-warning "^1.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.1.0" - safe-stable-stringify "^2.1.0" - sonic-boom "^2.2.1" - thread-stream "^0.15.1" - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -postcss@^8.4.27: - version "8.4.29" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.29.tgz#33bc121cf3b3688d4ddef50be869b2a54185a1dd" - integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preact@^10.12.0, preact@^10.5.9: - version "10.17.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.1.tgz#0a1b3c658c019e759326b9648c62912cf5c2dde1" - integrity sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -process-warning@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-information@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" - integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== - -proxy-compare@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" - integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qrcode@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" - integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qrcode@1.5.3, qrcode@^1.5.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@^6.10.3: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -query-string@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -query-string@^6.13.5: - version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -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" - -react-copy-to-clipboard@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" - integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== - dependencies: - copy-to-clipboard "^3.3.1" - prop-types "^15.8.1" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-jazzicon@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/react-jazzicon/-/react-jazzicon-1.0.4.tgz#31e5f6908e042786ba93a9093b852dea1870e7a0" - integrity sha512-/3kWv5vtAhI18GBFoqjpxRTtL+EImuB73PAC02r/zJQ6E+PAUmoBx8edYvTCIYHwS01uFf6N3elTDqSrVPwg4w== - dependencies: - mersenne-twister "^1.1.0" - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-remove-scroll-bar@^2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" - integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== - dependencies: - react-style-singleton "^2.2.1" - tslib "^2.0.0" - -react-remove-scroll@2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0" - integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== - dependencies: - react-remove-scroll-bar "^2.3.3" - react-style-singleton "^2.2.1" - tslib "^2.1.0" - use-callback-ref "^1.3.0" - use-sidecar "^1.1.2" - -react-router-dom@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.15.0.tgz#6da7db61e56797266fbbef0d5e324d6ac443ee40" - integrity sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ== - dependencies: - "@remix-run/router" "1.8.0" - react-router "6.15.0" - -react-router@6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.15.0.tgz#bf2cb5a4a7ed57f074d4ea88db0d95033f39cac8" - integrity sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg== - dependencies: - "@remix-run/router" "1.8.0" - -react-style-singleton@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" - integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== - dependencies: - get-nonce "^1.0.0" - invariant "^2.2.4" - tslib "^2.0.0" - -react-transition-group@^4.4.5: - version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" - integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^3.1.1, readable-stream@^3.5.0, 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" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -real-require@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -remark-mdx@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.3.0.tgz#efe678025a8c2726681bde8bf111af4a93943db4" - integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g== - dependencies: - mdast-util-mdx "^2.0.0" - micromark-extension-mdxjs "^1.0.0" - -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" - -remark-rehype@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" - integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-to-hast "^12.1.0" - unified "^10.0.0" - -require-directory@^2.1.1: - version "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== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.19.0: - version "1.22.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.27.1: - version "3.28.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433" - integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw== - optionalDependencies: - fsevents "~2.3.2" - -rpc-websockets@^7.5.1: - version "7.6.0" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.6.0.tgz#d3f4c0dac108ca35566b0e31552c32e58928cd04" - integrity sha512-Jgcs8q6t8Go98dEulww1x7RysgTkzpCMelVxZW4hvuyFtOGpeUz9prpr2KjUa/usqxgFCd9Tu3+yhHEP9GVmiQ== - dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, 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-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== - -safe-stable-stringify@^2.1.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -sass@^1.65.1: - version "1.66.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1" - integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.8, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -sha.js@^2.4.11: - 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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -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" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -sonic-boom@^2.2.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" - integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== - dependencies: - atomic-sleep "^1.0.0" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.7.0: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split2@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.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" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -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== - -style-to-object@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54" - integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA== - dependencies: - inline-style-parser "0.1.1" - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - 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" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thread-stream@^0.15.1: - version "0.15.2" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" - integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== - dependencies: - real-require "^0.1.0" - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -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" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -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-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== - -ts-api-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.2.tgz#7c094f753b6705ee4faee25c3c684ade52d66d99" - integrity sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ== - -tslib@1.14.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -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.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -uint8arrays@^3.0.0, uint8arrays@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" - integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== - dependencies: - multiformats "^9.4.2" - -unified@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== - dependencies: - "@types/unist" "^2.0.0" - bail "^2.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^5.0.0" - -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - -unist-util-is@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz#8ac2480027229de76512079e377afbcabcfcce22" - integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-remove-position@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" - integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -use-callback-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" - integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== - dependencies: - tslib "^2.0.0" - -use-sidecar@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" - integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== - dependencies: - detect-node-es "^1.1.0" - tslib "^2.0.0" - -use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - -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" - -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== - -util@^0.12.4: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -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== - -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - -valtio@1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed" - integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg== - dependencies: - proxy-compare "2.5.1" - use-sync-external-store "1.2.0" - -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" - -vfile@^5.0.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - -viem@^1.0.0: - version "1.10.3" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.3.tgz#e558ec568f961a5472ba6999528cb4eb7ae31c6f" - integrity sha512-7L35k0JmxTa7xIx1s8lCsTLGrTEUXTYnLppZ56EVBjtvE2OKSfDjL8No0Fnedu6Ye0zi/VX2BQC3arhpKOVIlw== - dependencies: - "@adraffy/ens-normalize" "1.9.4" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - "@types/ws" "^8.5.5" - abitype "0.9.8" - isomorphic-ws "5.0.0" - ws "8.13.0" - -viem@^1.10.8: - version "1.10.8" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.8.tgz#1c6aaaf25cb25484bbe69dc93870a70907b2bd2e" - integrity sha512-/kVDjc9j1OVoDsxV0E1iw1ehPuWPXv5x/9Yc1H0wKky6ACWRoKsURDeLi0Xwtli7vmFcJne+MMPhA96zVu5iIg== - dependencies: - "@adraffy/ens-normalize" "1.9.4" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - "@types/ws" "^8.5.5" - abitype "0.9.8" - isomorphic-ws "5.0.0" - ws "8.13.0" - -vite-plugin-vercel@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vite-plugin-vercel/-/vite-plugin-vercel-0.2.1.tgz#89add96a315a540703127af6dde452ab84587219" - integrity sha512-f9zlN3PrIKAX6rlJnnBm3+aMCZ8mf2JB6AGIvQj8dsOj8dqN/D8UBoM/Jk4gn+jMqfYfVyXTRia2N2GHVf6wvg== - dependencies: - "@brillout/libassert" "^0.5.8" - "@vercel/routing-utils" "^2.2.1" - esbuild "^0.17.19" - fast-glob "^3.3.0" - zod "^3.21.4" - -vite@^4.4.9: - version "4.4.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" - integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -wagmi@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.4.1.tgz#32e5fda3e3a47559115118e7c8315fe25115ab11" - integrity sha512-v3xd+uYZfLCAs1I4fLU7U9hg/gCw+Ud005J7kNR0mi20BcFAEU1EDN1LxHxpjUV0qKhOzSlMlrLjJyBCmSYhFA== - dependencies: - "@tanstack/query-sync-storage-persister" "^4.27.1" - "@tanstack/react-query" "^4.28.0" - "@tanstack/react-query-persist-client" "^4.28.0" - "@wagmi/core" "1.4.1" - abitype "0.8.7" - use-sync-external-store "^1.2.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.11, which-typed-array@^1.1.2: - version "1.1.11" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - 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" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -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== - -ws@8.13.0, ws@^8.5.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== - -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -ws@^7.4.5, ws@^7.5.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^3.0.2: - 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.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zod@^3.21.4: - version "3.22.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.2.tgz#3add8c682b7077c05ac6f979fea6998b573e157b" - integrity sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg== - -zustand@^4.3.1, zustand@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" - integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== - dependencies: - use-sync-external-store "1.2.0" - -zwitch@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From d82a7fd2167ae0d27d07ffe699a52c69c32f57e8 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 5 Oct 2023 13:05:01 +0100 Subject: [PATCH 37/68] Add optional ToS for bridge pages --- src/components/TermsModal/TermsModal.tsx | 15 +++++++++++---- src/core/constants.ts | 7 +++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/components/TermsModal/TermsModal.tsx b/src/components/TermsModal/TermsModal.tsx index 79e9b72..205101b 100644 --- a/src/components/TermsModal/TermsModal.tsx +++ b/src/components/TermsModal/TermsModal.tsx @@ -22,18 +22,18 @@ */ import React, { Dispatch, SetStateAction } from 'react'; +import { useLocation } from "react-router-dom"; import Modal from '@mui/material/Modal'; import Container from '@mui/material/Container'; import Button from '@mui/material/Button'; import Link from '@mui/material/Link'; -import { MAINNET_CHAIN_NAME } from '../../core/constants'; +import { MetaportCore, SkPaper, cls, cmn, styles } from '@skalenetwork/metaport'; +import { MAINNET_CHAIN_NAME, BRIDGE_PAGES } from '../../core/constants'; import TermsOfService from '../Terms/terms-of-service.mdx' - import logo from '../../assets/skale_lg.svg'; -import { MetaportCore, SkPaper, cls, cmn, styles } from '@skalenetwork/metaport'; const style = { @@ -50,6 +50,7 @@ export default function TermsModal(props: { termsAccepted: boolean, setTermsAccepted: Dispatch> }) { + const location = useLocation(); const [scrolled, setScrolled] = React.useState(false); function getAgreeButtonText() { @@ -57,12 +58,18 @@ export default function TermsModal(props: { return 'Agree to terms'; } + function isBridgePage(): boolean { + return BRIDGE_PAGES.some(pathname => + location.pathname === pathname || location.pathname.includes(pathname) + ) || location.pathname === '/'; + } + function handleTermsScroll(e: any) { const diff = e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight; const bottom = Math.abs(diff) < 15; setScrolled(bottom); } - if (props.termsAccepted) return null; + if (props.termsAccepted || !isBridgePage()) return null; return (
diff --git a/src/core/constants.ts b/src/core/constants.ts index 28dc8d6..51065d7 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -26,6 +26,13 @@ export const MAINNET_CHAIN_NAME = 'mainnet' export const DASHBOARD_URL = "https://app.geckoboard.com/v5/dashboards/LISYTRBEVGCVGL57/inception" +export const BRIDGE_PAGES = [ + "/transfer", + "/bridge/history", + "/portfolio", + "/other/faq" +] + import FAQ from '../faq.json' export { FAQ } \ No newline at end of file From 58f491390539c510a7a2ff4c772bb6f260f0d8b2 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 5 Oct 2023 16:26:53 +0100 Subject: [PATCH 38/68] Update eslint, add prettier --- .eslintrc.cjs | 31 ++- bun.lockb | Bin 298935 -> 300964 bytes package.json | 8 +- src/App.scss | 12 +- src/App.tsx | 24 +- src/Header.tsx | 43 ++- src/Main.tsx | 14 +- src/Portal.tsx | 37 +-- src/Router.tsx | 162 +++++------ src/SkBottomNavigation.tsx | 94 ++++--- src/SkDrawer.tsx | 273 ++++++++++--------- src/components/AccountMenu.tsx | 235 ++++++++-------- src/components/Admin.tsx | 50 ++-- src/components/App.tsx | 28 +- src/components/Apps.tsx | 30 +- src/components/Bridge.tsx | 204 ++++++++------ src/components/BridgeBody.tsx | 160 +++++++---- src/components/CategorySection.tsx | 22 +- src/components/ChainCard.tsx | 101 +++++-- src/components/CopySurface.tsx | 44 ++- src/components/Faq/Faq.tsx | 39 +-- src/components/FaqAccordion/FaqAccordion.tsx | 74 ++--- src/components/HelpZen/HelpZen.tsx | 82 +++--- src/components/History.tsx | 108 ++++---- src/components/Message.tsx | 95 ++++--- src/components/MoreMenu/MoreMenu.tsx | 225 +++++++-------- src/components/Network/Network.tsx | 151 +++++----- src/components/Portfolio.tsx | 269 +++++++++++------- src/components/Schain.tsx | 49 ++-- src/components/SchainDetails.tsx | 159 ++++++----- src/components/Stats.tsx | 49 ++-- src/components/Terms/Terms.tsx | 35 +-- src/components/Terms/terms-of-service.mdx | 30 +- src/components/TermsModal/TermsModal.tsx | 189 +++++++------ src/core/constants.ts | 22 +- src/core/themes.ts | 37 ++- src/core/transferHistory.ts | 33 +-- src/vite-env.d.ts | 6 +- 38 files changed, 1810 insertions(+), 1414 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d6c9537..9af9e37 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,18 +1,25 @@ module.exports = { - root: true, - env: { browser: true, es2020: true }, + env: { + browser: true, + es2021: true, + }, extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react-hooks/recommended', + 'plugin:react/recommended', + 'standard-with-typescript', + 'prettier', + 'plugin:storybook/recommended' ], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], + overrides: [], + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + plugins: ['react'], rules: { - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], + 'react/jsx-key': 'off', + 'react/react-in-jsx-scope': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + 'no-console': 'warn', }, } diff --git a/bun.lockb b/bun.lockb index 4d26e1ebdd9cccd0bbbf272e2d46128b749856b3..f74aabba0f5b5464162121a21d9be92b841c1bc2 100755 GIT binary patch delta 62490 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 B!qWf% delta 60839 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%0D? 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 diff --git a/package.json b/package.json index 0e09cdc..1ca693a 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "dev": "vite", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview" + "preview": "vite preview", + "prettier": "prettier --write \"src/**/*.{ts,tsx,js,mdx}\"" }, "dependencies": { "@mdx-js/rollup": "^2.3.0", @@ -16,6 +17,9 @@ "@skalenetwork/metaport": "2.0.0-preview.8", "@types/react-copy-to-clipboard": "^5.0.4", "@vercel/analytics": "^1.0.2", + "eslint-config-prettier": "^9.0.0", + "eslint-config-standard-with-typescript": "^39.1.0", + "prettier": "^3.0.3", "react": "^18.2.0", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^18.2.0", @@ -36,4 +40,4 @@ "vite": "^4.4.9", "vite-plugin-vercel": "^0.2.1" } -} +} \ No newline at end of file diff --git a/src/App.scss b/src/App.scss index dad65c1..3954872 100644 --- a/src/App.scss +++ b/src/App.scss @@ -297,12 +297,14 @@ body::-webkit-scrollbar { font-size: 0.7125rem !important; svg { - width: 12pt; - height: 12pt; + width: 10pt; + height: 10pt; } .MuiButton-endIcon { - margin: 0 !important; + margin-left: 5px !important; + margin-right: 2px !important; + // margin: 0 !important; } } @@ -314,8 +316,8 @@ body::-webkit-scrollbar { svg { color: white !important; - width: 14pt; - height: 14pt; + width: 12pt; + height: 12pt; } } diff --git a/src/App.tsx b/src/App.tsx index 3a2aa2b..03d5d8c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -19,31 +19,31 @@ /** * @file App.tsx * @copyright SKALE Labs 2023-Present -*/ + */ -import './App.scss'; +import "./App.scss"; -import { MetaportProvider, getMetaportTheme } from '@skalenetwork/metaport'; -import '@skalenetwork/metaport/dist/style.css' +import { MetaportProvider, getMetaportTheme } from "@skalenetwork/metaport"; +import "@skalenetwork/metaport/dist/style.css"; -import { StyledEngineProvider } from '@mui/material/styles' -import { ThemeProvider } from '@mui/material/styles' +import { StyledEngineProvider } from "@mui/material/styles"; +import { ThemeProvider } from "@mui/material/styles"; -import Portal from './Portal'; +import Portal from "./Portal"; -import { METAPORT_CONFIG } from './metadata/metaportConfig'; -import { createMuiTheme } from './core/themes'; +import { METAPORT_CONFIG } from "./metadata/metaportConfig"; +import { createMuiTheme } from "./core/themes"; METAPORT_CONFIG.mainnetEndpoint = import.meta.env.VITE_MAINNET_ENDPOINT; const mpTheme = getMetaportTheme(METAPORT_CONFIG.theme); const muiTheme = createMuiTheme(mpTheme); -const isDarkMode = mpTheme.mode === 'dark'; +const isDarkMode = mpTheme.mode === "dark"; export default function App() { return (
@@ -54,5 +54,5 @@ export default function App() {
- ) + ); } diff --git a/src/Header.tsx b/src/Header.tsx index ad2a339..bafc048 100644 --- a/src/Header.tsx +++ b/src/Header.tsx @@ -19,24 +19,23 @@ /** * @file Header.js * @copyright SKALE Labs 2021-Present -*/ + */ -import AppBar from '@mui/material/AppBar'; -import Toolbar from '@mui/material/Toolbar'; -import Chip from '@mui/material/Chip'; +import AppBar from "@mui/material/AppBar"; +import Toolbar from "@mui/material/Toolbar"; +import Chip from "@mui/material/Chip"; import { Link } from "react-router-dom"; -import logo from './assets/skale_lg.svg'; - -import { cmn, cls } from '@skalenetwork/metaport'; +import logo from "./assets/skale_lg.svg"; -import HelpZen from './components/HelpZen'; -import MoreMenu from './components/MoreMenu'; -import AccountMenu from './components/AccountMenu'; +import { cmn, cls } from "@skalenetwork/metaport"; -import { MAINNET_CHAIN_NAME } from './core/constants'; +import HelpZen from "./components/HelpZen"; +import MoreMenu from "./components/MoreMenu"; +import AccountMenu from "./components/AccountMenu"; +import { MAINNET_CHAIN_NAME } from "./core/constants"; export default function Header(props: { address: `0x${string}` | undefined }) { return ( @@ -53,21 +52,19 @@ export default function Header(props: { address: `0x${string}` | undefined }) {
- { - 'mainnet' !== MAINNET_CHAIN_NAME ? - : null - } + {"mainnet" !== MAINNET_CHAIN_NAME ? ( + + ) : null}
- ) - -} \ No newline at end of file + ); +} diff --git a/src/Main.tsx b/src/Main.tsx index 3643652..6f9b031 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -1,17 +1,17 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.tsx' -import './index.css' +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App.tsx"; +import "./index.css"; import { BrowserRouter } from "react-router-dom"; -import { inject } from '@vercel/analytics'; +import { inject } from "@vercel/analytics"; inject(); -ReactDOM.createRoot(document.getElementById('root')!).render( +ReactDOM.createRoot(document.getElementById("root")!).render( , -) +); diff --git a/src/Portal.tsx b/src/Portal.tsx index d6a9b41..710b3f1 100644 --- a/src/Portal.tsx +++ b/src/Portal.tsx @@ -19,33 +19,36 @@ /** * @file Portal.tsx * @copyright SKALE Labs 2023-Present -*/ - -import { useState } from 'react'; + */ -import Box from '@mui/material/Box'; -import CssBaseline from '@mui/material/CssBaseline'; +import { useState } from "react"; -import Header from './Header'; -import SkDrawer from './SkDrawer'; -import Router from './Router'; -import TermsModal from './components/TermsModal'; +import Box from "@mui/material/Box"; +import CssBaseline from "@mui/material/CssBaseline"; -import { useMetaportStore, useWagmiAccount } from '@skalenetwork/metaport' +import Header from "./Header"; +import SkDrawer from "./SkDrawer"; +import Router from "./Router"; +import TermsModal from "./components/TermsModal"; +import { useMetaportStore, useWagmiAccount } from "@skalenetwork/metaport"; export default function Portal() { const [termsAccepted, setTermsAccepted] = useState(false); - const mpc = useMetaportStore((state) => state.mpc) - const { address } = useWagmiAccount() - if (!mpc) return
+ const mpc = useMetaportStore((state) => state.mpc); + const { address } = useWagmiAccount(); + if (!mpc) return
; return ( - + - +
- - ) + + ); } diff --git a/src/Router.tsx b/src/Router.tsx index bd8ab8e..7587653 100644 --- a/src/Router.tsx +++ b/src/Router.tsx @@ -1,94 +1,96 @@ -import './App.scss'; +import "./App.scss"; -import { useState, useEffect } from 'react' +import { useState, useEffect } from "react"; import { Routes, Route } from "react-router-dom"; -import { useMetaportStore, PROXY_ENDPOINTS, MetaportState } from '@skalenetwork/metaport'; +import { + useMetaportStore, + PROXY_ENDPOINTS, + MetaportState, +} from "@skalenetwork/metaport"; -import Bridge from './components/Bridge'; -import Faq from './components/Faq'; -import Terms from './components/Terms'; -import Network from './components/Network'; -import Schain from './components/Schain'; -import Stats from './components/Stats'; -import Apps from './components/Apps'; -import App from './components/App'; -import History from './components/History'; -import Portfolio from './components/Portfolio'; -import Admin from './components/Admin'; - -import { getHistoryFromStorage, setHistoryToStorage } from './core/transferHistory' +import Bridge from "./components/Bridge"; +import Faq from "./components/Faq"; +import Terms from "./components/Terms"; +import Network from "./components/Network"; +import Schain from "./components/Schain"; +import Stats from "./components/Stats"; +import Apps from "./components/Apps"; +import App from "./components/App"; +import History from "./components/History"; +import Portfolio from "./components/Portfolio"; +import Admin from "./components/Admin"; +import { + getHistoryFromStorage, + setHistoryToStorage, +} from "./core/transferHistory"; export default function Router() { - const [schains, setSchains] = useState([]) + const [schains, setSchains] = useState([]); - const mpc = useMetaportStore((state: MetaportState) => state.mpc) - const transfersHistory = useMetaportStore((state) => state.transfersHistory) - const setTransfersHistory = useMetaportStore((state) => state.setTransfersHistory) + const mpc = useMetaportStore((state: MetaportState) => state.mpc); + const transfersHistory = useMetaportStore((state) => state.transfersHistory); + const setTransfersHistory = useMetaportStore( + (state) => state.setTransfersHistory, + ); - const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork] + const endpoint = PROXY_ENDPOINTS[mpc.config.skaleNetwork]; - useEffect(() => { - setTransfersHistory(getHistoryFromStorage(mpc.config.skaleNetwork)) - }, []); + useEffect(() => { + setTransfersHistory(getHistoryFromStorage(mpc.config.skaleNetwork)); + }, []); - useEffect(() => { - if (transfersHistory.length !== 0) { - setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork) - } - }, [transfersHistory]); + useEffect(() => { + if (transfersHistory.length !== 0) { + setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork); + } + }, [transfersHistory]); - async function loadSchains() { - let response = await fetch(`https://${endpoint}/files/chains.json`); - let chainsJson = await response.json(); - let schains = []; - for (let chain of chainsJson) { - schains.push(chain.schain); - } - setSchains(schains) + async function loadSchains() { + let response = await fetch(`https://${endpoint}/files/chains.json`); + let chainsJson = await response.json(); + let schains = []; + for (let chain of chainsJson) { + schains.push(chain.schain); } + setSchains(schains); + } - return ( - - } /> - - } - /> - - } /> - } /> - - } - /> - - } /> - - } - /> - - } /> - - } /> - } /> - - - } - /> - - - // - // - ); + return ( + + } /> + + } /> + + } /> + + } + /> + + + } + /> + + } /> + + } /> + + } /> + + } /> + } /> + + + } /> + + + // + // + ); } diff --git a/src/SkBottomNavigation.tsx b/src/SkBottomNavigation.tsx index 269f595..4961bdc 100644 --- a/src/SkBottomNavigation.tsx +++ b/src/SkBottomNavigation.tsx @@ -1,50 +1,56 @@ -import React, { useEffect } from 'react'; +import React, { useEffect } from "react"; import { useLocation, useNavigate } from "react-router-dom"; -import Box from '@mui/material/Box'; -import BottomNavigation from '@mui/material/BottomNavigation'; -import BottomNavigationAction from '@mui/material/BottomNavigationAction'; -import SwapHorizontalCircleOutlinedIcon from '@mui/icons-material/SwapHorizontalCircleOutlined'; -import HelpOutlineOutlinedIcon from '@mui/icons-material/HelpOutlineOutlined'; -import AccountBalanceWalletOutlinedIcon from '@mui/icons-material/AccountBalanceWalletOutlined'; - +import Box from "@mui/material/Box"; +import BottomNavigation from "@mui/material/BottomNavigation"; +import BottomNavigationAction from "@mui/material/BottomNavigationAction"; +import SwapHorizontalCircleOutlinedIcon from "@mui/icons-material/SwapHorizontalCircleOutlined"; +import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined"; +import AccountBalanceWalletOutlinedIcon from "@mui/icons-material/AccountBalanceWalletOutlined"; export default function SkBottomNavigation() { - const [value, setValue] = React.useState(0); - const navigate = useNavigate(); - const location = useLocation(); + const [value, setValue] = React.useState(0); + const navigate = useNavigate(); + const location = useLocation(); - useEffect(() => { - if (location.pathname === "/" || location.pathname.includes('/transfer')) setValue(0); - if (location.pathname === "/bridge/exit") setValue(1); - if (location.pathname === "/other/faq") setValue(2); - }, [location]); + useEffect(() => { + if (location.pathname === "/" || location.pathname.includes("/transfer")) + setValue(0); + if (location.pathname === "/bridge/exit") setValue(1); + if (location.pathname === "/other/faq") setValue(2); + }, [location]); - return ( - - { - setValue(newValue); - }} - > - } - onClick={() => { navigate("/"); }} - /> - } - onClick={() => { navigate("/bridge/exit"); }} - /> - } - onClick={() => { navigate("/other/faq"); }} - /> - - - ); -} \ No newline at end of file + return ( + + { + setValue(newValue); + }} + > + } + onClick={() => { + navigate("/"); + }} + /> + } + onClick={() => { + navigate("/bridge/exit"); + }} + /> + } + onClick={() => { + navigate("/other/faq"); + }} + /> + + + ); +} diff --git a/src/SkDrawer.tsx b/src/SkDrawer.tsx index 3f5e72c..0d8e93c 100644 --- a/src/SkDrawer.tsx +++ b/src/SkDrawer.tsx @@ -1,138 +1,150 @@ import { Link, useLocation } from "react-router-dom"; -import { cls, cmn, useMetaportStore } from '@skalenetwork/metaport'; +import { cls, cmn, useMetaportStore } from "@skalenetwork/metaport"; -import Box from '@mui/material/Box'; +import Box from "@mui/material/Box"; -import Drawer from '@mui/material/Drawer'; -import Toolbar from '@mui/material/Toolbar'; -import List from '@mui/material/List'; +import Drawer from "@mui/material/Drawer"; +import Toolbar from "@mui/material/Toolbar"; +import List from "@mui/material/List"; -import ListItem from '@mui/material/ListItem'; -import ListItemButton from '@mui/material/ListItemButton'; -import ListItemIcon from '@mui/material/ListItemIcon'; -import ListItemText from '@mui/material/ListItemText'; +import ListItem from "@mui/material/ListItem"; +import ListItemButton from "@mui/material/ListItemButton"; +import ListItemIcon from "@mui/material/ListItemIcon"; +import ListItemText from "@mui/material/ListItemText"; -import SwapHorizontalCircleOutlinedIcon from '@mui/icons-material/SwapHorizontalCircleOutlined'; -import HelpOutlineOutlinedIcon from '@mui/icons-material/HelpOutlineOutlined'; -import PublicOutlinedIcon from '@mui/icons-material/PublicOutlined'; -import HistoryIcon from '@mui/icons-material/History'; -import InsertChartOutlinedIcon from '@mui/icons-material/InsertChartOutlined'; -import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; -import WalletOutlinedIcon from '@mui/icons-material/WalletOutlined'; +import SwapHorizontalCircleOutlinedIcon from "@mui/icons-material/SwapHorizontalCircleOutlined"; +import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined"; +import PublicOutlinedIcon from "@mui/icons-material/PublicOutlined"; +import HistoryIcon from "@mui/icons-material/History"; +import InsertChartOutlinedIcon from "@mui/icons-material/InsertChartOutlined"; +import AppsOutlinedIcon from "@mui/icons-material/AppsOutlined"; +import WalletOutlinedIcon from "@mui/icons-material/WalletOutlined"; const drawerWidth = 240; - export default function SkDrawer() { - const location = useLocation(); - const transfersHistory = useMetaportStore((state) => state.transfersHistory) - return ( - - - - -

- Bridge -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- Network -

- - - - - - - - - - - - - - - - - - - - - + const location = useLocation(); + const transfersHistory = useMetaportStore((state) => state.transfersHistory); + return ( + + + + +

+ Bridge +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ Network +

+ + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - {/* + + + + + + + + + + + {/*
@@ -143,10 +155,9 @@ export default function SkDrawer() { */} - - - - - - ); + + + + + ); } diff --git a/src/components/AccountMenu.tsx b/src/components/AccountMenu.tsx index f5bd253..5ac7217 100644 --- a/src/components/AccountMenu.tsx +++ b/src/components/AccountMenu.tsx @@ -1,117 +1,136 @@ -import * as React from 'react'; +import * as React from "react"; import { Link } from "react-router-dom"; -import Jazzicon, { jsNumberForAddress } from 'react-jazzicon' +import Jazzicon, { jsNumberForAddress } from "react-jazzicon"; -import Box from '@mui/material/Box'; -import Menu from '@mui/material/Menu'; -import MenuItem from '@mui/material/MenuItem'; -import Tooltip from '@mui/material/Tooltip'; -import Button from '@mui/material/Button'; +import Box from "@mui/material/Box"; +import Menu from "@mui/material/Menu"; +import MenuItem from "@mui/material/MenuItem"; +import Tooltip from "@mui/material/Tooltip"; +import Button from "@mui/material/Button"; -import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; -import HistoryIcon from '@mui/icons-material/History'; -import SignalCellularAltOutlinedIcon from '@mui/icons-material/SignalCellularAltOutlined'; -import AppsOutlinedIcon from '@mui/icons-material/AppsOutlined'; -import AccountCircleRoundedIcon from '@mui/icons-material/AccountCircleRounded'; +import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward"; +import HistoryIcon from "@mui/icons-material/History"; +import SignalCellularAltOutlinedIcon from "@mui/icons-material/SignalCellularAltOutlined"; +import AppsOutlinedIcon from "@mui/icons-material/AppsOutlined"; +import AccountCircleRoundedIcon from "@mui/icons-material/AccountCircleRounded"; -import { cls, styles, cmn, RainbowConnectButton } from '@skalenetwork/metaport'; +import { cls, styles, cmn, RainbowConnectButton } from "@skalenetwork/metaport"; export default function AccountMenu(props: any) { - const [anchorEl, setAnchorEl] = React.useState(null); - const open = Boolean(anchorEl); - const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + const handleClick = (event: React.MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; - if (!props.address) return; - return ( - - - - - - - + + + - - ); + +
+ ); +} diff --git a/src/components/CategorySection.tsx b/src/components/CategorySection.tsx index ed3f42a..8174831 100644 --- a/src/components/CategorySection.tsx +++ b/src/components/CategorySection.tsx @@ -19,25 +19,29 @@ /** * @file CategorySection.tsx * @copyright SKALE Labs 2022-Present -*/ - -import Box from '@mui/material/Box'; -import Grid from '@mui/material/Grid'; + */ -import ChainCard from './ChainCard'; +import Box from "@mui/material/Box"; +import Grid from "@mui/material/Grid"; +import ChainCard from "./ChainCard"; export default function CategorySection(props: any) { if (!props.schains || props.schains.length === 0) return; return (
-

- {props.category} -

+

{props.category}

{props.schains.map((schain: any[]) => ( - + ))} diff --git a/src/components/ChainCard.tsx b/src/components/ChainCard.tsx index c252bdf..d19f0c4 100644 --- a/src/components/ChainCard.tsx +++ b/src/components/ChainCard.tsx @@ -19,48 +19,107 @@ /** * @file ChainCard.tsx * @copyright SKALE Labs 2022-Present -*/ + */ import { Link } from "react-router-dom"; -import { cmn, cls, ChainIcon, chainBg, getChainAlias, BASE_EXPLORER_URLS, interfaces } from '@skalenetwork/metaport'; +import { + cmn, + cls, + ChainIcon, + chainBg, + getChainAlias, + BASE_EXPLORER_URLS, + interfaces, +} from "@skalenetwork/metaport"; -import Button from '@mui/material/Button'; -import KeyboardArrowRightRoundedIcon from '@mui/icons-material/KeyboardArrowRightRounded'; +import Button from "@mui/material/Button"; +import KeyboardArrowRightRoundedIcon from "@mui/icons-material/KeyboardArrowRightRounded"; +import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward"; +import UnfoldMoreRoundedIcon from "@mui/icons-material/UnfoldMoreRounded"; -import { getExplorerUrl } from './SchainDetails' +import { getExplorerUrl } from "./SchainDetails"; export default function ChainCard(props: { - skaleNetwork: interfaces.SkaleNetwork, - schain: any[] + skaleNetwork: interfaces.SkaleNetwork; + schain: any[]; }) { const explorerUrl = getExplorerUrl( BASE_EXPLORER_URLS[props.skaleNetwork], - props.schain[0] - ) + props.schain[0], + ); return (
-
-
- +
+
+
- diff --git a/src/components/CopySurface.tsx b/src/components/CopySurface.tsx index c87bf9a..ac0cfa0 100644 --- a/src/components/CopySurface.tsx +++ b/src/components/CopySurface.tsx @@ -19,21 +19,20 @@ /** * @file CopySurface.tsx * @copyright SKALE Labs 2021-Present -*/ - -import React, { useState } from 'react'; + */ -import { CopyToClipboard } from 'react-copy-to-clipboard'; +import React, { useState } from "react"; -import Tooltip from '@mui/material/Tooltip'; -import Snackbar from '@mui/material/Snackbar'; -import ButtonBase from '@mui/material/ButtonBase'; +import { CopyToClipboard } from "react-copy-to-clipboard"; -import IconButton from '@mui/material/IconButton'; -import CloseIcon from '@mui/icons-material/Close'; +import Tooltip from "@mui/material/Tooltip"; +import Snackbar from "@mui/material/Snackbar"; +import ButtonBase from "@mui/material/ButtonBase"; -import ContentCopyIcon from '@mui/icons-material/ContentCopy'; +import IconButton from "@mui/material/IconButton"; +import CloseIcon from "@mui/icons-material/Close"; +import ContentCopyIcon from "@mui/icons-material/ContentCopy"; export default function CopySurface(props: any) { const [copy, setCopied] = useState(false); @@ -43,7 +42,7 @@ export default function CopySurface(props: any) { }; const handleClose = (_: any, reason: any) => { - if (reason === 'clickaway') { + if (reason === "clickaway") { return; } setCopied(false); @@ -52,10 +51,10 @@ export default function CopySurface(props: any) { const action = ( @@ -64,18 +63,14 @@ export default function CopySurface(props: any) { return (
- + - - +
- - {props.url} - + {props.url}
- +
@@ -84,11 +79,10 @@ export default function CopySurface(props: any) { open={copy} autoHideDuration={6000} onClose={handleClose} - message='URL copied to clipboard' + message="URL copied to clipboard" action={action} // severity="success" />
- ); } diff --git a/src/components/Faq/Faq.tsx b/src/components/Faq/Faq.tsx index b89d1e2..9b3aa22 100644 --- a/src/components/Faq/Faq.tsx +++ b/src/components/Faq/Faq.tsx @@ -1,23 +1,24 @@ -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; -import { cmn, cls } from '@skalenetwork/metaport'; - -import FaqAccordion from '../FaqAccordion'; +import { cmn, cls } from "@skalenetwork/metaport"; +import FaqAccordion from "../FaqAccordion"; export default function Faq() { - return ( - -
-

FAQ

-
-

- Common questions about SKALE Bridge -

-
- -
-
-
) -} \ No newline at end of file + return ( + + +
+

FAQ

+
+

+ Common questions about SKALE Bridge +

+
+ +
+
+
+ ); +} diff --git a/src/components/FaqAccordion/FaqAccordion.tsx b/src/components/FaqAccordion/FaqAccordion.tsx index aed1731..a1e5ae5 100644 --- a/src/components/FaqAccordion/FaqAccordion.tsx +++ b/src/components/FaqAccordion/FaqAccordion.tsx @@ -1,40 +1,44 @@ -import * as React from 'react'; -import Accordion from '@mui/material/Accordion'; -import AccordionDetails from '@mui/material/AccordionDetails'; -import AccordionSummary from '@mui/material/AccordionSummary'; -import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -import { cls, cmn } from '@skalenetwork/metaport' +import * as React from "react"; +import Accordion from "@mui/material/Accordion"; +import AccordionDetails from "@mui/material/AccordionDetails"; +import AccordionSummary from "@mui/material/AccordionSummary"; +import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; +import { cls, cmn } from "@skalenetwork/metaport"; -import { FAQ } from '../../core/constants'; +import { FAQ } from "../../core/constants"; export default function FaqAccordion() { - const [expanded, setExpanded] = React.useState(false); + const [expanded, setExpanded] = React.useState(false); - const handleChange = - (panel: string) => (_: React.SyntheticEvent, isExpanded: boolean) => { - setExpanded(isExpanded ? panel : false); - }; + const handleChange = + (panel: string) => (_: React.SyntheticEvent, isExpanded: boolean) => { + setExpanded(isExpanded ? panel : false); + }; - return ( -
- {FAQ.map((question: any, index: number) => ( - - } - aria-controls="panel1bh-content" - id={"panel1bh-header-" + index} - > -

- {question.question} -

-
- -

- {question.answer} -

-
-
- ))} -
- ); -} \ No newline at end of file + return ( +
+ {FAQ.map((question: any, index: number) => ( + + } + aria-controls="panel1bh-content" + id={"panel1bh-header-" + index} + > +

+ {question.question} +

+
+ +

+ {question.answer} +

+
+
+ ))} +
+ ); +} diff --git a/src/components/HelpZen/HelpZen.tsx b/src/components/HelpZen/HelpZen.tsx index a82c357..71aebdc 100644 --- a/src/components/HelpZen/HelpZen.tsx +++ b/src/components/HelpZen/HelpZen.tsx @@ -1,39 +1,55 @@ -import React, { useEffect } from 'react'; -import Box from '@mui/material/Box'; -import Button from '@mui/material/Button'; -import Tooltip from '@mui/material/Tooltip'; -import ContactSupportRoundedIcon from '@mui/icons-material/ContactSupportRounded'; - -import { cls, styles, cmn } from '@skalenetwork/metaport'; +import React, { useEffect } from "react"; +import Box from "@mui/material/Box"; +import Button from "@mui/material/Button"; +import Tooltip from "@mui/material/Tooltip"; +import ContactSupportRoundedIcon from "@mui/icons-material/ContactSupportRounded"; +import { cls, styles, cmn } from "@skalenetwork/metaport"; export default function HelpZen() { - const [open, setOpen] = React.useState(false); + const [open, setOpen] = React.useState(false); - useEffect(() => { - window.zE('messenger', 'close'); - window.zE('messenger:on', 'open', () => { setOpen(true) }) - window.zE('messenger:on', 'close', () => { setOpen(false) }) - }, []); + useEffect(() => { + window.zE("messenger", "close"); + window.zE("messenger:on", "open", () => { + setOpen(true); + }); + window.zE("messenger:on", "close", () => { + setOpen(false); + }); + }, []); - function handleClick() { - window.zE('messenger', open ? 'close' : 'open'); - } + function handleClick() { + window.zE("messenger", open ? "close" : "open"); + } - return ( - - - - - - - - ); -} \ No newline at end of file + return ( + + + + + + + + ); +} diff --git a/src/components/History.tsx b/src/components/History.tsx index c1f6766..86f5213 100644 --- a/src/components/History.tsx +++ b/src/components/History.tsx @@ -19,56 +19,70 @@ /** * @file History.tsx * @copyright SKALE Labs 2023-Present -*/ - -import Stack from '@mui/material/Stack'; -import Button from '@mui/material/Button' -import Container from '@mui/material/Container'; -import DeleteRoundedIcon from '@mui/icons-material/DeleteRounded' -import { cmn, cls, styles, History as TransfersHistory, useMetaportStore } from '@skalenetwork/metaport'; + */ -import { setHistoryToStorage } from '../core/transferHistory' +import Stack from "@mui/material/Stack"; +import Button from "@mui/material/Button"; +import Container from "@mui/material/Container"; +import DeleteRoundedIcon from "@mui/icons-material/DeleteRounded"; +import { + cmn, + cls, + styles, + History as TransfersHistory, + useMetaportStore, +} from "@skalenetwork/metaport"; +import { setHistoryToStorage } from "../core/transferHistory"; export default function History() { - const mpc = useMetaportStore((state) => state.mpc) - const transfersHistory = useMetaportStore((state) => state.transfersHistory) - const transactionsHistory = useMetaportStore((state) => state.transactionsHistory) - const clearTransactionsHistory = useMetaportStore((state) => state.clearTransactionsHistory) + const mpc = useMetaportStore((state) => state.mpc); + const transfersHistory = useMetaportStore((state) => state.transfersHistory); + const transactionsHistory = useMetaportStore( + (state) => state.transactionsHistory, + ); + const clearTransactionsHistory = useMetaportStore( + (state) => state.clearTransactionsHistory, + ); - function clearTransferHistory() { - clearTransactionsHistory() - setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork) - } + function clearTransferHistory() { + clearTransactionsHistory(); + setHistoryToStorage(transfersHistory, mpc.config.skaleNetwork); + } - return ( - -
-
-

- History ({transfersHistory.length + transactionsHistory.length}) -

-

- SKALE Bridge transfers history -

-
-
-
-
- -
- {transfersHistory.length !== 0 ? :

- No past transfers found -

} -
-
-
) -} \ No newline at end of file + return ( + + +
+
+

+ History ({transfersHistory.length + transactionsHistory.length}) +

+

+ SKALE Bridge transfers history +

+
+
+
+ +
+ {transfersHistory.length !== 0 ? ( + + ) : ( +

+ No past transfers found +

+ )} +
+
+
+ ); +} diff --git a/src/components/Message.tsx b/src/components/Message.tsx index a07be24..5308e58 100644 --- a/src/components/Message.tsx +++ b/src/components/Message.tsx @@ -19,46 +19,65 @@ /** * @file Message.tsx * @copyright SKALE Labs 2023-Present -*/ - -import { ReactElement, useState } from 'react'; -import IconButton from '@mui/material/IconButton'; -import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; -import Collapse from '@mui/material/Collapse'; + */ -import { SkPaper, cls, cmn } from '@skalenetwork/metaport'; +import { ReactElement, useState } from "react"; +import IconButton from "@mui/material/IconButton"; +import CloseRoundedIcon from "@mui/icons-material/CloseRounded"; +import Collapse from "@mui/material/Collapse"; +import { SkPaper, cls, cmn } from "@skalenetwork/metaport"; export default function Message(props: { - text: string - icon: ReactElement - className?: string | undefined - showOnLoad?: boolean | undefined + text: string; + icon: ReactElement; + className?: string | undefined; + showOnLoad?: boolean | undefined; }) { - const [show, setShow] = useState(true); - return ( - - -
-
- {props.icon} -
-

- {props.text} -

-
- { setShow(false) }} - className={cls(cmn.paperGrey, cmn.pPrim, cmn.mleft10)} - > - - -
-
-
-
- ) -} \ No newline at end of file + const [show, setShow] = useState(true); + return ( + + +
+
+ {props.icon} +
+

+ {props.text} +

+
+ { + setShow(false); + }} + className={cls(cmn.paperGrey, cmn.pPrim, cmn.mleft10)} + > + + +
+
+
+
+ ); +} diff --git a/src/components/MoreMenu/MoreMenu.tsx b/src/components/MoreMenu/MoreMenu.tsx index b3bb98d..d8e1a8a 100644 --- a/src/components/MoreMenu/MoreMenu.tsx +++ b/src/components/MoreMenu/MoreMenu.tsx @@ -1,114 +1,120 @@ -import * as React from 'react'; -import Box from '@mui/material/Box'; -import Menu from '@mui/material/Menu'; -import MenuItem from '@mui/material/MenuItem'; -import IconButton from '@mui/material/IconButton'; -import Tooltip from '@mui/material/Tooltip'; -import MoreVertIcon from '@mui/icons-material/MoreVert'; -import ArrowOutwardIcon from '@mui/icons-material/ArrowOutward'; +import * as React from "react"; +import Box from "@mui/material/Box"; +import Menu from "@mui/material/Menu"; +import MenuItem from "@mui/material/MenuItem"; +import IconButton from "@mui/material/IconButton"; +import Tooltip from "@mui/material/Tooltip"; +import MoreVertIcon from "@mui/icons-material/MoreVert"; +import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward"; import { Link } from "react-router-dom"; -import PublicOutlinedIcon from '@mui/icons-material/PublicOutlined'; -import ArticleOutlinedIcon from '@mui/icons-material/ArticleOutlined'; -import InventoryOutlinedIcon from '@mui/icons-material/InventoryOutlined'; - -import { cls, styles, cmn } from '@skalenetwork/metaport'; +import PublicOutlinedIcon from "@mui/icons-material/PublicOutlined"; +import ArticleOutlinedIcon from "@mui/icons-material/ArticleOutlined"; +import InventoryOutlinedIcon from "@mui/icons-material/InventoryOutlined"; +import { cls, styles, cmn } from "@skalenetwork/metaport"; export default function MoreMenu() { - const [anchorEl, setAnchorEl] = React.useState(null); - const open = Boolean(anchorEl); - const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; - return ( - - - - - - - - - - - - Terms of service - - - - -
- -
-
- Main website -
-
- -
-
-
- - -
- -
-
- Docs portal -
-
- -
-
-
- {/* + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + const handleClick = (event: React.MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + return ( + + + + + + + + + + + + Terms of service + + + + +
+ +
+
Main website
+
+ +
+
+
+ + +
+ +
+
Docs portal
+
+ +
+
+
+ {/*
@@ -119,10 +125,7 @@ export default function MoreMenu() {
*/} - - - ); + + + ); } - - - diff --git a/src/components/Network/Network.tsx b/src/components/Network/Network.tsx index b0f49c9..54de478 100644 --- a/src/components/Network/Network.tsx +++ b/src/components/Network/Network.tsx @@ -1,76 +1,93 @@ -import { useState, useEffect } from 'react' -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import CircularProgress from '@mui/material/CircularProgress'; +import { useState, useEffect } from "react"; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; +import CircularProgress from "@mui/material/CircularProgress"; -import CategorySection from '../CategorySection' +import CategorySection from "../CategorySection"; -import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; +import { + cmn, + cls, + MetaportCore, + CHAINS_META, + interfaces, +} from "@skalenetwork/metaport"; export default function Chains(props: { - loadSchains: any, - schains: any[], - mpc: MetaportCore + loadSchains: any; + schains: any[]; + mpc: MetaportCore; }) { + const [_, setIntervalId] = useState(); - const [_, setIntervalId] = useState(); + useEffect(() => { + props.loadSchains(); + let intervalId = setInterval(props.loadSchains, 10000); + setIntervalId(intervalId); + }, []); - useEffect(() => { - props.loadSchains(); - let intervalId = setInterval(props.loadSchains, 10000); - setIntervalId(intervalId); - }, []); + const chainsMeta: interfaces.ChainsMetadataMap = + CHAINS_META[props.mpc.config.skaleNetwork]; - const chainsMeta: interfaces.ChainsMetadataMap = CHAINS_META[props.mpc.config.skaleNetwork] + if (props.schains.length === 0) { + return ( +
+
+
+ +
+
+

Loading SKALE Chains

+
+
+
+ ); + } - if (props.schains.length === 0) { - return ( -
-
-
- -
-
-

- Loading SKALE Chains -

-
-
- -
- ); - }; - - return ( - -
-

Chains

-
-

- SKALE Chains overview - block explorer links, endpoints and more -

-
- chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'hub')} - /> - chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'games')} - /> - chainsMeta[schain[0]] && chainsMeta[schain[0]].category === 'apps')} - /> - !chainsMeta[schain[0]])} - /> -
-
-
) -} \ No newline at end of file + return ( + + +
+

Chains

+
+

+ SKALE Chains overview - block explorer links, endpoints and more +

+
+ + chainsMeta[schain[0]] && + chainsMeta[schain[0]].category === "hub", + )} + /> + + chainsMeta[schain[0]] && + chainsMeta[schain[0]].category === "games", + )} + /> + + chainsMeta[schain[0]] && + chainsMeta[schain[0]].category === "apps", + )} + /> + !chainsMeta[schain[0]])} + /> +
+
+
+ ); +} diff --git a/src/components/Portfolio.tsx b/src/components/Portfolio.tsx index d2a9e8f..19616ef 100644 --- a/src/components/Portfolio.tsx +++ b/src/components/Portfolio.tsx @@ -19,101 +19,178 @@ /** * @file Portfolio.tsx * @copyright SKALE Labs 2023-Present -*/ - -import { useState, useEffect } from 'react'; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; - -import { cmn, cls, MetaportCore, getChainAlias, ChainIcon, TokenIcon, SkPaper, dataclasses, interfaces, useWagmiAccount } from '@skalenetwork/metaport'; - -export default function Portfolio(props: { - mpc: MetaportCore -}) { - - const { address } = useWagmiAccount() - - const [balances, setTokenBalances] = useState([]); - - - useEffect(() => { - tokenBalances() - }, []); - - async function tokenBalances() { - const contracts = props.mpc.config.chains.map((chain: string) => ( - props.mpc.tokenContracts( - props.mpc.tokens(chain), - dataclasses.TokenType.erc20, - chain, - props.mpc.provider(chain) - ) - )) - setTokenBalances(await Promise.all(contracts.map(async ( - chainContracts: interfaces.TokenContractsMap - ): Promise => - props.mpc.tokenBalances(chainContracts, address!) - ))) - } + */ - return ( - -
-

Portfolio

-
-

- Your assets across all SKALE Chains -

-
- {Object.keys(props.mpc.config.tokens)?.map((token: string, index: number) => ( -
-
- -
-

{props.mpc.config.tokens[token].symbol}

-

{props.mpc.config.tokens[token].name}

-
-
-

- 550 {props.mpc.config.tokens[token].symbol}

-

- On 2 chains

-
+import { useState, useEffect } from "react"; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; + +import { + cmn, + cls, + MetaportCore, + getChainAlias, + ChainIcon, + TokenIcon, + SkPaper, + dataclasses, + interfaces, + useWagmiAccount, +} from "@skalenetwork/metaport"; + +export default function Portfolio(props: { mpc: MetaportCore }) { + const { address } = useWagmiAccount(); + + const [balances, setTokenBalances] = useState( + [], + ); + + useEffect(() => { + tokenBalances(); + }, []); + + async function tokenBalances() { + const contracts = props.mpc.config.chains.map((chain: string) => + props.mpc.tokenContracts( + props.mpc.tokens(chain), + dataclasses.TokenType.erc20, + chain, + props.mpc.provider(chain), + ), + ); + setTokenBalances( + await Promise.all( + contracts.map( + async ( + chainContracts: interfaces.TokenContractsMap, + ): Promise => + props.mpc.tokenBalances(chainContracts, address!), + ), + ), + ); + } + + return ( + + +
+

Portfolio

+
+

+ Your assets across all SKALE Chains +

+
+ {Object.keys(props.mpc.config.tokens)?.map( + (token: string, index: number) => ( +
+
+ +
+

+ {props.mpc.config.tokens[token].symbol} +

+

+ {props.mpc.config.tokens[token].name} +

+
+
+

+ 550 {props.mpc.config.tokens[token].symbol} +

+

+ On 2 chains +

+
+
+ + + {props.mpc.config.chains?.map( + (chain: string, index: number) => ( +
+
+ +
+

+ {getChainAlias( + props.mpc.config.skaleNetwork, + chain, + )} +

+
+
+

+ {balances[index] && balances[index][token] + ? balances[index][token].toString() + : ""}{" "} + {props.mpc.config.tokens[token].symbol} +

+
- - - {props.mpc.config.chains?.map((chain: string, index: number) => ( -
-
- -
-

{getChainAlias(props.mpc.config.skaleNetwork, chain)}

-
-
-

- {balances[index] && balances[index][token] ? balances[index][token].toString() : ''} {props.mpc.config.tokens[token].symbol}

- -
-
-
- ))} -
-
- ))} -
- - - - - - - ) -} \ No newline at end of file +
+ ), + )} + +
+ ), + )} +
+ + + ); +} diff --git a/src/components/Schain.tsx b/src/components/Schain.tsx index 788205f..4e16f8b 100644 --- a/src/components/Schain.tsx +++ b/src/components/Schain.tsx @@ -19,32 +19,37 @@ /** * @file Schain.tsx * @copyright SKALE Labs 2022-Present -*/ + */ -import { useEffect } from 'react'; +import { useEffect } from "react"; import { useParams } from "react-router-dom"; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import SchainDetails from './SchainDetails'; -import CircularProgress from '@mui/material/CircularProgress'; - -import { cmn, cls, MetaportCore, CHAINS_META, interfaces } from '@skalenetwork/metaport'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; +import SchainDetails from "./SchainDetails"; +import CircularProgress from "@mui/material/CircularProgress"; +import { + cmn, + cls, + MetaportCore, + CHAINS_META, + interfaces, +} from "@skalenetwork/metaport"; export default function Schain(props: { - loadSchains: any, - schains: any[], - mpc: MetaportCore + loadSchains: any; + schains: any[]; + mpc: MetaportCore; }) { let { name } = useParams(); - name = name ?? '' + name = name ?? ""; - const chain = props.schains.find(schain => schain[0] === name); + const chain = props.schains.find((schain) => schain[0] === name); useEffect(() => { if (props.schains.length === 0) { - props.loadSchains() + props.loadSchains(); } }, []); @@ -53,27 +58,24 @@ export default function Schain(props: {
- +
-

- Loading SKALE Chain -

+

Loading SKALE Chain

-
); - }; + } if (!chain) { return

No such chain: {name}

; } - const chainsMeta: interfaces.ChainsMetadataMap = CHAINS_META[props.mpc.config.skaleNetwork] + const chainsMeta: interfaces.ChainsMetadataMap = + CHAINS_META[props.mpc.config.skaleNetwork]; return ( - - ) + ); } - diff --git a/src/components/SchainDetails.tsx b/src/components/SchainDetails.tsx index 2495551..faf541e 100644 --- a/src/components/SchainDetails.tsx +++ b/src/components/SchainDetails.tsx @@ -19,64 +19,84 @@ /** * @file SchainDetails.tsx * @copyright SKALE Labs 2021-Present -*/ + */ -import { id } from 'ethers' +import { id } from "ethers"; -import CopySurface from './CopySurface'; +import CopySurface from "./CopySurface"; -import Grid from '@mui/material/Grid'; -import Button from '@mui/material/Button'; -import WidgetsIcon from '@mui/icons-material/Widgets'; -import LanguageIcon from '@mui/icons-material/Language'; -import AddCircleIcon from '@mui/icons-material/AddCircle'; +import Grid from "@mui/material/Grid"; +import Button from "@mui/material/Button"; +import WidgetsIcon from "@mui/icons-material/Widgets"; +import LanguageIcon from "@mui/icons-material/Language"; +import AddCircleIcon from "@mui/icons-material/AddCircle"; -import { cmn, cls, PROXY_ENDPOINTS, BASE_EXPLORER_URLS, MetaportCore, SkPaper } from '@skalenetwork/metaport'; +import { + cmn, + cls, + PROXY_ENDPOINTS, + BASE_EXPLORER_URLS, + MetaportCore, + SkPaper, +} from "@skalenetwork/metaport"; //const BASE_PROXY_URL = process.env["REACT_APP_BASE_PROXY_URL"]; // const EXPLORER_URL = process.env["REACT_APP_EXPLORER_URL"]; -const HTTP_PREFIX = 'http://'; -const HTTPS_PREFIX = 'https://'; -const WS_PREFIX = 'ws://'; -const WSS_PREFIX = 'wss://'; - +const HTTP_PREFIX = "http://"; +const HTTPS_PREFIX = "https://"; +const WS_PREFIX = "ws://"; +const WSS_PREFIX = "wss://"; -function getRpcUrl(proxyUrl: string, schainName: string, prefix: string): string { - return prefix + proxyUrl + '/v1/' + schainName; +function getRpcUrl( + proxyUrl: string, + schainName: string, + prefix: string, +): string { + return prefix + proxyUrl + "/v1/" + schainName; } -function getRpcWsUrl(proxyUrl: string, schainName: string, prefix: string): string { - return prefix + proxyUrl + '/v1/ws/' + schainName; +function getRpcWsUrl( + proxyUrl: string, + schainName: string, + prefix: string, +): string { + return prefix + proxyUrl + "/v1/ws/" + schainName; } -function getFsUrl(proxyUrl: string, schainName: string, prefix: string): string { - return prefix + proxyUrl + '/fs/' + schainName; +function getFsUrl( + proxyUrl: string, + schainName: string, + prefix: string, +): string { + return prefix + proxyUrl + "/fs/" + schainName; } -export function getExplorerUrl(explorerUrl: string, schainName: string): string { - return HTTPS_PREFIX + schainName + '.' + explorerUrl; +export function getExplorerUrl( + explorerUrl: string, + schainName: string, +): string { + return HTTPS_PREFIX + schainName + "." + explorerUrl; } function getChainId(schainName: string): string { // let hash = Web3.utils.soliditySha3(schainName).substring(0, 15); // return rmPad0x(hash); - return id(schainName) + return id(schainName); } function getSchainHash(schainName: string): string { // return Web3.utils.sha3(schainName); - return '0xxx234' + schainName // todo! + return "0xxx234" + schainName; // todo! } export default function SchainDetails(props: { - schainName: string, - chainMeta: any, - mpc: MetaportCore + schainName: string; + chainMeta: any; + mpc: MetaportCore; }) { - - const proxyBase = PROXY_ENDPOINTS[props.mpc.config.skaleNetwork] - const explorerBase = BASE_EXPLORER_URLS[props.mpc.config.skaleNetwork] + const proxyBase = PROXY_ENDPOINTS[props.mpc.config.skaleNetwork]; + const explorerBase = BASE_EXPLORER_URLS[props.mpc.config.skaleNetwork]; const rpcUrl = getRpcUrl(proxyBase, props.schainName, HTTPS_PREFIX); const rpcHttpUrl = getRpcUrl(proxyBase, props.schainName, HTTP_PREFIX); @@ -101,42 +121,45 @@ export default function SchainDetails(props: { nativeCurrency: { name: "sFUEL", symbol: "sFUEL", - decimals: 18 - } - } + decimals: 18, + }, + }; function getChainName(schainName: string) { if (props.chainMeta) { - return props.chainMeta['alias']; + return props.chainMeta["alias"]; } return schainName; } async function addNetwork() { await window.ethereum.request({ - method: 'wallet_addEthereumChain', + method: "wallet_addEthereumChain", params: [networkParams], }); } return ( -
- +

{getChainName(props.schainName)}

- {(props.chainMeta && props.chainMeta.description) ? ( + {props.chainMeta && props.chainMeta.description ? (

{props.chainMeta.description} -

) : null} - +

+ ) : null} - - + + ) : null}
- - -

- Dev -

+ +

Dev

-

- Websocket -

+

Websocket

-

- Filestorage -

+

Filestorage

-

- Chain ID -

+

Chain ID

-

- Chain name hash -

+

Chain name hash

diff --git a/src/components/Stats.tsx b/src/components/Stats.tsx index e3eebb2..c0dbb7e 100644 --- a/src/components/Stats.tsx +++ b/src/components/Stats.tsx @@ -1,27 +1,28 @@ +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; +import { cmn, cls } from "@skalenetwork/metaport"; -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; -import { cmn, cls } from '@skalenetwork/metaport'; - -import { DASHBOARD_URL } from '../core/constants' - +import { DASHBOARD_URL } from "../core/constants"; export default function Stats() { - return ( - -
-

Stats

-
-

- SKALE Network statistics -

- -
-
) -} \ No newline at end of file + return ( + + +
+

Stats

+
+

+ SKALE Network statistics +

+ +
+
+ ); +} diff --git a/src/components/Terms/Terms.tsx b/src/components/Terms/Terms.tsx index e829cb6..4a5f869 100644 --- a/src/components/Terms/Terms.tsx +++ b/src/components/Terms/Terms.tsx @@ -1,21 +1,22 @@ -import Container from '@mui/material/Container'; -import Stack from '@mui/material/Stack'; +import Container from "@mui/material/Container"; +import Stack from "@mui/material/Stack"; -import { cmn, cls } from '@skalenetwork/metaport'; - -import TermsOfService from './terms-of-service.mdx' +import { cmn, cls } from "@skalenetwork/metaport"; +import TermsOfService from "./terms-of-service.mdx"; export default function Terms() { - return ( - -
-

Terms of Service

-
-

- SKALE Network Blockchain Bridge Terms of Service -

- -
-
) -} \ No newline at end of file + return ( + + +
+

Terms of Service

+
+

+ SKALE Network Blockchain Bridge Terms of Service +

+ +
+
+ ); +} diff --git a/src/components/Terms/terms-of-service.mdx b/src/components/Terms/terms-of-service.mdx index 2998299..e250865 100644 --- a/src/components/Terms/terms-of-service.mdx +++ b/src/components/Terms/terms-of-service.mdx @@ -1,18 +1,18 @@ ## SKALE Metaport Bridge UI Terms of Use -The SKALE Network (“we,” “us,” “our,” etc.) makes the SKALE Metaport Bridge UI (the “Bridge User Interface”) available to help users transfer cryptographic tokens (“Tokens”) between the Ethereum blockchain and any SKALE blockchain. The Bridge UI does not itself initiate or process any such transfer or at any time have custody or control of any Tokens. It merely facilitates such transfers by providing a link between the Ethereum blockchain and the applicable SKALE blockchain. +The SKALE Network (“we,” “us,” “our,” etc.) makes the SKALE Metaport Bridge UI (the “Bridge User Interface”) available to help users transfer cryptographic tokens (“Tokens”) between the Ethereum blockchain and any SKALE blockchain. The Bridge UI does not itself initiate or process any such transfer or at any time have custody or control of any Tokens. It merely facilitates such transfers by providing a link between the Ethereum blockchain and the applicable SKALE blockchain. -All uses of the Bridge are subject to these SKALE Bridge UI Terms of Use (these “Terms”). Accordingly, if you use the Bridge UI, you and we mutually agree that these Terms will constitute a binding, legally enforceable contract between you and us. +All uses of the Bridge are subject to these SKALE Bridge UI Terms of Use (these “Terms”). Accordingly, if you use the Bridge UI, you and we mutually agree that these Terms will constitute a binding, legally enforceable contract between you and us. -**THESE TERMS CONTAIN A MANDATORY ARBITRATION PROVISION THAT, AS FURTHER SET FORTH IN THE “ARBITRATION” SECTION BELOW, REQUIRES THE USE OF ARBITRATION ON AN INDIVIDUAL BASIS TO RESOLVE DISPUTES. IT DOES NOT ALLOW JURY TRIALS OR ANY OTHER COURT PROCEEDINGS OR CLASS ACTIONS OF ANY KIND.** +**THESE TERMS CONTAIN A MANDATORY ARBITRATION PROVISION THAT, AS FURTHER SET FORTH IN THE “ARBITRATION” SECTION BELOW, REQUIRES THE USE OF ARBITRATION ON AN INDIVIDUAL BASIS TO RESOLVE DISPUTES. IT DOES NOT ALLOW JURY TRIALS OR ANY OTHER COURT PROCEEDINGS OR CLASS ACTIONS OF ANY KIND.** ### NO WARRANTIES -_The Bridge UI is provided AS IS, without any warranties of any type or nature. **Your use of the Bridge UI is at your sole risk.** To the full extent permissible under applicable law, we specifically disclaim all implied warranties including, without limitation, implied warranties of title, merchantability, fitness for a particular purpose and non-infringement. The duration of any implied warranty that is not effectively disclaimed will be limited to the longer of (i) thirty (30) days from the date that you first accept these Terms and (ii) the shortest period allowed under applicable law._ +_The Bridge UI is provided AS IS, without any warranties of any type or nature. **Your use of the Bridge UI is at your sole risk.** To the full extent permissible under applicable law, we specifically disclaim all implied warranties including, without limitation, implied warranties of title, merchantability, fitness for a particular purpose and non-infringement. The duration of any implied warranty that is not effectively disclaimed will be limited to the longer of (i) thirty (30) days from the date that you first accept these Terms and (ii) the shortest period allowed under applicable law._ Some jurisdictions do not permit the disclaimer of implied warranties or limitations on how long an implied warranty lasts; therefore, some or all of the provisions of this section may not apply to you. -Without limiting the foregoing, you acknowledge that there are inherent risks associated with transfers of digital assets recorded on any blockchain, such as Tokens. These risks include, but are not limited to, the failure of hardware, software or internet connections, the risk of malicious software introduction and the risk of unauthorized access to your digital wallet via cyberattacks or otherwise. Further, transfers of digital assets such as Tokens are, as a rule, irreversible. Consequently, losses due to fraudulent or accidental transfers are generally not recoverable. Thus, it is possible that, through computer or human error, or through theft or fraud, Tokens may be irretrievably lost, corrupted, damaged or stolen or become inaccessible. We will not have any liability of any type or nature arising out of or relating to the loss, corruption or theft of or damage to Tokens. +Without limiting the foregoing, you acknowledge that there are inherent risks associated with transfers of digital assets recorded on any blockchain, such as Tokens. These risks include, but are not limited to, the failure of hardware, software or internet connections, the risk of malicious software introduction and the risk of unauthorized access to your digital wallet via cyberattacks or otherwise. Further, transfers of digital assets such as Tokens are, as a rule, irreversible. Consequently, losses due to fraudulent or accidental transfers are generally not recoverable. Thus, it is possible that, through computer or human error, or through theft or fraud, Tokens may be irretrievably lost, corrupted, damaged or stolen or become inaccessible. We will not have any liability of any type or nature arising out of or relating to the loss, corruption or theft of or damage to Tokens. ### LIMITATION OF LIABILITY @@ -28,31 +28,31 @@ _You will be responsible for and will pay us, our affiliates, and our and our af ### AMENDMENTS TO THESE TERMS -We may change these Terms at any time by posting a new version of these Terms. Any use of the Bridge UI after any such change will be subject to the version of the Terms in effect at the time of such use. +We may change these Terms at any time by posting a new version of these Terms. Any use of the Bridge UI after any such change will be subject to the version of the Terms in effect at the time of such use. ### INFORMAL DISPUTE RESOLUTION -We want to address any concerns that you may have without the need for a formal dispute resolution process. Before commencing arbitration against us, you agree to try to resolve the Dispute (as defined below) informally by contacting us via e-mail at legal@skalelabs.com, to notify us of the actual or potential Dispute. Similarly, we will undertake reasonable efforts to contact you to notify you of any actual or potential dispute to resolve any claim we may possess informally before taking any formal action. The party that provides the notice of the actual or potential Dispute (the “Notifying Party”) will include in that notice (a “Notice of Dispute”) your name (to the extent known), the Notifying Party's contact information for any communications relating to such Dispute (including for the Notifying Party's legal counsel if it is represented by counsel in connection with such Dispute), and sufficient details regarding such Dispute to enable the other party (the “Notified Party”) to understand the basis of and evaluate the concerns raised. If the Notified Party responds within ten (10) business days after receiving the Notice of Dispute that it is ready and willing to engage in good faith discussions in an effort to resolve the Dispute informally, then each party shall promptly participate in such discussions in good faith. +We want to address any concerns that you may have without the need for a formal dispute resolution process. Before commencing arbitration against us, you agree to try to resolve the Dispute (as defined below) informally by contacting us via e-mail at legal@skalelabs.com, to notify us of the actual or potential Dispute. Similarly, we will undertake reasonable efforts to contact you to notify you of any actual or potential dispute to resolve any claim we may possess informally before taking any formal action. The party that provides the notice of the actual or potential Dispute (the “Notifying Party”) will include in that notice (a “Notice of Dispute”) your name (to the extent known), the Notifying Party's contact information for any communications relating to such Dispute (including for the Notifying Party's legal counsel if it is represented by counsel in connection with such Dispute), and sufficient details regarding such Dispute to enable the other party (the “Notified Party”) to understand the basis of and evaluate the concerns raised. If the Notified Party responds within ten (10) business days after receiving the Notice of Dispute that it is ready and willing to engage in good faith discussions in an effort to resolve the Dispute informally, then each party shall promptly participate in such discussions in good faith. ### ARBITRATION -This agreement to arbitrate applies to you only if your Country of Residence is the United States. “Country of Residence” for purposes of this agreement to arbitrate means the country in which you hold citizenship or legal permanent residence; provided that if you have more than one country of citizenship or legal permanent residence, it shall be the country in which you hold citizenship or legal permanent residence with which you most closely are associated by permanent or most frequent residence. +This agreement to arbitrate applies to you only if your Country of Residence is the United States. “Country of Residence” for purposes of this agreement to arbitrate means the country in which you hold citizenship or legal permanent residence; provided that if you have more than one country of citizenship or legal permanent residence, it shall be the country in which you hold citizenship or legal permanent residence with which you most closely are associated by permanent or most frequent residence. -You and we agree that any and all past, present and future disputes, controversies, claims, or causes of action arising out of or relating to Bridge UI or any Tokens, or arising out of or relating to these Terms, and any other controversies or disputes between you and us (including disputes regarding the effectiveness, scope, validity or enforceability of this agreement to arbitrate) (collectively, “Dispute(s)”), shall be determined by arbitration, unless (A) you opt out as provided below or (B) your Dispute is subject to an exception to this agreement to arbitrate set forth below. You and we further agree that any arbitration pursuant to this section shall not proceed as a class, group or representative action. The award of the arbitrator may be entered in any court having jurisdiction. +You and we agree that any and all past, present and future disputes, controversies, claims, or causes of action arising out of or relating to Bridge UI or any Tokens, or arising out of or relating to these Terms, and any other controversies or disputes between you and us (including disputes regarding the effectiveness, scope, validity or enforceability of this agreement to arbitrate) (collectively, “Dispute(s)”), shall be determined by arbitration, unless (A) you opt out as provided below or (B) your Dispute is subject to an exception to this agreement to arbitrate set forth below. You and we further agree that any arbitration pursuant to this section shall not proceed as a class, group or representative action. The award of the arbitrator may be entered in any court having jurisdiction. -If notwithstanding the Notifying Party's compliance with all of its obligations above relating to the informal resolution of Disputes, a Dispute is not resolved within 30 days after the Notice of Dispute is sent (or if the Notified Party fails to respond to the Notice of Dispute within ten (10) business days), the Notifying Party may initiate an arbitration proceeding as described below. If either party purports to initiate arbitration without first providing a Notice of Dispute and otherwise complying with all of its obligations under the preceding paragraph, then, notwithstanding any other provision of these Terms, the arbitrator(s) will promptly dismiss the claim with prejudice and will award the other party all of its costs and expenses (including reasonable attorneys' fees) incurred in connection with such Dispute. +If notwithstanding the Notifying Party's compliance with all of its obligations above relating to the informal resolution of Disputes, a Dispute is not resolved within 30 days after the Notice of Dispute is sent (or if the Notified Party fails to respond to the Notice of Dispute within ten (10) business days), the Notifying Party may initiate an arbitration proceeding as described below. If either party purports to initiate arbitration without first providing a Notice of Dispute and otherwise complying with all of its obligations under the preceding paragraph, then, notwithstanding any other provision of these Terms, the arbitrator(s) will promptly dismiss the claim with prejudice and will award the other party all of its costs and expenses (including reasonable attorneys' fees) incurred in connection with such Dispute. Unless you opt out of this agreement to arbitrate as provided below, you and we each agree to resolve any Disputes that are not resolved informally as described above through final and binding arbitration as discussed herein, subject to the exceptions set forth below. If you do not wish to be subject to this agreement to arbitrate, you may opt out of this arbitration provision by sending a notice via e-mail at legal@skalelabs.com, within thirty (30) days of the first time you accept these Terms (or any prior version of these Terms) or, if earlier, your first use the Bridge UI. You must date the notice and include your first and last name, address, and a clear statement that you do not wish to resolve disputes with us through arbitration. If no notice is submitted in the manner described above by the 30-day deadline, you will have irrevocably waived your right to litigate any Dispute except to the extent of the exceptions set forth below. By opting out of the agreement to arbitrate, you will not be precluded from using the App or any Services, but you and we will not be permitted to invoke the mutual agreement to arbitrate to resolve Disputes under the terms otherwise provided herein. -You and we agree that the American Arbitration Association (“AAA”) will administer the arbitration under its Commercial Arbitration Rules and the Supplementary Procedures for Consumer Related Disputes in effect at the time arbitration is sought (“AAA Rules”). Those rules are available at www.adr.org or by calling the AAA at 1-800-778-7879. A party who desires to initiate arbitration must provide the other party with a written Demand for Arbitration as specified in the AAA Rules. (The AAA provides a general Demand for Arbitration.) Arbitration will proceed on an individual basis and will be handled by a sole arbitrator. The single arbitrator will be either a retired judge or an attorney licensed to practice law and will be selected by the parties from the AAA's roster of arbitrators. If the parties are unable to agree upon an arbitrator within fourteen (14) days of delivery of the Demand for Arbitration, then the AAA will appoint the arbitrator in accordance with the AAA Rules. The arbitrator(s) shall be authorized to award any remedies, including injunctive relief, that would be available in an individual lawsuit, other than remedies that you effectively waived pursuant to these Terms. Except as may be and to the extent otherwise required by law, the arbitration proceeding and any award shall be confidential. +You and we agree that the American Arbitration Association (“AAA”) will administer the arbitration under its Commercial Arbitration Rules and the Supplementary Procedures for Consumer Related Disputes in effect at the time arbitration is sought (“AAA Rules”). Those rules are available at www.adr.org or by calling the AAA at 1-800-778-7879. A party who desires to initiate arbitration must provide the other party with a written Demand for Arbitration as specified in the AAA Rules. (The AAA provides a general Demand for Arbitration.) Arbitration will proceed on an individual basis and will be handled by a sole arbitrator. The single arbitrator will be either a retired judge or an attorney licensed to practice law and will be selected by the parties from the AAA's roster of arbitrators. If the parties are unable to agree upon an arbitrator within fourteen (14) days of delivery of the Demand for Arbitration, then the AAA will appoint the arbitrator in accordance with the AAA Rules. The arbitrator(s) shall be authorized to award any remedies, including injunctive relief, that would be available in an individual lawsuit, other than remedies that you effectively waived pursuant to these Terms. Except as may be and to the extent otherwise required by law, the arbitration proceeding and any award shall be confidential. -You and we further agree that the arbitration will be held in the English language in Santa Clara county, California, or, if you so elect, all proceedings can be conducted via videoconference, telephonically or via other remote electronic means. If we elect arbitration, we shall pay all of the AAA filing costs and administrative fees (other than hearing fees). If you elect arbitration, filing costs and administrative fees (other than hearing fees) shall be paid in accordance with the AAA Rules, or in accordance with countervailing law if contrary to the AAA Rules. However, if the value of the relief sought is $10,000 or less, at your request, we will pay all filing, administration, and arbitrator fees associated with the arbitration, unless the arbitrator(s) finds that either the substance of your claim or the relief sought was frivolous or was brought for an improper purpose (as measured by the standards set forth in Federal Rule of Civil Procedure 11(b)). In such circumstances, fees will be determined in accordance with the AAA Rules. Each party shall bear the expense of its own attorneys' fees, except as otherwise provided herein or required by law. This agreement to arbitrate shall be construed under and be subject to the Federal Arbitration Act (U.S. Code Article 9), notwithstanding any other choice of law set out in these Terms. +You and we further agree that the arbitration will be held in the English language in Santa Clara county, California, or, if you so elect, all proceedings can be conducted via videoconference, telephonically or via other remote electronic means. If we elect arbitration, we shall pay all of the AAA filing costs and administrative fees (other than hearing fees). If you elect arbitration, filing costs and administrative fees (other than hearing fees) shall be paid in accordance with the AAA Rules, or in accordance with countervailing law if contrary to the AAA Rules. However, if the value of the relief sought is $10,000 or less, at your request, we will pay all filing, administration, and arbitrator fees associated with the arbitration, unless the arbitrator(s) finds that either the substance of your claim or the relief sought was frivolous or was brought for an improper purpose (as measured by the standards set forth in Federal Rule of Civil Procedure 11(b)). In such circumstances, fees will be determined in accordance with the AAA Rules. Each party shall bear the expense of its own attorneys' fees, except as otherwise provided herein or required by law. This agreement to arbitrate shall be construed under and be subject to the Federal Arbitration Act (U.S. Code Article 9), notwithstanding any other choice of law set out in these Terms. You and we agree that the arbitration of any Dispute shall proceed on an individual basis, and neither you nor we may bring a claim as a part of a class, group, collective, coordinated, consolidated or mass arbitration (each, a “Collective Arbitration”). Without limiting the generality of the foregoing, a claim to resolve any Dispute against us will be deemed a Collective Arbitration if (i) two (2) or more similar claims for arbitration are filed concurrently; and (ii) counsel for the claimants are the same, share fees or coordinate across the arbitrations. “Concurrently” for purposes of this provision means that both arbitrations are pending (filed but not yet resolved) at the same time. -**To the maximum extent permitted by applicable law, neither you nor we shall be entitled to consolidate, join or coordinate disputes by or against other individuals or entities with any Disputes, or to arbitrate or litigate any Dispute in a representative capacity, including as a representative member of a class or in a private attorney general capacity. In connection with any Dispute, any and all such rights are hereby expressly and unconditionally waived.** Without limiting the foregoing, any challenge to the validity of this paragraph or otherwise relating to the prohibition of Collective Arbitration shall be determined exclusively by the arbitrator. +**To the maximum extent permitted by applicable law, neither you nor we shall be entitled to consolidate, join or coordinate disputes by or against other individuals or entities with any Disputes, or to arbitrate or litigate any Dispute in a representative capacity, including as a representative member of a class or in a private attorney general capacity. In connection with any Dispute, any and all such rights are hereby expressly and unconditionally waived.** Without limiting the foregoing, any challenge to the validity of this paragraph or otherwise relating to the prohibition of Collective Arbitration shall be determined exclusively by the arbitrator. Notwithstanding the agreement between you and us to arbitrate Disputes, you and we each may assert claims, if they qualify, through the small claims process in any courts having jurisdiction. @@ -60,7 +60,7 @@ This agreement to arbitrate shall survive the termination or expiration of these ### GOVERNING LAW -These Terms will be construed and enforced in accordance with the laws of the state of California applicable to contracts entered into and performed in California by California residents; provided that, as stated above, the provisions of these Terms related to arbitration shall be governed by and construed in accordance with the Federal Arbitration Act (U.S. Code Title 9). +These Terms will be construed and enforced in accordance with the laws of the state of California applicable to contracts entered into and performed in California by California residents; provided that, as stated above, the provisions of these Terms related to arbitration shall be governed by and construed in accordance with the Federal Arbitration Act (U.S. Code Title 9). ### IMPORTANT NOTE TO NEW JERSEY CONSUMERS @@ -68,7 +68,7 @@ If you are a consumer residing in New Jersey, the following provisions of these ### MISCELLANEOUS -These Terms constitute the entire agreement between you and us with respect to the subject matter of these Terms. Accordingly, these Terms supersede any prior terms relating to that subject matter. +These Terms constitute the entire agreement between you and us with respect to the subject matter of these Terms. Accordingly, these Terms supersede any prior terms relating to that subject matter. Except as provided above with respect to the provisions of these Terms prohibiting Collective Arbitration, if any provision of these Terms is held to be invalid, ineffective or unenforceable by a court of competent jurisdiction or arbitrator, the remaining provisions of these Terms will remain valid, effective and enforceable. diff --git a/src/components/TermsModal/TermsModal.tsx b/src/components/TermsModal/TermsModal.tsx index 205101b..923b7ec 100644 --- a/src/components/TermsModal/TermsModal.tsx +++ b/src/components/TermsModal/TermsModal.tsx @@ -19,95 +19,130 @@ /** * @file TermsModal.ts * @copyright SKALE Labs 2022-Present -*/ + */ -import React, { Dispatch, SetStateAction } from 'react'; +import React, { Dispatch, SetStateAction } from "react"; import { useLocation } from "react-router-dom"; -import Modal from '@mui/material/Modal'; -import Container from '@mui/material/Container'; -import Button from '@mui/material/Button'; -import Link from '@mui/material/Link'; - -import { MetaportCore, SkPaper, cls, cmn, styles } from '@skalenetwork/metaport'; +import Modal from "@mui/material/Modal"; +import Container from "@mui/material/Container"; +import Button from "@mui/material/Button"; +import Link from "@mui/material/Link"; -import { MAINNET_CHAIN_NAME, BRIDGE_PAGES } from '../../core/constants'; -import TermsOfService from '../Terms/terms-of-service.mdx' -import logo from '../../assets/skale_lg.svg'; +import { + MetaportCore, + SkPaper, + cls, + cmn, + styles, +} from "@skalenetwork/metaport"; +import { MAINNET_CHAIN_NAME, BRIDGE_PAGES } from "../../core/constants"; +import TermsOfService from "../Terms/terms-of-service.mdx"; +import logo from "../../assets/skale_lg.svg"; const style = { - width: '100vw', - height: '100vh', - outline: 'none', - backdropFilter: 'blur(5px)', - WebkitBackdropFilter: 'blur(10px)' + width: "100vw", + height: "100vh", + outline: "none", + backdropFilter: "blur(5px)", + WebkitBackdropFilter: "blur(10px)", }; - export default function TermsModal(props: { - mpc: MetaportCore, - termsAccepted: boolean, - setTermsAccepted: Dispatch> + mpc: MetaportCore; + termsAccepted: boolean; + setTermsAccepted: Dispatch>; }) { - const location = useLocation(); - const [scrolled, setScrolled] = React.useState(false); - - function getAgreeButtonText() { - if (!scrolled) return '⬆️ Read Terms of Service to continue ⬆️'; - return 'Agree to terms'; - } + const location = useLocation(); + const [scrolled, setScrolled] = React.useState(false); - function isBridgePage(): boolean { - return BRIDGE_PAGES.some(pathname => - location.pathname === pathname || location.pathname.includes(pathname) - ) || location.pathname === '/'; - } + function getAgreeButtonText() { + if (!scrolled) return "⬆️ Read Terms of Service to continue ⬆️"; + return "Agree to terms"; + } - function handleTermsScroll(e: any) { - const diff = e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight; - const bottom = Math.abs(diff) < 15; - setScrolled(bottom); - } - if (props.termsAccepted || !isBridgePage()) return null; - return ( -
- + function isBridgePage(): boolean { + return ( + BRIDGE_PAGES.some( + (pathname) => + location.pathname === pathname || + location.pathname.includes(pathname), + ) || location.pathname === "/" + ); + } - - -
- logo - { - props.mpc.config.skaleNetwork !== MAINNET_CHAIN_NAME ? -

- ❗ THIS IS A TEST WEBSITE -

:
} -

- 🖥️ For Desktop Use Only

- SKALE will NEVER ask you for your seed phrase or private keys.

- Please make sure you are connected to the correct bridge and only use this official link: https://bridge.skale.space/ -
- Before you use the SKALE Bridge, you must review the terms of service carefully and confirm below. -

-
- -
- -
-
-
- -
-
-
-
) + function handleTermsScroll(e: any) { + const diff = + e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight; + const bottom = Math.abs(diff) < 15; + setScrolled(bottom); + } + if (props.termsAccepted || !isBridgePage()) return null; + return ( + +
+ + + +
+ logo + {props.mpc.config.skaleNetwork !== MAINNET_CHAIN_NAME ? ( +

+ ❗ THIS IS A TEST WEBSITE +

+ ) : ( +
+ )} +

+ 🖥️ For Desktop Use Only
+
+ SKALE will NEVER ask you for your seed phrase or private keys.{" "} +
+
+ Please make sure you are connected to the correct bridge and + only use this official link:{" "} + + https://bridge.skale.space/ + +
+ Before you use the SKALE Bridge, you must review the terms of + service carefully and confirm below. +

+
+ +
+ +
+
+
+ +
+
+
+
+ ); } diff --git a/src/core/constants.ts b/src/core/constants.ts index 51065d7..fc3e859 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -19,20 +19,20 @@ /** * @file constants.js * @copyright SKALE Labs 2022-Present -*/ - + */ -export const MAINNET_CHAIN_NAME = 'mainnet' +export const MAINNET_CHAIN_NAME = "mainnet"; -export const DASHBOARD_URL = "https://app.geckoboard.com/v5/dashboards/LISYTRBEVGCVGL57/inception" +export const DASHBOARD_URL = + "https://app.geckoboard.com/v5/dashboards/LISYTRBEVGCVGL57/inception"; export const BRIDGE_PAGES = [ - "/transfer", - "/bridge/history", - "/portfolio", - "/other/faq" -] + "/transfer", + "/bridge/history", + "/portfolio", + "/other/faq", +]; -import FAQ from '../faq.json' +import FAQ from "../faq.json"; -export { FAQ } \ No newline at end of file +export { FAQ }; diff --git a/src/core/themes.ts b/src/core/themes.ts index 0b65957..d536367 100644 --- a/src/core/themes.ts +++ b/src/core/themes.ts @@ -1,21 +1,20 @@ -import { PaletteMode } from '@mui/material' -import { createTheme } from '@mui/material/styles'; -import { interfaces } from '@skalenetwork/metaport'; - +import { PaletteMode } from "@mui/material"; +import { createTheme } from "@mui/material/styles"; +import { interfaces } from "@skalenetwork/metaport"; export function createMuiTheme(mpTheme: interfaces.MetaportTheme) { - return createTheme({ - palette: { - mode: mpTheme.mode as PaletteMode, - background: { - paper: mpTheme.background - }, - primary: { - main: mpTheme.primary ?? '', - }, - secondary: { - main: mpTheme.background ?? '', - } - } - }) -} \ No newline at end of file + return createTheme({ + palette: { + mode: mpTheme.mode as PaletteMode, + background: { + paper: mpTheme.background, + }, + primary: { + main: mpTheme.primary ?? "", + }, + secondary: { + main: mpTheme.background ?? "", + }, + }, + }); +} diff --git a/src/core/transferHistory.ts b/src/core/transferHistory.ts index 5b8332a..afc8e0e 100644 --- a/src/core/transferHistory.ts +++ b/src/core/transferHistory.ts @@ -18,33 +18,34 @@ /** * @file transferHistory.ts * @copyright SKALE Labs 2023-Present -*/ + */ import { interfaces } from "@skalenetwork/metaport"; - function getKeyName(skaleNetwork: interfaces.SkaleNetwork): string { - return `br__transfersHistory_${skaleNetwork}`; + return `br__transfersHistory_${skaleNetwork}`; } - export function getHistoryFromStorage( - skaleNetwork: interfaces.SkaleNetwork + skaleNetwork: interfaces.SkaleNetwork, ): interfaces.TransferHistory[] { - const br__transfersHistory = localStorage.getItem(getKeyName(skaleNetwork)); - if (!br__transfersHistory) return []; - return JSON.parse(br__transfersHistory)['data']; + const br__transfersHistory = localStorage.getItem(getKeyName(skaleNetwork)); + if (!br__transfersHistory) return []; + return JSON.parse(br__transfersHistory)["data"]; } - export function setHistoryToStorage( - transferHistory: interfaces.TransferHistory[], - skaleNetwork: interfaces.SkaleNetwork + transferHistory: interfaces.TransferHistory[], + skaleNetwork: interfaces.SkaleNetwork, ): void { - localStorage.setItem(getKeyName(skaleNetwork), JSON.stringify({ data: transferHistory })); + localStorage.setItem( + getKeyName(skaleNetwork), + JSON.stringify({ data: transferHistory }), + ); } - -export function clearTransferHistory(skaleNetwork: interfaces.SkaleNetwork): void { - localStorage.removeItem(getKeyName(skaleNetwork)); -} \ No newline at end of file +export function clearTransferHistory( + skaleNetwork: interfaces.SkaleNetwork, +): void { + localStorage.removeItem(getKeyName(skaleNetwork)); +} diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index bb559e1..602d724 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1,6 +1,6 @@ /// interface Window { - ethereum: any - zE: any -} \ No newline at end of file + ethereum: any; + zE: any; +} From 22a9eef03e7ce05260803372b936d687a0155d1c Mon Sep 17 00:00:00 2001 From: Dmytro Date: Thu, 5 Oct 2023 17:15:50 +0100 Subject: [PATCH 39/68] Add prettier --- config/legacy.ts | 2 +- config/mainnet.ts | 2 +- config/staging.ts | 2 +- src/App.tsx | 3 +-- src/Header.tsx | 2 +- src/Router.tsx | 10 +++++----- src/SkDrawer.tsx | 3 +-- src/components/AccountMenu.tsx | 2 +- src/components/Admin.tsx | 2 +- src/components/Bridge.tsx | 17 +++++++---------- src/components/BridgeBody.tsx | 2 -- src/components/ChainCard.tsx | 3 +-- src/components/Message.tsx | 2 +- src/components/MoreMenu/MoreMenu.tsx | 4 ++-- src/components/Network/Network.tsx | 6 +++--- src/components/Portfolio.tsx | 6 +++--- src/components/Schain.tsx | 4 ++-- src/components/SchainDetails.tsx | 12 +++++------- src/components/TermsModal/TermsModal.tsx | 8 ++++---- src/core/constants.ts | 4 ++-- src/core/themes.ts | 8 ++++---- src/core/transferHistory.ts | 8 ++++---- 22 files changed, 51 insertions(+), 61 deletions(-) diff --git a/config/legacy.ts b/config/legacy.ts index 591511c..850dfbb 100644 --- a/config/legacy.ts +++ b/config/legacy.ts @@ -1,4 +1,4 @@ -import { interfaces } from '@skalenetwork/metaport' +import { type interfaces } from '@skalenetwork/metaport' export const METAPORT_CONFIG: interfaces.MetaportConfig = { skaleNetwork: 'legacy', diff --git a/config/mainnet.ts b/config/mainnet.ts index 71e9da0..e949740 100644 --- a/config/mainnet.ts +++ b/config/mainnet.ts @@ -1,4 +1,4 @@ -import { interfaces } from '@skalenetwork/metaport' +import { type interfaces } from '@skalenetwork/metaport' export const METAPORT_CONFIG: interfaces.MetaportConfig = { theme: { diff --git a/config/staging.ts b/config/staging.ts index 04787d1..efd1d04 100644 --- a/config/staging.ts +++ b/config/staging.ts @@ -1,4 +1,4 @@ -import { interfaces } from '@skalenetwork/metaport' +import { type interfaces } from '@skalenetwork/metaport' export const METAPORT_CONFIG: interfaces.MetaportConfig = { skaleNetwork: 'staging', diff --git a/src/App.tsx b/src/App.tsx index 03d5d8c..fe286d6 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -26,8 +26,7 @@ import "./App.scss"; import { MetaportProvider, getMetaportTheme } from "@skalenetwork/metaport"; import "@skalenetwork/metaport/dist/style.css"; -import { StyledEngineProvider } from "@mui/material/styles"; -import { ThemeProvider } from "@mui/material/styles"; +import { StyledEngineProvider , ThemeProvider } from "@mui/material/styles"; import Portal from "./Portal"; diff --git a/src/Header.tsx b/src/Header.tsx index bafc048..a26d078 100644 --- a/src/Header.tsx +++ b/src/Header.tsx @@ -52,7 +52,7 @@ export default function Header(props: { address: `0x${string}` | undefined }) {
- {"mainnet" !== MAINNET_CHAIN_NAME ? ( + {MAINNET_CHAIN_NAME !== "mainnet" ? ( state.transfersHistory); return (
diff --git a/src/components/Admin.tsx b/src/components/Admin.tsx index 34d3b91..ac58a1b 100644 --- a/src/components/Admin.tsx +++ b/src/components/Admin.tsx @@ -26,7 +26,7 @@ import Container from "@mui/material/Container"; import Stack from "@mui/material/Stack"; import { useParams } from "react-router-dom"; -import { cmn, cls, MetaportCore, getChainAlias } from "@skalenetwork/metaport"; +import { cmn, cls, type MetaportCore, getChainAlias } from "@skalenetwork/metaport"; export default function Admin(props: { mpc: MetaportCore }) { let { name } = useParams(); diff --git a/src/components/Bridge.tsx b/src/components/Bridge.tsx index 946a424..4cbf90f 100644 --- a/src/components/Bridge.tsx +++ b/src/components/Bridge.tsx @@ -35,10 +35,10 @@ import { CHAINS_META, cls, cmn, - dataclasses, + type dataclasses, useMetaportStore, SkPaper, - interfaces, + type interfaces, TransactionData, } from "@skalenetwork/metaport"; @@ -52,7 +52,7 @@ function getEmptyTokenParams(): TokenParams { } export default function Bridge() { - let [searchParams, setSearchParams] = useSearchParams(); + const [searchParams, setSearchParams] = useSearchParams(); const [tokenParams, setTokenParams] = useState( getEmptyTokenParams(), ); @@ -76,9 +76,6 @@ export default function Bridge() { const transactionsHistory = useMetaportStore( (state) => state.transactionsHistory, ); - const setTransactionsHistory = useMetaportStore( - (state) => state.setTransactionsHistory, - ); function validChainName(chainName: string | null): boolean { if (!chainName) return false; @@ -91,8 +88,8 @@ export default function Bridge() { ): boolean { if (!chainName || !appName) return false; const chainMeta = CHAINS_META[mpc.config.skaleNetwork]; - const apps = chainMeta && chainMeta[chainName] && chainMeta[chainName].apps; - return !!(apps && apps[appName]); + const apps = chainMeta?.[chainName]?.apps; + return !!(apps?.[appName]); } useEffect(() => { @@ -121,13 +118,13 @@ export default function Bridge() { setAppName2(validAppName(to, toApp) ? toApp! : undefined!); if (keyname) - setTokenParams({ keyname: keyname, type: type as dataclasses.TokenType }); + setTokenParams({ keyname, type: type as dataclasses.TokenType }); }, []); useEffect(() => { if ( tokens && - tokenParams.type && + (tokenParams.type != null) && tokenParams.keyname && tokens[tokenParams.type] && tokens[tokenParams.type][tokenParams.keyname] diff --git a/src/components/BridgeBody.tsx b/src/components/BridgeBody.tsx index bda74d7..25d621e 100644 --- a/src/components/BridgeBody.tsx +++ b/src/components/BridgeBody.tsx @@ -21,8 +21,6 @@ * @copyright SKALE Labs 2023-Present */ -import { useEffect } from "react"; - import Collapse from "@mui/material/Collapse"; import { MAINNET_CHAIN_NAME } from "../core/constants"; diff --git a/src/components/ChainCard.tsx b/src/components/ChainCard.tsx index d19f0c4..fa31b11 100644 --- a/src/components/ChainCard.tsx +++ b/src/components/ChainCard.tsx @@ -29,11 +29,10 @@ import { chainBg, getChainAlias, BASE_EXPLORER_URLS, - interfaces, + type interfaces, } from "@skalenetwork/metaport"; import Button from "@mui/material/Button"; -import KeyboardArrowRightRoundedIcon from "@mui/icons-material/KeyboardArrowRightRounded"; import ArrowOutwardIcon from "@mui/icons-material/ArrowOutward"; import UnfoldMoreRoundedIcon from "@mui/icons-material/UnfoldMoreRounded"; diff --git a/src/components/Message.tsx b/src/components/Message.tsx index 5308e58..5478d91 100644 --- a/src/components/Message.tsx +++ b/src/components/Message.tsx @@ -21,7 +21,7 @@ * @copyright SKALE Labs 2023-Present */ -import { ReactElement, useState } from "react"; +import { type ReactElement, useState } from "react"; import IconButton from "@mui/material/IconButton"; import CloseRoundedIcon from "@mui/icons-material/CloseRounded"; import Collapse from "@mui/material/Collapse"; diff --git a/src/components/MoreMenu/MoreMenu.tsx b/src/components/MoreMenu/MoreMenu.tsx index d8e1a8a..5b2b096 100644 --- a/src/components/MoreMenu/MoreMenu.tsx +++ b/src/components/MoreMenu/MoreMenu.tsx @@ -87,7 +87,7 @@ export default function MoreMenu() {
@@ -102,7 +102,7 @@ export default function MoreMenu() {
diff --git a/src/components/Network/Network.tsx b/src/components/Network/Network.tsx index 54de478..ad4c58e 100644 --- a/src/components/Network/Network.tsx +++ b/src/components/Network/Network.tsx @@ -8,9 +8,9 @@ import CategorySection from "../CategorySection"; import { cmn, cls, - MetaportCore, + type MetaportCore, CHAINS_META, - interfaces, + type interfaces, } from "@skalenetwork/metaport"; export default function Chains(props: { @@ -22,7 +22,7 @@ export default function Chains(props: { useEffect(() => { props.loadSchains(); - let intervalId = setInterval(props.loadSchains, 10000); + const intervalId = setInterval(props.loadSchains, 10000); setIntervalId(intervalId); }, []); diff --git a/src/components/Portfolio.tsx b/src/components/Portfolio.tsx index 19616ef..25d8eae 100644 --- a/src/components/Portfolio.tsx +++ b/src/components/Portfolio.tsx @@ -28,13 +28,13 @@ import Stack from "@mui/material/Stack"; import { cmn, cls, - MetaportCore, + type MetaportCore, getChainAlias, ChainIcon, TokenIcon, SkPaper, dataclasses, - interfaces, + type interfaces, useWagmiAccount, } from "@skalenetwork/metaport"; @@ -64,7 +64,7 @@ export default function Portfolio(props: { mpc: MetaportCore }) { async ( chainContracts: interfaces.TokenContractsMap, ): Promise => - props.mpc.tokenBalances(chainContracts, address!), + await props.mpc.tokenBalances(chainContracts, address!), ), ), ); diff --git a/src/components/Schain.tsx b/src/components/Schain.tsx index 4e16f8b..cbc72d7 100644 --- a/src/components/Schain.tsx +++ b/src/components/Schain.tsx @@ -32,9 +32,9 @@ import CircularProgress from "@mui/material/CircularProgress"; import { cmn, cls, - MetaportCore, + type MetaportCore, CHAINS_META, - interfaces, + type interfaces, } from "@skalenetwork/metaport"; export default function Schain(props: { diff --git a/src/components/SchainDetails.tsx b/src/components/SchainDetails.tsx index faf541e..18db05f 100644 --- a/src/components/SchainDetails.tsx +++ b/src/components/SchainDetails.tsx @@ -36,12 +36,10 @@ import { cls, PROXY_ENDPOINTS, BASE_EXPLORER_URLS, - MetaportCore, + type MetaportCore, SkPaper, } from "@skalenetwork/metaport"; -//const BASE_PROXY_URL = process.env["REACT_APP_BASE_PROXY_URL"]; -// const EXPLORER_URL = process.env["REACT_APP_EXPLORER_URL"]; const HTTP_PREFIX = "http://"; const HTTPS_PREFIX = "https://"; @@ -115,7 +113,7 @@ export default function SchainDetails(props: { const checked = true; const networkParams = { - chainId: chainId, + chainId, chainName: "[S]" + getChainName(props.schainName), rpcUrls: [rpcUrl], nativeCurrency: { @@ -127,7 +125,7 @@ export default function SchainDetails(props: { function getChainName(schainName: string) { if (props.chainMeta) { - return props.chainMeta["alias"]; + return props.chainMeta.alias; } return schainName; } @@ -144,7 +142,7 @@ export default function SchainDetails(props: {

{getChainName(props.schainName)}

- {props.chainMeta && props.chainMeta.description ? ( + {props.chainMeta?.description ? (

{props.chainMeta.description}

@@ -179,7 +177,7 @@ export default function SchainDetails(props: { Add network
- {props.chainMeta && props.chainMeta.url ? ( + {props.chainMeta?.url ? (
(false); - function getAgreeButtonText() { + function getAgreeButtonText(): string { if (!scrolled) return "⬆️ Read Terms of Service to continue ⬆️"; return "Agree to terms"; } @@ -72,7 +72,7 @@ export default function TermsModal(props: { ); } - function handleTermsScroll(e: any) { + function handleTermsScroll(e: any): void { const diff = e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight; const bottom = Math.abs(diff) < 15; diff --git a/src/core/constants.ts b/src/core/constants.ts index fc3e859..f67ef7c 100644 --- a/src/core/constants.ts +++ b/src/core/constants.ts @@ -21,6 +21,8 @@ * @copyright SKALE Labs 2022-Present */ +import FAQ from "../faq.json"; + export const MAINNET_CHAIN_NAME = "mainnet"; export const DASHBOARD_URL = @@ -33,6 +35,4 @@ export const BRIDGE_PAGES = [ "/other/faq", ]; -import FAQ from "../faq.json"; - export { FAQ }; diff --git a/src/core/themes.ts b/src/core/themes.ts index d536367..5784ff8 100644 --- a/src/core/themes.ts +++ b/src/core/themes.ts @@ -1,8 +1,8 @@ -import { PaletteMode } from "@mui/material"; -import { createTheme } from "@mui/material/styles"; -import { interfaces } from "@skalenetwork/metaport"; +import { type PaletteMode } from "@mui/material"; +import { createTheme, type Theme } from "@mui/material/styles"; +import { type interfaces } from "@skalenetwork/metaport"; -export function createMuiTheme(mpTheme: interfaces.MetaportTheme) { +export function createMuiTheme(mpTheme: interfaces.MetaportTheme): Theme { return createTheme({ palette: { mode: mpTheme.mode as PaletteMode, diff --git a/src/core/transferHistory.ts b/src/core/transferHistory.ts index afc8e0e..84643f4 100644 --- a/src/core/transferHistory.ts +++ b/src/core/transferHistory.ts @@ -20,7 +20,7 @@ * @copyright SKALE Labs 2023-Present */ -import { interfaces } from "@skalenetwork/metaport"; +import { type interfaces } from "@skalenetwork/metaport"; function getKeyName(skaleNetwork: interfaces.SkaleNetwork): string { return `br__transfersHistory_${skaleNetwork}`; @@ -29,9 +29,9 @@ function getKeyName(skaleNetwork: interfaces.SkaleNetwork): string { export function getHistoryFromStorage( skaleNetwork: interfaces.SkaleNetwork, ): interfaces.TransferHistory[] { - const br__transfersHistory = localStorage.getItem(getKeyName(skaleNetwork)); - if (!br__transfersHistory) return []; - return JSON.parse(br__transfersHistory)["data"]; + const transfersHistory = localStorage.getItem(getKeyName(skaleNetwork)); + if (transfersHistory == null) return []; + return JSON.parse(transfersHistory).data; } export function setHistoryToStorage( From 47684d7ad1e33871be64cde2a9585f84dffca343 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Mon, 9 Oct 2023 13:28:14 +0100 Subject: [PATCH 40/68] Add logos from skale-network, update ToS modal --- .gitignore | 2 + .gitmodules | 4 + README.md | 4 +- build.sh | 20 ++++ bun.lockb | Bin 300964 -> 691524 bytes generate-imports.cjs | 47 ++++++++++ index.html | 2 +- package.json | 2 +- skale-network | 1 + src/App.scss | 101 +++++++++++++++++++-- src/Router.tsx | 6 +- src/components/CategorySection.tsx | 42 +++++++-- src/components/ChainCard.tsx | 28 +++--- src/components/ChainLogo.tsx | 60 ++++++++++++ src/components/Network/Network.tsx | 14 +-- src/components/TermsModal/TermsModal.tsx | 111 ++++++++++++++--------- src/core/constants.ts | 12 ++- 17 files changed, 367 insertions(+), 89 deletions(-) create mode 100644 .gitmodules create mode 100644 generate-imports.cjs create mode 160000 skale-network create mode 100644 src/components/ChainLogo.tsx diff --git a/.gitignore b/.gitignore index d25a2cd..7f7a06e 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ src/meta/ src/metadata/chainsData.json src/metadata/faucet.json .vercel + +chainsJson.json \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b651e73 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "skale-network"] + path = skale-network + url = https://github.com/skalenetwork/skale-network.git + branch = add-additional-metadata \ No newline at end of file diff --git a/README.md b/README.md index 9ebe6b3..c363831 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# SKALE Bridge UI +# SKALE Portal [![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB) -The SKALE Bridge UI is a web-based interface that allows users to interact with the SKALE IMA contracts. The Bridge UI provides a user-friendly way for users to transfer assets and data between different SKALE chains and Ethereum Mainnet, enabling greater flexibility and scalability for decentralized applications. +The SKALE Portal is a web-based interface that allows users to interact with the SKALE IMA contracts. SKALE Portal provides a user-friendly way for users to transfer assets and data between different SKALE chains and Ethereum Mainnet, enabling greater flexibility and scalability for decentralized applications. ## How It Works diff --git a/build.sh b/build.sh index 6210529..216a76c 100644 --- a/build.sh +++ b/build.sh @@ -12,5 +12,25 @@ METAPORT_CONFIG_PATH_SRC=$DIR/src/metadata/metaportConfig.ts echo "Copying ${METAPORT_CONFIG_PATH} -> ${METAPORT_CONFIG_PATH_SRC}..." cp $METAPORT_CONFIG_PATH $METAPORT_CONFIG_PATH_SRC +META_DIR_EXTERNAL=$DIR/skale-network/metadata/$NETWORK_NAME/ +META_DIR=$DIR/src/meta/ + +if [ -d "$META_DIR" ]; then + echo "Removing ${META_DIR}..." + rm -rf $META_DIR +else + echo "${META_DIR} not found, skipping" +fi + +if [ -d "$META_DIR_EXTERNAL" ]; then + echo "Copying ${META_DIR_EXTERNAL} -> ${META_DIR}..." + cp -R $META_DIR_EXTERNAL $META_DIR +else + cp -R $DIR/skale-network/metadata/mainnet/ $META_DIR + echo "${META_DIR_EXTERNAL} not found, copying Mainnet meta" +fi + +node generate-imports.cjs ./src/meta/logos + echo "Building..." yarn build diff --git a/bun.lockb b/bun.lockb index f74aabba0f5b5464162121a21d9be92b841c1bc2..eebc8afd01b7387f888775c038fc412fa4b24ff0 100755 GIT binary patch literal 691524 zcmdSCc{tTy_dk4yh|E(+ra}o3QX*tdDiX@j!NK7eI_H>&Oi7Z6ijriAD4HmdF=a@D zBr+5VA(fP&(zCYrdHALRgxqsi^Uytkh^s@HeYwfkxUVH87?Y?EDRRU;K6&JFv z3duK6$|b;;1O8K@__=z!lPM%6cR#8Rk**ZDiG!IyAdIN>$Eulb4VXXWZ{5aX>2q!FBl(5ZE#JUl_%pZTB)7EYT|ngs2-#1OhMMIY2~H zNkmsV)H*@8D}nwAh|0YfD8eXT4#)@Pmw}HPP>ThVa};P1pl5*woiKSyWST82fxrdy z2$Unf4WJ0>*PlwF)5#>NJ@Cl^y@QQF5C${?9Yg_1Gz!@l6iNhPNL~~JS8`%>AcL*~ z8p)%O0)3Hjw;1)w49oyT^4v%ye^7_u0en0_I{_m5sz5nJOM)>_6vYRK?6Lv^`9TSA z9iSIYDTL@lArPq^{zNK`BnjoH9hs)&LGg1T>;okbzaabrT}F{TeEp~-_#J4}4{AiD z&^!E=T5XiosBr2IsBm25j$R3__UucK=_a=n|qILq{ z{3U%TL^_@1Mi_*CkY7l&06H1;Cee-rkft2t7Q5cA!dB4U{9hh^~HA zUyz4m0~8`ZiohVC`cn7@x{h-5bEQ+sz9cu2OMnNo_n{#z2!uSSM|uQ#l3hK4Ceuj4 z$dE`eOrL$?SUmX?>7GiUysIaX;tlmetFiI$B+``JDMSwrppl$@Koox)B{02-UQ6Z@ z0;psqFX+=hz&FIz&y7?C^+>NPfY4P`8t8%i>`tW7kAQqCDS$?H4hS{6fNK&1B|AT*7V zhksBUuK+~yGhnJimr)LYs{rYMYXP6F!}za)&Zr+6$tRFR1;4^1Lvlih6bhL}Uy2tO zhzlBpNJD=1AyGX@Y6OCVJl2j?0ps5Vi1=KnL{}2{tASC@z8>@UK|oZGIz#?;BU6_q zgun)@d>_a|<=fc_1aMW{yj>;V}|_Pf$(^bmg%L2V=EPia8ZZV~Dc zUuXc0PV{vnFsWeqCWz?aLx#FQGRX&k5X6Y1Ynw3t;WW{Oyd*c&&kZ#r