diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index cd8538dd..c7e84a56 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,15 +1,15 @@
## Contributor's Guide
-Welcome to the API3 Documentation Repository. This guide will help you get
-started with contributing to the API3 documentation.
+Welcome to the Api3 Documentation Repository. This guide will help you get
+started with contributing to the Api3 documentation.
## How to get started
-The API3 Docs uses [VitePress](https://vitepress.dev/), a Vue-powered static
+The Api3 Docs uses [VitePress](https://vitepress.dev/), a Vue-powered static
site generator. Follow the steps below to get started.
Make sure to check out https://docs.api3.org/dev/ for more details and
-information about getting started and making a contribution to the API3 Docs.
+information about getting started and making a contribution to the Api3 Docs.
### Pre-requisites
@@ -32,9 +32,9 @@ pnpm docs:dev
### Structure
-The API3 Docs repository is structured as follows:
+The Api3 Docs repository is structured as follows:
-- `/docs/dapis`: Explore section within the API3 Docs.
+- `/docs/dapis`: Explore section within the Api3 Docs.
- `/docs/oev`: All the guides that demonstrate the use of Airnode, QRNG and
dAPIs.
- `/docs/reference`: Contains the core documentation for Airnode, QRNG and
@@ -43,7 +43,7 @@ The API3 Docs repository is structured as follows:
Each section will have a `sidebar.js` file that contains the sidebar structure
for that section.
-`/_components`: Contains the custom vue components used in the API3 Docs.
+`/_components`: Contains the custom vue components used in the Api3 Docs.
[Check this out](https://docs.api3.org/dev/docsets.html) for more info about the
structure of the docs.
diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
index cb46c465..da54c827 100644
--- a/docs/.vitepress/config.js
+++ b/docs/.vitepress/config.js
@@ -1,6 +1,6 @@
export default {
title: 'Documentation',
- description: 'API3 technical documentation',
+ description: 'Api3 technical documentation',
markdown: {
lineNumbers: true,
toc: ['h2', 'h3', 'h4', 'h5'],
@@ -67,8 +67,8 @@ export default {
},
externalLinkIcon: true,
logo: {
- light: '/img/API3-Active.png',
- dark: '/img/api3-inactive.png',
+ light: '/img/api3-logo-light-theme.svg',
+ dark: '/img/api3-logo-dark-theme.svg',
},
siteTitle: 'Documentation',
socialLinks: [
@@ -80,7 +80,7 @@ export default {
],
footer: {
message: 'Released under the MIT License.',
- copyright: 'Copyright © 2019-present API3',
+ copyright: 'Copyright © 2019-present API3 Foundation',
},
sidebar: {
'/dapps/': require('../dapps/sidebar.js'),
diff --git a/docs/dapps/integration/security-considerations.md b/docs/dapps/integration/security-considerations.md
index 7ba1049c..11319bd3 100644
--- a/docs/dapps/integration/security-considerations.md
+++ b/docs/dapps/integration/security-considerations.md
@@ -12,7 +12,7 @@ Therefore, as long as you continue to use it, there will be ongoing security con
::: info ℹ️ Info
-API3 data feeds have never misreported or experienced an outage.
+Api3 data feeds have never misreported or experienced an outage.
This page merely discusses theoretical scenarios that apply to any data feed.
:::
@@ -30,10 +30,10 @@ Our [contract developer docs](https://github.com/api3dao/contracts/tree/main/doc
## Privileged accounts
-Api3ReaderProxyV1 is a [UUPS-upgradeable](https://eips.ethereum.org/EIPS/eip-1822) contract, which can be upgraded by [a 4-of-8 multisig](https://github.com/api3dao/contracts/blob/main/data/manager-multisig-metadata.json#L2) that is owned by members of the API3 technical team.
+Api3ReaderProxyV1 is a [UUPS-upgradeable](https://eips.ethereum.org/EIPS/eip-1822) contract, which can be upgraded by [a 4-of-8 multisig](https://github.com/api3dao/contracts/blob/main/data/manager-multisig-metadata.json#L2) that is owned by members of the Api3 technical team.
This upgradeability feature is intended to be used only in exceptional occasions to respond to newly discovered compiler, library or contract vulnerabilities, or to migrate users to potential new versions of the contracts.
-[A 4-of-4 multisig,](https://github.com/api3dao/contracts/blob/main/data/dapi-management-metadata.json#L2) which again is owned by members of the API3 technical team, approves the root of a Merkle tree containing data feed configurations.
+[A 4-of-4 multisig,](https://github.com/api3dao/contracts/blob/main/data/dapi-management-metadata.json#L2) which again is owned by members of the Api3 technical team, approves the root of a Merkle tree containing data feed configurations.
This means adding, removing or replacing API providers that contribute to the aggregation of data feeds requires signatures from all owners of this multisig.
::: info ℹ️ Info
@@ -45,13 +45,13 @@ Multisig signers have access to this data and are responsible for its verificati
## Update parameters
-Once a plan is purchased on API3 Market, the respective data feed will maintain the advertised deviation threshold and heartbeat interval until plan expiration.
-This depends on the API3 technical team to keep the wallets that will send the update transactions funded, and maintain the infrastructure that will use these wallets to send the update transactions.
+Once a plan is purchased on Api3 Market, the respective data feed will maintain the advertised deviation threshold and heartbeat interval until plan expiration.
+This depends on the Api3 technical team to keep the wallets that will send the update transactions funded, and maintain the infrastructure that will use these wallets to send the update transactions.
The operation is backed by dedicated monitoring personnel, automated alerts, and redundant infrastructure layers.
::: info ℹ️ Info
-We have been providing oracle services as early as [2019](https://etherscan.io/txs?a=0x78e76126719715eddf107cd70f3a31dddf31f85a&p=1029), and were listed as the [best responding oracle](/assets/reputation-link.CxhU2iIj.png) among all Chainlink oracles by [`reputation.link`](https://www.google.com/search?q=%22reputation.link%22+chainlink) as of September 2020, which is when we published the [API3 whitepaper](https://github.com/api3dao/api3-whitepaper) and requested to be removed from Chainlink data feeds.
+We have been providing oracle services as early as [2019](https://etherscan.io/txs?a=0x78e76126719715eddf107cd70f3a31dddf31f85a&p=1029), and were listed as the [best responding oracle](/assets/reputation-link.CxhU2iIj.png) among all Chainlink oracles by [`reputation.link`](https://www.google.com/search?q=%22reputation.link%22+chainlink) as of September 2020, which is when we published the [Api3 whitepaper](https://github.com/api3dao/api3-whitepaper) and requested to be removed from Chainlink data feeds.
An important driving factor for this was our insight into systemic issues that could harm users and our confidence in building a better solution.
With this understanding, we designed our architecture and operations from the ground up, leading to our current performance.
@@ -67,11 +67,11 @@ Similarly, our OEV implementation uses this mechanism, ensuring OEV updates cont
## Correctness of data
-The [API3 whitepaper](https://github.com/api3dao/api3-whitepaper) poses that all oracle data comes from API providers in practice, and the trust-minimized way to receive data from an API provider is for there to be no third-party intermediaries.
+The [Api3 whitepaper](https://github.com/api3dao/api3-whitepaper) poses that all oracle data comes from API providers in practice, and the trust-minimized way to receive data from an API provider is for there to be no third-party intermediaries.
We have coined the term _first-party oracle_ to refer to this architecture, where API providers deliver oracle services without needing third parties to facilitate.
-API3 data feeds are on-chain aggregations of data feeds powered by individual first-party oracles.
-Each API provider powers a single-source data feed on-chain, and the API3 data feed is an on-chain median of the these individual data feeds, which provides the strongest security guarantees (for example, compared to off-chain aggregation).
+Api3 data feeds are on-chain aggregations of data feeds powered by individual first-party oracles.
+Each API provider powers a single-source data feed on-chain, and the Api3 data feed is an on-chain median of the these individual data feeds, which provides the strongest security guarantees (for example, compared to off-chain aggregation).
::: info ⚠️ Warning
@@ -87,7 +87,7 @@ Consequently, when dApps use Pyth data on Ethereum, users pay Ethereum gas fees
:::
-API3 maintains a roster of first-party oracle partners and curates data feeds through continuous performance analysis.
+Api3 maintains a roster of first-party oracle partners and curates data feeds through continuous performance analysis.
This focused approach produces better aggregation than alternatives that rely on numerous downstream oracle service providers.
## Oracle Extractable Value (OEV)
@@ -105,8 +105,8 @@ The lifecycle of a data point consists of three phases:
dApps using our system will experience a 30–60 second delay in their data feed.
While this delay concerns some users, we can evaluate its impact through a simple framework:
Consider a dApp that generates `X1` revenue with its current oracle solution.
-Using API3 data feeds would generate `X2` revenue (potentially lower than `X1` due to the delay) plus `Y` in OEV Rewards.
-When `X1 < X2 + Y`—which is common—API3 feeds are the more secure choice.
+Using Api3 data feeds would generate `X2` revenue (potentially lower than `X1` due to the delay) plus `Y` in OEV Rewards.
+When `X1 < X2 + Y`—which is common—Api3 feeds are the more secure choice.
::: info 💡 Tip
diff --git a/docs/dapps/oev-rewards/index.md b/docs/dapps/oev-rewards/index.md
index 44ea25e9..258d193b 100644
--- a/docs/dapps/oev-rewards/index.md
+++ b/docs/dapps/oev-rewards/index.md
@@ -9,19 +9,19 @@ pageHeader: dApps → OEV Rewards
dApps that use traditional data feeds are constantly exploited by MEV bots that manipulate the order of operations around individual data feed updates.
In practice, this causes dApps to suffer significant and continuous financial losses.
-As the antidote, API3's OEV Network auctions off to OEV searchers the privilege to determine the order of operations around data feed updates.
+As the antidote, Api3's OEV Network auctions off to OEV searchers the privilege to determine the order of operations around data feed updates.
The resulting auction proceeds are paid to the dApp in the form of OEV Rewards.
Assuming competitive auctions, OEV Rewards will be equal to the amount that would otherwise have been lost to the MEV bots.
-API3 data feeds work identically to traditional data feeds, which means that you do not need to modify your contracts in any way to use them.
-You can drop in API3 data feeds to replace your current data feeds and immediately start earning OEV Rewards.
+Api3 data feeds work identically to traditional data feeds, which means that you do not need to modify your contracts in any way to use them.
+You can drop in Api3 data feeds to replace your current data feeds and immediately start earning OEV Rewards.
If you want to maximize your OEV Rewards, make sure to check out our [guide for best practices.](/dapps/oev-rewards/best-practices)
## How to get onboard
-Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with an API3 representative who will walk you through the following steps:
+Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with an Api3 representative who will walk you through the following steps:
-1. We register your dApp for it to show up on the API3 Market [integration page.](/dapps/integration/index.md#integration-information)
+1. We register your dApp for it to show up on the Api3 Market [integration page.](/dapps/integration/index.md#integration-information)
2. You let us know which chains you operate on so we can start running the respective auctions.
::: info 💡 Tip
Don't forget to notify us if you expand to new chains later on.
@@ -29,7 +29,7 @@ Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with
3. You let us know which data feeds you will use.
If a gas grant is applicable, we purchase subscriptions for you and deploy an OEV Rewards-enabled Api3ReaderProxyV1 contract for each data feed.
::: info 💡 Tip
- Alternatively, you can complete this step on your own using [API3 Market.](https://market.api3.org/)
+ Alternatively, you can complete this step on your own using [Api3 Market.](https://market.api3.org/)
:::
4. You let us know an address where to receive the OEV Rewards.
::: info 💡 Tip
@@ -38,11 +38,11 @@ Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with
:::
5. You [integrate](/dapps/integration/contract-integration) the OEV Rewards-enabled Api3ReaderProxyV1 contracts.
-At the end of each month, API3 will make available a report and 80% of the OEV revenue in the native gas token of the network where your dApp is deployed, with the remaining auction proceeds retained as the protocol fee.
+At the end of each month, Api3 will make available a report and 80% of the OEV revenue in the native gas token of the network where your dApp is deployed, with the remaining auction proceeds retained as the protocol fee.
::: info 💰 Financial
-API3 provides data feeds [at cost](/dapps/integration/index#pricing) and enables dApps to benefit from OEV Rewards on top.
+Api3 provides data feeds [at cost](/dapps/integration/index#pricing) and enables dApps to benefit from OEV Rewards on top.
You might ask, "What's the catch?"
There is none; OEV Rewards come at the expense of third parties who would otherwise solely benefit from MEV.
diff --git a/docs/dapps/quickstart/index.md b/docs/dapps/quickstart/index.md
index f51dafe2..c2e2d6ac 100644
--- a/docs/dapps/quickstart/index.md
+++ b/docs/dapps/quickstart/index.md
@@ -7,10 +7,10 @@ pageHeader: dApps
# Quickstart
-[API3 Market](https://market.api3.org/) serves a large and dynamic catalog of data feeds on all major EVM networks.
-Follow this guide to learn how to use API3 Market to integrate a data feed into an example contract.
+[Api3 Market](https://market.api3.org/) serves a large and dynamic catalog of data feeds on all major EVM networks.
+Follow this guide to learn how to use Api3 Market to integrate a data feed into an example contract.
-## Using API3 Market
+## Using Api3 Market
- Go to [market.api3.org.](https://market.api3.org/)
@@ -87,12 +87,12 @@ If you prefer using Hardhat, you can clone [`data-feed-reader-example`](https://
::: info 💡 Tip
-If you just purchased a plan on API3 Market, your MetaMask wallet should be connected to the correct network.
+If you just purchased a plan on Api3 Market, your MetaMask wallet should be connected to the correct network.
If not, ensure your wallet is connected to the network where the data feed exists, where we'll deploy DataFeedReaderExample.
:::
-- Return to the data feed page on API3 Market and click "Integrate".
+- Return to the data feed page on Api3 Market and click "Integrate".
@@ -116,5 +116,5 @@ For information about using this selection on mainnets, refer to [this section.]
## What next?
This guide should help you get started with a hackathon project.
-For production use of API3 data feeds, please continue to the [integration section.](/dapps/integration/)
-You can also learn how to [get paid](/dapps/oev-rewards/) for using API3 data feeds."
+For production use of Api3 data feeds, please continue to the [integration section.](/dapps/integration/)
+You can also learn how to [get paid](/dapps/oev-rewards/) for using Api3 data feeds."
diff --git a/docs/dev/containers.md b/docs/dev/containers.md
index 4da6d62e..91c50a3c 100644
--- a/docs/dev/containers.md
+++ b/docs/dev/containers.md
@@ -13,7 +13,7 @@ should be used in `vitepress-docs`.
::: info
-The info box is the default go-to for the API3 technical documentation.
+The info box is the default go-to for the Api3 technical documentation.
:::
diff --git a/docs/dev/ssr.md b/docs/dev/ssr.md
index 83825698..58d6a964 100644
--- a/docs/dev/ssr.md
+++ b/docs/dev/ssr.md
@@ -8,7 +8,7 @@ outline: deep
# {{$frontmatter.title}}
-API3 uses CloudFlare for DNS records which includes the docs. If SSR is turned
+Api3 uses CloudFlare for DNS records which includes the docs. If SSR is turned
on for any domain related to the docs, then CloudFlare will minify the already
minified build files from Firebase. This will result in the merging of pages
visible to the reader.
diff --git a/docs/index.md b/docs/index.md
index b7872e0d..1c13e3d4 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,12 +2,13 @@
layout: home
hero:
- name: API3
+ name: Api3
text: Oracles that pay you
tagline: Receive OEV Rewards for your DeFi project
image:
- src: /img/data-feeds-simple-to-integrate.svg
- alt: API3
+ light: /img/data-feeds-simple-to-integrate-light.svg
+ dark: /img/data-feeds-simple-to-integrate-dark.svg
+ alt: Api3
actions:
- theme: brand
text: For dApps
diff --git a/docs/oev-searchers/glossary.md b/docs/oev-searchers/glossary.md
index 7441978a..19c6f243 100644
--- a/docs/oev-searchers/glossary.md
+++ b/docs/oev-searchers/glossary.md
@@ -71,9 +71,9 @@ provides a source of truth for [dAPIs](#dapi) and can be used to obtain which
An API provider is a business that has productized their services in the form of
an API.
-### API3 Market
+### Api3 Market
-[API3 Market](https://market.api3.org/) is a [dApp](#dapp) where users can
+[Api3 Market](https://market.api3.org/) is a [dApp](#dapp) where users can
purchase [dAPI](#dapi) plans, which get reflected on-chain immediately.
### Api3ServerV1 Contract
@@ -153,12 +153,12 @@ after they've paid the bid amount.
### dAPI
The
-[API3 whitepaper](https://github.com/api3dao/api3-whitepaper/blob/master/api3-whitepaper.pdf)
+[Api3 whitepaper](https://github.com/api3dao/api3-whitepaper/blob/master/api3-whitepaper.pdf)
definition of a dAPI is a [first-party oracle](#first-party-oracles)-based data
feed that is managed decentrally.
In practice, a dAPI is mapped to a particular [data feed](#data-feed). The
-mapping is managed by API3 DAO.
+mapping is managed by Api3 DAO.
### dApp
@@ -168,9 +168,9 @@ An application that uses smart contracts. Usually referred to as a source of
### dApp ID
-API3 holds separate [OEV auctions](#oev-auction) for different [dApps](#dapp) to
+Api3 holds separate [OEV auctions](#oev-auction) for different [dApps](#dapp) to
keep their [proceeds](#oev-proceeds) isolated. In this scheme, dApps are
-identified by IDs that are assigned by API3 DAO.
+identified by IDs that are assigned by Api3 DAO.
### Data Feed
@@ -234,15 +234,15 @@ Oracle extractable value (OEV) is a subset of [MEV](#mev) that can be extracted
by guaranteeing a specific relative order of oracle updates and related
interactions within a transaction.
-API3 monetizes its [dAPI](#dapi) services by holding
+Api3 monetizes its [dAPI](#dapi) services by holding
[OEV auctions](#oev-auction) and forwarding the [proceeds](#oev-proceeds) to the
respective [dApps](#dapp). This is both a net gain for the dApps (which
otherwise would have bled these funds to [MEV](#mev) bots and validators) and a
-fair and scalable business model for API3 DAO.
+fair and scalable business model for Api3 DAO.
### OEV Auction
-API3 periodically holds [OEV](#oev) auctions on [OEV Network](#oev-network)
+Api3 periodically holds [OEV](#oev) auctions on [OEV Network](#oev-network)
where [searchers](#searcher) [bid](#bid) to receive exclusive update rights to
update the data feeds for a specific [dApp](#dapp) for a limited amount of time.
@@ -290,7 +290,7 @@ Chainlink's AggregatorV2V3Interface for convenience.
When [Auctioneer](#auctioneer) confirms a [fulfillment](#fulfillment) and
releases the [collateral amount](#collateral), it deducts a protocol fee which
-is kept by API3 DAO. The protocol fee is currently set to 0.
+is kept by Api3 DAO. The protocol fee is currently set to 0.
### Searcher
diff --git a/docs/oev-searchers/in-depth/dapis/index.md b/docs/oev-searchers/in-depth/dapis/index.md
index 6e789e32..ebcb7b31 100644
--- a/docs/oev-searchers/in-depth/dapis/index.md
+++ b/docs/oev-searchers/in-depth/dapis/index.md
@@ -11,16 +11,16 @@ outline: deep
Searchers need a way to monitor real-time off-chain prices to find profitable
opportunities. Traditionally, searchers have needed to buy API subscriptions
from underlying oracle sources, creating additional friction in the process.
-API3 simplifies this process by providing the same data that is used for
+Api3 simplifies this process by providing the same data that is used for
updating dAPIs to searchers publicly - and without cost.
-The price feed solution from API3 is called dAPIs, and their design allows
+The price feed solution from Api3 is called dAPIs, and their design allows
extracting OEV with ease.
## How dAPIs Work?
Let's start from the ground up. The dAPI logic is dictated by the Api3ServerV1
-contract. The central part of API3 feeds is first-party oracles, relying on
+contract. The central part of Api3 feeds is first-party oracles, relying on
cryptographic signatures verified on-chain.
### dAPI Structure
@@ -55,7 +55,7 @@ to a data feed.
### Updating dAPI Value
So far, we've referred to dAPIs and data feeds as sources of data, not
-mentioning how they are kept up-to-date. API3 feeds are permissionless and
+mentioning how they are kept up-to-date. Api3 feeds are permissionless and
anyone can perform an update, provided they have valid data. To update a beacon,
anyone can call `updateBeaconWithSignedData` on the Api3ServerV1 contract:
@@ -98,7 +98,7 @@ date:
2. [Signed API](https://github.com/api3dao/signed-api/tree/main/packages/signed-api) -
Signed API accepts signed data from API providers and provides an API layer
for off-chain querying.
-3. [Airseeker](https://github.com/api3dao/airseeker) - Airseeker is an API3 push
+3. [Airseeker](https://github.com/api3dao/airseeker) - Airseeker is an Api3 push
oracle. It monitors the off-chain and on-chain data and triggers an update
when needed.
@@ -363,7 +363,7 @@ the OEV feeds to monitor the OEV data.
Signed APIs store the data pushed by Airnode feeds and expose them to the public
via an API. As mentioned, base feed updates are permissionless and can be
updated by anyone. The OEV feed data can only be used by the OEV auction winner.
-API3 runs Signed APIs and makes them publicly available. They are deployed on
+Api3 runs Signed APIs and makes them publicly available. They are deployed on
AWS, ensuring maximum uptime and reliability.
Signed APIs only support querying data for a particular Airnode feed. The
@@ -375,11 +375,11 @@ rate limiting or full access denial.
The following are the base feed endpoints that are publicly available:
-1. `https://signed-api.api3.org/public/` - The official API3
+1. `https://signed-api.api3.org/public/` - The official Api3
Signed APIs used by the push oracle to update the base feeds.
For example, see the
-[API3 response for Nodary Airnode feed](https://signed-api.api3.org/public/0xc52EeA00154B4fF1EbbF8Ba39FDe37F1AC3B9Fd4).
+[Api3 response for Nodary Airnode feed](https://signed-api.api3.org/public/0xc52EeA00154B4fF1EbbF8Ba39FDe37F1AC3B9Fd4).
### OEV Endpoints
@@ -388,7 +388,7 @@ The following are the OEV endpoints that are publicly available:
1. `https://signed-api.api3.org/public-oev/`
For example, see the
-[API3 response for Nodary Airnode feed](https://signed-api.api3.org/public-oev/0xc52EeA00154B4fF1EbbF8Ba39FDe37F1AC3B9Fd4).
+[Api3 response for Nodary Airnode feed](https://signed-api.api3.org/public-oev/0xc52EeA00154B4fF1EbbF8Ba39FDe37F1AC3B9Fd4).
### Response
diff --git a/docs/oev-searchers/in-depth/examples.md b/docs/oev-searchers/in-depth/examples.md
index ed318c16..6153dfa1 100644
--- a/docs/oev-searchers/in-depth/examples.md
+++ b/docs/oev-searchers/in-depth/examples.md
@@ -8,7 +8,7 @@ outline: deep
# Examples
-We've decided to launch our own dApp built with API3 OEV proxies with minimal
+We've decided to launch our own dApp built with Api3 OEV proxies with minimal
liquidity. This allows us to build a fully functional OEV bot and share it as a
reference without promoting a particular dApp. Because of the small liquidity,
we expect very little competition, making it an ideal way to start with OEV.
@@ -33,7 +33,7 @@ Refer to this table for dApp details:
| Name | Description |
| ----------------------------------------------------------------------------------------------- | ------------------------ |
-| [API3 Compound dApp](https://oev-v1-compound.vercel.app/markets) | The OEV dApp. |
+| [Api3 Compound dApp](https://oev-v1-compound.vercel.app/markets) | The OEV dApp. |
| [USDC Comet contract](https://basescan.org/address/0x07BD845d340a59A88B913769E12df30F99f6384C) | The USDC Comet contract. |
| [USDC contract](https://basescan.org/address/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913#code) | The USDC token. |
| [WETH contract](https://basescan.org/address/0x4200000000000000000000000000000000000006#code) | The WETH token. |
diff --git a/docs/oev-searchers/in-depth/index.md b/docs/oev-searchers/in-depth/index.md
index 6b43f17c..33a03534 100644
--- a/docs/oev-searchers/in-depth/index.md
+++ b/docs/oev-searchers/in-depth/index.md
@@ -14,7 +14,7 @@ existing MEV searchers to OEV.
## OEV dApps Catalog
-We maintain an open-source list of all dApps that have integrated API3 feeds as
+We maintain an open-source list of all dApps that have integrated Api3 feeds as
part of the [dApp registry](https://github.com/api3dao/dapp-registry). However,
not all of the dApps are suitable for OEV extraction, so we provide a separate
list of currently suitable candidates for OEV searching.
@@ -27,7 +27,7 @@ list of currently suitable candidates for OEV searching.
4. [Silo protocol on Arbitrum](https://app.silo.finance/)
5. [Yei protocol on Sei](https://www.yei.finance/)
-Currently, these protocols use outdated API3 proxies that support the previous
+Currently, these protocols use outdated Api3 proxies that support the previous
version of OEV auctions, which are no longer supported. Searchers can still
perform [MEV with Signed APIs](/oev-searchers/in-depth/mev-with-signed-apis)
extraction though.
diff --git a/docs/oev-searchers/in-depth/mev-with-signed-apis.md b/docs/oev-searchers/in-depth/mev-with-signed-apis.md
index c4b34800..64d4a0ac 100644
--- a/docs/oev-searchers/in-depth/mev-with-signed-apis.md
+++ b/docs/oev-searchers/in-depth/mev-with-signed-apis.md
@@ -11,7 +11,7 @@ outline: deep
An intermediate step towards OEV searching is to extend MEV bots to utilize the
public
[base feed endpoints](/oev-searchers/in-depth/dapis/#base-feed-endpoints). These
-endpoints are also used by the API3 push oracle, so there is tight competition
+endpoints are also used by the Api3 push oracle, so there is tight competition
to be the fastest with the on-chain transaction.
The existing MEV bot can utilize this off-chain open-source data and make a base
diff --git a/docs/oev-searchers/in-depth/oev-auctioneer.md b/docs/oev-searchers/in-depth/oev-auctioneer.md
index c69bca97..892c50a7 100644
--- a/docs/oev-searchers/in-depth/oev-auctioneer.md
+++ b/docs/oev-searchers/in-depth/oev-auctioneer.md
@@ -8,7 +8,7 @@ outline: deep
# OEV Auctioneer
-OEV Auctioneer is the off-chain system managed by the API3 DAO to process
+OEV Auctioneer is the off-chain system managed by the Api3 DAO to process
auctions hosted on the OEV network. This off-chain component is necessary
because hosting auctions fully on-chain would be extremely gas-intensive and
wouldn't scale performance-wise. The correctness and honesty of OEV Auctioneer
@@ -22,7 +22,7 @@ OEV Auctioneer has two main responsibilities:
2. Confirm or contradict fulfillments
Each dApp that uses OEV feeds is served by an Auctioneer instance. Internally,
-API3 DAO may run multiple Auctioneers as a form of horizontal scaling to ensure
+Api3 DAO may run multiple Auctioneers as a form of horizontal scaling to ensure
auctions can be processed in a timely manner.
## How it works?
@@ -290,7 +290,7 @@ Note that the auction winner may choose not to update the price feed when they
pay for the awarded bid. This is an allowed way to withhold the updates because
the auction winner is losing money by being slashed, making it financially
infeasible. As a note, the data feed security remains unchanged because it will
-be eventually updated by an API3 push oracle when the deviation exceeds its
+be eventually updated by an Api3 push oracle when the deviation exceeds its
threshold.
:::
@@ -302,7 +302,7 @@ fulfillments. These addresses are granted the respective privileges on the
OevAuctionHouse contract on the OEV Network and Api3ServerV1OevExtension
contract on all target chains.
-Internally, API3 DAO uses multiple wallets for resolving auctions and processing
+Internally, Api3 DAO uses multiple wallets for resolving auctions and processing
fulfillments. The table below displays the addresses of currently whitelisted
Auctioneer wallets.
@@ -313,7 +313,7 @@ Auctioneer wallets.
## Maintenance
-Auctioneer is maintained by the API3 DAO, which is responsible for its uptime
+Auctioneer is maintained by the Api3 DAO, which is responsible for its uptime
and reliable auction processing. In case of a planned migration or maintenance,
there will be an announcement shared in advance. It's expected that maintenance
periods will be very rare and short.
diff --git a/docs/oev-searchers/in-depth/oev-network/index.md b/docs/oev-searchers/in-depth/oev-network/index.md
index 4a33e78f..726dd0a1 100644
--- a/docs/oev-searchers/in-depth/oev-network/index.md
+++ b/docs/oev-searchers/in-depth/oev-network/index.md
@@ -8,7 +8,7 @@ outline: deep
# OEV Network
-
+
The OEV Network operates as a standard Arbitrum Nitro L2 optimistic-rollup. The
system ensures transparency and allows verification of the auction process. In
@@ -79,7 +79,7 @@ The implementation of the audited Api3ServerV1 contract is publicly available
The Api3ServerV1 contract powers dAPIs on the OEV Network, which are used in the
OevAuctionHouse contract to compute collateral and protocol fee from the bid
-amount. Note that this chain is not officially listed on the API3 market because
+amount. Note that this chain is not officially listed on the Api3 market because
the OEV Network is primarily intended to be used for OEV auctions.
## OevAuctionHouse
@@ -109,8 +109,8 @@ The interactions with this contract include:
3. Searchers placing or expediting bids
4. Auctioneer resolving auction winner
5. Auctioneer confirming or contradicting fulfillment
-6. API3 DAO updating protocol and collateral fee
-7. API3 DAO updating the price feed proxies
+6. Api3 DAO updating protocol and collateral fee
+7. Api3 DAO updating the price feed proxies
Tech-savvy users can refer to the contract's source for details.
@@ -180,7 +180,7 @@ limited by the amount they have deposited. Refer to
section for details.
The collateral and protocol fee rates are configurable parameters within the
-OevAuctionHouse contract and are configured by the API3 DAO. These values are
+OevAuctionHouse contract and are configured by the Api3 DAO. These values are
set in "basis points", which are 1/100th of a percentage point. For example, a
value of 1000 is equivalent to 10%. The current values are set to the following:
diff --git a/docs/oev-searchers/in-depth/oev-network/oev-network.png b/docs/oev-searchers/in-depth/oev-network/oev-network.png
deleted file mode 100644
index 0e09f61c..00000000
Binary files a/docs/oev-searchers/in-depth/oev-network/oev-network.png and /dev/null differ
diff --git a/docs/oev-searchers/in-depth/oev-network/oev-network.svg b/docs/oev-searchers/in-depth/oev-network/oev-network.svg
new file mode 100644
index 00000000..e6e52830
--- /dev/null
+++ b/docs/oev-searchers/in-depth/oev-network/oev-network.svg
@@ -0,0 +1,742 @@
+
diff --git a/docs/oev-searchers/index.md b/docs/oev-searchers/index.md
index ce873658..c2182673 100644
--- a/docs/oev-searchers/index.md
+++ b/docs/oev-searchers/index.md
@@ -38,7 +38,7 @@ profitable opportunities.
## Example
-Imagine an overcollateralized lending platform that uses API3 price feeds.
+Imagine an overcollateralized lending platform that uses Api3 price feeds.
Borrowers in the protocol can be liquidated with an incentive whenever their
position becomes unhealthy to ensure the protocol remains solvent. Say
liquidations can occur if the loan-to-value ratio exceeds 90%. Let's look at
@@ -77,7 +77,7 @@ searchers.
## How do Auctions Work?
-API3 has developed a specialized on-chain Order Flow Auction (OFA) similar to
+Api3 has developed a specialized on-chain Order Flow Auction (OFA) similar to
the one you might be familiar with from Flashbots and MEV-Boost.
We use a combination of the [OEV Network](#oev-network) and the
@@ -109,7 +109,7 @@ update.
A key component of OEV is an off-chain auction system that processes the
auctions taking place on the OEV network. We call this system OEV Auctioneer,
-and it is managed by the API3 DAO. The integrity of OEV Auctioneer is ensured by
+and it is managed by the Api3 DAO. The integrity of OEV Auctioneer is ensured by
using the OEV Network for all important actions, such as announcing the auction
winner.
@@ -207,5 +207,5 @@ Here are resources to help you get started with OEV:
to start searching.
3. Connect with other developers and OEV enthusiasts in our
[OEV Discord channel](https://discord.com/channels/758003776174030948/1062909222347603989).
-4. Follow API3 on [X](https://x.com/API3DAO) for the latest news and updates on
+4. Follow Api3 on [X](https://x.com/api3dao) for the latest news and updates on
OEV.
diff --git a/docs/public/img/API3-Active.png b/docs/public/img/API3-Active.png
deleted file mode 100644
index d2d12b38..00000000
Binary files a/docs/public/img/API3-Active.png and /dev/null differ
diff --git a/docs/public/img/api3-inactive.png b/docs/public/img/api3-inactive.png
deleted file mode 100644
index 30c3be9e..00000000
Binary files a/docs/public/img/api3-inactive.png and /dev/null differ
diff --git a/docs/public/img/api3-logo-dark-theme.svg b/docs/public/img/api3-logo-dark-theme.svg
new file mode 100644
index 00000000..841e3a91
--- /dev/null
+++ b/docs/public/img/api3-logo-dark-theme.svg
@@ -0,0 +1,3 @@
+
diff --git a/docs/public/img/api3-logo-light-theme.svg b/docs/public/img/api3-logo-light-theme.svg
new file mode 100644
index 00000000..8355c2c7
--- /dev/null
+++ b/docs/public/img/api3-logo-light-theme.svg
@@ -0,0 +1,3 @@
+
diff --git a/docs/public/img/data-feeds-simple-to-integrate-dark.svg b/docs/public/img/data-feeds-simple-to-integrate-dark.svg
new file mode 100644
index 00000000..33206e69
--- /dev/null
+++ b/docs/public/img/data-feeds-simple-to-integrate-dark.svg
@@ -0,0 +1,527 @@
+
diff --git a/docs/public/img/data-feeds-simple-to-integrate-light.svg b/docs/public/img/data-feeds-simple-to-integrate-light.svg
new file mode 100644
index 00000000..ba4baa48
--- /dev/null
+++ b/docs/public/img/data-feeds-simple-to-integrate-light.svg
@@ -0,0 +1,441 @@
+
diff --git a/docs/public/img/data-feeds-simple-to-integrate.svg b/docs/public/img/data-feeds-simple-to-integrate.svg
deleted file mode 100644
index 07012b26..00000000
--- a/docs/public/img/data-feeds-simple-to-integrate.svg
+++ /dev/null
@@ -1,325 +0,0 @@
-
diff --git a/docs/public/styles/api3.css b/docs/public/styles/api3.css
index 9387a9d3..7a645744 100644
--- a/docs/public/styles/api3.css
+++ b/docs/public/styles/api3.css
@@ -1,15 +1,619 @@
+
+/**
+ * Colors: Solid
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-white: #ffffff;
+ --vp-c-black: #000000;
+
+ --vp-c-neutral: var(--vp-c-black);
+ --vp-c-neutral-inverse: var(--vp-c-white);
+}
+
+.dark {
+ --vp-c-neutral: var(--vp-c-white);
+ --vp-c-neutral-inverse: var(--vp-c-black);
+}
+
+/**
+ * Colors: Palette
+ *
+ * The primitive colors used for accent colors. These colors are referenced
+ * by functional colors such as "Text", "Background", or "Brand".
+ *
+ * Each colors have exact same color scale system with 3 levels of solid
+ * colors with different brightness, and 1 soft color.
+ *
+ * - `XXX-1`: The most solid color used mainly for colored text. It must
+ * satisfy the contrast ratio against when used on top of `XXX-soft`.
+ *
+ * - `XXX-2`: The color used mainly for hover state of the button.
+ *
+ * - `XXX-3`: The color for solid background, such as bg color of the button.
+ * It must satisfy the contrast ratio with pure white (#ffffff) text on
+ * top of it.
+ *
+ * - `XXX-soft`: The color used for subtle background such as custom container
+ * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
+ * on top of it.
+ *
+ * The soft color must be semi transparent alpha channel. This is crucial
+ * because it allows adding multiple "soft" colors on top of each other
+ * to create a accent, such as when having inline code block inside
+ * custom containers.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-gray-1: #c4cedf;
+ --vp-c-gray-2: #dce3ef;
+ --vp-c-gray-3: #eef2f6;
+ --vp-c-gray-soft: rgba(142, 155, 178, .1);
+
+ --vp-c-indigo-1: #2151fe;
+ --vp-c-indigo-2: #3368ff;
+ --vp-c-indigo-3: #153dd1;
+ --vp-c-indigo-soft: rgba(21, 61, 209, 0.1);
+
+ --vp-c-purple-1: #125da3;
+ --vp-c-purple-2: #1778d1;
+ --vp-c-purple-3: #1c92ff;
+ --vp-c-purple-soft: rgba(232, 244, 255, 0.6);
+
+ --vp-c-green-1: #10773f;
+ --vp-c-green-2: #159951;
+ --vp-c-green-3: #19ba63;
+ --vp-c-green-soft: rgba(232, 248, 239, 0.6);
+
+ --vp-c-yellow-1: #a37110;
+ --vp-c-yellow-2: #d19115;
+ --vp-c-yellow-3: #ffb119;
+ --vp-c-yellow-soft: rgba(255, 247, 232, 0.6);
+
+ --vp-c-red-1: #cf0a42;
+ --vp-c-red-2: #ec0e4d;
+ --vp-c-red-3: #ff1659;
+ --vp-c-red-soft: rgba(255, 219, 229, 0.6);
+
+ --vp-c-sponsor: #db2777;
+}
+
+.dark {
+ --vp-c-gray-1: #636f86;
+ --vp-c-gray-2: #455065;
+ --vp-c-gray-3: #313d52;
+ --vp-c-gray-soft: rgba(142, 155, 178, .16);
+
+ --vp-c-indigo-1: #7ea6ff;
+ --vp-c-indigo-2: #3e7aff;
+ --vp-c-indigo-3: #2151fe;
+ --vp-c-indigo-soft: rgba(21, 61, 209, 0.25);
+
+ --vp-c-purple-1: #a4d3ff;
+ --vp-c-purple-2: #82c3ff;
+ --vp-c-purple-3: #60b3ff;
+ --vp-c-purple-soft: rgba(13, 67, 117, 0.6);
+
+ --vp-c-green-1: #a3e3c1;
+ --vp-c-green-2: #81d9a9;
+ --vp-c-green-3: #5ecf92;
+ --vp-c-green-soft: rgba(12, 86, 46, 0.6);
+
+ --vp-c-yellow-1: #ffe0a3;
+ --vp-c-yellow-2: #ffd481;
+ --vp-c-yellow-3: #ffc85e;
+ --vp-c-yellow-soft: rgba(117, 81, 12, 0.6);
+
+ --vp-c-red-1: #ffb7cb;
+ --vp-c-red-2: #ff7099;
+ --vp-c-red-3: #ff477c;
+ --vp-c-red-soft: rgba(166, 0, 47, 0.6);
+}
+
+/**
+ * Colors: Background
+ *
+ * - `bg`: The bg color used for main screen.
+ *
+ * - `bg-alt`: The alternative bg color used in places such as "sidebar",
+ * or "code block".
+ *
+ * - `bg-elv`: The elevated bg color. This is used at parts where it "floats",
+ * such as "dialog".
+ *
+ * - `bg-soft`: The bg color to slightly distinguish some components from
+ * the page. Used for things like "carbon ads" or "table".
+ * -------------------------------------------------------------------------- */
+
:root {
- --vp-home-hero-name-color: rgb(66, 184, 131);
+ --vp-c-bg: #fafafa;
+ --vp-c-bg-alt: #f2f4ff;
+ --vp-c-bg-elv: #f8fafd;
+ --vp-c-bg-soft: #f4f7fc;
+}
- --vp-code-color: #36454f;
+.dark {
+ --vp-c-bg: #0c1143;
+ --vp-c-bg-alt: #090d38;
+ --vp-c-bg-elv: #0a1052;
+ --vp-c-bg-soft: #0a1052;
+}
+
+/**
+ * Colors: Borders
+ *
+ * - `divider`: This is used for separators. This is used to divide sections
+ * within the same components, such as having separator on "h2" heading.
+ *
+ * - `border`: This is designed for borders on interactive components.
+ * For example this should be used for a button outline.
+ *
+ * - `gutter`: This is used to divide components in the page. For example
+ * the header and the lest of the page.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-border: #99a0e4;
+ --vp-c-divider: #d1d5fd;
+ --vp-c-gutter: #dce3ef;
+}
- --vp-c-brand-1: var(--vp-c-green-1);
- --vp-c-brand-2: var(--vp-c-green-2);
- --vp-c-brand-3: var(--vp-c-green-3);
- --vp-c-brand-soft: var(--vp-c-green-soft);
+.dark {
+ --vp-c-border: #293293;
+ --vp-c-divider: #1f267b;
+ --vp-c-gutter: #090d38;
}
-:root.dark {
- --vp-code-color: whitesmoke;
- --vp-code-bg: #36454f;
+/**
+ * Colors: Text
+ *
+ * - `text-1`: Used for primary text.
+ *
+ * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts".
+ *
+ * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon".
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-text-1: #1f267b;
+ --vp-c-text-2: #5d66c4;
+ --vp-c-text-3: #636f86;
+}
+
+.dark {
+ --vp-c-text-1: #dce3ef;
+ --vp-c-text-2: #8e9bb2;
+ --vp-c-text-3: #636f86;
+}
+
+/**
+ * Colors: Function
+ *
+ * - `default`: The color used purely for subtle indication without any
+ * special meanings attached to it such as bg color for menu hover state.
+ *
+ * - `brand`: Used for primary brand colors, such as link text, button with
+ * brand theme, etc.
+ *
+ * - `tip`: Used to indicate useful information. The default theme uses the
+ * brand color for this by default.
+ *
+ * - `warning`: Used to indicate warning to the users. Used in custom
+ * container, badges, etc.
+ *
+ * - `danger`: Used to show error, or dangerous message to the users. Used
+ * in custom container, badges, etc.
+ *
+ * To understand the scaling system, refer to "Colors: Palette" section.
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-c-default-1: var(--vp-c-gray-1);
+ --vp-c-default-2: var(--vp-c-gray-2);
+ --vp-c-default-3: var(--vp-c-gray-3);
+ --vp-c-default-soft: var(--vp-c-gray-soft);
+
+ --vp-c-brand-1: var(--vp-c-indigo-1);
+ --vp-c-brand-2: var(--vp-c-indigo-2);
+ --vp-c-brand-3: var(--vp-c-indigo-3);
+ --vp-c-brand-soft: var(--vp-c-indigo-soft);
+
+ /* DEPRECATED: Use `--vp-c-brand-1` instead. */
+ --vp-c-brand: var(--vp-c-brand-1);
+
+ --vp-c-tip-1: var(--vp-c-brand-1);
+ --vp-c-tip-2: var(--vp-c-brand-2);
+ --vp-c-tip-3: var(--vp-c-brand-3);
+ --vp-c-tip-soft: var(--vp-c-brand-soft);
+
+ --vp-c-note-1: var(--vp-c-brand-1);
+ --vp-c-note-2: var(--vp-c-brand-2);
+ --vp-c-note-3: var(--vp-c-brand-3);
+ --vp-c-note-soft: var(--vp-c-brand-soft);
+
+ --vp-c-success-1: var(--vp-c-green-1);
+ --vp-c-success-2: var(--vp-c-green-2);
+ --vp-c-success-3: var(--vp-c-green-3);
+ --vp-c-success-soft: var(--vp-c-green-soft);
+
+ --vp-c-important-1: var(--vp-c-purple-1);
+ --vp-c-important-2: var(--vp-c-purple-2);
+ --vp-c-important-3: var(--vp-c-purple-3);
+ --vp-c-important-soft: var(--vp-c-purple-soft);
+
+ --vp-c-warning-1: var(--vp-c-yellow-1);
+ --vp-c-warning-2: var(--vp-c-yellow-2);
+ --vp-c-warning-3: var(--vp-c-yellow-3);
+ --vp-c-warning-soft: var(--vp-c-yellow-soft);
+
+ --vp-c-danger-1: var(--vp-c-red-1);
+ --vp-c-danger-2: var(--vp-c-red-2);
+ --vp-c-danger-3: var(--vp-c-red-3);
+ --vp-c-danger-soft: var(--vp-c-red-soft);
+
+ --vp-c-caution-1: var(--vp-c-red-1);
+ --vp-c-caution-2: var(--vp-c-red-2);
+ --vp-c-caution-3: var(--vp-c-red-3);
+ --vp-c-caution-soft: var(--vp-c-red-soft);
+}
+
+/**
+ * Typography
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-font-family-base: 'Inter', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
+ 'Segoe UI Symbol', 'Noto Color Emoji';
+ --vp-font-family-mono: ui-monospace, 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace;
+ font-optical-sizing: auto;
+}
+
+:root:where(:lang(zh)) {
+ --vp-font-family-base: 'Punctuation SC', 'Inter', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
+ 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
+}
+
+/**
+ * Shadows
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
+ --vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07);
+ --vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
+ --vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12);
+ --vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16);
+}
+
+/**
+ * Z-indexes
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-z-index-footer: 10;
+ --vp-z-index-local-nav: 20;
+ --vp-z-index-nav: 30;
+ --vp-z-index-layout-top: 40;
+ --vp-z-index-backdrop: 50;
+ --vp-z-index-sidebar: 60;
+}
+
+@media (min-width: 960px) {
+ :root {
+ --vp-z-index-sidebar: 25;
+ }
+}
+
+/**
+ * Layouts
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-layout-max-width: 1440px;
+}
+
+/**
+ * Component: Header Anchor
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-header-anchor-symbol: '#';
+}
+
+/**
+ * Component: Code
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-code-line-height: 1.7;
+ --vp-code-font-size: 0.875em;
+ --vp-code-color: var(--vp-c-brand-1);
+ --vp-code-link-color: var(--vp-c-brand-1);
+ --vp-code-link-hover-color: var(--vp-c-brand-2);
+ --vp-code-bg: var(--vp-c-default-soft);
+
+ --vp-code-block-color: var(--vp-c-text-2);
+ --vp-code-block-bg: var(--vp-c-bg-alt);
+ --vp-code-block-divider-color: var(--vp-c-gutter);
+
+ --vp-code-lang-color: var(--vp-c-text-3);
+
+ --vp-code-line-highlight-color: var(--vp-c-default-soft);
+ --vp-code-line-number-color: var(--vp-c-text-3);
+
+ --vp-code-line-diff-add-color: var(--vp-c-success-soft);
+ --vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);
+
+ --vp-code-line-diff-remove-color: var(--vp-c-danger-soft);
+ --vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);
+
+ --vp-code-line-warning-color: var(--vp-c-warning-soft);
+ --vp-code-line-error-color: var(--vp-c-danger-soft);
+
+ --vp-code-copy-code-border-color: var(--vp-c-divider);
+ --vp-code-copy-code-bg: var(--vp-c-bg-soft);
+ --vp-code-copy-code-hover-border-color: var(--vp-c-divider);
+ --vp-code-copy-code-hover-bg: var(--vp-c-bg);
+ --vp-code-copy-code-active-text: var(--vp-c-text-2);
+ --vp-code-copy-copied-text-content: 'Copied';
+
+ --vp-code-tab-divider: var(--vp-code-block-divider-color);
+ --vp-code-tab-text-color: var(--vp-c-text-2);
+ --vp-code-tab-bg: var(--vp-code-block-bg);
+ --vp-code-tab-hover-text-color: var(--vp-c-text-1);
+ --vp-code-tab-active-text-color: var(--vp-c-text-1);
+ --vp-code-tab-active-bar-color: var(--vp-c-brand-1);
+}
+
+:lang(es),
+:lang(pt) {
+ --vp-code-copy-copied-text-content: 'Copiado';
+}
+:lang(fa) {
+ --vp-code-copy-copied-text-content: 'کپی شد';
+}
+:lang(ko) {
+ --vp-code-copy-copied-text-content: '복사됨';
+}
+:lang(ru) {
+ --vp-code-copy-copied-text-content: 'Скопировано';
+}
+:lang(zh) {
+ --vp-code-copy-copied-text-content: '已复制';
+}
+
+/**
+ * Component: Button
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-button-brand-border: transparent;
+ --vp-button-brand-text: var(--vp-c-white);
+ --vp-button-brand-bg: var(--vp-c-brand-3);
+ --vp-button-brand-hover-border: transparent;
+ --vp-button-brand-hover-text: var(--vp-c-white);
+ --vp-button-brand-hover-bg: var(--vp-c-brand-2);
+ --vp-button-brand-active-border: transparent;
+ --vp-button-brand-active-text: var(--vp-c-white);
+ --vp-button-brand-active-bg: var(--vp-c-brand-1);
+
+ --vp-button-alt-border: transparent;
+ --vp-button-alt-text: var(--vp-c-text-1);
+ --vp-button-alt-bg: var(--vp-c-default-3);
+ --vp-button-alt-hover-border: transparent;
+ --vp-button-alt-hover-text: var(--vp-c-text-1);
+ --vp-button-alt-hover-bg: var(--vp-c-default-2);
+ --vp-button-alt-active-border: transparent;
+ --vp-button-alt-active-text: var(--vp-c-text-1);
+ --vp-button-alt-active-bg: var(--vp-c-default-1);
+
+ --vp-button-sponsor-border: var(--vp-c-text-2);
+ --vp-button-sponsor-text: var(--vp-c-text-2);
+ --vp-button-sponsor-bg: transparent;
+ --vp-button-sponsor-hover-border: var(--vp-c-sponsor);
+ --vp-button-sponsor-hover-text: var(--vp-c-sponsor);
+ --vp-button-sponsor-hover-bg: transparent;
+ --vp-button-sponsor-active-border: var(--vp-c-sponsor);
+ --vp-button-sponsor-active-text: var(--vp-c-sponsor);
+ --vp-button-sponsor-active-bg: transparent;
+}
+
+/**
+ * Component: Custom Block
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-custom-block-font-size: 14px;
+ --vp-custom-block-code-font-size: 13px;
+
+ --vp-custom-block-info-border: transparent;
+ --vp-custom-block-info-text: var(--vp-c-text-1);
+ --vp-custom-block-info-bg: var(--vp-c-default-soft);
+ --vp-custom-block-info-code-bg: var(--vp-c-default-soft);
+
+ --vp-custom-block-note-border: transparent;
+ --vp-custom-block-note-text: var(--vp-c-text-1);
+ --vp-custom-block-note-bg: var(--vp-c-default-soft);
+ --vp-custom-block-note-code-bg: var(--vp-c-default-soft);
+
+ --vp-custom-block-tip-border: transparent;
+ --vp-custom-block-tip-text: var(--vp-c-text-1);
+ --vp-custom-block-tip-bg: var(--vp-c-tip-soft);
+ --vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);
+
+ --vp-custom-block-important-border: transparent;
+ --vp-custom-block-important-text: var(--vp-c-text-1);
+ --vp-custom-block-important-bg: var(--vp-c-important-soft);
+ --vp-custom-block-important-code-bg: var(--vp-c-important-soft);
+
+ --vp-custom-block-warning-border: transparent;
+ --vp-custom-block-warning-text: var(--vp-c-text-1);
+ --vp-custom-block-warning-bg: var(--vp-c-warning-soft);
+ --vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);
+
+ --vp-custom-block-danger-border: transparent;
+ --vp-custom-block-danger-text: var(--vp-c-text-1);
+ --vp-custom-block-danger-bg: var(--vp-c-danger-soft);
+ --vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);
+
+ --vp-custom-block-caution-border: transparent;
+ --vp-custom-block-caution-text: var(--vp-c-text-1);
+ --vp-custom-block-caution-bg: var(--vp-c-caution-soft);
+ --vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);
+
+ --vp-custom-block-details-border: var(--vp-custom-block-info-border);
+ --vp-custom-block-details-text: var(--vp-custom-block-info-text);
+ --vp-custom-block-details-bg: var(--vp-custom-block-info-bg);
+ --vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg);
+}
+
+/**
+ * Component: Input
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-input-border-color: var(--vp-c-border);
+ --vp-input-bg-color: var(--vp-c-bg-alt);
+
+ --vp-input-switch-bg-color: var(--vp-c-default-soft);
+}
+
+/**
+ * Component: Nav
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-nav-height: 64px;
+ --vp-nav-bg-color: var(--vp-c-bg);
+ --vp-nav-screen-bg-color: var(--vp-c-bg);
+ --vp-nav-logo-height: 24px;
+}
+
+.hide-nav {
+ --vp-nav-height: 0px;
+}
+
+.hide-nav .VPSidebar {
+ --vp-nav-height: 22px;
+}
+
+/**
+ * Component: Local Nav
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-local-nav-bg-color: var(--vp-c-bg);
+}
+
+/**
+ * Component: Sidebar
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-sidebar-width: 272px;
+ --vp-sidebar-bg-color: var(--vp-c-bg-alt);
+}
+
+/**
+ * Colors Backdrop
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-backdrop-bg-color: rgba(0, 0, 0, 0.6);
+}
+
+/**
+ * Component: Home
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-home-hero-name-color: var(--vp-c-brand-1);
+ --vp-home-hero-name-background: transparent;
+
+ --vp-home-hero-image-background-image: none;
+ --vp-home-hero-image-filter: none;
+}
+
+/**
+ * Component: Badge
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-badge-info-border: transparent;
+ --vp-badge-info-text: var(--vp-c-text-2);
+ --vp-badge-info-bg: var(--vp-c-default-soft);
+
+ --vp-badge-tip-border: transparent;
+ --vp-badge-tip-text: var(--vp-c-tip-1);
+ --vp-badge-tip-bg: var(--vp-c-tip-soft);
+
+ --vp-badge-warning-border: transparent;
+ --vp-badge-warning-text: var(--vp-c-warning-1);
+ --vp-badge-warning-bg: var(--vp-c-warning-soft);
+
+ --vp-badge-danger-border: transparent;
+ --vp-badge-danger-text: var(--vp-c-danger-1);
+ --vp-badge-danger-bg: var(--vp-c-danger-soft);
+}
+
+/**
+ * Component: Carbon Ads
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-carbon-ads-text-color: var(--vp-c-text-1);
+ --vp-carbon-ads-poweredby-color: var(--vp-c-text-2);
+ --vp-carbon-ads-bg-color: var(--vp-c-bg-soft);
+ --vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);
+ --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1);
+}
+
+/**
+ * Component: Local Search
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-local-search-bg: var(--vp-c-bg);
+ --vp-local-search-result-bg: var(--vp-c-bg);
+ --vp-local-search-result-border: var(--vp-c-divider);
+ --vp-local-search-result-selected-bg: var(--vp-c-bg);
+ --vp-local-search-result-selected-border: var(--vp-c-brand-1);
+ --vp-local-search-highlight-bg: var(--vp-c-brand-1);
+ --vp-local-search-highlight-text: var(--vp-c-neutral-inverse);
+}
+
+
+.VPHome .image-src {
+ width: 100%;
+ max-width: 400px;
+}
+
+html.dark .vp-code span[style*="--shiki-dark:#6A737D"] {
+ --shiki-dark: #757E8A !important; /* Override dark theme color for comments */
+}
+
+@media (min-width: 960px) {
+ .VPHome .image-src {
+ max-width: 272px;
+ margin-left: 64px;
+ }
+
+ .VPHero.has-image .main {
+ max-width: 352px !important;
+ margin-left: 128px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .VPHome .image-src {
+ max-width: 656px;
+ max-height: 596px;
+ margin-top: 128px;
+ }
+
+ .VPHero.has-image .main {
+ max-width: 613px !important;
+ margin-left: 0;
+ margin-top: 128px;
+ }
}