--- a/.docker/Dockerfile-parachain-upgrade-data.j2 +++ b/.docker/Dockerfile-parachain-upgrade-data.j2 @@ -25,7 +25,7 @@ WORKDIR /unique_parachain RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ MAINNET_BRANCH }} . && \ - cargo build --features={{ NETWORK }}-runtime --$PROFILE + cargo build --features={{ NETWORK }}-runtime --$PROFILE # ===== BUILD target version ====== FROM rust-builder as builder-unique-target @@ -40,38 +40,46 @@ # ===== RUN ====== FROM ubuntu:22.04 +ENV RELAY_CHAIN_TYPE={{ RELAY_CHAIN_TYPE }} ENV REPLICA_FROM={{ REPLICA_FROM }} +ENV NEW_PARA_BIN=/unique-chain/target/release/unique-collator +ENV NEW_PARA_WASM=/unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm RUN apt-get -y update && \ apt-get -y install curl git && \ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \ export NVM_DIR="$HOME/.nvm" && \ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \ - nvm install v16.16.0 && \ - nvm use v16.16.0 + nvm install v18.16.0 && \ + nvm use v18.16.0 -RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b {{ POLKADOT_LAUNCH_BRANCH }} - -RUN export NVM_DIR="$HOME/.nvm" && \ - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \ - cd /polkadot-launch && \ - npm install --global yarn && \ - yarn install +RUN env COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/ COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/ COPY --from=builder-unique-target /unique_parachain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm -COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-forkless-data.json /polkadot-launch/launch-config.json -COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /polkadot-launch/fork.jsonnet -COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/typeNames.jsonnet /polkadot-launch/typeNames.jsonnet +COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/zombienet-forkless-data.toml /unique-chain/tests/zombienet-forkless.toml +COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /unique-chain/tests/fork.jsonnet +COPY --from=builder-unique-target /unique_parachain/tests/ /unique-chain/tests/ COPY --from=uniquenetwork/builder-chainql:{{ CHAINQL }} /chainql/target/release/chainql /chainql/target/release/ COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/ COPY --from=polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm +COPY --from=polkadot /unique_parachain/polkadot/target/release/wbuild/rococo-runtime/rococo_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/rococo-runtime/rococo_runtime.compact.compressed.wasm + +EXPOSE 33044 +EXPOSE 33055 +EXPOSE 33066 +EXPOSE 33077 +EXPOSE 33088 +EXPOSE 33144 +EXPOSE 33155 -CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \ +CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM NEW_PARA_BIN NEW_PARA_WASM RELAY_CHAIN_TYPE && \ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \ - cd /polkadot-launch && \ - yarn start launch-config.json --test-upgrade-parachains + cd /unique-chain/tests && \ + npm install --global yarn && \ + yarn install && \ + export DEBUG=zombie::metrics && yarn frankenstein zombienet-forkless.toml --- a/.docker/docker-compose.forkless-data.j2 +++ b/.docker/docker-compose.forkless-data.j2 @@ -7,6 +7,20 @@ expose: - 9944 - 9933 + - 33044 + - 33055 + - 33066 + - 33077 + - 33088 + - 33144 + - 33155 ports: - 127.0.0.1:9944:9944 - 127.0.0.1:9933:9933 + - 127.0.0.1:33044:33044 + - 127.0.0.1:33055:33055 + - 127.0.0.1:33066:33066 + - 127.0.0.1:33077:33077 + - 127.0.0.1:33088:33088 + - 127.0.0.1:33144:33144 + - 127.0.0.1:33155:33155 --- a/.docker/forkless-config/fork.jsonnet +++ b/.docker/forkless-config/fork.jsonnet @@ -1,46 +1,52 @@ +// Get live chain data on the URL provided with `forkFrom`, and +// insert the necessary data into a chain spec to launch a new chain with. +// +// ### Arguments +// - `rawSpec`: Path to the raw chain spec to modify +// - `forkFrom`: URL of the chain's WS port to get the data from +// +// ### Usage +// `chainql --tla-code=rawSpec="import 'parachain-spec-raw.json'" --tla-str=forkFrom="wss://some-parachain.node:443" fork.jsonnet` function(rawSpec, forkFrom) -local sourceChain = cql.chain(forkFrom).latest; +local sourceChainState = cql.chain(forkFrom).latest; -local raw = local sourceRaw = sourceChain._raw._preloadKeys; { +local raw = local sourceRaw = sourceChainState._raw._preloadKeys; { [key]: cql.toHex(sourceRaw[key]) for key in std.objectFields(sourceRaw) if sourceRaw[key] != null }; -local typeNames = (import './typeNames.jsonnet')(sourceChain); - local auraKeys = [ - sourceChain.AuraExt._key.Authorities, - sourceChain.Aura._key.Authorities, -] + (if 'CollatorSelection' in sourceChain then [ - sourceChain.CollatorSelection._key.Candidates, - sourceChain.CollatorSelection._key.Invulnerables, + sourceChainState.AuraExt._key.Authorities, + sourceChainState.Aura._key.Authorities, +] + (if 'CollatorSelection' in sourceChainState then [ + sourceChainState.CollatorSelection._key.Candidates, + sourceChainState.CollatorSelection._key.Invulnerables, ] else []), // Keys, which should be migrated from passed spec, rather than from forked chain wantedKeys = [ - sourceChain.ParachainInfo._key.ParachainId, - sourceChain.Sudo._key.Key, - sourceChain.System.BlockHash._key['0'], + sourceChainState.ParachainInfo._key.ParachainId, + sourceChainState.Sudo._key.Key, + sourceChainState.System.BlockHash._key['0'], // Always [69, 69, 69, ..., 69, 69, 69] - sourceChain.System._key.ParentHash, + sourceChainState.System._key.ParentHash, ] + auraKeys, - // Keys to remove from original chain unwantedPrefixes = [ - sourceChain.Aura._key.CurrentSlot, + sourceChainState.Aura._key.CurrentSlot, // Ensure there will be no panics caused by unexpected kept state - sourceChain.ParachainSystem._key.ValidationData, - sourceChain.ParachainSystem._key.RelayStateProof, - sourceChain.ParachainSystem._key.HostConfiguration, - sourceChain.ParachainSystem._key.LastRelayChainBlockNumber, - sourceChain.ParachainSystem._key.LastDmqMqcHead, + sourceChainState.ParachainSystem._key.ValidationData, + sourceChainState.ParachainSystem._key.RelayStateProof, + sourceChainState.ParachainSystem._key.HostConfiguration, + sourceChainState.ParachainSystem._key.LastRelayChainBlockNumber, + sourceChainState.ParachainSystem._key.LastDmqMqcHead, // Part of head - sourceChain.System._key.BlockHash, - sourceChain.System._key.Number, - sourceChain.System._key.Digest, + sourceChainState.System._key.BlockHash, + sourceChainState.System._key.Number, + sourceChainState.System._key.Digest, ] + auraKeys, cleanupRaw(raw) = { @@ -63,33 +69,37 @@ }, }; +local pow10(n) = std.foldl(function(a, _) a * std.bigint('10'), std.range(0, n), std.bigint('1')); + local - aliceAccount = sourceChain.System._encodeKey.Account(['0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d']), - totalIssuance = sourceChain.Balances._encodeKey.TotalIssuance([]), - unique = cql.calc(["10", "18", "**"]), - Munique = cql.calc([unique, "10", "6", "**", "*"]), + aliceAccount = sourceChainState.System._encodeKey.Account(['0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d']), + totalIssuance = sourceChainState.Balances._encodeKey.TotalIssuance([]), + Munique = pow10(6 + 18), ; outSpec { genesis+: { raw+: { top+: { - [totalIssuance]: sourceChain._encode(typeNames.u128, cql.calc([ - Munique, - if std.objectHas(super, totalIssuance) then sourceChain._decode(typeNames.u128, super[totalIssuance]) else '0', - if std.objectHas(super, aliceAccount) then sourceChain._decode(typeNames.AccountInfo, super[aliceAccount]).data.free else '0', - '-', '+', - ])), - [aliceAccount]: sourceChain._encode(typeNames.AccountInfo, { + [totalIssuance]: sourceChainState.Balances._encodeValue.TotalIssuance( + if std.objectHas(super, totalIssuance) + then sourceChainState.Balances._decodeValue.TotalIssuance(super[totalIssuance]) + else std.bigint(0) + - if std.objectHas(super, aliceAccount) + then sourceChainState.System._decodeValue.Account(super[aliceAccount]).data.free + else std.bigint(0) + + Munique + ), + [aliceAccount]: sourceChainState.System._encodeValue.Account({ nonce: 0, consumers: 3, providers: 1, sufficients: 0, data: { free: Munique, - reserved: "0", - misc_frozen: "0", - fee_frozen: "0", + reserved: std.bigint('0'), + misc_frozen: std.bigint('0'), + fee_frozen: std.bigint('0'), }, },) }, --- a/.docker/forkless-config/launch-config-forkless-data.j2 +++ /dev/null @@ -1,135 +0,0 @@ -{ - "relaychain": { - "bin": "/polkadot/target/release/polkadot", - "upgradeBin": "/polkadot/target/release/polkadot", - "upgradeWasm": "/polkadot/target/release/wbuild/{{ RELAY_CHAIN_TYPE }}-runtime/{{ RELAY_CHAIN_TYPE }}_runtime.compact.compressed.wasm", - "chain": "{{ RELAY_CHAIN_TYPE }}-local", - "nodes": [ - { - "name": "alice", - "wsPort": 9844, - "rpcPort": 9843, - "port": 30444, - "flags": [ - "-lparachain::candidate_validation=debug", - "-lxcm=trace", - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external" - ] - }, - { - "name": "bob", - "wsPort": 9855, - "rpcPort": 9854, - "port": 30555, - "flags": [ - "-lparachain::candidate_validation=debug", - "-lxcm=trace", - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external" - ] - }, - { - "name": "charlie", - "wsPort": 9866, - "rpcPort": 9865, - "port": 30666, - "flags": [ - "-lparachain::candidate_validation=debug", - "-lxcm=trace", - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external" - ] - }, - { - "name": "dave", - "wsPort": 9877, - "rpcPort": 9876, - "port": 30777, - "flags": [ - "-lparachain::candidate_validation=debug", - "-lxcm=trace", - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external" - ] - }, - { - "name": "eve", - "wsPort": 9888, - "rpcPort": 9887, - "port": 30888, - "flags": [ - "-lparachain::candidate_validation=debug", - "-lxcm=trace", - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external" - ] - } - ], - "genesis": { - "runtime": { - "runtime_genesis_config": { - "parachainsConfiguration": { - "config": { - "validation_upgrade_frequency": 1, - "validation_upgrade_delay": 1 - } - } - } - } - } - }, - "parachains": [ - { - "bin": "/unique-chain/current/release/unique-collator", - "upgradeBin": "/unique-chain/target/release/unique-collator", - "upgradeWasm": "/unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm", - "id": "1000", - "balance": "1000000000000000000000000", - "chainRawInitializer": [ - "chainql", - "--tla-code=rawSpec=import '${rawSpec}'", - "--tla-str=forkFrom={{ REPLICA_FROM }}", - "fork.jsonnet" - ], - "nodes": [ - { - "port": 31200, - "wsPort": 9944, - "rpcPort": 9933, - "name": "alice", - "flags": [ - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external", - "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug", - "--", - "--port=31335", - "--ws-port=9745", - "--rpc-port=9734" - ] - }, - { - "port": 31201, - "wsPort": 9945, - "rpcPort": 9934, - "name": "bob", - "flags": [ - "--rpc-cors=all", - "--unsafe-rpc-external", - "--unsafe-ws-external", - "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug" - ] - } - ] - } - ], - "simpleParachains": [], - "hrmpChannels": [], - "finalization": false -} --- a/.docker/forkless-config/typeNames.jsonnet +++ /dev/null @@ -1,52 +0,0 @@ -function(chain) -local - typeName(id) = local - ty = chain._meta.types.types[id], - name = if std.objectHas(ty.type, "path") then - std.join('::', ty.type.path) - else if std.objectHas(ty.type.def, "primitive") then ty.type.def.primitive - else if std.objectHas(ty.type.def, "tuple") then "(" + std.join(', ', std.map(typeName, ty.type.def.tuple)) + ")" - else if std.objectHas(ty.type.def, "sequence") then "Vec<" + typeName(ty.type.def.sequence.type) + ">" - else if std.objectHas(ty.type.def, "array") then "[" + typeName(ty.type.def.array.type) + "; " + ty.type.def.array.len + "]" - else if std.objectHas(ty.type.def, "compact") then "Compact<" + typeName(ty.type.def.compact.type) + ">" - else error "Can't generate useable name for " + ty.type, - generics = if std.objectHas(ty.type, "params") then - '<' + std.join(', ', std.map(function(p) if p.type == null then 'Spec#'+id else typeName(p.type), ty.type.params)) + '>' - else '' - ; name + generics, - shortenPrefix(obj, prefix, short) = { - [short]: obj[field] - for field in std.objectFields(obj) - // There should be at most one element with this prefix - if std.startsWith(field, prefix) - }, - makeObject(keyValues) = std.foldl(function(o, kv) if kv[0] in o then o else o + {[kv[0]]: kv[1]}, keyValues, {}), -; - -local typesRaw = makeObject([ - [typeName(id), id] - for id in std.range(0, std.length(chain._meta.types.types)-1) -]); - -local types = typesRaw + shortenPrefix(typesRaw, 'frame_system::AccountInfo<', 'AccountInfo'); - -types -// local -// ; - -// local encoded = chain._encode(types['AccountInfo'], { -// nonce: 0, -// consumers: 3, -// providers: 1, -// sufficients: 0, -// data: { -// free: Munique, -// reserved: "0", -// misc_frozen: "0", -// fee_frozen: "0", -// }, -// }); - -// local systemAccount = chain._decode(types['AccountInfo'], encoded); - -// chain.System._encodeKey.Account(['0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d']) --- /dev/null +++ b/.docker/forkless-config/zombienet-forkless-data.toml @@ -0,0 +1,90 @@ +[settings] +provider = "native" + +[relaychain] +default_command = "/polkadot/target/release/polkadot" +default_args = [ "-lparachain::candidate_validation=debug", "-lxcm=trace", ] +chain = "{{ RELAY_CHAIN_TYPE }}-local" + + [[relaychain.nodes]] + name = "relay-alice" + ws_port = 9844 + rpc_port = 9843 + p2p_port = 30444 + prometheus_port = 33044 + prometheus = false + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + + [[relaychain.nodes]] + name = "relay-bob" + ws_port = 9855 + rpc_port = 9854 + p2p_port = 30555 + prometheus_port = 33055 + prometheus = false + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + + [[relaychain.nodes]] + name = "relay-charlie" + ws_port = 9866 + rpc_port = 9865 + p2p_port = 30666 + prometheus_port = 33066 + prometheus = false + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + + [[relaychain.nodes]] + name = "relay-dave" + ws_port = 9877 + rpc_port = 9876 + p2p_port = 30777 + prometheus_port = 33077 + prometheus = false + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + + [[relaychain.nodes]] + name = "relay-eve" + ws_port = 9888 + rpc_port = 9887 + p2p_port = 3088 + prometheus_port = 33088 + prometheus = false + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + +[[parachains]] +id = 1000 +chain_spec_modifier_commands = [[ + "chainql", + "--tla-code=rawSpec=import '{{'raw'|chainSpec}}'", + "--tla-str=forkFrom={{ REPLICA_FROM }}", + "fork.jsonnet", +]] + + [[parachains.collators]] + name = "alice" + command = "/unique-chain/current/release/unique-collator" + ws_port = 9944 + rpc_port = 9933 + p2p_port = 31200 + prometheus_port = 33144 + prometheus = false + args = [ + "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug", + ] + + [[parachains.collators]] + name = "bob" + command = "/unique-chain/current/release/unique-collator" + ws_port = 9945 + rpc_port = 9934 + p2p_port = 31201 + prometheus_port = 33155 + prometheus = false + args = [ + "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug", + ] --- /dev/null +++ b/.docker/forkless-config/zombienet-forkless-nodata.toml @@ -0,0 +1,42 @@ +[settings] +provider = "native" + +[relaychain] +default_command = "/polkadot/target/release/polkadot" +default_args = [ "-lparachain::candidate_validation=debug", "-lxcm=trace", ] +chain = "{{ RELAY_CHAIN_TYPE }}-local" + + [[relaychain.nodes]] + name = "relay-alice" + ws_port = 9844 + rpc_port = 9843 + p2p_port = 30444 + + [[relaychain.node_groups]] + name = "relay" + count = 4 + +[[parachains]] +id = 1000 + + [[parachains.collators]] + name = "alice" + command = "/unique-chain/current/release/unique-collator" + ws_port = 9944 + rpc_port = 9933 + p2p_port = 31200 + args = [ + "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug", + "--ws-max-connections=1000", + ] + + [[parachains.collators]] + name = "bob" + command = "/unique-chain/current/release/unique-collator" + ws_port = 9945 + rpc_port = 9934 + p2p_port = 31201 + args = [ + "-lxcm=trace,parity_ws::handler=debug,jsonrpsee_core=trace,jsonrpsee-core=trace,jsonrpsee_ws_server=debug", + "--ws-max-connections=1000", + ] --- a/.dockerignore +++ b/.dockerignore @@ -2,7 +2,6 @@ .github/ doc/ target/ -tests/ chain-data*/ smart_contract/ Dockerfile-parachain --- a/.env +++ b/.env @@ -1,7 +1,7 @@ RUST_TOOLCHAIN=nightly-2022-11-15 POLKADOT_LAUNCH_BRANCH=unique-network RELAY_CHAIN_TYPE=westend -CHAINQL=v0.3.1 +CHAINQL=v0.4.1 POLKADOT_MAINNET_BRANCH=release-v0.9.37 STATEMINT_BUILD_BRANCH=release-parachains-v9370 --- a/.github/workflows/forkless-update-data.yml +++ b/.github/workflows/forkless-update-data.yml @@ -81,8 +81,8 @@ NETWORK=${{ matrix.network }} MAINNET_BRANCH=${{ matrix.mainnet_branch }} WASM_NAME=${{ matrix.wasm_name }} + RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }} POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }} - POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }} REPLICA_FROM=${{ matrix.replica_from_address }} CHAINQL=${{ env.CHAINQL }} EXTRA_FEATURES=${{ matrix.extra_features }} @@ -90,19 +90,6 @@ - name: Show build configuration run: cat .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml - - name: Generate launch-config-forkless-data.json - uses: cuchi/jinja2-action@v1.2.0 - with: - template: .docker/forkless-config/launch-config-forkless-data.j2 - output_file: .docker/forkless-config/launch-config-forkless-data.json - variables: | - WASM_NAME=${{ matrix.wasm_name }} - RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }} - REPLICA_FROM=${{ matrix.replica_from_address }} - - - name: Show launch-config-forkless configuration - run: cat .docker/forkless-config/launch-config-forkless-data.json - - name: Run find-and-replace to remove slashes from branch name uses: mad9000/actions-find-and-replace-string@4 id: branchname @@ -258,11 +245,11 @@ if: success() || failure() uses: jwalton/gh-docker-logs@v2.2.1 with: - dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}' + dest: './forkless-parachain-upgrade-data-logs.${{ matrix.network }}' - name: Show Docker logs if: success() || failure() - run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/forkless-data.log' + run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.network }}/forkless-data.log' - name: Stop running containers if: always() # run this step always --- /dev/null +++ b/launch-zombienet.toml @@ -0,0 +1,43 @@ +# To launch this zombienet out-of-the-box, run `yarn frankenstein` in the `tests` folder. + +[settings] +provider = "native" + +[relaychain] +# RELAY_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ../polkadot/ +default_command = "{{RELAY_DIR}}target/release/polkadot" +default_args = [ "-lparachain::candidate_validation=debug", "-lxcm=trace", ] +chain = "rococo-local" + + [[relaychain.nodes]] + name = "relay-alice" + ws_port = 9844 + rpc_port = 9843 + p2p_port = 30444 + # Zombienet does not grant the default balance to nodes created with [[nodes]]. + balance = 2000000000000 + + [[relaychain.node_groups]] + name = "relay" + count = 4 + +[[parachains]] +id = 1000 + + [[parachains.collators]] + name = "alice" + # PARA_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ./ + command = "{{PARA_DIR}}target/release/unique-collator" + ws_port = 9944 + rpc_port = 9933 + p2p_port = 31200 + args = [ "-lxcm=trace", ] + + [[parachains.collators]] + name = "bob" + # PARA_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ./ + command = "{{PARA_DIR}}target/release/unique-collator" + ws_port = 9945 + rpc_port = 9934 + p2p_port = 31201 + args = [ "-lxcm=trace", ] --- a/tests/package.json +++ b/tests/package.json @@ -13,6 +13,8 @@ "@types/node": "^20.2.3", "@typescript-eslint/eslint-plugin": "^5.47.0", "@typescript-eslint/parser": "^5.47.0", + "@zombienet/orchestrator": "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/orchestrator?2476ea76a368f1b1e94038dbfec29c27f114288e", + "@zombienet/utils": "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/utils?2476ea76a368f1b1e94038dbfec29c27f114288e", "chai": "^4.3.6", "chai-subset": "^1.6.0", "eslint": "^8.25.0", @@ -31,8 +33,9 @@ "lint": "eslint --ext .ts,.js src/", "fix": "yarn lint --fix", "setup": "ts-node --esm ./src/util/globalSetup.ts", - "setIdentities": "ts-node ./src/util/identitySetter.ts", - "checkRelayIdentities": "ts-node ./src/util/relayIdentitiesChecker.ts", + "setIdentities": "ts-node --esm ./src/util/identitySetter.ts", + "checkRelayIdentities": "ts-node --esm ./src/util/relayIdentitiesChecker.ts", + "frankenstein": "ts-node --esm ./src/util/frankenstein.ts", "_test": "yarn setup && mocha --timeout 9999999 --loader=ts-node/esm.mjs", "_testParallel": "yarn setup && mocha --timeout 9999999 --parallel --loader=ts-node/esm.mjs", "test": "yarn _test './src/**/*.*test.ts'", --- /dev/null +++ b/tests/src/util/frankenstein.ts @@ -0,0 +1,351 @@ +// Copyright 2019-2023 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network 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 General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +import {ApiPromise} from '@polkadot/api'; +import {blake2AsHex, cryptoWaitReady} from '@polkadot/util-crypto'; +import zombie from '@zombienet/orchestrator/dist'; +import {readNetworkConfig} from '@zombienet/utils/dist'; +import {resolve} from 'path'; +import {usingPlaygrounds} from '.'; +import fs from 'fs'; + +const ZOMBIENET_CREDENTIALS = process.env.ZOMBIENET_CREDENTIALS || '../.env'; +const NETWORK_CONFIG_FILE = process.argv[2] ?? '../launch-zombienet.toml'; +const PARA_DIR = process.env.PARA_DIR || '../'; +const RELAY_DIR = process.env.RELAY_DIR || '../../polkadot/'; +const REPLICA_FROM = process.env.REPLICA_FROM || 'wss://ws-opal.unique.network:443'; +const NEW_RELAY_BIN = process.env.NEW_RELAY_BIN; +const NEW_RELAY_WASM = process.env.NEW_RELAY_WASM; +const NEW_PARA_BIN = process.env.NEW_PARA_BIN; +const NEW_PARA_WASM = process.env.NEW_PARA_WASM; +const PARACHAIN_BLOCK_TIME = 12_000; +const SUPERUSER_KEY = '//Alice'; + +let network: zombie.Network | undefined; + +// Stop the network if it is running +const stop = async () => { + await network?.stop(); +}; + +// Promise of a timeout +function delay(ms: number) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +// Countdown with time left on display +async function waitWithTimer(time: number) { + const secondsTotal = Math.ceil(time / 1000); + for(let i = secondsTotal; i > 0; i--) { + // could also introduce hours, but wth + const seconds = i % 60; + const text = `Time left: ${Math.floor(i / 60)}:${seconds < 10 ? '0' + seconds : seconds}`; + if(process.stdout.isTTY) + process.stdout.write(text); + else if(seconds % 10 == 0) + console.log(text); + await delay(1000); + if(process.stdout.isTTY) { + process.stdout.clearLine(0); + process.stdout.cursorTo(0); + } + } +} + +// Get the runtime's current version +function getSpecVersion(api: ApiPromise): number { + return (api.consts.system.version as any).specVersion.toNumber(); +} + +// Get the required information on the relay chain +function getRelayInfo(api: ApiPromise): {specVersion: number, epochBlockLength: number, blockTime: number, epochTime: number} { + const info = { + specVersion: getSpecVersion(api), + epochBlockLength: (api.consts.babe.epochDuration as any).toNumber(), + blockTime: (api.consts.babe.expectedBlockTime as any).toNumber(), + epochTime: 0, + }; + info.epochTime = info.epochBlockLength * info.blockTime; + return info; +} + +// Enable or disable maintenance mode if present on the chain +async function toggleMaintenanceMode(value: boolean, wsUri: string) { + await usingPlaygrounds(async (helper, privateKey) => { + const superuser = await privateKey(SUPERUSER_KEY); + try { + const toggle = value ? 'enable' : 'disable'; + await helper.getSudo().executeExtrinsic(superuser, `api.tx.maintenance.${toggle}`, []); + console.log(`Maintenance mode ${value ? 'engaged' : 'disengaged'}.`); + } catch (e) { + console.error('Couldn\'t set maintenance mode. The maintenance pallet probably does not exist. Log:', e); + } + }, wsUri); +} + +const raiseZombienet = async (): Promise => { + const isUpgradeTesting = !!NEW_RELAY_BIN || !!NEW_RELAY_WASM || !!NEW_PARA_BIN || !!NEW_PARA_WASM; + /* + // If there is nothing to upgrade, what is the point + if (!isUpgradeTesting) { + console.warn('\nNeither the relay nor the parachain were selected for an upgrade! ' + + 'Please pass environment vars `NEW_RELAY_BIN`, `NEW_RELAY_WASM`, `NEW_PARA_BIN`, `NEW_PARA_WASM`.'); + process.exit(1); + } + */ + + // an unsavory practice, but very convenient, mwahahah + process.env.PARA_DIR = PARA_DIR; + process.env.RELAY_DIR = RELAY_DIR; + process.env.REPLICA_FROM = REPLICA_FROM; + + const configPath = resolve(NETWORK_CONFIG_FILE); + const networkConfig = readNetworkConfig(configPath); + // console.log(networkConfig); + if(networkConfig.settings.provider !== 'native') { + throw new Error(`Oh no! Expected native network, got ${networkConfig.settings.provider}.`); + } + + await cryptoWaitReady(); + + // Launch Zombienet! + network = await zombie.start(ZOMBIENET_CREDENTIALS, networkConfig, {silent: false}); + + // Get the relay chain info like the epoch length and spec version + // Then restart each parachain's binaries + // // Stop and restart each node + // // Send specified keys to parachain nodes in case the parachain requires it + // If it is not needed to upgrade runtimes themselves, the job is done! + + // Record some required information regarding the relay chain + await network.relay[0].connectApi(); + let relayInfo = getRelayInfo((network.relay[0] as any).apiInstance!); + await network.relay[0].apiInstance!.disconnect(); + if(isUpgradeTesting) { + console.log('Relay stats:', relayInfo); + } + + // non-exported functionality of NativeClient + const networkClient = (network.client as any); + + if(NEW_RELAY_BIN) { + console.log('\n๐Ÿงถ Restarting relay nodes'); + + for(const [index, node] of network.relay.entries()) { + await node.apiInstance?.disconnect(); + + console.log(`\n๐Ÿšฆ Starting timeout for the epoch change (node ${index + 1}/${network.relay.length})...`); + await waitWithTimer(relayInfo.epochTime); + + // Replace the node-starting command with the new binary + const cmd = networkClient.processMap[node.name].cmd[0].split(' ')[0]; + networkClient.processMap[node.name].cmd = networkClient.processMap[node.name].cmd.map((arg: string) => arg.replace(cmd, NEW_RELAY_BIN)); + + await node.restart(); + } + + console.log('\n๐ŸŒ’ All relay nodes restarted with the new binaries.'); + } + + if(NEW_PARA_BIN) { + for(const paraId in network.paras) { + const para = network.paras[paraId]; + console.log(`\n๐Ÿงถ Restarting collator nodes of parachain ${paraId}`); + + for(const [_index, node] of para.nodes.entries()) { + await node.apiInstance?.disconnect(); + + // Replace the node-starting command with the new binary + const cmd = networkClient.processMap[node.name].cmd[0].split(' ')[0]; + networkClient.processMap[node.name].cmd = networkClient.processMap[node.name].cmd.map((arg: string) => arg.replace(cmd, NEW_PARA_BIN)); + + await node.restart(); + // applyaurakey? + // Zombienet handles it on first-time node creation + } + } + + console.log('\n๐ŸŒ— All parachain collators restarted with the new binaries.'); + } + + // Re-establish connection to the relay node and get the runtime upgrade validation delay for parachains + // For the relay, connect and set the new runtime code + // For each parachain, connect, authorize and upgrade its runtime + // Ping the the chains for the runtime upgrade after the minimal time and then every few blocks + // // For each parachain, re-connect and verify that the runtime upgrade is successful + + let relayUpgradeCompleted = false, paraUpgradeCompleted = false; + + if(NEW_RELAY_WASM) { + const relayOldVersion = relayInfo.specVersion; + console.log('\n๐Ÿšฆ Starting timeout for the next epoch before upgrading the relay runtime code...'); + await waitWithTimer(relayInfo.epochTime); + + console.log('--- Upgrading the relay chain runtime \t---'); + + // Read the new WASM code and set it as the relay's new code + const code = fs.readFileSync(NEW_RELAY_WASM).toString('hex'); + await usingPlaygrounds(async (helper, privateKey) => { + const superuser = await privateKey(SUPERUSER_KEY); + + const result = await helper.executeExtrinsic( + superuser, + 'api.tx.sudo.sudoUncheckedWeight', + [helper.constructApiCall('api.tx.system.setCode', [`0x${code}`]), {}], + ); + + if(result.status == 'Fail') { + console.error('Failed to upgrade the runtime:', result); + } + + // Get the updated information from the relay's new runtime + relayInfo = getRelayInfo(helper.getApi()); + }, network.relay[0].wsUri); + + if(relayOldVersion != relayInfo.specVersion) { + // eslint-disable-next-line no-useless-escape + console.log(`\n\๐Ÿ›ฐ๏ธ The relay has successfully upgraded from version ${relayOldVersion} to ${relayInfo.specVersion}!`); + relayUpgradeCompleted = true; + } else { + console.error(`\nThe relay did not upgrade from version ${relayOldVersion}!`); + } + } else { + // If the relay did not need to be upgraded, it's already technically completed + relayUpgradeCompleted = true; + } + + if(NEW_PARA_WASM) { + let codeValidationDelayBlocks = 0; + const upgradingParas: {[id: string]: {version: number, upgraded: boolean}} = {}; + // Calculate the code validation delay of the relay chain, + // so that we know how much to wait before the parachains can be upgraded after the extrinsic + await usingPlaygrounds(async (helper) => { + const {validationUpgradeDelay, minimumValidationUpgradeDelay} = + (await helper.callRpc('api.query.configuration.activeConfig', [])).toJSON() as any; + + codeValidationDelayBlocks = Math.max(validationUpgradeDelay ?? 0, minimumValidationUpgradeDelay ?? 0); + }, network.relay[0].wsUri); + + // Wait for the next epoch so that the parachains will start cooperating with the relay + if(relayUpgradeCompleted && NEW_RELAY_WASM) { + console.log('\n๐Ÿšฅ Starting timeout for the next epoch before upgrading the parachains code...'); + await waitWithTimer(relayInfo.epochTime); + } + + for(const paraId in network.paras) { + console.log(`\n--- Upgrading the runtime of parachain ${paraId} \t---`); + const para = network.paras[paraId]; + + // Enable maintenance mode if present + await toggleMaintenanceMode(true, para.nodes[0].wsUri); + + // Read the WASM code and authorize the upgrade with its hash and set it as the new runtime + const code = fs.readFileSync(NEW_PARA_WASM); + const codeHash = blake2AsHex(code); + await usingPlaygrounds(async (helper, privateKey) => { + const superuser = await privateKey(SUPERUSER_KEY); + + upgradingParas[paraId] = {version: getSpecVersion(helper.getApi()), upgraded: false}; + + console.log('--- Authorizing the parachain runtime upgrade \t---'); + let result = await helper.executeExtrinsic( + superuser, + 'api.tx.sudo.sudoUncheckedWeight', + [helper.constructApiCall('api.tx.parachainSystem.authorizeUpgrade', [codeHash, false]), {}], + ); + + if(result.status == 'Fail') { + console.error('Failed to authorize the upgrade:', result); + return; + } + + console.log('--- Enacting the parachain runtime upgrade \t---'); + result = await helper.executeExtrinsic( + superuser, + 'api.tx.sudo.sudoUncheckedWeight', + [helper.constructApiCall('api.tx.parachainSystem.enactAuthorizedUpgrade', [`0x${code.toString('hex')}`]), {}], + ); + + if(result.status == 'Fail') { + console.error('Failed to upgrade the runtime:', result); + } + }, para.nodes[0].wsUri); + } + + // Check the upgrades of the parachains, first after the minimum code validation delay, and then after some block time increments + let firstPass = true; + for(let attempt = 0; attempt < 3 && !paraUpgradeCompleted; attempt++) { + if(firstPass) { + console.log('\nCode validation delay:', codeValidationDelayBlocks, 'blocks'); + console.log('๐Ÿšฅ Waiting for the minimum code validation delay before the parachain can upgrade...'); + await waitWithTimer(relayInfo.blockTime * codeValidationDelayBlocks); + firstPass = false; + } else { + console.log('\n๐Ÿšฅ Waiting for a few blocks more to verify that the parachain upgrades are successful...'); + await waitWithTimer(PARACHAIN_BLOCK_TIME * 3); + } + + // Ping the parachains' nodes for new runtime versions + let upgradeFailed = false; + for(const paraId in network.paras) { + if(upgradingParas[paraId].upgraded) continue; + + const para = network.paras[paraId]; + // eslint-disable-next-line require-await + await usingPlaygrounds(async (helper) => { + const specVersion = getSpecVersion(helper.getApi()); + + if(specVersion != upgradingParas[paraId].version) { + // eslint-disable-next-line no-useless-escape + console.log(`\n\๐Ÿ›ฐ๏ธ Parachain ${paraId} has successfully upgraded from version ${upgradingParas[paraId].version} to ${specVersion}!`); + upgradingParas[paraId].upgraded = true; + } else { + console.error(`\nParachain ${paraId} failed to upgrade from version ${upgradingParas[paraId].version}!`); + upgradeFailed = true; + } + }, para.nodes[0].wsUri); + + paraUpgradeCompleted = !upgradeFailed; + } + } + + // Disable maintenance mode if present + for(const paraId in network.paras) { + await toggleMaintenanceMode(false, network.paras[paraId].nodes[0].wsUri); + } + } else { + // If the relay did not need to be upgraded, it's already technically completed + paraUpgradeCompleted = true; + } + + // await network.stop(); + + if(isUpgradeTesting) { + if(paraUpgradeCompleted && relayUpgradeCompleted) { + console.log("\n๐Ÿ›ธ PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE ๐Ÿ›ธ"); + } else { + console.error("\n๐Ÿšง PARACHAINS' RUNTIME UPGRADE TESTING FAILED ๐Ÿšง"); + } + } else { + console.log('๐Ÿš€ ZOMBIENET RAISED ๐Ÿš€'); + } +}; + +raiseZombienet()/*.then(async () => await stop())*/.catch(async (e) => { + console.error(e); + await stop(); + process.exit(1); +}); --- a/tests/yarn.lock +++ b/tests/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -286,11 +291,33 @@ dependencies: "@noble/hashes" "1.3.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: + "@noble/hashes" "1.3.1" + +"@noble/ed25519@^1.5.1": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" + integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== + "@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": + 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.3.0": + 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" @@ -312,6 +339,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@openzeppelin/contracts@^4.9.0": + version "4.9.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.1.tgz#afa804d2c68398704b0175acc94d91a54f203645" + integrity sha512-aLDTLu/If1qYIFW5g4ZibuQaUsFGWQPBq1mZKp/txaebUnGHDmmiBhRLY1tDNedN0m+fJtKZ1zAODS9Yk+V6uA== + "@polkadot/api-augment@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.7.2.tgz#b49aba3a7ac0832b1e21910c21c159e2dd0d3d47" @@ -325,6 +357,19 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/api-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.8.1.tgz#585b93ef9d09c114b57a8794574a429386c94660" + integrity sha512-KFfF0OESmFI8hFmuKGuU204+S4SORIxniZr88xUnEPyJQr4R6XYnbGSKcLJM5Y2MK8a7JEoKgg+hfnUTK6Se0w== + dependencies: + "@polkadot/api-base" "10.8.1" + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/api-base@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.7.2.tgz#70650dd434163a6ae7c5d6c535267a5007e8d4fc" @@ -336,6 +381,17 @@ rxjs "^7.8.1" tslib "^2.5.2" +"@polkadot/api-base@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.8.1.tgz#c6df0ff420c1af48ec58c823681d6c342d7b56f5" + integrity sha512-13BZ04UtiCECQshstL9RBLDJ6nq9HSwWXwMuWZcXUEPSsPhfR3iT0o212dtGrGliakYWgGEU1LGJuGhZ5iK7TA== + dependencies: + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/util" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + "@polkadot/api-derive@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.7.2.tgz#4c4f6d27f34f71f0a35d800c0477f25642c8552a" @@ -352,6 +408,22 @@ rxjs "^7.8.1" tslib "^2.5.2" +"@polkadot/api-derive@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.8.1.tgz#eab3fa9ef975bccad5ab0d5275699f42b51725c7" + integrity sha512-r1SBY9vu6OZMGp8/KZFwOqh7yS8yl0YbNDWuju2BEMWQ4Xx6WOlQjQV8Np9UFtKcnBFQzQjMLWH3vwrfTDgVEQ== + dependencies: + "@polkadot/api" "10.8.1" + "@polkadot/api-augment" "10.8.1" + "@polkadot/api-base" "10.8.1" + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + "@polkadot/api@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.7.2.tgz#e5e9667f6c048f24294992dc2f508047f42ac8ee" @@ -375,7 +447,30 @@ rxjs "^7.8.1" tslib "^2.5.2" -"@polkadot/keyring@^12.2.1": +"@polkadot/api@10.8.1", "@polkadot/api@^10.7.3": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.8.1.tgz#ecf4e8a7167d67ba1392ba0b93133c701e088280" + integrity sha512-Txx1bXmB4FHghzPZ+OVQk6oYgPE03bhwMNiXzmC8Ia/tw5aoFnko2FFl+Y1pEhhMKDmqfyVe4L+HxPjfEQbsfA== + dependencies: + "@polkadot/api-augment" "10.8.1" + "@polkadot/api-base" "10.8.1" + "@polkadot/api-derive" "10.8.1" + "@polkadot/keyring" "^12.2.2" + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/rpc-core" "10.8.1" + "@polkadot/rpc-provider" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/types-known" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + eventemitter3 "^5.0.1" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/keyring@^12.1.2", "@polkadot/keyring@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.2.1.tgz#d131375c0436115d1f35139bd2bbbc069dd5b9fa" integrity sha512-YqgpU+97OZgnSUL56DEMib937Dpb1bTTDPYHhBiN1yNCKod7UboWXIe4xPh+1Kzugum+dEyPpdV+fHH10rtDzw== @@ -384,6 +479,15 @@ "@polkadot/util-crypto" "12.2.1" tslib "^2.5.0" +"@polkadot/keyring@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.2.2.tgz#4efb5333c78222a91949b699d4a65b338c79eede" + integrity sha512-z8MVdgrhzg/bFiR2i5/W06Ma+IPeisH7EtGuIQ+ZwXiCJlXMAGUy5spfk3fUbXYubCCqNycqFgKTYDM/rDhXSg== + dependencies: + "@polkadot/util" "12.2.2" + "@polkadot/util-crypto" "12.2.2" + tslib "^2.5.3" + "@polkadot/networks@12.2.1", "@polkadot/networks@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.2.1.tgz#ce3e2371e3bd02c9c1b233846b9fe1df4601f560" @@ -393,6 +497,15 @@ "@substrate/ss58-registry" "^1.40.0" tslib "^2.5.0" +"@polkadot/networks@12.2.2", "@polkadot/networks@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.2.2.tgz#14b34210ea2dfc3b27897b579eb93c5f0a8f2a1c" + integrity sha512-SsZognHwXyD2saJkB35G+28noAZBcNpJAXsTI7QTTDHGiQSDp0mPmrk3Rt7BRAeFn4qdXQuRqQYKYUwBM2i9mQ== + dependencies: + "@polkadot/util" "12.2.2" + "@substrate/ss58-registry" "^1.40.0" + tslib "^2.5.3" + "@polkadot/rpc-augment@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.7.2.tgz#27814f8b23e40c843edebfd6fe6367bc4bfaf12c" @@ -404,6 +517,17 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/rpc-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.8.1.tgz#19bbfdf78ca5b6d493aee7b954bb4a526be6ebe7" + integrity sha512-FmXAQLyG8cwBI+MwMxxx4qttolR2gFnYXC7PjYrrjYq4AZrrGWd9SvwXx8aA/NLRJ/PJqvri4dsoKPe7NiE+1A== + dependencies: + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/rpc-core@10.7.2", "@polkadot/rpc-core@^10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.7.2.tgz#5435cd6f063358f400b9ba76704b225be969209c" @@ -416,6 +540,18 @@ rxjs "^7.8.1" tslib "^2.5.2" +"@polkadot/rpc-core@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.8.1.tgz#1bc8f7f840164bf3f03fe71851071c7f19f4f166" + integrity sha512-GTMYBBssiP6wyYvc8hB0glQc4VUneGxiSYjWGijh9NEl/JVBpU01jcK3dfx534AWptctJN1Vk2fWzhaDgnj8zA== + dependencies: + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/rpc-provider" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/util" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + "@polkadot/rpc-provider@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.7.2.tgz#8d1bb9d4ffaf769f83b53e6b785eec7151130b76" @@ -436,6 +572,26 @@ optionalDependencies: "@substrate/connect" "0.7.26" +"@polkadot/rpc-provider@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.8.1.tgz#7455b284934151bcc20e89d9605cb09186cea74a" + integrity sha512-yQdUmaWRMSa/qVGBRP1vGjdv4DnlaYOctJfRpz2MWPbEckH5DmPRxV4BAZ9FVa5lATX0Qkmr3uvBt3qApH7xhQ== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/types" "10.8.1" + "@polkadot/types-support" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + "@polkadot/x-fetch" "^12.2.2" + "@polkadot/x-global" "^12.2.2" + "@polkadot/x-ws" "^12.2.2" + eventemitter3 "^5.0.1" + mock-socket "^9.2.1" + nock "^13.3.1" + tslib "^2.5.3" + optionalDependencies: + "@substrate/connect" "0.7.26" + "@polkadot/typegen@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-10.7.2.tgz#1041b9361d353bbe3fe00dde20d8d629aea36d0b" @@ -467,6 +623,16 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/types-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.8.1.tgz#e774f3ba399f9f8961a5f557fb5a9c7c5901625a" + integrity sha512-rVn8aA4u6YPcxGEnBq2rXVmgXM5kSuiTHIjsusb6Sm3PzO//NcC/TW9sbZjlAJApgSoj9iagM7Y85OPGOZlxwg== + dependencies: + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/types-codec@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.7.2.tgz#b7270250ef2f3e4c3dea6c754b573258fac8cb54" @@ -476,6 +642,15 @@ "@polkadot/x-bigint" "^12.2.1" tslib "^2.5.2" +"@polkadot/types-codec@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.8.1.tgz#65f886fd2b717e2e12b319a395f9887edd1f9094" + integrity sha512-8dj4T6GA6JxuwUNShO70omZ4qkChwsJeGAJg5x09UeLEAwBS02BkFSllRUJjGEwnAUb/Iq4s3NBVmYiiZ/wmKg== + dependencies: + "@polkadot/util" "^12.2.2" + "@polkadot/x-bigint" "^12.2.2" + tslib "^2.5.3" + "@polkadot/types-create@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.7.2.tgz#dafaed10692bbf69c9257ef4ed1b56e757562ae5" @@ -485,6 +660,15 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/types-create@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.8.1.tgz#f5974a00918e2c4b7fca29c18abd3410536393ad" + integrity sha512-v2WZHQAjf8TiLipRkR1iPTyWSjGHJJP2SQ5uVO5UJlHilpE8lODqY1rr/9hGN+sbRhU0vEy6ZceDEKuNbtJB3Q== + dependencies: + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/types-known@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.7.2.tgz#bb39696e9d35a4b21a232dd372b85d65ff988eb0" @@ -497,6 +681,18 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/types-known@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.8.1.tgz#f630d3354cbe80149360edb37c569c5042eced12" + integrity sha512-AIeuF7eTIEnUgxa1pU0UMmF/tIXgucAECwU8vzoKeJLrYWA16VYUm0Pst9e3jK3PyLaCneMRyR00Lc7oxVANbw== + dependencies: + "@polkadot/networks" "^12.2.2" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/types-support@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.7.2.tgz#22c320e4fd94e20cedb47675630732f54d533060" @@ -505,6 +701,14 @@ "@polkadot/util" "^12.2.1" tslib "^2.5.2" +"@polkadot/types-support@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.8.1.tgz#b299f829374ce77fdfbe1d1b8faa14ba02969783" + integrity sha512-arDVaL70vzVL5JBGWW1qcOASn1cJ/UxNMR3fHchoVkAqS20VIrehE8MF4zXMdjcP0Ak3+6E0FaSmHMTKlmEJsg== + dependencies: + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + "@polkadot/types@10.7.2": version "10.7.2" resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.7.2.tgz#270bb743d4136461ec575cb533ab4982bb1b739c" @@ -519,7 +723,21 @@ rxjs "^7.8.1" tslib "^2.5.2" -"@polkadot/util-crypto@12.2.1", "@polkadot/util-crypto@^12.2.1": +"@polkadot/types@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.8.1.tgz#83c01c347189ff97b98b34a5a4aba27c715539eb" + integrity sha512-m6UvsvQOZ7sRGbonb6QLs4mZ6TmYKdAXAcHakiJl2xArqsgOghJsKhgaTqcigPkSq4947MXtIkEzdrwFEnkYkQ== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/util-crypto@12.2.1", "@polkadot/util-crypto@^12.1.2", "@polkadot/util-crypto@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.2.1.tgz#cbb0d1535e187af43ddcbac4248298b134f2f3ee" integrity sha512-MFh7Sdm7/G9ot5eIBZGuQXTYP/EbOCh1+ODyygp9/TjWAmJZMq1J73Uqk4KmzkwpDBpNZO8TGjiYwL8lR6BnGg== @@ -535,6 +753,22 @@ "@scure/base" "1.1.1" tslib "^2.5.0" +"@polkadot/util-crypto@12.2.2", "@polkadot/util-crypto@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.2.2.tgz#7e6ab56482d3dfb8704a724d695028677799c685" + integrity sha512-4JfEd/TJaDArp5Jpr3N/aYHp+QR71XzZRKqU4u7WkGKmnGt28Qfh2IWGB/E2MvIFxa6CjIiQMxN2hnkNr49JAQ== + dependencies: + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.1" + "@polkadot/networks" "12.2.2" + "@polkadot/util" "12.2.2" + "@polkadot/wasm-crypto" "^7.2.1" + "@polkadot/wasm-util" "^7.2.1" + "@polkadot/x-bigint" "12.2.2" + "@polkadot/x-randomvalues" "12.2.2" + "@scure/base" "1.1.1" + tslib "^2.5.3" + "@polkadot/util@12.2.1", "@polkadot/util@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.2.1.tgz#d6c692324890802bc3b2f15b213b7430bb26e8c8" @@ -548,6 +782,19 @@ bn.js "^5.2.1" tslib "^2.5.0" +"@polkadot/util@12.2.2", "@polkadot/util@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.2.2.tgz#f586fd62c330a09bb026b1584be1bb07c8b27b6b" + integrity sha512-u/v5Z2+iUwX/CXEMVZgJmwqqx1kT5Zfxsio3vpuYaPCg49xhTKqAcrakgB+1BUHhhyF3Zkb9uG73JWFR0Lkk9w== + dependencies: + "@polkadot/x-bigint" "12.2.2" + "@polkadot/x-global" "12.2.2" + "@polkadot/x-textdecoder" "12.2.2" + "@polkadot/x-textencoder" "12.2.2" + "@types/bn.js" "^5.1.1" + bn.js "^5.2.1" + tslib "^2.5.3" + "@polkadot/wasm-bridge@7.2.1": version "7.2.1" resolved "https://registry.yarnpkg.com/@polkadot/wasm-bridge/-/wasm-bridge-7.2.1.tgz#8464a96552207d2b49c6f32137b24132534b91ee" @@ -609,6 +856,14 @@ "@polkadot/x-global" "12.2.1" tslib "^2.5.0" +"@polkadot/x-bigint@12.2.2", "@polkadot/x-bigint@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.2.2.tgz#18ff80c306b486fb926702ba9bb56291fb69d4f1" + integrity sha512-KSe7WAqwI1tubi0m5CP4oqf8EIjABZXLGkTHXKwjtAAMa9Q7hqFmVG2sXfvC+XSnhto1UKMe52TjuPrYSJI+jg== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + "@polkadot/x-fetch@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.2.1.tgz#65b447373a0155cae3e546b842ced356d8599c54" @@ -618,6 +873,15 @@ node-fetch "^3.3.1" tslib "^2.5.0" +"@polkadot/x-fetch@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.2.2.tgz#452b096a3233308a1cbbeae867c26a374b62b9e8" + integrity sha512-A3ttQp9oE6QH9VsggdQsBsgc9zyalxHoVXhZsn6yqcjzc9AoaY5QevezxVy88ZQpRp3bsYVn0RqyBV7eFq8WPw== + dependencies: + "@polkadot/x-global" "12.2.2" + node-fetch "^3.3.1" + tslib "^2.5.3" + "@polkadot/x-global@12.2.1", "@polkadot/x-global@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.2.1.tgz#42e798e9607a4d7667469d91225c030fb3e8c8b5" @@ -625,6 +889,13 @@ dependencies: tslib "^2.5.0" +"@polkadot/x-global@12.2.2", "@polkadot/x-global@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.2.2.tgz#dda816c00738b72209637e623b50ecad5ce234bf" + integrity sha512-hLVoKR9fGhZdy/eK/LHTyh4jJ3V+3VfcxbCey0k2t1Byrwbmsi6wL3NUQk6i3NviswR9OSCic9mhgDQPRBXZEg== + dependencies: + tslib "^2.5.3" + "@polkadot/x-randomvalues@12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.2.1.tgz#00c3f097f987b9ff70dbd2720086ad3d0bc16cfb" @@ -633,6 +904,14 @@ "@polkadot/x-global" "12.2.1" tslib "^2.5.0" +"@polkadot/x-randomvalues@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.2.2.tgz#c249d990f3033b0e9ea4a7964419f04d47b0d228" + integrity sha512-eExiOT/up5ZzwHJkFpGhQ6sCdPSJnn6PJsQnyJMEdgPaUES70u/wWMLGFNiy3U8rRRVSsZi6rc9Unsr02LczzA== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + "@polkadot/x-textdecoder@12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.2.1.tgz#a426a1d8a3b5717859b81a7341b16de4de3d78c0" @@ -641,6 +920,14 @@ "@polkadot/x-global" "12.2.1" tslib "^2.5.0" +"@polkadot/x-textdecoder@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.2.2.tgz#9e3c7b17f6a8e032aa3ab906fcff3037aeecaa4c" + integrity sha512-Rsvsc7ZLBKT1rls8gdbvzLLEs2sGUA8cDiTaQUkCHJN3ja/37Bppz1wNPcEIMsJ2pyL6bwq86HB0xmC28QVdqA== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + "@polkadot/x-textencoder@12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.2.1.tgz#f606c9929668bb41a23ec25c9752252bb56b0c9b" @@ -649,6 +936,14 @@ "@polkadot/x-global" "12.2.1" tslib "^2.5.0" +"@polkadot/x-textencoder@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.2.2.tgz#6a40a953774093a070f2819959f054f258c001af" + integrity sha512-g6bX4DTBmkr3QLNeihlrHYvaZCKu1kFiK+BDQXVzBg+oHpzxz5wSVhzsG3GEVoVszXMiugWpSn03wCIvaRFMoQ== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + "@polkadot/x-ws@^12.2.1": version "12.2.1" resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.2.1.tgz#8774bc8cd38194354e48fc92438c4ebb52929fce" @@ -658,6 +953,68 @@ tslib "^2.5.0" ws "^8.13.0" +"@polkadot/x-ws@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.2.2.tgz#41d7645507137e5f13abb9536c18c840f7e86324" + integrity sha512-kZtdfRHsgpJ+HV/jY8mQG4BFpCIz6NxZlrRKzWdaIacPVeXHkV3nfk7i9ghK+MP/nWC0AKuq06yysp9ZwWMCug== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + ws "^8.13.0" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@scure/base@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" @@ -701,6 +1058,11 @@ dependencies: defer-to-connect "^2.0.1" +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -781,6 +1143,11 @@ dependencies: "@types/node" "*" +"@types/long@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + "@types/mocha@^10.0.0": version "10.0.1" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b" @@ -791,6 +1158,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.3.tgz#b31eb300610c3835ac008d690de6f87e28f9b878" integrity sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw== +"@types/node@>=13.7.0": + version "18.16.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.2.tgz#2f610ea71034b3971c312192377f8a7178eb57f1" + integrity sha512-GQW/JL/5Fz/0I8RpeBG9lKp0+aNcXEaVL71c0D2Q0QHDTFvlYKT7an0onCUXj85anv7b4/WesqdfchLc0jtsCg== + "@types/node@^12.12.6": version "12.20.55" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" @@ -906,6 +1278,71 @@ "@typescript-eslint/types" "5.59.6" eslint-visitor-keys "^3.3.0" +"@zombienet/orchestrator@https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/orchestrator?2476ea76a368f1b1e94038dbfec29c27f114288e": + version "0.0.44" + resolved "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/orchestrator?2476ea76a368f1b1e94038dbfec29c27f114288e#831fadb5ac418f044985c93dda8023271d81e9b3" + dependencies: + "@polkadot/api" "^10.7.3" + "@polkadot/keyring" "^12.1.2" + "@polkadot/util-crypto" "^12.1.2" + "@zombienet/utils" "^0.0.21" + JSONStream "^1.3.5" + chai "^4.3.7" + debug "^4.3.4" + execa "^5.1.1" + fs-extra "^11.1.1" + jsdom "^22.1.0" + json-bigint "^1.0.0" + libp2p-crypto "^0.21.2" + minimatch "^9.0.1" + mocha "^10.2.0" + napi-maybe-compressed-blob "^0.0.11" + peer-id "^0.16.0" + tmp-promise "^3.0.3" + typescript "^5.1.3" + yaml "^2.3.1" + +"@zombienet/utils@^0.0.21": + version "0.0.21" + resolved "https://registry.yarnpkg.com/@zombienet/utils/-/utils-0.0.21.tgz#e345da982f520e4614391dd4e0a4dda48fa95374" + integrity sha512-31fMNlITzmj1gPha2CcihDE6nON94r8ixZTZbWa2g0nacS0nnoTKUNFukw9vg+aGF5QkwSevy+eobOQEb/jhjg== + dependencies: + cli-table3 "^0.6.2" + debug "^4.3.4" + mocha "^10.2.0" + nunjucks "^3.2.4" + toml "^3.0.0" + ts-node "^10.9.1" + +"@zombienet/utils@https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/utils?2476ea76a368f1b1e94038dbfec29c27f114288e": + version "0.0.21" + resolved "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/utils?2476ea76a368f1b1e94038dbfec29c27f114288e#1191d9cb60e071f333c9f5dee3f8081f86e7b2b7" + dependencies: + cli-table3 "^0.6.2" + debug "^4.3.4" + mocha "^10.2.0" + nunjucks "^3.2.4" + toml "^3.0.0" + ts-node "^10.9.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" + +a-sync-waterfall@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz#75b6b6aa72598b497a125e7a2770f14f4c8a1fa7" + integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA== + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + abortcontroller-polyfill@^1.7.3: version "1.7.5" resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" @@ -934,6 +1371,13 @@ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -989,6 +1433,11 @@ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +asap@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + asn1@~0.2.3: version "0.2.6" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" @@ -1279,7 +1728,7 @@ resolved "https://registry.yarnpkg.com/chai-subset/-/chai-subset-1.6.0.tgz#a5d0ca14e329a79596ed70058b6646bd6988cfe9" integrity sha512-K3d+KmqdS5XKW5DWPd5sgNffL3uxdDe+6GdnJh3AYPhwnBGRY5urfvfcbRtWIvvpz+KxkL9FeBB6MZewLUNwug== -chai@^4.3.6: +chai@^4.3.6, chai@^4.3.7: version "4.3.7" resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== @@ -1349,6 +1798,15 @@ resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== +cli-table3@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -1386,7 +1844,7 @@ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1497,7 +1955,7 @@ dependencies: node-fetch "^2.6.11" -cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1506,6 +1964,13 @@ shebang-command "^2.0.0" which "^2.0.1" +cssstyle@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a" + integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg== + dependencies: + rrweb-cssom "^0.6.0" + csv-writer@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/csv-writer/-/csv-writer-1.6.0.tgz#d0cea44b6b4d7d3baa2ecc6f3f7209233514bcf9" @@ -1531,6 +1996,15 @@ resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +data-urls@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" + integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^12.0.0" + debug@2.6.9, debug@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1538,7 +2012,7 @@ dependencies: ms "2.0.0" -debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@4.3.4, 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== @@ -1550,6 +2024,11 @@ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + decode-uri-component@^0.2.0, decode-uri-component@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -1630,6 +2109,13 @@ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -1673,6 +2159,16 @@ dependencies: once "^1.4.0" +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +err-code@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== + es5-ext@^0.10.35, es5-ext@^0.10.50: version "0.10.62" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" @@ -1939,6 +2435,11 @@ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== +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== + evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -1947,6 +2448,21 @@ md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + 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" + express@^4.14.0: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" @@ -2131,6 +2647,15 @@ resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + 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.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -2157,6 +2682,15 @@ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -2215,7 +2749,7 @@ dependencies: pump "^3.0.0" -get-stream@^6.0.1: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -2335,7 +2869,7 @@ p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2435,6 +2969,13 @@ minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + http-cache-semantics@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" @@ -2456,6 +2997,15 @@ resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -2481,6 +3031,19 @@ quick-lru "^5.1.1" resolve-alpn "^1.2.0" +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2488,6 +3051,13 @@ dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + idna-uts46-hx@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" @@ -2605,6 +3175,16 @@ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-typed-array@^1.1.10, is-typed-array@^1.1.3: version "1.1.10" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" @@ -2631,6 +3211,14 @@ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +iso-random-stream@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.2.tgz#a24f77c34cfdad9d398707d522a6a0cc640ff27d" + integrity sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ== + dependencies: + events "^3.3.0" + readable-stream "^3.4.0" + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -2658,6 +3246,42 @@ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== +jsdom@^22.1.0: + version "22.1.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-22.1.0.tgz#0fca6d1a37fbeb7f4aac93d1090d782c56b611c8" + integrity sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw== + dependencies: + abab "^2.0.6" + cssstyle "^3.0.0" + data-urls "^4.0.0" + decimal.js "^10.4.3" + domexception "^4.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.4" + parse5 "^7.1.2" + rrweb-cssom "^0.6.0" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^12.0.1" + ws "^8.13.0" + xml-name-validator "^4.0.0" + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -2690,6 +3314,20 @@ optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +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== + jsprim@^1.2.2: version "1.4.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" @@ -2724,6 +3362,20 @@ prelude-ls "^1.2.1" type-check "~0.4.0" +libp2p-crypto@^0.21.0, libp2p-crypto@^0.21.2: + version "0.21.2" + resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz#7f9875436f24ca3887b077210b217b702bd72916" + integrity sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g== + dependencies: + "@noble/ed25519" "^1.5.1" + "@noble/secp256k1" "^1.3.0" + err-code "^3.0.1" + iso-random-stream "^2.0.0" + multiformats "^9.4.5" + node-forge "^1.2.1" + protobufjs "^6.11.2" + uint8arrays "^3.0.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -2749,6 +3401,11 @@ chalk "^4.1.0" is-unicode-supported "^0.1.0" +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + loupe@^2.3.1: version "2.3.6" resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" @@ -2802,6 +3459,11 @@ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -2837,6 +3499,11 @@ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-response@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -2878,6 +3545,13 @@ dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253" + integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -2917,7 +3591,7 @@ dependencies: minimist "^1.2.6" -mocha@^10.1.0: +mocha@^10.1.0, mocha@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== @@ -3000,6 +3674,11 @@ buffer "^5.6.0" varint "^5.0.0" +multiformats@^9.4.2, multiformats@^9.4.5: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" @@ -3019,6 +3698,36 @@ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== +napi-maybe-compressed-blob-darwin-arm64@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/napi-maybe-compressed-blob-darwin-arm64/-/napi-maybe-compressed-blob-darwin-arm64-0.0.11.tgz#9cf94b9e4c5d7e5cbef2bc27046034f8ea9fac06" + integrity sha512-hZ9ye4z8iMDVPEnx9A/Ag6k7xHX/BcK5Lntw/VANBUm9ioLSuRvHTALG4XaqVDGXo4U2NFDwSLRDyhFPYvqckQ== + +napi-maybe-compressed-blob-darwin-x64@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/napi-maybe-compressed-blob-darwin-x64/-/napi-maybe-compressed-blob-darwin-x64-0.0.11.tgz#c8c2158c17186021f9d4a943a6d6308bb641bc56" + integrity sha512-TqWNP7Vehi73xLXyUGjdLppP0W6T0Ef2D/X9HmAZNwglt+MkTujX10CDODfbFWvGy+NkaC5XqnzxCn19wbZZcA== + +napi-maybe-compressed-blob-linux-arm64-gnu@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/napi-maybe-compressed-blob-linux-arm64-gnu/-/napi-maybe-compressed-blob-linux-arm64-gnu-0.0.11.tgz#7e3b4d12a68a2f8fd78980924cca529447f1b865" + integrity sha512-7D5w6MDZghcb3VtXRg2ShCEh9Z3zMeBVRG4xsMulEWT2j9/09Nopu+9KfI/2ngRvm78MniWSIlqds5PRAlCROA== + +napi-maybe-compressed-blob-linux-x64-gnu@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/napi-maybe-compressed-blob-linux-x64-gnu/-/napi-maybe-compressed-blob-linux-x64-gnu-0.0.11.tgz#ddf40050b36dfc638276f91ab9a43c58ed6f020c" + integrity sha512-JKY8KcZpQtKiL1smMKfukcOmsDVeZaw9fKXKsWC+wySc2wsvH7V2wy8PffSQ0lWERkI7Yn3k7xPjB463m/VNtg== + +napi-maybe-compressed-blob@^0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/napi-maybe-compressed-blob/-/napi-maybe-compressed-blob-0.0.11.tgz#96ea7cd9717c771f9cb165ca7f08756ee03cf50e" + integrity sha512-1dj4ET34TfEes0+josVLvwpJe337Jk6txd3XUjVmVs3budSo2eEjvN6pX4myYE1pS4x/k2Av57n/ypRl2u++AQ== + optionalDependencies: + napi-maybe-compressed-blob-darwin-arm64 "0.0.11" + napi-maybe-compressed-blob-darwin-x64 "0.0.11" + napi-maybe-compressed-blob-linux-arm64-gnu "0.0.11" + napi-maybe-compressed-blob-linux-x64-gnu "0.0.11" + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -3080,6 +3789,11 @@ fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-forge@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + 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" @@ -3095,6 +3809,13 @@ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" @@ -3103,6 +3824,20 @@ bn.js "4.11.6" strip-hex-prefix "1.0.0" +nunjucks@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.4.tgz#f0878eef528ce7b0aa35d67cc6898635fd74649e" + integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ== + dependencies: + a-sync-waterfall "^1.0.0" + asap "^2.0.3" + commander "^5.1.0" + +nwsapi@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.4.tgz#fd59d5e904e8e1f03c25a7d5a15cfa16c714a1e5" + integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g== + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -3139,6 +3874,13 @@ dependencies: wrappy "1" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -3197,6 +3939,13 @@ resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== +parse5@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -3212,7 +3961,7 @@ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, 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== @@ -3243,6 +3992,17 @@ safe-buffer "^5.0.1" sha.js "^2.4.8" +peer-id@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.16.0.tgz#0913062cfa4378707fe69c949b5720b3efadbf32" + integrity sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ== + dependencies: + class-is "^1.1.0" + libp2p-crypto "^0.21.0" + multiformats "^9.4.5" + protobufjs "^6.10.2" + uint8arrays "^3.0.0" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -3268,6 +4028,25 @@ resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== +protobufjs@^6.10.2, protobufjs@^6.11.2: + version "6.11.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -3276,7 +4055,7 @@ forwarded "0.2.0" ipaddr.js "1.9.1" -psl@^1.1.28: +psl@^1.1.28, psl@^1.1.33: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== @@ -3294,7 +4073,7 @@ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== @@ -3320,6 +4099,11 @@ object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -3367,7 +4151,7 @@ iconv-lite "0.4.24" unpipe "1.0.0" -readable-stream@^3.6.0: +readable-stream@^3.4.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== @@ -3414,6 +4198,11 @@ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -3436,7 +4225,7 @@ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.2: +rimraf@^3.0.0, 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== @@ -3458,6 +4247,11 @@ dependencies: bn.js "^5.2.0" +rrweb-cssom@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" + integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -3482,11 +4276,18 @@ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"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.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + scrypt-js@^3.0.0, scrypt-js@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" @@ -3599,6 +4400,11 @@ get-intrinsic "^1.0.2" object-inspect "^1.9.0" +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -3692,6 +4498,11 @@ dependencies: ansi-regex "^5.0.1" +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -3735,6 +4546,11 @@ tar "^4.0.2" xhr-request "^1.0.1" +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + tar@^4.0.2: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -3753,11 +4569,23 @@ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +"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== + timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== +tmp-promise@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + tmp@0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -3765,6 +4593,13 @@ dependencies: os-tmpdir "~1.0.2" +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + 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" @@ -3777,6 +4612,21 @@ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tough-cookie@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" + 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.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -3785,6 +4635,13 @@ psl "^1.1.28" punycode "^2.1.1" +tr46@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" + integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== + dependencies: + punycode "^2.3.0" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -3819,6 +4676,11 @@ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.2.tgz#1b6f07185c881557b0ffa84b111a0106989e8338" integrity sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA== +tslib@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -3885,11 +4747,23 @@ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +typescript@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== +uint8arrays@^3.0.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" + ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -3900,6 +4774,16 @@ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -3912,6 +4796,14 @@ dependencies: punycode "^2.1.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url-set-query@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" @@ -3984,6 +4876,13 @@ core-util-is "1.0.2" extsprintf "^1.2.0" +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + web-streams-polyfill@^3.0.3: version "3.2.1" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" @@ -4223,6 +5122,11 @@ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + websocket@^1.0.32: version "1.0.34" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" @@ -4235,6 +5139,26 @@ utf-8-validate "^5.0.2" yaeti "^0.0.6" +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^12.0.0, whatwg-url@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c" + integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ== + dependencies: + tr46 "^4.1.1" + webidl-conversions "^7.0.0" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -4335,6 +5259,16 @@ parse-headers "^2.0.0" xtend "^4.0.0" +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -4360,6 +5294,11 @@ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"