From cdc7cb1545b15a48ac8a3e6638570b2e05ac6939 Mon Sep 17 00:00:00 2001 From: Julian Martinez <73849597+Julian-dev28@users.noreply.github.com> Date: Fri, 22 Sep 2023 10:25:37 -0700 Subject: [PATCH] Update Futurenet to Testnet Across Documentation (#577) * Futurenet -> Testnet * fix broken links * update-rpc-page * Update testnet.mdx * Pass 1 * format * update table in testnet.mdx * update state expiration example script to use testnet * replacing futurenet with testnet in contract deployment example * revert SDC contnet * include testnet network passphrase on releases page * update freighter to include testnet alongside futurenet * revert SDC to Use Futurenet for the time being * style: fix up markdown syntax and style in `rpc.mdx` Also adds some small linguistic and grammer changes, as well as more updates from Futurenet to Testnet * docs: include Testnet when describing what RPC servers SDF maintains * style: changing a single ellipsis character with three periods * docs: include gh repo links to the software that runs in quickstart * add the Testnet network to the example `initialize.sh` script * change contract-invoking transaction example code to use Testnet * change to valid futurenet URLs in dapp challenges * Apply suggestions from code review minor tweaks that slipped through the cracks --------- Co-authored-by: Elliot Voris --- api/methods/getLedgerEntries.mdx | 2 +- api/methods/getNetwork.mdx | 4 +- dapps/dapp-challenges/challenge-1-payment.mdx | 2 +- dapps/guides/initialization.mdx | 12 +- dapps/guides/react.mdx | 2 +- dapps/index.mdx | 2 +- docs/advanced-tutorials/liquidity-pool.mdx | 2 +- docs/basic-tutorials/deployer.mdx | 2 +- .../fees-and-metering.mdx | 6 +- .../invoking-contracts-with-transactions.mdx | 8 +- .../smart-contract-deployment.mdx | 82 +-- .../state-expiration.mdx | 10 +- docs/getting-started/create-an-app.mdx | 20 +- ...to-futurenet.mdx => deploy-to-testnet.mdx} | 44 +- docs/getting-started/storing-data.mdx | 2 +- docs/index.mdx | 2 +- docs/reference/freighter.mdx | 14 +- docs/reference/futurenet.mdx | 29 - docs/reference/releases.mdx | 5 +- docs/reference/rpc.mdx | 241 ++++--- docs/reference/testnet.mdx | 37 ++ docusaurus.config.js | 2 +- src/components/ExampleRequest/index.js | 6 +- src/components/atoms/ProviderExample.tsx | 4 +- src/components/atoms/challenge-form/index.tsx | 12 +- src/pages/index.js | 17 +- yarn.lock | 601 +++++++----------- 27 files changed, 544 insertions(+), 626 deletions(-) rename docs/getting-started/{deploy-to-futurenet.mdx => deploy-to-testnet.mdx} (77%) delete mode 100644 docs/reference/futurenet.mdx create mode 100644 docs/reference/testnet.mdx diff --git a/api/methods/getLedgerEntries.mdx b/api/methods/getLedgerEntries.mdx index d098cb5c..3bb85dd8 100644 --- a/api/methods/getLedgerEntries.mdx +++ b/api/methods/getLedgerEntries.mdx @@ -390,4 +390,4 @@ And the response we get contains (even more) `LedgerEntryData` that we can decod ``` [`increment` example contract]: /docs/getting-started/storing-data -["View XDR" page of the Stellar Laboratory]: +["View XDR" page of the Stellar Laboratory]: diff --git a/api/methods/getNetwork.mdx b/api/methods/getNetwork.mdx index 4d173240..025c3cf2 100644 --- a/api/methods/getNetwork.mdx +++ b/api/methods/getNetwork.mdx @@ -30,8 +30,8 @@ General info about the currently configured network. "jsonrpc": "2.0", "id": 8675309, "result": { - "friendbotUrl": "https://friendbot-futurenet.stellar.org/", - "passphrase": "Test SDF Future Network ; October 2022", + "friendbotUrl": "https://friendbot.stellar.org/", + "passphrase": "Test SDF Network ; September 2015", "protocolVersion": "20" } } diff --git a/dapps/dapp-challenges/challenge-1-payment.mdx b/dapps/dapp-challenges/challenge-1-payment.mdx index 25676eec..ed57aef2 100644 --- a/dapps/dapp-challenges/challenge-1-payment.mdx +++ b/dapps/dapp-challenges/challenge-1-payment.mdx @@ -267,7 +267,7 @@ Once the deployment is complete, you should see something similar to the followi You can now visit the preview link to see your deployed dapp! 🎉 -You will need to add some Futurenet network lumens to your Freighter wallet to interact with the deployed dapp. Visit [https://laboratory.stellar.org/#create-account](https://laboratory.stellar.org/#create-account), and follow the instructions to create your Freighter account on Futurenet.7 +You will need to add some Futurenet network lumens to your Freighter wallet to interact with the deployed dapp. Visit [https://laboratory.stellar.org/#create-account](https://laboratory.stellar.org/#create-account), and follow the instructions to create your Freighter account on Futurenet. ## Checkpoint 7: ✅ Complete the Challenge! diff --git a/dapps/guides/initialization.mdx b/dapps/guides/initialization.mdx index 077552d5..5347da73 100644 --- a/dapps/guides/initialization.mdx +++ b/dapps/guides/initialization.mdx @@ -115,21 +115,27 @@ else SOROBAN_RPC_HOST="http://localhost:8000" fi -SOROBAN_RPC_URL="https://rpc-futurenet.stellar.org" - case "$1" in standalone) echo "Using standalone network" SOROBAN_NETWORK_PASSPHRASE="Standalone Network ; February 2017" FRIENDBOT_URL="$SOROBAN_RPC_HOST/friendbot" + SOROBAN_RPC_URL="$SOROBAN_RPC_HOST/soroban/rpc" ;; futurenet) echo "Using Futurenet network" SOROBAN_NETWORK_PASSPHRASE="Test SDF Future Network ; October 2022" FRIENDBOT_URL="https://friendbot-futurenet.stellar.org/" + SOROBAN_RPC_URL="https://rpc-futurenet.stellar.org" + ;; +testnet) + echo "Using Testnet network" + SOROBAN_NETWORK_PASSPHRASE="Test SDF Network ; September 2015" + FRIENDBOT_URL="https://friendbot.stellar.org/" + SOROBAN_RPC_URL="https://soroban-testnet.stellar.org" ;; *) - echo "Usage: $0 standalone|futurenet" + echo "Usage: $0 standalone|futurenet|testnet" exit 1 ;; esac diff --git a/dapps/guides/react.mdx b/dapps/guides/react.mdx index f37d1849..ac14e055 100644 --- a/dapps/guides/react.mdx +++ b/dapps/guides/react.mdx @@ -10,7 +10,7 @@ Below is a list of the libraries used throughout the frontend code and their res ```jsx import { SorobanReactProvider } from "@soroban-react/core"; -import { futurenet, sandbox, standalone } from "@soroban-react/chains"; +import { testnet, sandbox, standalone } from "@soroban-react/chains"; import { freighter } from "@soroban-react/freighter"; import { ChainMetadata, Connector } from "@soroban-react/types"; import type { diff --git a/dapps/index.mdx b/dapps/index.mdx index fc406573..ae5387f1 100644 --- a/dapps/index.mdx +++ b/dapps/index.mdx @@ -13,7 +13,7 @@ This course operates within the pre-release version of Soroban. Expect breaking While the course specifically focuses on the Soroban platform, the knowledge you gain can be applied to other transaction processors such as different blockchains, L2s, and permissioned ledgers. The skills you acquire here are meant to be transferable and versatile. -Through The Soroban Dapps Challenge, you'll have hands-on experience using Soroban's initial versions of the smart contracts environment, a Rust SDK, a CLI, and an RPC server. You'll learn how to write, test, and deploy smart contracts, and you'll get to see your code in action on our special test network, Futurenet. +Through The Soroban Dapps Challenge, you'll have hands-on experience using Soroban's initial versions of the smart contracts environment, a Rust SDK, a CLI, and an RPC server. You'll learn how to write, test, and deploy smart contracts, and you'll get to see your code in action on Futurenet. # What this course entails diff --git a/docs/advanced-tutorials/liquidity-pool.mdx b/docs/advanced-tutorials/liquidity-pool.mdx index c1742656..0a80e3ed 100644 --- a/docs/advanced-tutorials/liquidity-pool.mdx +++ b/docs/advanced-tutorials/liquidity-pool.mdx @@ -533,7 +533,7 @@ fn initialize(e: Env, token_wasm_hash: BytesN<32>, taken_a: Address, token_b: Ad [creating its own `POOL` token]: #creating-a-custom-token-for-lp-shares [interacting with contracts for `token_a` and `token_b`]: #token-transfers-tofrom-the-lp-contract [`token` example contract]: ./tokens -[installed]: ../getting-started/deploy-to-futurenet#two-step-deployment +[installed]: ../getting-started/deploy-to-testnet#two-step-deployment [lexicographical order]: https://developers.stellar.org/docs/encyclopedia/liquidity-on-stellar-sdex-liquidity-pools#liquidity-pool-participation ### A "Constant Product" Liquidity Pool diff --git a/docs/basic-tutorials/deployer.mdx b/docs/basic-tutorials/deployer.mdx index ad78ea81..c2ec9e7b 100644 --- a/docs/basic-tutorials/deployer.mdx +++ b/docs/basic-tutorials/deployer.mdx @@ -133,7 +133,7 @@ as well. See the [tests](#tests) for an example of uploading the contract code programmatically. For the actual on-chain installation see the general deployment -[tutorial](https://soroban.stellar.org/docs/getting-started/deploy-to-futurenet). +[tutorial](https://soroban.stellar.org/docs/getting-started/deploy-to-testnet). ### Authorization diff --git a/docs/fundamentals-and-concepts/fees-and-metering.mdx b/docs/fundamentals-and-concepts/fees-and-metering.mdx index 8ad75319..75f56914 100644 --- a/docs/fundamentals-and-concepts/fees-and-metering.mdx +++ b/docs/fundamentals-and-concepts/fees-and-metering.mdx @@ -60,7 +60,7 @@ The implementation details for fee computation are provided by the following [li The best way to find the required fees for any Soroban transaction is to use the transaction simulation with [preflight service](./interacting-with-contracts.mdx#preflight). -The fee rates are currently defined for the Futurenet as follows: +The fee rates are currently defined for the Testnet as follows: | Description | Cost (stroops) | | --------------------------------- | -------------------- | @@ -77,7 +77,7 @@ The fee rates are currently defined for the Futurenet as follows: | Temp entry rent coefficient | 10 months in ledgers | | Persistent entry rent coefficient | 1 month in ledgers | -Note, that write fees grow linearly from empty ledger to 2 GB (ledger "target size"), and then grow linearly, but with a 1000x factor after exceeding the target. This is to bound the ledger size growth. As Futurenet is a small, test network, the target size is set to just 2 GB. +Note, that write fees grow linearly from empty ledger to 2 GB (ledger "target size"), and then grow linearly, but with a 1000x factor after exceeding the target. This is to bound the ledger size growth. As Testnet is a small, test network, the target size is set to just 2 GB. One ledger worth of rent costs `write_fee / rent_coefficient`, where `write_fee` is the cost of writing the ledger entry and `rent_coefficient` is a number of ledgers for which the whole write fee will be paid. Given the numbers above, this means that 1 month of renting the ledger space for the temporary entry costs `write_fee / 10` and it costs `write_fee` for a persistent entry (10x more). @@ -91,7 +91,7 @@ Ledger close time is constrained to a few seconds, thus preventing the execution These resource limits may change in the Mainnet release. They can also be updated, usually increased, based on the network validator vote and consensus. -The current (Futurenet) limits are as follows: +The current (Testnet) limits are as follows: | Resource | Limit | | -------------------------- | ----------- | diff --git a/docs/fundamentals-and-concepts/invoking-contracts-with-transactions.mdx b/docs/fundamentals-and-concepts/invoking-contracts-with-transactions.mdx index 6a90b947..981c4df1 100644 --- a/docs/fundamentals-and-concepts/invoking-contracts-with-transactions.mdx +++ b/docs/fundamentals-and-concepts/invoking-contracts-with-transactions.mdx @@ -63,7 +63,7 @@ npm install --save soroban-client // Configure SorobanClient to use the `soroban-rpc` instance of your // choosing. - const server = new Server("https://rpc-futurenet.stellar.org:443"); + const server = new Server("https://soroban-testnet.stellar.org:443"); // Here we will use a deployed instance of the `increment` example contract. const contractAddress = @@ -78,7 +78,7 @@ npm install --save soroban-client // fee, and network passphrase are provided. let builtTransaction = new TransactionBuilder(sourceAccount, { fee: BASE_FEE, - networkPassphrase: Networks.FUTURENET, + networkPassphrase: Networks.TESTNET, }) // The invocation of the `increment` function of our contract is added // to the transaction. Note: `increment` doesn't require any parameters, @@ -172,7 +172,7 @@ from stellar_sdk.soroban_rpc import GetTransactionStatus, SendTransactionStatus source_keypair = Keypair.from_secret('SCQN3XGRO65BHNSWLSHYIR4B65AHLDUQ7YLHGIWQ4677AZFRS77TCZRB') # Configure SorobanClient to use the `soroban-rpc` instance of your choosing. -soroban_server = SorobanServer('https://rpc-futurenet.stellar.org') +soroban_server = SorobanServer('https://soroban-testnet.stellar.org') # Here we will use a deployed instance of the `increment` example contract. contract_address = 'CBEOJUP5FU6KKOEZ7RMTSKZ7YLBS5D6LVATIGCESOGXSZEQ2UWQFKZW6' @@ -187,7 +187,7 @@ built_transaction = ( TransactionBuilder( source_account=source_account, base_fee=100, - network_passphrase=Network.FUTURENET_NETWORK_PASSPHRASE, + network_passphrase=Network.TESTNET_NETWORK_PASSPHRASE, ) # The invocation of the `increment` function of our contract is added to the # transaction. Note: `increment` doesn't require any parameters, but many diff --git a/docs/fundamentals-and-concepts/migrating-from-evm/smart-contract-deployment.mdx b/docs/fundamentals-and-concepts/migrating-from-evm/smart-contract-deployment.mdx index f2fd396c..2b57e07f 100644 --- a/docs/fundamentals-and-concepts/migrating-from-evm/smart-contract-deployment.mdx +++ b/docs/fundamentals-and-concepts/migrating-from-evm/smart-contract-deployment.mdx @@ -104,8 +104,8 @@ from stellar_sdk.soroban.soroban_rpc import TransactionStatus # TODO: You need to replace the following parameters according to the actual situation secret = "SAAPYAPTTRZMCUZFPG3G66V4ZMHTK4TWA6NS7U4F7Z3IMUD52EK4DDEV" -rpc_server_url = "http://127.0.0.1:8000/soroban/rpc" -network_passphrase = Network.FUTURENET_NETWORK_PASSPHRASE +rpc_server_url = "https://soroban-testnet.stellar.org" +network_passphrase = Network.TESTNET_NETWORK_PASSPHRASE contract_file_path = "/path/to/compiled/soroban_contract.wasm" kp = Keypair.from_secret(secret) @@ -921,7 +921,7 @@ test test::test ... ok Now that we have a working vault contract, we can deploy it to a network and interact with it. -This section requires you to have a funded Keypair to use with Stellar's Futurenet. You can create and fund one using the [Stellar Laboratory](https://laboratory.stellar.org/#account-creator?network=futurenet). +This section requires you to have a funded Keypair to use with Stellar's Testnet. You can create and fund one using the [Stellar Laboratory](https://laboratory.stellar.org/#account-creator?network=testnet). Below you will find a series of commands that will help you build, deploy and interact with the vault and token contracts. You can use them to follow along as we walk through the process of building, deploying, and interacting with the contracts. It may behoove you to keep these commands in a `scripts` directory in your project. This way, you can easily run them from your terminal. @@ -942,8 +942,8 @@ soroban contract build soroban contract deploy \ --wasm soroban_token_contract.wasm \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' ``` @@ -955,8 +955,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ initialize \ --admin \ @@ -974,8 +974,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ mint \ --to \ @@ -991,8 +991,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ balance \ --id @@ -1014,8 +1014,8 @@ soroban contract install --wasm soroban_token_contract.wasm soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' ``` @@ -1027,8 +1027,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ initialize \ --token_wasm_hash 73593275ee3bcacc2aef8d641a1d5108618064bdfff84a826576b8caff395add \ @@ -1044,8 +1044,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ share_id ``` @@ -1059,8 +1059,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ deposit \ --from \ @@ -1076,8 +1076,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ get_rsrvs ``` @@ -1091,8 +1091,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ withdraw \ --to \ @@ -1116,8 +1116,8 @@ Next, we need to deploy the token contract. We can do this by running the `deplo soroban contract deploy \ --wasm soroban_token_contract.wasm \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' ``` We should receive an output with the token contract ID. We will need this ID for the next step. @@ -1141,8 +1141,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ initialize \ --admin \ @@ -1157,8 +1157,8 @@ Next, we need to deploy the vault contract. We can do this by running the `deplo soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' ``` We should receive an output with the vault contract ID. We will need this ID for the next step. @@ -1212,8 +1212,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ initialize \ --token_wasm_hash 73593275ee3bcacc2aef8d641a1d5108618064bdfff84a826576b8caff395add \ @@ -1245,8 +1245,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ mint \ --to \ @@ -1260,8 +1260,8 @@ soroban contract invoke \ --wasm soroban_token_contract.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ balance \ --id @@ -1280,8 +1280,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ deposit \ --from \ @@ -1295,8 +1295,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ get_rsrvs ``` @@ -1316,8 +1316,8 @@ soroban contract invoke \ --wasm target/wasm32-unknown-unknown/release/vault.wasm \ --id \ --source \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' \ -- \ withdraw \ --to \ diff --git a/docs/fundamentals-and-concepts/state-expiration.mdx b/docs/fundamentals-and-concepts/state-expiration.mdx index cfa704b7..74541345 100644 --- a/docs/fundamentals-and-concepts/state-expiration.mdx +++ b/docs/fundamentals-and-concepts/state-expiration.mdx @@ -229,7 +229,7 @@ import { FeeBumpTransaction, } from "soroban-client"; -const RPC_SERVER = "https://rpc-futurenet.stellar.org/"; +const RPC_SERVER = "https://soroban-testnet.stellar.org/"; const server = new Server(RPC_SERVER); // Submits a tx and then polls for its status until a timeout is reached. @@ -320,7 +320,7 @@ async function submitOrRestoreAndRetry( // If simulation didn't fail, we don't need to restore anything! Just send it. if (!sim.restorePreamble) { - const prepTx = assembleTransaction(tx, Networks.FUTURENET, sim); + const prepTx = assembleTransaction(tx, Networks.TESTNET, sim); prepTx.sign(signer); return yeetTx(prepTx); } @@ -333,7 +333,7 @@ async function submitOrRestoreAndRetry( fee += parseInt(sim.restorePreamble.minResourceFee); const restoreTx = new TransactionBuilder(account, { fee: fee.toString() }) - .setNetworkPassphrase(Networks.FUTURENET) + .setNetworkPassphrase(Networks.TESTNET) .setSorobanData(sim.restorePreamble.transactionData.build()) .addOperation(Operation.restoreFootprint({})) .build(); @@ -402,7 +402,7 @@ async function restoreContract( ): Promise { const account = await server.getAccount(signer.publicKey()); const restoreTx = new TransactionBuilder(account, { fee: BASE_FEE }) - .setNetworkPassphrase(Networks.FUTURENET) + .setNetworkPassphrase(Networks.TESTNET) .setSorobanData( // Set the restoration footprint (remember, it should be in the // read-write part!) @@ -413,7 +413,7 @@ async function restoreContract( const preppedTx = await server.prepareTransaction( restoreTx, - Networks.FUTURENET, + Networks.TESTNET, ); preppedTx.sign(signer); return yeetTx(preppedTx); diff --git a/docs/getting-started/create-an-app.mdx b/docs/getting-started/create-an-app.mdx index 4e3a935d..6b8fcf4c 100644 --- a/docs/getting-started/create-an-app.mdx +++ b/docs/getting-started/create-an-app.mdx @@ -90,7 +90,7 @@ Ok, now you can finally generate that NPM package: ```bash ./soroban contract bindings typescript \ - --network futurenet \ + --network testnet \ --contract-id $(cat .soroban/hello-id) \ --output-dir hello-soroban-client ``` @@ -110,7 +110,7 @@ And then let's update the `package.json` in your `soroban-tutorial` project with ... - "astro": "astro" + "astro": "astro", -+ "postinstall": "./soroban contract bindings typescript --network futurenet --contract-id $(cat .soroban/hello-id) --output-dir node_modules/hello-soroban-client" ++ "postinstall": "./soroban contract bindings typescript --network testnet --contract-id $(cat .soroban/hello-id) --output-dir node_modules/hello-soroban-client" } ``` @@ -125,8 +125,8 @@ Now let's open up `src/pages/index.astro` and add some code to call the contract +import { Contract, networks } from 'hello-soroban-client'; + +const greeter = new Contract({ -+ ...networks.futurenet, -+ rpcUrl: 'https://rpc-futurenet.stellar.org', // from https://soroban.stellar.org/docs/reference/rpc#public-rpc-providers ++ ...networks.testnet, ++ rpcUrl: 'https://soroban-testnet.stellar.org', // from https://soroban.stellar.org/docs/reference/rpc#public-rpc-providers +}); + +const greeting = await greeter.hello({ to: 'Soroban' }); @@ -333,8 +333,8 @@ Now you're ready to sign the call to `increment`! We're going to generate a contract client for the incrementor contract with a similar command to the one we used before. Let's move the `hello` bindings generation to its own script, add this one, and call them both from `postinstall` using a double ampersand ([&&](https://stackoverflow.com/a/25669618/249801)): ```json -"bindings:hello": "./soroban contract bindings typescript --network futurenet --contract-id $(cat .soroban/hello-id) --output-dir node_modules/hello-soroban-client", -"bindings:incrementor": "./soroban contract bindings typescript --network futurenet --contract-id $(cat .soroban/incrementor-id) --output-dir node_modules/incrementor-client", +"bindings:hello": "./soroban contract bindings typescript --network testnet --contract-id $(cat .soroban/hello-id) --output-dir node_modules/hello-soroban-client", +"bindings:incrementor": "./soroban contract bindings typescript --network testnet --contract-id $(cat .soroban/incrementor-id) --output-dir node_modules/incrementor-client", "postinstall": "npm run bindings:hello && npm run bindings:incrementor" ``` @@ -458,9 +458,9 @@ Next, let's add a `setup` script that builds your contracts, then checks if the ```json "scripts": { ... - "create_deployer": "./soroban config identity generate alice && ./soroban config identity fund alice --network futurenet", - "deploy:hello": "./soroban contract deploy --wasm target/wasm32-unknown-unknown/release/hello_soroban.wasm --source alice --network futurenet > .soroban/hello-id", - "deploy:incrementor": "./soroban contract deploy --wasm target/wasm32-unknown-unknown/release/incrementor.wasm --source alice --network futurenet > .soroban/incrementor-id;", + "create_deployer": "./soroban config identity generate alice && ./soroban config identity fund alice --network testnet", + "deploy:hello": "./soroban contract deploy --wasm target/wasm32-unknown-unknown/release/hello_soroban.wasm --source alice --network testnet > .soroban/hello-id", + "deploy:incrementor": "./soroban contract deploy --wasm target/wasm32-unknown-unknown/release/incrementor.wasm --source alice --network testnet > .soroban/incrementor-id;", "deploy": "npm run deploy:hello && npm run deploy:incrementor", "setup": "./soroban contract build && if [ ! -d .soroban ]; then npm run create_deployer && npm run deploy; fi", ... @@ -513,7 +513,7 @@ If you're still having problems, join our Discord (link above) or [open an issue ### All contract calls start throwing `403` errors -This means that Futurenet is down, and you probably just need to wait a while and try again. +This means that Testnet is down, and you probably just need to wait a while and try again. ## Wrapping up diff --git a/docs/getting-started/deploy-to-futurenet.mdx b/docs/getting-started/deploy-to-testnet.mdx similarity index 77% rename from docs/getting-started/deploy-to-futurenet.mdx rename to docs/getting-started/deploy-to-testnet.mdx index f5414b01..da6d384d 100644 --- a/docs/getting-started/deploy-to-futurenet.mdx +++ b/docs/getting-started/deploy-to-testnet.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 4 -title: 3. Deploy to Futurenet +title: 3. Deploy to Testnet description: Deploy smart contracts to a live test network. --- @@ -13,28 +13,28 @@ description: Deploy smart contracts to a live test network. /> You've built two simple contracts and run them locally in Sandbox. Now you can deploy them to a network. -Soroban has a test network called Futurenet that you can use to deploy and test your contracts. Soon Soroban will also have a test network called Testnet, which will have stronger guarantees around data persistence, but you'll still be able to use Futurenet for testing the latest Soroban features. +Soroban has a test network called Testnet that you can use to deploy and test your contracts. It's a live network, but it's not the same as the Stellar public network. It's a separate network that is used for development and testing, so you can't use it for production apps. But it's a great place to test your contracts before you deploy them to the public network. -## Configure Futurenet in your CLI +## Configure Testnet in your CLI -The first step toward deploying to Futurenet is to configure your CLI to use it. You can do this by running the following command: +The first step toward deploying to testnet is to configure your CLI to use it. You can do this by running the following command: - soroban config network add --global futurenet \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase "Test SDF Future Network ; October 2022" + soroban config network add --global testnet \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase "Test SDF Network ; September 2015" -Note the `--global`. This creates a file in your home folder's `/.config/soroban/network/futurenet.toml` with the settings you specified. This -means that you can use the `--network futurenet` flag in any Soroban CLI command to use this network. +Note the `--global`. This creates a file in your home folder's `/.config/soroban/network/testnet.toml` with the settings you specified. This +means that you can use the `--network testnet` flag in any Soroban CLI command to use this network. If you want project-specific network configurations, you can omit the `--global` flag, and the networks will be added to your working directory's `.soroban/network` folder instead. @@ -52,11 +52,11 @@ You can see the public key of `alice` with: Like the Network configs, the `--global` means that the identity gets stored in `~/.config/soroban/identity/alice.toml`. You can omit the `--global` flag to store the identity in your project's `.soroban/identity` folder instead. -All this did so far is generate a public/private keypair on your local machine. No network requests were made, and `alice` has no funds on Futurenet. This means that you can't make any transactions with `alice` yet. +All this did so far is generate a public/private keypair on your local machine. No network requests were made, and `alice` has no funds on Testnet. This means that you can't make any transactions with `alice` yet. -To get `alice` some Futurenet tokens, you'll need to use [Friendbot](https://developers.stellar.org/docs/fundamentals-and-concepts/testnet-and-pubnet#friendbot). All Stellar and Soroban test networks have a Friendbot that you can use to get some test tokens. The public Friendbot instance for Futurenet lives at `friendbot-futurenet.stellar.org`. Use it: +To get `alice` some Testnet tokens, you'll need to use [Friendbot](https://developers.stellar.org/docs/fundamentals-and-concepts/testnet-and-pubnet#friendbot). All Stellar and Soroban test networks have a Friendbot that you can use to get some test tokens. The public Friendbot instance for Testnet lives at `https://friendbot.stellar.org`. Use it: - curl "https://friendbot-futurenet.stellar.org/?addr=$(soroban config identity address alice)" + curl "https://friendbot.stellar.org/?addr=$(soroban config identity address alice)" :::tip Command Expansion `$(…)` This uses [command expansion](https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html), which only works with bash-compatible shells. If you are using Windows or some other shell, you will need to copy the output of `soroban config…` and paste it into the `curl` command, or figure out how command expansion works in your shell. @@ -69,7 +69,7 @@ Now you can deploy your Hello World contract: soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/hello_soroban.wasm \ --source alice \ - --network futurenet + --network testnet This returns the ID of the contract, starting with a `C`. Let's put it somewhere semi-permanent so we can use it later. Copy that value and: @@ -81,13 +81,13 @@ You may need to create the `.soroban` folder first with `mkdir .soroban`. ## Interact -This should look a lot like interacting with the contract in the Sandbox, as you did in [1. Hello World](./hello-world.mdx). Only now the contract lives on the Futurenet network, and the CLI is making [RPC](../reference/rpc.mdx) calls in the background. Let's try it: +This should look a lot like interacting with the contract in the Sandbox, as you did in [1. Hello World](./hello-world.mdx). Only now the contract lives on the Testnet network, and the CLI is making [RPC](../reference/rpc.mdx) calls in the background. Let's try it: ```bash soroban contract invoke \ --id $(cat .soroban/hello-id) \ --source alice \ - --network futurenet \ + --network testnet \ -- \ --help ``` @@ -100,7 +100,7 @@ This looks a lot like interacting with the contract back in [1. Hello World](./h soroban contract invoke \ --id $(cat .soroban/hello-id) \ --source alice \ - --network futurenet \ + --network testnet \ -- \ hello \ --to RPC @@ -118,7 +118,7 @@ You can run these two steps separately. Let's try it with the Incrementor contra ```bash soroban contract install \ - --network futurenet \ + --network testnet \ --source alice \ --wasm target/wasm32-unknown-unknown/release/incrementor.wasm ``` @@ -129,7 +129,7 @@ This returns the hash of the Wasm bytes. Now you can use `--wasm-hash` with `dep soroban contract deploy \ --wasm-hash [paste the output from the last command] \ --source alice \ - --network futurenet \ + --network testnet \ > .soroban/incrementor-id ``` @@ -145,7 +145,7 @@ Now you can interact with it over RPC like you did with the Hello World contract soroban contract invoke \ --id $(cat .soroban/incrementor-id) \ --source alice \ - --network futurenet \ + --network testnet \ -- \ increment ``` @@ -155,7 +155,7 @@ soroban contract invoke \ Sometimes you'll need to run your own node: - Production apps! It's a bad idea to rely on the public, Stellar-maintained Soroban RPC endpoint. Instead, you should run your own node, and point your app at that. -- When you need a network that differs from the version deployed to Futurenet. +- When you need a network that differs from the version deployed to Testnet. The Soroban team maintains Docker containers that makes this as straightforward as possible. See the [RPC](../reference/rpc.mdx) reference for details. diff --git a/docs/getting-started/storing-data.mdx b/docs/getting-started/storing-data.mdx index 0b37211d..d03aad97 100644 --- a/docs/getting-started/storing-data.mdx +++ b/docs/getting-started/storing-data.mdx @@ -339,4 +339,4 @@ git commit -m "add incrementor contract" In this section, we added a new contract to this project, reorganizing the project as a multi-contract project using Cargo Workspaces. The new contract made use of Soroban's storage capabilities to store and retrieve data. We also learned about the different kinds of storage and how to manage their lifetimes. -Next we'll learn to deploy contracts to Soroban's Futurenet network and interact with them over RPC using the CLI. +Next we'll learn to deploy contracts to Soroban's Testnet network and interact with them over RPC using the CLI. diff --git a/docs/index.mdx b/docs/index.mdx index a23ad587..5a9bba1e 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -13,7 +13,7 @@ Soroban is a preview release. Breaking changes may occur. While it works well with Stellar, a blockchain that shares its values of scale and sensibility, it doesn't depend on or require Stellar at all, and can be used by any transaction processor, including other blockchains, L2s, and permissioned ledgers. -Currently, Soroban is a preview release that includes initial versions of the smart contracts environment, a Rust SDK, A CLI, and an RPC server. Developers can write and test contracts on their local machine or deploy them to a special test network dubbed Futurenet. +Currently, Soroban is a preview release that includes initial versions of the smart contracts environment, a Rust SDK, A CLI, and an RPC server. Developers can write and test contracts on their local machine or deploy them to Testnet. ## What "preview release" means diff --git a/docs/reference/freighter.mdx b/docs/reference/freighter.mdx index f0361684..0dfca4f4 100644 --- a/docs/reference/freighter.mdx +++ b/docs/reference/freighter.mdx @@ -14,11 +14,11 @@ description: Freighter is a browser extension that can sign Soroban transactions 3. Next, switch to `Experimental Mode` to enable the Soroban SDK. In the extension, click the gear in the lower right corner and then navigate to `Preferences`. Toggle on `Experimental Mode`. -4. After switching to `Experimental Mode`, you should automatically be switched to the Futurenet network. Fund your account on Futurenet using Friendbot. For convenience, you can do so in the Stellar [Laboratory](https://laboratory.stellar.org/#account-creator?network=futurenet). +4. After switching to `Experimental Mode`, you can use Freighter with Soroban on the Testnet or Futurenet networks. If your account does not exist on the selected network, Freighter will prompt you to fund it the account using Friendbot. Alternatively, you can do so in the Stellar [Laboratory](https://laboratory.stellar.org/#account-creator). ## Enable Soroban Tokens -With a funded Futurenet account and `Experimental Mode` enabled, you can now add Soroban tokens to your Freighter wallet. +With a funded Testnet or Futurenet account and `Experimental Mode` enabled, you can now add Soroban tokens to your Freighter wallet. 1. On the Freighter account screen, click this `Manage Assets` button at the bottom of the screen. @@ -44,7 +44,7 @@ Once you have added a Soroban token to your Freighter wallet, you can now send a ## Sign Soroban XDRs -With a funded Futurenet account and `Experimental Mode` enabled, you can now sign Soroban XDRs using dApps that are integrated with Freighter. An example of an integrated dApp is Stellar's [Laboratory](https://laboratory.stellar.org/#txsigner?network=futurenet). +With a funded Testnet or Futurenet account and `Experimental Mode` enabled, you can now sign Soroban XDRs using dApps that are integrated with Freighter. An example of an integrated dApp is Stellar's [Laboratory](https://laboratory.stellar.org/#txsigner). 1. On the Lab's transaction signer, enter a Soroban XDR into the form field. @@ -54,12 +54,12 @@ With a funded Futurenet account and `Experimental Mode` enabled, you can now sig 4. If approved, Freighter will transmit a signed XDR back to the Lab. -## As a dApp Provider, Prompt Freighter to Sign Transactions (Advanced) +## As a Dapp Provider, Prompt Freighter to Sign Transactions (Advanced) -If you're building a JS dApp, easily sign Soroban transactions using the [Freighter browser extension](https://www.freighter.app/) and its corresponding client library [@stellar/freighter-api](https://www.npmjs.com/package/@stellar/freighter-api): +If you're building a JS dapp, easily sign Soroban transactions using the [Freighter browser extension](https://www.freighter.app/) and its corresponding client library [@stellar/freighter-api](https://www.npmjs.com/package/@stellar/freighter-api): 1. Follow the setup instructions above. -2. Now, you can use the `signTransaction` [method](https://docs.freighter.app/docs/guide/usingFreighterNode) from `@stellar/freighter-api` in your dApp to sign Soroban XDRs using the account in Freighter. +2. Now, you can use the `signTransaction` [method](https://docs.freighter.app/docs/guide/usingFreighterNode) from `@stellar/freighter-api` in your dapp to sign Soroban XDRs using the account in Freighter. -3. Upon calling `signTransaction`, Freighter will open and prompt the user to sign the transaction. Approving the transaction will return the signed XDR to the requesting dApp. +3. Upon calling `signTransaction`, Freighter will open and prompt the user to sign the transaction. Approving the transaction will return the signed XDR to the requesting dapp. diff --git a/docs/reference/futurenet.mdx b/docs/reference/futurenet.mdx deleted file mode 100644 index f3713c8f..00000000 --- a/docs/reference/futurenet.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -sidebar_position: 3 -title: Futurenet -description: The shared Soroban test network. ---- - -Futurenet is available as the first shared test network to enable developers to learn, tinker and build applications on Soroban while being able to interact with other participants. - -| Futurenet | | -| :----------------- | ---------------------------------------- | -| Network Passphrase | `Test SDF Future Network ; October 2022` | -| Horizon API | https://horizon-futurenet.stellar.org | -| Friendbot API | https://friendbot-futurenet.stellar.org | -| Validator | `core-live-futurenet.stellar.org` | -| History Archive | https://history-futurenet.stellar.org | - -:::caution - -Futurenet can be reset at any time. A reset erases all accounts, contract data, and contract deployments from the network. - -::: - -:::caution - -All components deployed to Futurenet and releases supporting Futurenet, such as the [Soroban RPC Server], are in active development and will be unstable at times. They should be treated as development releases with no production capabilities, API or backward compatibility guarantees. - -::: - -[Soroban RPC Server]: https://github.com/stellar/quickstart#soroban-rpc-server diff --git a/docs/reference/releases.mdx b/docs/reference/releases.mdx index b2af2462..2fbc277f 100644 --- a/docs/reference/releases.mdx +++ b/docs/reference/releases.mdx @@ -10,11 +10,11 @@ We’re releasing early versions of Soroban because we believe it’s important :::caution -Preview releases are software releases that are also released to the [Futurenet] test network. Software releases may occur between Futurenet releases. If you're interacting with Futurenet the recommended software versions to use in development are below. Releases to Futurenet may include network resets and network passphrase changes. +Preview releases are software releases that are also released to the [Testnet] test network. Software releases may occur between Testnet releases. If you're interacting with Testnet the recommended software versions to use in development are below. Releases to Testnet may include network resets and network passphrase changes. ::: -[Futurenet]: futurenet +[Testnet]: testnet ## Preview 11 (September 11, 2023): Testnet and Futurenet Edition @@ -39,6 +39,7 @@ Preview releases are software releases that are also released to the [Futurenet] | Soroban React Payment dapp | `TBD` | | Soroban Mint Token dapp | `TBD` | | Futurenet Network Passphrase | `Test SDF Future Network ; October 2022` | +| Testnet Network Passphrase | `Test SDF Network ; September 2015` | :::note The Soroban RPC version for Preview 11 is presently in Stellar's unstable and testing apt repositories. Additionally, its Docker image release can be accessed at [docker.io/stellar/soroban-rpc:20.0.0-rc3-39](https://hub.docker.com/layers/stellar/soroban-rpc/20.0.0-rc3-39/images/sha256-227170869bca74998e1b6cc1e07deb3aca8d03e36154b3da700d6669e19d485b?context=explore). diff --git a/docs/reference/rpc.mdx b/docs/reference/rpc.mdx index 6c7699ee..308c5b9f 100644 --- a/docs/reference/rpc.mdx +++ b/docs/reference/rpc.mdx @@ -11,16 +11,21 @@ Alternatively, you can use one of Soroban's [client SDKs](https://soroban.stella ## Run Your Own Instance -[Download](https://hub.docker.com/r/stellar/quickstart) and run a local instance via [Docker Quickstart](https://github.com/stellar/quickstart) and run a standalone network or communicate with a live development [Futurenet] (and soon to come, Testnet and Mainnet). +[Download](https://hub.docker.com/r/stellar/quickstart) and run a local instance via [Docker Quickstart](https://github.com/stellar/quickstart) and run a standalone network or communicate with a live development [Testnet]. For local development, an RPC service can run on a standard laptop with 16GB of RAM and has minimal storage and CPU requirements. The Quickstart image is a single container that runs everything you need to test against a fully featured network. It contains: -- Stellar Core – Node software that runs the network, coordinates consensus, and finalizes ledgers. -- Soroban RPC server – JSON RPC server for interacting with Soroban contracts. -- Horizon server – HTTP API for access ledger state and historical transactions. -- Friendbot server – HTTP API for creating and funding new accounts on test networks. +- [Stellar Core] - Node software that runs the network, coordinates consensus, and finalizes ledgers. +- [Soroban RPC] server - JSON RPC server for interacting with Soroban contracts. +- [Horizon server] - HTTP API for access ledger state and historical transactions. +- [Friendbot server] - HTTP API for creating and funding new accounts on test networks. + +[Stellar Core]: https://github.com/stellar/stellar-core +[Soroban RPC]: https://github.com/stellar/soroban-tools/tree/main/cmd/soroban-rpc +[Horizon server]: https://github.com/stellar/go/tree/master/services/horizon +[Friendbot server]: https://github.com/stellar/go/tree/master/services/friendbot :::info It's also possible to run a contract in the local sandbox environment without a network using just Soroban CLI. See [Run on Sandbox] for more details. @@ -30,26 +35,34 @@ It's also possible to run a contract in the local sandbox environment without a To run a local standalone network with the Stellar Quickstart Docker image, run the following command, double-checking that the `sha256` matches the latest on the [Releases](./releases.mdx) page: - docker run --rm -it \ - -p 8000:8000 \ - --name stellar \ - stellar/quickstart:testing@sha256:1c98f895f8b69cc843eeaa5230d67044dbeb390a5529d51dd7762d8ff685c3f8 \ - --standalone \ - --enable-soroban-rpc +```bash +docker run --rm -it \ + -p 8000:8000 \ + --name stellar \ + stellar/quickstart:testing@sha256:1c98f895f8b69cc843eeaa5230d67044dbeb390a5529d51dd7762d8ff685c3f8 \ + --standalone \ + --enable-soroban-rpc +``` Once the image is started you can check its status by querying the Horizon API: - curl "http://localhost:8000" +```bash +curl "http://localhost:8000" +``` You can interact with this local node using Soroban CLI. First, add it as a configured network: - soroban config network add standalone \ - --rpc-url "http://localhost:8000/soroban/rpc" \ - --network-passphrase "Standalone Network ; February 2017" +```bash +soroban config network add standalone \ + --rpc-url "http://localhost:8000/soroban/rpc" \ + --network-passphrase "Standalone Network ; February 2017" +``` Then generate a unique identity (public/private keypair) to use with it: - soroban config identity generate alice +```bash +soroban config identity generate alice +``` :::tip Test-only Identities It's a good practice to never use the same keys for testing and development that you use do for the public Stellar network. Generate new keys for testing and development and avoid ever using them for other purposes. @@ -57,68 +70,112 @@ It's a good practice to never use the same keys for testing and development that Finally, fund your new account on the local sandbox environment by making a request to the local Friendbot: - curl "http://localhost:8000/friendbot?addr=$(soroban config identity address alice)" +```bash +curl "http://localhost:8000/friendbot?addr=$(soroban config identity address alice)" +``` -:::tip Command Expansion `$(…)` +:::tip Command Expansion `$(...)` This uses [command expansion](https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html), which only works with bash-compatible shells. If you are using Windows or some other shell, you will need to copy the output of `soroban config…` and paste it into the `curl` command, or figure out how command expansion works in your shell. ::: Now that you have a configured network and a funded identity, you can use these within other Soroban CLI commands. For example, deploying a contract: - soroban contract deploy \ - --wasm target/wasm32-unknown-unknown/release/[project_name].wasm \ - --source alice \ - --network standalone +```bash +soroban contract deploy \ + --wasm target/wasm32-unknown-unknown/release/[project_name].wasm \ + --source alice \ + --network standalone +``` Or invoking a contract: - soroban contract invoke \ - --id C… \ - --source alice \ - --network standalone \ - -- \ - hello \ - --to friend +```bash +soroban contract invoke \ + --id C... \ + --source alice \ + --network standalone \ + -- \ + hello \ + --to friend +``` When you're done with your Standalone node, you can close it with ctrlc (not cmd). This will fully remove the container (that's what the `--rm` option to the `docker` command does), which means you will need to re-deploy your contract and re-fund your identity next time you start it. If you work with local nodes often, you may want to create scripts to make these initialization steps easier. For example, see the [example dapp's `initialize.sh`](https://github.com/stellar/soroban-example-dapp/blob/abdac3afdb6c410cc426831ece93371c1a27347d/initialize.sh). -[Futurenet]: futurenet.mdx +[Testnet]: testnet [Run on Sandbox]: ../getting-started/hello-world#run-on-sandbox +### Testnet + +Running your own Testnet node works much the same way as running a Quickstart node, described above. You will need minor modifications for a few commands. First, you need `--testnet` for the docker instance, rather than `--standalone`: + +```bash +docker run --rm -it \ + -p 8000:8000 \ + --name stellar \ + stellar/quickstart:testing@sha256:1c98f895f8b69cc843eeaa5230d67044dbeb390a5529d51dd7762d8ff685c3f8 \ + --testnet \ + --enable-soroban-rpc +``` + +And you'll want to configure it for use with the `--network` flag in Soroban CLI: + +```bash +soroban config network add testnet \ + --rpc-url "http://localhost:8000/soroban/rpc" \ + --network-passphrase "Test SDF Network ; September 2015" +``` + +Replace `testnet` in that command with the name of your choice, if you want to leave the name `testnet` available for use with a public RPC provider (see below). Or make clever use of `--global` configs for public providers and local configs (made with the undecorated `network add` command above) for local nodes. + +The `alice` identity suggested for your Standalone network will still work here, since it's just a public/private keypair, but you'll need to remember to fund it for the Testnet network: + +```bash +curl "https://friendbot.stellar.org/?addr=$(soroban config identity address alice)" +``` + +Now you can replace `--network standalone` with `--network testnet` (or whatever you named it) in all your commands that need a network, like the `deploy` and `invoke` commands shown above. + ### Futurenet -Running your own Futurenet node works much the same way as running a Quickstart node, described above. You will need minor modifications for a few commands. First, you need `--futurenet` for the docker instance, rather than `--standalone`: +You can also develop your Soroban contracts against the Futurenet network. You may choose this if you want to test more bleeding edge features that haven't made it to the Testnet yet. Running your own Futurenet node works just like running a Testnet node, described above. - docker run --rm -it \ - -p 8000:8000 \ - --name stellar \ - stellar/quickstart:testing@sha256:1c98f895f8b69cc843eeaa5230d67044dbeb390a5529d51dd7762d8ff685c3f8 \ - --futurenet \ - --enable-soroban-rpc +```bash +docker run --rm -it \ + -p 8000:8000 \ + --name stellar \ + stellar/quickstart:soroban-dev \ + --futurenet \ + --enable-soroban-rpc +``` And you'll want to configure it for use with the `--network` flag in Soroban CLI: - soroban config network add futurenet \ - --rpc-url "http://localhost:8000/soroban/rpc" \ - --network-passphrase "Test SDF Future Network ; October 2022" +```bash +soroban config network add futurenet \ + --rpc-url "http://localhost:8000/soroban/rpc" \ + --network-passphrase "Test SDF Future Network ; October 2022" +``` Replace `futurenet` in that command with the name of your choice, if you want to leave the name `futurenet` available for use with a public RPC provider (see below). Or make clever use of `--global` configs for public providers and local configs (made with the undecorated `network add` command above) for local nodes. -The `alice` identity suggested for your Standalone network will still work here, since it's just a public/private keypair, but you'll need to remember to fund it for the Futurenet network: +The `alice` identity suggested for your Standalone and Testnet networks will still work here, since it's just a public/private keypair, but you'll need to remember to fund it for the Futurenet network: - curl "https://friendbot-futurenet.stellar.org/?addr=$(soroban config identity address alice)" +```bash +curl "https://friendbot-futurenet.stellar.org/?addr=$(soroban config identity address alice)" +``` -Now you can replace `--network standalone` with `--network futurenet` (or whatever you named it) in all your commands that need a network, like the `deploy` and `invoke` shown above. +Now you can replace `--network standalone` with `--network futurenet` (or whatever you named it) in all your commands that need a network, like the `deploy` and `invoke` commands shown above. ## Public RPC Providers -These providers host a publicly available RPC endpoint that you can connect to. The following currently support Futurenet (with more to come). +These providers host a publicly available RPC endpoint that you can connect to. The following currently support Futurenet and Testnet (with more to come). ### Stellar Development Foundation (SDF) -| Provider | Endpoint | Friendbot | -| :---------------------------- | ----------------------------------- | ----------------------------------------- | -| [SDF](http://www.stellar.org) | `https://rpc-futurenet.stellar.org` | `https://friendbot-futurenet.stellar.org` | +| Provider | Endpoint | Friendbot | Network | +| :---------------------------- | ------------------------------------- | ----------------------------------------- | ----------- | +| [SDF](http://www.stellar.org) | `https://rpc-futurenet.stellar.org` | `https://friendbot-futurenet.stellar.org` | `Futurenet` | +| [SDF](http://www.stellar.org) | `https://soroban-testnet.stellar.org` | `https://friendbot.stellar.org` | `Testnet` | ### Blockdaemon @@ -137,103 +194,79 @@ You can apply to receive a 1-month free “Starter” tier, and up to five month If your target deployment environment includes Kubernetes infrastructure, you can utilize [soroban rpc helm chart](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc) for an automated deployment on the cluster. Install the [Helm cli tool](https://helm.sh/docs/intro/install/), minimum of version 3 if you haven't already on your workstation. Next, add the Stellar repo to the helm client's list of repos, update it to the latest published versions: - - ```bash helm repo add stellar https://helm.stellar.org/charts helm repo update stellar ``` - - Deploy rpc to kubernetes using the helm chart: - - ```bash helm install my-rpc stellar/soroban-rpc \ --namespace my-rpc-namespace-on-cluster \ ---set global.image.sorobanRpc.tag=0.9.2 \ ---set sorobanRpc.ingress.host=rpc-futurenet-dev.stellar.org \ +--set global.image.sorobanRpc.tag=20.0.0-rc3-39 \ +--set sorobanRpc.ingress.host=myrpc.example.org \ --set sorobanRpc.persistence.enabled=true \ --set sorobanRpc.persistence.storageClass=default \ --set sorobanRpc.resources.limits.cpu=1 \ --set sorobanRpc.resources.limits.memory=2560Mi ``` - - This example of helm chart usage, highlights some key aspects: -- Set the `global.image.sorobanRpc.tag` to a tag from the [soroban rpc dockerhub repo](https://hub.docker.com/r/stellar/soroban-rpc) for the image version you want to run. Refer to [Soroban Releases](https://soroban.stellar.org/docs/reference/releases) to find the correct tag to use for the soroban release you are running. - -- The Rpc server stores a revolving window of recent data from network ledgers to disk. The sizing of that data will vary depending on the network and it's transaction volumes, estimated range between 10 to 100 MB. To ensure rpc pod has consistent access to disk storage space and r/w throughput, this example demonstrates how to optionally enable helm chart deployment to use a PersistentVolumeClaim(PVC) of 100MB from `default` storage class on kubernetes by enabling persistence parameters: - - - - ```bash - --set sorobanRpc.persistence.enabled=true - --set sorobanRpc.persistence.storageClass=default - ``` - - - - By default `sorobanRpc.persistence.enabled=false` and the rpc deployment will use ephemeral pod storage via `emptyDir` which will likely be adequate for `futurenet` and `testnet` transaction volumes, but it's worth highlighting the trade-off, which is size limitations enforced from the cluster, most likely lower than 100MB. - -- Network presets are defined on [values.yaml](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/values.yaml), which currently sets network configuration specific to `futurenet`. You can override this default and use other 'canned' values.yaml files which have been published for other networks, for example, there is the [testnet-values.yaml](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/testnet-values.yaml) to configure deployment of rpc server with `testnet` network. Include this `--values` parameter in `helm install` to specify the desired network: - - +- Set the `global.image.sorobanRpc.tag` to a tag from the [soroban rpc dockerhub repo](https://hub.docker.com/r/stellar/soroban-rpc) for the image version you want to run. Refer to [the releases page](./releases) to find the correct tag to use for the soroban release you are running. - ```bash - --values https://raw.githubusercontent.com/stellar/helm-charts/main/charts/soroban-rpc/testnet-values.yaml - ``` +- The RPC server stores a revolving window of recent data from network ledgers to disk. The sizing of that data will vary depending on the network and it's transaction volumes, estimated range between 10 to 100 MB. To ensure the RPC pod has consistent access to disk storage space and read/write throughput, this example demonstrates how to optionally enable the helm chart deployment to use a `PersistentVolumeClaim` (PVC) of 100MB from `default` storage class on kubernetes by enabling these persistence parameters: - - -- Configuring rpc to use other custom networks can be accomplished by downloading the [values.yaml](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/values.yaml) locally and updating settings under `sorobanRpc.sorobanRpcConfig` and `sorobanRpc.coreConfig`. This is applicable for when needing to connect to specific networks other than the 'canned' values.yaml files available, such as your own standalone network. Include the local values.yaml in `helm install`: - - +```bash +--set sorobanRpc.persistence.enabled=true +--set sorobanRpc.persistence.storageClass=default +``` - ```bash - --values my-custom-values.yaml - ``` +By default, this is disabled (`sorobanRpc.persistence.enabled=false`) and the RPC deployment will use ephemeral pod storage via `emptyDir` which will likely be adequate for `futurenet` and `testnet` transaction volumes, but it's worth highlighting the trade-off, which is size limitations enforced from the cluster, most likely lower than 100MB. - +- Network presets are defined in [`values.yaml`](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/values.yaml), which currently sets network configuration specific to `futurenet`. You can override this default and use other "canned" `values.yaml` files which have been published for other networks. For example, there is a [`testnet-values.yaml`](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/testnet-values.yaml) file to configure deployment of RPC server with the `testnet` network. Include this `--values` parameter in your `helm install` your to specify the desired network: -- Verify the `LimitRange` defaults in the target namespace in kubernetes for deployment. `LimitRange` is optional on the cluster config, if defined, ensure that the defaults provide at least minimum rpc server resource limits of `2.5Gi` of memory and `1` cpu. Otherwise, include the limits explicitly on the helm install via the `sorobanRpc.resources.limits.*`. +```bash +--values https://raw.githubusercontent.com/stellar/helm-charts/main/charts/soroban-rpc/testnet-values.yaml +``` - +- Configuring RPC to use other custom networks can be accomplished by downloading the [`values.yaml`](https://github.com/stellar/helm-charts/blob/main/charts/soroban-rpc/values.yaml) locally and updating settings under `sorobanRpc.sorobanRpcConfig` and `sorobanRpc.coreConfig`. This is applicable when needing to connect to specific networks other than the "canned" `values.yaml` files available, such as your own standalone network. Include the local `values.yaml` in `helm install`: - ```bash - --set sorobanRpc.resources.limits.cpu=1 - --set sorobanRpc.resources.limits.memory=2560Mi - ``` +```bash +--values my-custom-values.yaml +``` - +- Verify the `LimitRange` defaults in the target namespace in kubernetes for deployment. `LimitRange` is optional on the cluster config, if defined, ensure that the defaults provide at least minimum RPC server resource limits of `2.5Gi` of memory and `1` CPU. Otherwise, include the limits explicitly on the `helm install` command via the `sorobanRpc.resources.limits.*` parameters. -If kubernetes is not an option, the manifests generated by the charts may still be good reference for showing how to configure and run soroban rpc as docker container. Just run the helm command with `template` to print the container config to screen: +```bash +--set sorobanRpc.resources.limits.cpu=1 +--set sorobanRpc.resources.limits.memory=2560Mi +``` - +If kubernetes is not an option, the manifests generated by the charts may still be a good reference for showing how to configure and run Soroban RPC as a docker container. Just run the `helm template` command to print the container configuration to screen: ```bash helm template my-rpc stellar/soroban-rpc ``` - - ## Use the RPC Instance -You can configure Soroban CLI to use remote RPC endpoint: +You can configure Soroban CLI to use a remote RPC endpoint: - soroban config network add --global futurenet \ - --rpc-url https://rpc-futurenet.stellar.org:443 \ - --network-passphrase 'Test SDF Future Network ; October 2022' +```bash +soroban config network add --global testnet \ + --rpc-url https://soroban-testnet.stellar.org:443 \ + --network-passphrase 'Test SDF Network ; September 2015' +``` And fund your accounts/identities with the publicly hosted Friendbot: - curl "https://friendbot-futurenet.stellar.org/?addr=$(soroban config identity address alice)" +```bash +curl "https://friendbot.stellar.org/?addr=$(soroban config identity address alice)" +``` -See the tip above about command expansion (the `$(…)` stuff) if you're not using a bash-based shell. +See the tip above about command expansion (that's the note about `$(...)`) if you're not using a bash-based shell. :::caution When interacting with the network in production you should run your own soroban-rpc or use a third party infrastructure provider. diff --git a/docs/reference/testnet.mdx b/docs/reference/testnet.mdx new file mode 100644 index 00000000..47dcd96e --- /dev/null +++ b/docs/reference/testnet.mdx @@ -0,0 +1,37 @@ +--- +sidebar_position: 3 +title: Testnet +description: The shared Soroban test network. +--- + +Testnet is available as the first shared test network to enable developers to learn, tinker and build applications on Soroban while being able to interact with other participants. + +| Testnet | | +| :----------------- | ----------------------------------- | +| Network Passphrase | `Test SDF Network ; September 2015` | +| Horizon API | https://horizon-testnet.stellar.org | +| Friendbot API | https://friendbot.stellar.org | +| Validator | `core-live-testnet.stellar.org` | +| History Archive | https://history-testnet.stellar.org | + +| Futurenet | | +| :----------------- | ---------------------------------------- | +| Network Passphrase | `Test SDF Future Network ; October 2022` | +| Horizon API | https://horizon-futurenet.stellar.org | +| Friendbot API | https://friendbot-futurenet.stellar.org | +| Validator | `core-live-futurenet.stellar.org` | +| History Archive | https://history-futurenet.stellar.org | + +:::caution + +Testnet can be reset at any time. A reset erases all accounts, contract data, and contract deployments from the network. + +::: + +:::caution + +All components deployed to Testnet and releases supporting Testnet, such as the [Soroban RPC Server], are in active development and will be unstable at times. They should be treated as development releases with no production capabilities, API or backward compatibility guarantees. + +::: + +[Soroban RPC Server]: https://github.com/stellar/quickstart#soroban-rpc-server diff --git a/docusaurus.config.js b/docusaurus.config.js index 203b3fb8..f11df828 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -8,7 +8,7 @@ const darkCodeTheme = require("prism-react-renderer/themes/dracula"); /** @type {import('@docusaurus/types').Config} */ const config = { title: "Soroban - Smart Contracts Platform for Developers", - tagline: 'Soroban is a smart contracts platform that is designed with purpose and built to perform. The Futurenet has launched! Start experimenting now!', + tagline: 'Soroban is a smart contracts platform that is designed with purpose and built to perform. The Testnet has launched! Start experimenting now!', url: "https://soroban.stellar.org", // Your website URL baseUrl: "/", onBrokenLinks: "throw", diff --git a/src/components/ExampleRequest/index.js b/src/components/ExampleRequest/index.js index 09c255e6..e47a1af5 100644 --- a/src/components/ExampleRequest/index.js +++ b/src/components/ExampleRequest/index.js @@ -30,14 +30,14 @@ export default function ExampleRequest(props) { {`curl -X POST \\ -H 'Content-Type: application/json' \\ -d '${JSON.stringify(requestObject, null, 2)}' \\ -https://rpc-futurenet.stellar.org | jq`} +https://soroban-testnet.stellar.org | jq`} {`let requestObject = ${JSON.stringify(requestObject, null, 2)} -let res = await fetch('https://rpc-futurenet.stellar.org', { +let res = await fetch('https://soroban-testnet.stellar.org', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(requestObject), @@ -50,7 +50,7 @@ console.log(json)`} {`import json, requests -res = requests.post('https://rpc-futurenet.stellar.org', json=${JSON.stringify(requestObject, null, 4)}) +res = requests.post('https://soroban-testnet.stellar.org', json=${JSON.stringify(requestObject, null, 4)}) print(json.dumps(res.json(), indent=2))`} diff --git a/src/components/atoms/ProviderExample.tsx b/src/components/atoms/ProviderExample.tsx index d78c2f74..0d5b5406 100644 --- a/src/components/atoms/ProviderExample.tsx +++ b/src/components/atoms/ProviderExample.tsx @@ -1,11 +1,11 @@ import React from 'react' import {SorobanReactProvider} from '@soroban-react/core'; import {SorobanEventsProvider} from '@soroban-react/events'; -import {futurenet, sandbox, standalone} from '@soroban-react/chains'; +import {futurenet, sandbox, standalone, testnet} from '@soroban-react/chains'; import {freighter} from '@soroban-react/freighter'; import {ChainMetadata, Connector} from "@soroban-react/types"; -const chains: ChainMetadata[] = [sandbox, standalone, futurenet]; +const chains: ChainMetadata[] = [sandbox, standalone, futurenet, testnet]; const connectors: Connector[] = [freighter()]; export default function ProviderExample({children}:{children: React.ReactNode}) { diff --git a/src/components/atoms/challenge-form/index.tsx b/src/components/atoms/challenge-form/index.tsx index cba6ecd1..11ef913d 100644 --- a/src/components/atoms/challenge-form/index.tsx +++ b/src/components/atoms/challenge-form/index.tsx @@ -140,15 +140,15 @@ function InnerComponent({ id }: { id: number }) { useEffect(() => { if (activeChain) { - if (activeChain.name?.toString() !== "Futurenet") { - alert("Please ensure that you are connected to Futurenet"); + if (activeChain.name?.toString() !== "Testnet") { + alert("Please ensure that you are connected to Testnet"); setLoading(true); } if (activeChain.name?.toString() === undefined) { - alert("Please ensure that you are connected to Futurenet"); + alert("Please ensure that you are connected to Testnet"); setLoading(true); } - if (activeChain.name?.toString() === "Futurenet" && address) { + if (activeChain.name?.toString() === "Testnet" && address) { setLoading(false); } } @@ -158,7 +158,7 @@ function InnerComponent({ id }: { id: number }) { if (loading) { return (
- Please connect to Futurenet network. + Please connect to Testnet network.
); @@ -170,7 +170,7 @@ function InnerComponent({ id }: { id: number }) { export function ParentChallengeForm({ id }: { id: number }) { return ( - Please connect to Futurenet network.}> + Please connect to Testnet network.}> {() => } diff --git a/src/pages/index.js b/src/pages/index.js index 067a7581..1ae15e99 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -10,15 +10,15 @@ export default function Landing() { @@ -54,8 +54,7 @@ const Hero = () => (

A developer-friendly, Rust-based smart contracts platform designed for - scale and sensibility. Currently live on the test network - dubbed Futurenet, Soroban seamlessly integrates with and works + scale and sensibility. Currently live on Testnet, Soroban seamlessly integrates with and works alongside the existing Stellar blockchain.

@@ -207,16 +206,16 @@ const GettingStarted = () => ( = 4.9.1 < 6", "@algolia/client-search@4.19.1": +"@algolia/client-search@4.19.1": version "4.19.1" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.19.1.tgz" integrity sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw== @@ -163,28 +163,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.18.6", "@babel/core@^7.19.6", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@>=7.11.0": - version "7.22.9" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz" - integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.9" - "@babel/helper-compilation-targets" "^7.22.9" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.6" - "@babel/parser" "^7.22.7" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.8" - "@babel/types" "^7.22.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.1" - -"@babel/core@^7.11.6", "@babel/core@7.12.9": +"@babel/core@7.12.9": version "7.12.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== @@ -206,6 +185,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.16.0", "@babel/core@^7.18.6", "@babel/core@^7.19.6": + version "7.22.9" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz" + integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.9" + "@babel/helper-compilation-targets" "^7.22.9" + "@babel/helper-module-transforms" "^7.22.9" + "@babel/helpers" "^7.22.6" + "@babel/parser" "^7.22.7" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.8" + "@babel/types" "^7.22.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.1" + "@babel/eslint-parser@^7.16.3": version "7.22.9" resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.9.tgz" @@ -337,16 +337,16 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - "@babel/helper-plugin-utils@7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz" @@ -565,7 +565,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.22.5": +"@babel/plugin-syntax-flow@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz" integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== @@ -600,13 +600,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx@7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" @@ -614,6 +607,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -635,7 +635,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3", "@babel/plugin-syntax-object-rest-spread@7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -1020,7 +1020,7 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.22.5": +"@babel/plugin-transform-react-jsx@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz" integrity sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA== @@ -1347,7 +1347,7 @@ "@docsearch/css" "3.5.1" algoliasearch "^4.0.0" -"@docusaurus/core@^2.0.0-beta || ^3.0.0-alpha", "@docusaurus/core@^2.2.0", "@docusaurus/core@2.4.1": +"@docusaurus/core@2.4.1", "@docusaurus/core@^2.2.0": version "2.4.1" resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.1.tgz" integrity sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g== @@ -1557,7 +1557,7 @@ react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@^2.2.0", "@docusaurus/plugin-google-analytics@2.4.1": +"@docusaurus/plugin-google-analytics@2.4.1", "@docusaurus/plugin-google-analytics@^2.2.0": version "2.4.1" resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.1.tgz" integrity sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ== @@ -1621,7 +1621,7 @@ "@docusaurus/theme-search-algolia" "2.4.1" "@docusaurus/types" "2.4.1" -"@docusaurus/react-loadable@5.5.2": +"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== @@ -1726,7 +1726,7 @@ fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@*", "@docusaurus/types@2.4.1": +"@docusaurus/types@2.4.1": version "2.4.1" resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.1.tgz" integrity sha512-0R+cbhpMkhbRXX138UOc/2XZFF8hiZa6ooZAEEJFp5scytzCw4tC1gChMFXrpa3d2tYE6AX8IrOEpSonLmfQuQ== @@ -1910,16 +1910,16 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - "@jridgewell/sourcemap-codec@1.4.14": version "1.4.14" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" @@ -1983,7 +1983,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -2189,7 +2189,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": +"@svgr/core@^6.5.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== @@ -2489,7 +2489,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0": +"@types/react@*": version "18.2.15" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.15.tgz" integrity sha512-oEjE7TQt1fFTFSbf8kkNuc798ahTUzn3Le67/PWjE8MAfYAD/qB7O8hSTcromLFqHCt9bcdOg5GXMokzTjJ5SA== @@ -2585,7 +2585,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@*", "@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.47.0", "@typescript-eslint/eslint-plugin@^5.5.0": +"@typescript-eslint/eslint-plugin@^5.47.0", "@typescript-eslint/eslint-plugin@^5.5.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== @@ -2608,7 +2608,7 @@ dependencies: "@typescript-eslint/utils" "5.62.0" -"@typescript-eslint/parser@*", "@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.47.0", "@typescript-eslint/parser@^5.5.0": +"@typescript-eslint/parser@^5.47.0", "@typescript-eslint/parser@^5.5.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== @@ -2654,7 +2654,7 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@^5.30.5", "@typescript-eslint/utils@^5.58.0", "@typescript-eslint/utils@5.62.0": +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.30.5", "@typescript-eslint/utils@^5.58.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -2676,7 +2676,7 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== @@ -2777,7 +2777,7 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/wasm-parser" "1.11.6" -"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== @@ -2835,7 +2835,7 @@ acorn-walk@^8.0.0: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: version "8.10.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== @@ -2872,7 +2872,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2882,7 +2882,7 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -2899,7 +2899,7 @@ algoliasearch-helper@^3.10.0: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.0.0, algoliasearch@^4.13.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": +algoliasearch@^4.0.0, algoliasearch@^4.13.1: version "4.19.1" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.19.1.tgz" integrity sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g== @@ -3005,16 +3005,16 @@ array-buffer-byte-length@^1.0.0: call-bind "^1.0.2" is-array-buffer "^3.0.1" -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + array-includes@^3.1.6: version "3.1.6" resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" @@ -3296,12 +3296,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0: - version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -bn.js@^5.1.1: +bn.js@^5.0.0, bn.js@^5.1.1: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -3448,7 +3443,7 @@ browserify-sign@^4.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.9, "browserslist@>= 4.21.0": +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.9: version "4.21.9" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz" integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== @@ -3468,7 +3463,7 @@ buffer-xor@^1.0.3: resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@^6.0.3, buffer@>=6.0.3: +buffer@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -3627,7 +3622,7 @@ cheerio@^1.0.0-rc.12: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -chokidar@^3.0.0, chokidar@^3.4.2, chokidar@^3.5.3, "chokidar@>=3.0.0 <4.0.0": +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3736,16 +3731,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + colord@^2.9.1: version "2.9.3" resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" @@ -3773,6 +3768,11 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + commander@^2.20.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" @@ -3783,11 +3783,6 @@ commander@^5.1.0: resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.2.0, commander@7: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^8.3.0: version "8.3.0" resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" @@ -4214,7 +4209,7 @@ cytoscape-fcose@^2.1.0: dependencies: cose-base "^2.2.0" -cytoscape@^3.2.0, cytoscape@^3.23.0: +cytoscape@^3.23.0: version "3.25.0" resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz" integrity sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q== @@ -4222,7 +4217,7 @@ cytoscape@^3.2.0, cytoscape@^3.23.0: heap "^0.2.6" lodash "^4.17.21" -d3-array@^3.2.0, "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -4338,7 +4333,7 @@ d3-hierarchy@3: dependencies: d3-color "1 - 3" -d3-path@^3.1.0, "d3-path@1 - 3", d3-path@3: +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== @@ -4484,33 +4479,26 @@ dayjs@^1.11.7: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz" integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== -debug@^2.6.0: +debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@4: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: - ms "2.0.0" + ms "^2.1.1" decode-named-character-reference@^1.0.0: version "1.0.2" @@ -4592,16 +4580,16 @@ delayed-stream@~1.0.0: resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - depd@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -4751,16 +4739,7 @@ dompurify@2.4.3: resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz" integrity sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ== -domutils@^2.5.2: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -domutils@^2.8.0: +domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -4793,16 +4772,16 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - duplexer3@^0.1.4: version "0.1.5" resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" @@ -4998,7 +4977,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@*, eslint-config-prettier@^8.8.0: +eslint-config-prettier@^8.8.0: version "8.8.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz" integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== @@ -5023,11 +5002,6 @@ eslint-config-react-app@^7.0.1: eslint-plugin-react-hooks "^4.3.0" eslint-plugin-testing-library "^5.0.1" -eslint-config-react@*: - version "1.1.7" - resolved "https://registry.npmjs.org/eslint-config-react/-/eslint-config-react-1.1.7.tgz" - integrity sha512-P4Z6u68wf0BvIvZNu+U8uQsk3DcZ1CcCI1XpUkJlG6vOa+iVcSQLgE01f2DB2kXlKRcT8/3dsH+wveLgvEgbkQ== - eslint-import-resolver-node@^0.3.7: version "0.3.7" resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" @@ -5080,7 +5054,7 @@ eslint-plugin-jest@^25.3.0: dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" -eslint-plugin-jsdoc@*, eslint-plugin-jsdoc@^46.4.4: +eslint-plugin-jsdoc@^46.4.4: version "46.4.6" resolved "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.6.tgz" integrity sha512-z4SWYnJfOqftZI+b3RM9AtWL1vF/sLWE/LlO9yOKDof9yN2+n3zOdOJTGX/pRE/xnPsooOLG2Rq6e4d+XW3lNw== @@ -5117,7 +5091,7 @@ eslint-plugin-jsx-a11y@^6.5.1: object.fromentries "^2.0.6" semver "^6.3.0" -eslint-plugin-prefer-arrow@*, eslint-plugin-prefer-arrow@^1.2.3: +eslint-plugin-prefer-arrow@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz" integrity sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ== @@ -5155,7 +5129,7 @@ eslint-plugin-testing-library@^5.0.1: dependencies: "@typescript-eslint/utils" "^5.58.0" -eslint-scope@^5.1.1, eslint-scope@5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -5181,7 +5155,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz" integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.1.0, eslint@^8.30.0, "eslint@>= 6", eslint@>=2.0.0, eslint@>=6, eslint@>=7.0.0, eslint@>6: +eslint@^8.30.0: version "8.45.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz" integrity sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw== @@ -5465,7 +5439,7 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@*, file-loader@^6.2.0: +file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -5732,14 +5706,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6159,16 +6126,6 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -6180,6 +6137,16 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -6297,7 +6264,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6307,6 +6274,11 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" @@ -6317,11 +6289,6 @@ ini@^4.1.0: resolved "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz" integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" @@ -6353,17 +6320,17 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-alphabetical@^1.0.0, is-alphabetical@1.0.4: +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== @@ -6649,6 +6616,11 @@ is-yarn-global@^0.3.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isarray@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" @@ -6659,11 +6631,6 @@ isarray@~1.0.0: resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -7012,7 +6979,7 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.uniq@^4.5.0, lodash.uniq@4.5.0: +lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== @@ -7227,7 +7194,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@^9.2.2, mermaid@^9.3.0, mermaid@>=8.11.0: +mermaid@^9.2.2, mermaid@^9.3.0: version "9.4.3" resolved "https://registry.npmjs.org/mermaid/-/mermaid-9.4.3.tgz" integrity sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw== @@ -7474,7 +7441,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -7484,13 +7451,6 @@ mime-db@~1.33.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - mime-types@2.1.18: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" @@ -7498,6 +7458,13 @@ mime-types@2.1.18: dependencies: mime-db "~1.33.0" +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -7530,7 +7497,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@3.1.2: +minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7571,11 +7538,6 @@ mrmime@^1.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== -ms@^2.1.1, ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -7586,6 +7548,11 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -8033,13 +8000,6 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" @@ -8050,6 +8010,13 @@ path-to-regexp@2.2.1: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -8371,7 +8338,7 @@ postcss-zindex@^5.1.0: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.16, postcss@^8.4.17, postcss@^8.4.21: +postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: version "8.4.27" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz" integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== @@ -8390,7 +8357,7 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== -prettier@^3.0.0, prettier@>=1.17.0: +prettier@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.1.tgz" integrity sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ== @@ -8548,16 +8515,16 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - range-parser@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + raw-body@2.5.1: version "2.5.1" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" @@ -8568,7 +8535,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8, rc@1.2.8: +rc@1.2.8, rc@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -8618,7 +8585,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@*, "react-dom@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.4 || ^17.0.0", "react-dom@^17.0.0 || ^16.3.0 || ^15.5.4", react-dom@^17.0.2, "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=16: +react-dom@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -8675,14 +8642,6 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@5.5.2": - version "5.5.2" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" - integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== - dependencies: - "@types/react" "*" - prop-types "^15.6.2" - react-player@^2.12.0: version "2.12.0" resolved "https://registry.npmjs.org/react-player/-/react-player-2.12.0.tgz" @@ -8719,7 +8678,7 @@ react-router-dom@^5.3.3: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@^5.3.3, react-router@>=5, react-router@5.3.4: +react-router@5.3.4, react-router@^5.3.3: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -8750,7 +8709,7 @@ react-toastify@^9.1.3: dependencies: clsx "^1.1.1" -react@*, "react@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^15.0.2 || ^16.0.0 || ^17.0.0", "react@^16.13.1 || ^17.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.4 || ^17.0.0", "react@^16.8.4 || ^17.0.0 || ^18.0.0", "react@^17.0.0 || ^16.3.0 || ^15.5.4", react@^17.0.2, "react@>= 16.8.0 < 19.0.0", react@>=0.14.9, react@>=15, react@>=16, react@>=16.6.0, react@>=16.8, react@17.0.2: +react@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -8931,15 +8890,6 @@ remark-mdx@1, remark-mdx@1.6.22: remark-parse "8.0.3" unified "9.2.0" -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" - remark-parse@8.0.3: version "8.0.3" resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" @@ -8962,6 +8912,15 @@ remark-parse@8.0.3: vfile-location "^3.0.0" xtend "^4.0.1" +remark-parse@^10.0.0: + version "10.0.2" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + remark-squeeze-paragraphs@4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" @@ -9135,20 +9094,15 @@ safe-array-concat@^1.0.0: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.0.0: version "1.0.0" @@ -9159,7 +9113,7 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -9175,7 +9129,7 @@ sass-loader@^10.1.1: schema-utils "^3.0.0" semver "^7.3.2" -sass@^1.3.0, sass@^1.30.0, sass@^1.57.1: +sass@^1.57.1: version "1.64.1" resolved "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz" integrity sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ== @@ -9197,6 +9151,15 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" @@ -9225,20 +9188,6 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -"search-insights@>= 1 < 3": - version "2.7.0" - resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.7.0.tgz" - integrity sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg== - section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -9276,42 +9225,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.5: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.7: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.8: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.4: +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -9533,7 +9447,7 @@ sort-css-media-queries@2.1.0: resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== -source-map-js@^1.0.2, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -9617,16 +9531,16 @@ state-toggle@^1.0.0: resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + std-env@^3.0.1: version "3.3.3" resolved "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz" @@ -9648,35 +9562,12 @@ stellar-base@9.0.0-soroban.3: optionalDependencies: sodium-native "^4.0.1" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - string-natural-compare@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -9685,25 +9576,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string-width@^5.0.1: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string-width@^5.1.2: +string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -9753,6 +9626,20 @@ string.prototype.trimstart@^1.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" @@ -9762,14 +9649,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -9808,7 +9688,7 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -style-to-object@^0.3.0, style-to-object@0.3.0: +style-to-object@0.3.0, style-to-object@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== @@ -10106,7 +9986,7 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^4.9.4, "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": +typescript@^4.9.4: version "4.9.5" resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== @@ -10200,6 +10080,18 @@ unified-engine@^10.0.0: vfile-statistics "^2.0.0" yaml "^2.0.0" +unified@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unified@^10.0.0: version "10.1.2" resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" @@ -10225,18 +10117,6 @@ unified@^9.2.2: trough "^1.0.0" vfile "^4.0.0" -unified@9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" - integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" @@ -10244,7 +10124,7 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" -unist-builder@^2.0.0, unist-builder@2.0.3: +unist-builder@2.0.3, unist-builder@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== @@ -10322,7 +10202,7 @@ unist-util-visit-parents@^5.1.1: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit@^2.0.0, unist-util-visit@^2.0.3, unist-util-visit@2.0.3: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -10345,7 +10225,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@~1.0.0, unpipe@1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -10671,7 +10551,7 @@ webpack-sources@^3.2.2, webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.73.0, "webpack@>= 4", webpack@>=2, "webpack@>=4.41.1 || 5.x", "webpack@3 || 4 || 5": +webpack@^5.73.0: version "5.88.2" resolved "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz" integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== @@ -10711,7 +10591,7 @@ webpackbar@^5.0.2: pretty-time "^1.1.0" std-env "^3.0.1" -websocket-driver@^0.7.4, websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -10788,16 +10668,7 @@ wildcard@^2.0.0: resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==