From 6fe62fb1d88860a0d8eef4e21fd211e198248fde Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Thu, 15 Feb 2024 17:37:16 +0100 Subject: [PATCH 1/2] Add layout description --- packages/specs/pages/modules.mdx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/specs/pages/modules.mdx b/packages/specs/pages/modules.mdx index ff4a400e..1b4167f2 100644 --- a/packages/specs/pages/modules.mdx +++ b/packages/specs/pages/modules.mdx @@ -14,4 +14,13 @@ Namada includes the following modules: - [Multi-asset-shielded-pool (MASP)](./modules/masp.mdx) - [Governance](./modules/governance.mdx) - [IBC](./modules/ibc.mdx) -- [Ethereum bridge](./modules/ethereum-bridge.mdx) \ No newline at end of file +- [Ethereum bridge](./modules/ethereum-bridge.mdx) + +Each module page herein includes the following sub-sections: +- Introduction +- Design rationale +- Data types +- Storage layout +- Validity predicate logic +- Transactions +- Handlers \ No newline at end of file From fabc5285fe25cbf055aeca97fd3f7bc3384de89b Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Thu, 15 Feb 2024 17:46:24 +0100 Subject: [PATCH 2/2] Fix titles & add links --- packages/specs/pages/modules/ethereum-bridge.mdx | 7 ++++++- packages/specs/pages/modules/ethereum-bridge/_meta.json | 6 +++--- packages/specs/pages/modules/governance.mdx | 7 +++++++ packages/specs/pages/modules/governance/_meta.json | 6 +++--- packages/specs/pages/modules/ibc.mdx | 7 +++++++ packages/specs/pages/modules/ibc/_meta.json | 6 +++--- packages/specs/pages/modules/masp.mdx | 7 +++++++ packages/specs/pages/modules/masp/_meta.json | 6 +++--- packages/specs/pages/modules/multisignature.mdx | 6 ++++++ packages/specs/pages/modules/multitoken.mdx | 6 ++++++ packages/specs/pages/modules/multitoken/_meta.json | 6 +++--- packages/specs/pages/modules/proof-of-stake.mdx | 7 +++++++ 12 files changed, 61 insertions(+), 16 deletions(-) diff --git a/packages/specs/pages/modules/ethereum-bridge.mdx b/packages/specs/pages/modules/ethereum-bridge.mdx index 1f269896..1a7e94d0 100644 --- a/packages/specs/pages/modules/ethereum-bridge.mdx +++ b/packages/specs/pages/modules/ethereum-bridge.mdx @@ -13,7 +13,12 @@ fungible assets are held in escrow. [ICS20]: [ERC20]: - +- [Design rationale](./ethereum-bridge/design.mdx) +- [Data types](./ethereum-bridge/data-types.mdx) +- [Storage layout](./ethereum-bridge/storage.mdx) +- [Validity predicate logic](./ethereum-bridge/vp.mdx) +- [Transactions](./ethereum-bridge/txs.mdx) +- [Handlers](./ethereum-bridge/handlers.mdx) ## Topics - [Bootstrapping](./ethereum-bridge/bootstrapping.mdx) diff --git a/packages/specs/pages/modules/ethereum-bridge/_meta.json b/packages/specs/pages/modules/ethereum-bridge/_meta.json index 5041501f..751cfed5 100644 --- a/packages/specs/pages/modules/ethereum-bridge/_meta.json +++ b/packages/specs/pages/modules/ethereum-bridge/_meta.json @@ -1,8 +1,8 @@ { - "design": "Design", + "design": "Design rationale", "data-types": "Data types", - "storage": "Storage", - "vp": "Validity Predicate logic", + "storage": "Storage layout", + "vp": "Validity predicate logic", "txs": "Transactions", "handlers": "Handlers" } \ No newline at end of file diff --git a/packages/specs/pages/modules/governance.mdx b/packages/specs/pages/modules/governance.mdx index 61144699..6d024425 100644 --- a/packages/specs/pages/modules/governance.mdx +++ b/packages/specs/pages/modules/governance.mdx @@ -6,6 +6,13 @@ Namada introduces a governance mechanism to propose and apply protocol changes w Any user able to deposit the correct amount of `NAM` is able to propose some changes in a proposal for which delegators and validators cast their `yay` or `nay` votes. It is also possible to attach some payloads to proposals, in specific cases, to embed additional information. +- [Design rationale](./governance/design.mdx) +- [Data types](./governance/data-types.mdx) +- [Storage layout](./governance/storage.mdx) +- [Validity predicate logic](./governance/vp.mdx) +- [Transactions](./governance/txs.mdx) +- [Handlers](./governance/handlers.mdx) + Governance on Namada supports both `signaling` and `voting` mechanisms. The signaling mechanism is used for changes which require a hard fork, while the voting mechanism is used for changes which merely alter state. In cases where the chain is not able to produce blocks anymore, Namada relies on [off-chain signaling](#off-chain-protocol) to agree on a common move. diff --git a/packages/specs/pages/modules/governance/_meta.json b/packages/specs/pages/modules/governance/_meta.json index 5041501f..751cfed5 100644 --- a/packages/specs/pages/modules/governance/_meta.json +++ b/packages/specs/pages/modules/governance/_meta.json @@ -1,8 +1,8 @@ { - "design": "Design", + "design": "Design rationale", "data-types": "Data types", - "storage": "Storage", - "vp": "Validity Predicate logic", + "storage": "Storage layout", + "vp": "Validity predicate logic", "txs": "Transactions", "handlers": "Handlers" } \ No newline at end of file diff --git a/packages/specs/pages/modules/ibc.mdx b/packages/specs/pages/modules/ibc.mdx index 5c70cc1c..def52927 100644 --- a/packages/specs/pages/modules/ibc.mdx +++ b/packages/specs/pages/modules/ibc.mdx @@ -1,5 +1,12 @@ # IBC integration +- [Design rationale](./ibc/design.mdx) +- [Data types](./ibc/data-types.mdx) +- [Storage layout](./ibc/storage.mdx) +- [Validity predicate logic](./ibc/vp.mdx) +- [Transactions](./ibc/txs.mdx) +- [Handlers](./ibc/handlers.mdx) + * [IBC (Inter-blockchain communication protocol) spec](https://github.com/cosmos/ibc) ## IBC transaction diff --git a/packages/specs/pages/modules/ibc/_meta.json b/packages/specs/pages/modules/ibc/_meta.json index 5041501f..751cfed5 100644 --- a/packages/specs/pages/modules/ibc/_meta.json +++ b/packages/specs/pages/modules/ibc/_meta.json @@ -1,8 +1,8 @@ { - "design": "Design", + "design": "Design rationale", "data-types": "Data types", - "storage": "Storage", - "vp": "Validity Predicate logic", + "storage": "Storage layout", + "vp": "Validity predicate logic", "txs": "Transactions", "handlers": "Handlers" } \ No newline at end of file diff --git a/packages/specs/pages/modules/masp.mdx b/packages/specs/pages/modules/masp.mdx index a4c72ee3..1572833c 100644 --- a/packages/specs/pages/modules/masp.mdx +++ b/packages/specs/pages/modules/masp.mdx @@ -2,6 +2,13 @@ The multi-asset shielded pool (MASP) is an extension to the Sapling circuit which adds support for sending arbitrary assets. +- [Design rationale](./masp/design.mdx) +- [Data types](./masp/data-types.mdx) +- [Storage layout](./masp/storage.mdx) +- [Validity predicate logic](./masp/vp.mdx) +- [Transactions](./masp/txs.mdx) +- [Handlers](./masp/handlers.mdx) + See the following documents: - [Cryptographic specification](https://github.com/anoma/masp/blob/main/docs/multi-asset-shielded-pool.pdf) - [Ledger integration](./masp/ledger-integration.mdx) diff --git a/packages/specs/pages/modules/masp/_meta.json b/packages/specs/pages/modules/masp/_meta.json index 5041501f..751cfed5 100644 --- a/packages/specs/pages/modules/masp/_meta.json +++ b/packages/specs/pages/modules/masp/_meta.json @@ -1,8 +1,8 @@ { - "design": "Design", + "design": "Design rationale", "data-types": "Data types", - "storage": "Storage", - "vp": "Validity Predicate logic", + "storage": "Storage layout", + "vp": "Validity predicate logic", "txs": "Transactions", "handlers": "Handlers" } \ No newline at end of file diff --git a/packages/specs/pages/modules/multisignature.mdx b/packages/specs/pages/modules/multisignature.mdx index d59fa434..fca841cb 100644 --- a/packages/specs/pages/modules/multisignature.mdx +++ b/packages/specs/pages/modules/multisignature.mdx @@ -4,3 +4,9 @@ import { Callout } from 'nextra-theme-docs' The "user" validity predicate is the default validity predicate for all user-owned accounts. It is a multisignature validity predicate that requires at least `k` out of `n` valid signatures to be present in the signed transaction data for every transaction originating from the user. By default, both `k` and `n` are set to 1, meaning that the user can sign transactions on their own. This is the default validity predicate for all user-owned accounts. +- [Design rationale](./multisignature/design.mdx) +- [Data types](./multisignature/data-types.mdx) +- [Storage layout](./multisignature/storage.mdx) +- [Validity predicate logic](./multisignature/vp.mdx) +- [Transactions](./multisignature/txs.mdx) +- [Handlers](./multisignature/handlers.mdx) \ No newline at end of file diff --git a/packages/specs/pages/modules/multitoken.mdx b/packages/specs/pages/modules/multitoken.mdx index 87546c78..056595e2 100644 --- a/packages/specs/pages/modules/multitoken.mdx +++ b/packages/specs/pages/modules/multitoken.mdx @@ -4,3 +4,9 @@ The fungible token validity predicate authorises token balance changes on the ba {/* TODO: This is the same as design rationale atm, needs changing */} +- [Design rationale](./multitoken/design.mdx) +- [Data types](./multitoken/data-types.mdx) +- [Storage layout](./multitoken/storage.mdx) +- [Validity predicate logic](./multitoken/vp.mdx) +- [Transactions](./multitoken/txs.mdx) +- [Handlers](./multitoken/handlers.mdx) \ No newline at end of file diff --git a/packages/specs/pages/modules/multitoken/_meta.json b/packages/specs/pages/modules/multitoken/_meta.json index 5041501f..751cfed5 100644 --- a/packages/specs/pages/modules/multitoken/_meta.json +++ b/packages/specs/pages/modules/multitoken/_meta.json @@ -1,8 +1,8 @@ { - "design": "Design", + "design": "Design rationale", "data-types": "Data types", - "storage": "Storage", - "vp": "Validity Predicate logic", + "storage": "Storage layout", + "vp": "Validity predicate logic", "txs": "Transactions", "handlers": "Handlers" } \ No newline at end of file diff --git a/packages/specs/pages/modules/proof-of-stake.mdx b/packages/specs/pages/modules/proof-of-stake.mdx index ad7b9574..0aac5787 100644 --- a/packages/specs/pages/modules/proof-of-stake.mdx +++ b/packages/specs/pages/modules/proof-of-stake.mdx @@ -4,6 +4,13 @@ This section of the specification describes the proof-of-stake mechanism of Nama This section is split into three subcomponents: the [bonding mechanism](./proof-of-stake/objects-and-txs.mdx), [reward distribution](./proof-of-stake/reward-distribution.mdx), and [cubic slashing](./proof-of-stake/cubic-slashing.mdx). +- [Design rationale](./proof-of-stake/design.mdx) +- [Data types](./proof-of-stake/data-types.mdx) +- [Storage layout](./proof-of-stake/storage.mdx) +- [Validity predicate logic](./proof-of-stake/vp.mdx) +- [Transactions](./proof-of-stake/txs.mdx) +- [Handlers](./proof-of-stake/handlers.mdx) + ## Context Blockchain systems rely on economic security (directly or indirectly) to