diff --git a/docs/site/README.md b/docs/site/README.md index 0c6c2c27b..2e4ff2857 100644 --- a/docs/site/README.md +++ b/docs/site/README.md @@ -5,13 +5,13 @@ This website is built using [Docusaurus](https://docusaurus.io/), a modern stati ### Installation ``` -$ yarn +$ pnpm ``` ### Local Development ``` -$ yarn start +$ pnpm start ``` This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. @@ -19,23 +19,7 @@ This command starts a local development server and opens up a browser window. Mo ### Build ``` -$ yarn build +$ pnpm build ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/site/docs/develop/contracts.md b/docs/site/docs/develop/contracts.md index f79279f3a..eafcb81cf 100644 --- a/docs/site/docs/develop/contracts.md +++ b/docs/site/docs/develop/contracts.md @@ -12,7 +12,7 @@ The Omni protocol is implemented through a set of contracts that define the core #### [`IOmniPortal.sol`](https://github.com/omni-network/omni/blob/2d1e3f57c140b8824bf7d39244e0168fec73af4c/contracts/src/interfaces/IOmniPortal.sol) -- A utility contract aimed at simplifying interactions with the Omni [Portal Contact](../use/protocol.md#portal-contract). +- A utility contract aimed at simplifying interactions with the Omni [Portal Contact](../protocol/architecture.md#portal-contract). - On-chain gateway for Omni's cross-chain messaging, enabling cross-chain contract invocations through events like `XMsg` and `XReceipt`. - It establishes gas limits for cross-chain message execution, sets quorum thresholds for validator approvals, and maintains a record of the chain ID as well as inbound and outbound message offsets. - Provides methods to [calculate fees](#fees) for cross-chain function calls, both with default and custom gas limits, allowing payable cross-chain calls (`xcall`) and submission of batches of cross-chain messages (`xsubmit`). @@ -190,7 +190,7 @@ interface IOmniPortal { #### [`OmniPortal.sol`](https://github.com/omni-network/omni/blob/97cb666259c4490f9d945bcf68c1c45baece81b8/contracts/src/protocol/OmniPortal.sol) -- The Omni system [Portal Contact](../use/protocol.md#portal-contract) deployed to all integrated rollups. +- The Omni system [Portal Contact](../protocol/architecture.md#portal-contract) deployed to all integrated rollups. - Exposes methods to interact with the Omni EVM and other rollups. - `function xcall(...)` sends a transaction to another rollup. - `function xsubmit(...)` receives calls from another rollup. diff --git a/docs/site/docs/develop/introduction.md b/docs/site/docs/develop/introduction.md index ffd6db2d1..5a286f092 100644 --- a/docs/site/docs/develop/introduction.md +++ b/docs/site/docs/develop/introduction.md @@ -24,7 +24,7 @@ omni.xcall( ### Calls from Another Rollup -The destination rollup contract will be called by the rollup deployed [Portal Contract](../use/protocol.md#portal-contract) when it's an Onmi cross-rollup call. These `external` functions can then specifically filter for contract calls from the Portal `address` and use the `omni.isXCall()` helper, as: +The destination rollup contract will be called by the rollup deployed [Portal Contract](../protocol/architecture.md#portal-contract) when it's an Onmi cross-rollup call. These `external` functions can then specifically filter for contract calls from the Portal `address` and use the `omni.isXCall()` helper, as: ```solidity function receive() external { diff --git a/docs/site/docs/home.md b/docs/site/docs/home.md index 9651f47d0..e7a4de0d7 100644 --- a/docs/site/docs/home.md +++ b/docs/site/docs/home.md @@ -9,4 +9,4 @@ id: home _Welcome to the documentation portal for all things Omni!_ -Please read on to learn [about Omni](./learn/introduction.md), [the network](./use/overview.md), [developer docs](./develop/contracts.md) and [running a validator](./operate/run.md). +Please read on to learn [about Omni](./learn/introduction.md), [the network](./protocol/overview.md), [developer docs](./develop/contracts.md) and [running a validator](./operate/run.md). diff --git a/docs/site/docs/learn/building.md b/docs/site/docs/learn/building.md index 1277e9ff2..32aab1d79 100644 --- a/docs/site/docs/learn/building.md +++ b/docs/site/docs/learn/building.md @@ -7,7 +7,7 @@ id: building Omni is only possible because of a series of recent innovations in blockchain infrastructure. This section provides a high level overview of the "How It Works" and the components that work together to establish the final product. -For a more detailed overview, see the [Protocol](../use/overview.md) section. +For a more detailed overview, see the [Protocol](../protocol/overview.md) section. ## Global EVM-Compatible Application Development @@ -27,12 +27,12 @@ The native token is integral to Omni's ecosystem, serving three primary function This design allows Omni to manage DDoS attacks, provide "gas liquidity" for seamless transactions across rollups, and progressively decentralize governance. This approach ensures backward compatibility with local gas tokens through an abstracted gas marketplace, highlighting the native token's role in enhancing the network's functionality and security. -For detailed information on how the native token is utilized for gas abstraction and supports global application development, refer to the protocol [Fees](../use/overview.md#fee-model) section. +For detailed information on how the native token is utilized for gas abstraction and supports global application development, refer to the protocol [Fees](../protocol/overview.md#fee-model) section. ## Restaking ETH -The Omni Network consists of validators who restake $ETH and monitor the state of rollups. These validators relay state updates from one domain to others and provide crypto-economic assurance of validity. Read more about economic security in the [Omni Security Model section](../use/restaking.md#omni-security-model). +The Omni Network consists of validators who restake $ETH and monitor the state of rollups. These validators relay state updates from one domain to others and provide crypto-economic assurance of validity. Read more about economic security in the [Omni Security Model section](../protocol/restaking.md#omni-security-model). This means that the Omni Network is going to be the first platform that provides developers with a global view of state from all rollups, making cross-rollup application development extremely simple. All of this is made possible through the unique insight to use Ethereum's validator set to aggregate a global perspective of Ethereum's L2 ecosystem. -Read on how to delegate restaked $ETH to Omni with EigenLayer in the [Delegating ETH](./delegate.md) section and read more on how Omni handles restaking in the [Restaking](../use/restaking.md) protocol section. +Read on how to delegate restaked $ETH to Omni with EigenLayer in the [Delegating ETH](./delegate.md) section and read more on how Omni handles restaking in the [Restaking](../protocol/restaking.md) protocol section. diff --git a/docs/site/docs/learn/introduction.md b/docs/site/docs/learn/introduction.md index 2825dbff3..0225a7028 100644 --- a/docs/site/docs/learn/introduction.md +++ b/docs/site/docs/learn/introduction.md @@ -29,4 +29,4 @@ These drawbacks underscore the need for a new approach that is capable of achiev > **The goal of Omni is to pair an innovative security model with a novel, modular architecture to provide the highest performance interoperability network for rollup application developers.** -Omni is a blockchain specifically designed to unify Ethereum's rollups, mitigating fragmentation by [restaking](../use/restaking.md) for enhanced security and simplicity, allowing developers to create cross-rollup applications effortlessly. It pioneers the use of ETH restaking to bolster security, streamlining the development process by abstracting cross-rollup complexities from users and developers. As the Ethereum ecosystem grows and diversifies, Omni positions itself as the essential infrastructure to support Ethereum's modular evolution, offering a seamless development experience amidst a landscape of increasing rollup networks. +Omni is a blockchain specifically designed to unify Ethereum's rollups, mitigating fragmentation by [restaking](../protocol/restaking.md) for enhanced security and simplicity, allowing developers to create cross-rollup applications effortlessly. It pioneers the use of ETH restaking to bolster security, streamlining the development process by abstracting cross-rollup complexities from users and developers. As the Ethereum ecosystem grows and diversifies, Omni positions itself as the essential infrastructure to support Ethereum's modular evolution, offering a seamless development experience amidst a landscape of increasing rollup networks. diff --git a/docs/site/docs/use/protocol.md b/docs/site/docs/protocol/architecture.md similarity index 98% rename from docs/site/docs/use/protocol.md rename to docs/site/docs/protocol/architecture.md index 863e20498..61a811c19 100644 --- a/docs/site/docs/use/protocol.md +++ b/docs/site/docs/protocol/architecture.md @@ -2,7 +2,7 @@ sidebar_position: 2 --- -# Protocol +# Architecture Omni is designed to enhance the Ethereum ecosystem's scalability and interoperability. It integrates smart contracts across the Omni Chain EVM and Ethereum rollups for cross-chain interactions, with security ensured by a dPoS validator set, supported by a native token and re-staked ETH through Eigenlayer. This framework enables efficient cross-network storage and contract calls. @@ -233,7 +233,7 @@ The Relayer is a permissionless actor that submits cross chain messages to desti The Relayer is also responsible for monitoring attestations. Similar to validators, relayers should maintain an `XBlock` cache. I.e., track all source chain blocks, convert them to `XBlock`s, cache them, and make them available for internal indexed querying. Relayers monitor the Omni Consensus Chain state for attested `XBlock`. -For each destination chain, the relayer has to decide how many `XMsg`s to submit, which defines the [cost](./protocol.md#fee-handling) of transactions being submitted to the destination chain. This is primarily defined by the data size and gas limit of the messages and the portal contract verification and processing overhead. +For each destination chain, the relayer has to decide how many `XMsg`s to submit, which defines the [cost](./architecture.md#fee-handling) of transactions being submitted to the destination chain. This is primarily defined by the data size and gas limit of the messages and the portal contract verification and processing overhead. A merkle-multi-proof is generated for the set of identified `XMsg`s that match the quorum `XBlock` attestations root. The relayer submits a EVM transaction to the destination chain, ensuring it gets included on-chain as soon as possible. The transaction contains the following data: diff --git a/docs/site/docs/use/future.md b/docs/site/docs/protocol/future.md similarity index 100% rename from docs/site/docs/use/future.md rename to docs/site/docs/protocol/future.md diff --git a/docs/site/docs/use/overview.md b/docs/site/docs/protocol/overview.md similarity index 98% rename from docs/site/docs/use/overview.md rename to docs/site/docs/protocol/overview.md index 7b89b2d9b..1243a0ba3 100644 --- a/docs/site/docs/use/overview.md +++ b/docs/site/docs/protocol/overview.md @@ -39,7 +39,7 @@ If we were to follow a simple initiating cross-rollup user call from a rollup (i 5. The Relayer service pushes the information from the `XMsg` in the attested `xBlock` to the destination chain by calling the destination Portal contract `xsubmit` method 6. The Portal Contract in the destination chain performs the a contract call to the specified method in the destination contract as specified by the original call `xcall` in **2**. -To read further on this message traversal see the [`XMsg` Lifecycle](./protocol.md#xmsg-lifecycle) section. +To read further on this message traversal see the [`XMsg` Lifecycle](./architecture.md#xmsg-lifecycle) section. ## Finality @@ -55,4 +55,4 @@ Omni fees start with a basic, Solidity-based fee payment interface and an uncomp Fees are paid in $ETH and calculated in real-time during transactions via the payable `xcall` function on the portal contracts, ensuring simplicity for developers and compatibility with existing Ethereum tooling. This setup allows for easy off-chain fee estimations and the possibility for developers to pass the cost on to users, with a straightforward upgrade path to a more dynamic fee structure that can adapt to the network's evolving needs without necessitating changes to developer contracts. -For more information on how fees are handled read the [fees protocol section](./protocol.md#fee-handling) +For more information on how fees are handled read the [fees protocol section](./architecture.md#fee-handling) diff --git a/docs/site/docs/use/restaking.md b/docs/site/docs/protocol/restaking.md similarity index 100% rename from docs/site/docs/use/restaking.md rename to docs/site/docs/protocol/restaking.md diff --git a/docs/site/docusaurus.config.ts b/docs/site/docusaurus.config.ts index 3dc587a16..752bbc072 100644 --- a/docs/site/docusaurus.config.ts +++ b/docs/site/docusaurus.config.ts @@ -76,9 +76,9 @@ const config: Config = { }, { position: "left", - label: "Use", + label: "Protocol", type: "doc", - docId: "use/overview", + docId: "protocol/overview", }, { position: "left", diff --git a/docs/site/sidebars.ts b/docs/site/sidebars.ts index 124e4116f..84d132667 100644 --- a/docs/site/sidebars.ts +++ b/docs/site/sidebars.ts @@ -18,7 +18,7 @@ const sidebars: SidebarsConfig = { useSidebar: [ { type: "autogenerated", - dirName: "use", + dirName: "protocol", }, ], developSidebar: [