Skip to content

Commit 3ceea05

Browse files
committed
Sequencer docs: adding diagrams and redirect
1 parent 2ce1f36 commit 3ceea05

12 files changed

+39
-228
lines changed

warp-academy-docs/docs/sdk/advanced/bundled-interaction.md

Lines changed: 0 additions & 202 deletions
This file was deleted.

warp-academy-docs/docs/sequencer/lifecycle/ordering.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,20 @@ This implies, in particular, that when an Arweave block along with its contained
4747

4848
## Previous Sort Key
4949

50-
----
51-
[DIAGRAM WITH LINKED LIST OF INTERACTIONS]
52-
53-
----
54-
5550
All interactions, regardless of how they were sent, are ordered by the sequencer in a linear order.
5651
This means that for each interaction, which is not the first interaction of a given contract, we can identify its predecessor within that contract.
5752
For this purpose, we use a value we will call the `prev sort key`.
5853

54+
![Linked list of interactions](/img/docs/sequencer/interactions-linked-list.png)
55+
5956
This value is useful prior to the evaluation of the contract state when retrieving the [list of interactions](/docs/gateway/http/get/interactions) for that contract from the gateway, ensuring that no interactions were overlooked.
6057

6158
To calculate the prev sort key, each sequencer node maintains a map (refer to: [Data Format](/docs/sequencer/data-format#previous-sort-keys)) in which, for each contract ID, the sort key of the last interaction associated with that contract is stored.
6259

6360
## Block Proposal
6461
As sequencer nodes accept interactions and place them in their mempool, these interactions do not yet have assigned `sort key` and `prev sort key` values. These values can only be calculated at the time of creating a proposal for the next sequencer block.
6562

66-
----
67-
[DIAGRAM FOR PROPOSER]
68-
69-
----
63+
![Creating a block proposal](/img/docs/sequencer/block-proposal.png)
7064

7165
The process is as follows:
7266

warp-academy-docs/docs/sequencer/lifecycle/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
Interactions are used to change the state of contracts and invoke computations defined in the contract's source code.
44
However, before any of that can happen, the interaction must go through a lifecycle, which is not such a simple process.
55

6+
![The lifecycle of an interaction in Warp Sequencer](/img/docs/sequencer/interaction-lifecycle.png)
7+
68
In brief, the lifecycle of an interaction begins when it is [created](/docs/sequencer/lifecycle/creating) and sent by the [Warp SDK](/docs/sdk/overview).
79
The interaction is then [received](/docs/sequencer/lifecycle/receiving) by the Warp Sequencer, which establishes order relative to other interactions.
810
The process of [ordering](/docs/sequencer/lifecycle/ordering) involves generating keys on which the interactions are sorted, as well as generating random values in case the contract needs them.
@@ -18,6 +20,4 @@ For this type of interaction, the sequencer also sends data to Arweave, but only
1820

1921
The gateway receives a common list of interactions regardless of whether they were sent to the sequencer or to Arweave.
2022

21-
![Decentralized Warp Sequencer](/img/docs/sequencer/sequencer.png)
22-
2323
The stages of the interaction lifecycle will be described in detail in the following sections.

warp-academy-docs/docs/sequencer/lifecycle/receiving.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Receiving and Validating Interactions
22

3+
![Receiving interaction by the sequencer node](/img/docs/sequencer/receiving-interaction.png)
4+
35
The sequencer accepts interactions in the form of [DataItem](https://github.com/ArweaveTeam/arweave-standards/blob/master/ans/ANS-104.md) via the endpoint `/api/v1/data-item` (refer to: [API Methods](/docs/sequencer/api-methods#submits-a-new-interaction-to-the-sequencer)).
46
Interactions added to the sequencer's blockchain take the form of messages.
57
The message that encapsulates an interaction in the DataItem format is `MsgDataItem` (see: [Messages format](/docs/sequencer/data-format#interaction-message)).
@@ -10,11 +12,6 @@ Finally, a transaction is created whose only message is this interaction.
1012
A [transaction](https://docs.cosmos.network/main/learn/advanced/transactions) in the Cosmos SDK represents a set of messages that trigger state transitions within the blockchain.
1113
:::
1214

13-
----
14-
[DIAGRAM FOR RECEIVING INTERACTIONS]
15-
16-
----
17-
1815
## Validation
1916

2017
Subsequently, the transaction undergoes a validation process to ensure its correctness.

warp-academy-docs/docusaurus.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ const config = {
8383
},
8484
sidebarPath: require.resolve('./sidebars/standardsSidebar.js'),
8585
},
86+
],
87+
[
88+
'@docusaurus/plugin-client-redirects',
89+
{
90+
redirects: [
91+
{
92+
to: '/docs/sequencer/introduction',
93+
from: '/docs/sdk/advanced/bundled-interaction',
94+
}
95+
]
96+
}
8697
]
8798
],
8899

warp-academy-docs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"dependencies": {
1717
"@docsearch/react": "3",
1818
"@docusaurus/core": "^2.4.0",
19+
"@docusaurus/plugin-client-redirects": "2.4.0",
1920
"@docusaurus/preset-classic": "^2.4.0",
2021
"@docusaurus/theme-mermaid": "^2.4.0",
2122
"@mdx-js/react": "^1.6.22",

warp-academy-docs/standards/tradeable-atomic-asset.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ To find existing contracts implementing the atomic-asset standard, we can use `t
1616
Tags can be specified [during deployment](../docs/sdk/advanced/register-contract) of atomic-asset.
1717

1818
- During deployment following tag should be added : `{name: 'Indexed-By', value: 'atomic-asset'}`
19-
- This tag is supported by [warp-aggregate-node](../docs/aggregate-node/overview.md). Thus allow to query assets by its owner - [documentation](../docs/aggregate-node/overview.md#nft-by-owner)
19+
- This tag is supported by [warp-aggregate-node](../docs/aggregate-node/overview). Thus allow to query assets by its owner - [documentation](../docs/aggregate-node/overview#nft-by-owner)
2020

2121
## State
2222

Loading
Loading
Loading

warp-academy-docs/yarn.lock

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1680,6 +1680,21 @@
16801680
react-helmet-async "*"
16811681
react-loadable "npm:@docusaurus/[email protected]"
16821682

1683+
"@docusaurus/[email protected]":
1684+
version "2.4.0"
1685+
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.4.0.tgz#53117d112ac9cc191deda053af4335e0381b4125"
1686+
integrity sha512-HsS+Dc2ZLWhfpjYJ5LIrOB/XfXZcElcC7o1iA4yIVtiFz+LHhwP863fhqbwSJ1c6tNDOYBH3HwbskHrc/PIn7Q==
1687+
dependencies:
1688+
"@docusaurus/core" "2.4.0"
1689+
"@docusaurus/logger" "2.4.0"
1690+
"@docusaurus/utils" "2.4.0"
1691+
"@docusaurus/utils-common" "2.4.0"
1692+
"@docusaurus/utils-validation" "2.4.0"
1693+
eta "^2.0.0"
1694+
fs-extra "^10.1.0"
1695+
lodash "^4.17.21"
1696+
tslib "^2.4.0"
1697+
16831698
"@docusaurus/[email protected]":
16841699
version "2.4.0"
16851700
resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.0.tgz#50dbfbc7b51f152ae660385fd8b34076713374c3"
@@ -3187,15 +3202,10 @@ caniuse-api@^3.0.0:
31873202
lodash.memoize "^4.1.2"
31883203
lodash.uniq "^4.5.0"
31893204

3190-
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001286:
3191-
version "1.0.30001312"
3192-
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f"
3193-
integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==
3194-
3195-
caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:
3196-
version "1.0.30001450"
3197-
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f"
3198-
integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==
3205+
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:
3206+
version "1.0.30001572"
3207+
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz"
3208+
integrity sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==
31993209

32003210
ccount@^1.0.0:
32013211
version "1.1.0"

0 commit comments

Comments
 (0)