diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index e91c2fa..3fef7bd 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -3,3 +3,4 @@
* Pallet Specifications
** xref:pallets/proxy.adoc[pallet_proxy]
** xref:pallets/message-queue.adoc[pallet_message_queue]
+** xref:pallets/aura_ext.adoc[cumulus_aura_ext]
diff --git a/docs/modules/ROOT/pages/pallets/aura_ext.adoc b/docs/modules/ROOT/pages/pallets/aura_ext.adoc
new file mode 100644
index 0000000..73ce7b2
--- /dev/null
+++ b/docs/modules/ROOT/pages/pallets/aura_ext.adoc
@@ -0,0 +1,47 @@
+:source-highlighter: highlight.js
+:highlightjs-languages: rust
+:github-icon: pass:[]
+
+= cumulus_aura_ext
+
+Branch/Release: `release-polkadot-v1.3.0`
+
+== Purpose
+
+This pallet integrates parachain’s own block production mechanism (for example AuRa) into Cumulus parachain system. It allows:
+
+- to manage the unincluded blocks from the current slot
+- to validate produced block against the relay chain
+
+== Configuration and Integration link:https://github.com/paritytech/polkadot-sdk/tree/coderobe/release-polkadot-v1.3.0/cumulus/pallets/aura-ext[{github-icon},role=heading-link]
+
+There is no special config for this integration and it has no dispatchables, but you need to integrate it with other `parachain-system` crate:
+
+=== Integrate `BlockExecutor`
+
+When you invoke the `register_validate_block` macro, you should provide `cumulus_pallet_aura_ext::BlockExecutor` to it to allow `aura-ext` to validate the blocks produced by `aura`
+
+[source, rust]
+----
+cumulus_pallet_parachain_system::register_validate_block! {
+ Runtime = Runtime,
+ BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::,
+}
+----
+
+=== Integrate `ConsensusHook`
+
+Also you might want to manage the consensus externally and control the segment that is not yet included (its capacity, speed and etc.) `aura-ext` provides the `FixedVelocityConsensusHook` that allows to check if we are still in the limits for the slot.
+
+[source, rust]
+----
+impl cumulus_pallet_parachain_system::Config for Runtime {
+ ...
+ type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
+ Runtime,
+ RELAY_CHAIN_SLOT_DURATION_MILLIS,
+ BLOCK_PROCESSING_VELOCITY,
+ UNINCLUDED_SEGMENT_CAPACITY,
+ >;
+}
+----
diff --git a/docs/modules/ROOT/pages/pallets/proxy.adoc b/docs/modules/ROOT/pages/pallets/proxy.adoc
index 295cae7..1d58971 100644
--- a/docs/modules/ROOT/pages/pallets/proxy.adoc
+++ b/docs/modules/ROOT/pages/pallets/proxy.adoc
@@ -2,11 +2,11 @@
:highlightjs-languages: rust
:github-icon: pass:[]
-= pallet_proxy link:https://github.com/paritytech/polkadot-sdk/tree/release-polkadot-v1.3.0/substrate/frame/proxy[{github-icon},role=heading-link]
+= pallet_proxy
-Branch/Release: `release-polkadot-v1.3.0`
+Branch/Release: `release-polkadot-v1.3.0`
-== Purpose
+== Purpose
This pallet enables delegation of rights to execute certain call types from one origin to another.
@@ -20,7 +20,7 @@ This pallet enables delegation of rights to execute certain call types from one
* _Proxy type_ — type of calls that can be executed using this proxy.
* _Pure account_ — account that was spawned only to be a delegatee for some proxy.
-== Config
+== Config link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.3.0/substrate/frame/proxy/src/lib.rs#L107[{github-icon},role=heading-link]
* Pallet-specific configs:
** `ProxyType` -- a type that describes different variants of proxy. It must implement `Default` trait and `InstanceFilter` trait.
@@ -36,7 +36,7 @@ This pallet enables delegation of rights to execute certain call types from one
** `RuntimeCall`
** `Currency`
-== Dispatchables
+== Dispatchables link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.3.0/substrate/frame/proxy/src/lib.rs#L179[{github-icon},role=heading-link]
[.contract-item]
[[add_proxy]]
@@ -59,9 +59,9 @@ There may not be more proxies than `MaxProxies`
**Params:**
-- `delegate` — account that will become a proxy for the origin
-- `proxy_type` — type of calls that will be allowed for the delegate
-- `delay` — number of blocks that needs to happen between announcement and call for this proxy
+- `delegate: <::Lookup as StaticLookup>::Source` — account that will become a proxy for the origin
+- `proxy_type: T::ProxyType` — type of calls that will be allowed for the delegate
+- `delay: BlockNumberFor` — number of blocks that needs to happen between announcement and call for this proxy
**Errors:**
@@ -98,8 +98,8 @@ There may not be more announcements than `MaxPending`
**Params:**
-- `real` — the account on which behalf this call will be made
-- `call_hash` — hash of the call that is going to be made
+- `real: AccountIdLookupOf` — the account on which behalf this call will be made
+- `call_hash: CallHashOf` — hash of the call that is going to be made
**Errors:**
@@ -135,9 +135,9 @@ If the proxy requires an announcement before the call, this dispatchable will fa
**Params:**
-- `real` — the account on which behalf this call will be made
-- `force_proxy_type` — specific proxy type to get proxy for. If not specified, first one found in the storage will be used.
-- `call` — a call to execute
+- `real: AccountIdLookupOf` — the account on which behalf this call will be made
+- `force_proxy_type: Option` — specific proxy type to get proxy for. If not specified, first one found in the storage will be used.
+- `call: Box<::RuntimeCall>` — a call to execute
**Errors:**
@@ -171,10 +171,10 @@ This call will fail if delay after announcement have not passed or call was not
**Params:**
-- `delegate` — the account proxy was given to and who announced the call
-- `real` — delegator of the proxy, on whose behalf call will be executed
-- `force_proxy_type` — specific proxy type to get proxy for. If not specified, first one found in the storage will be used.
-- `call` — a call to execute
+- `delegate: <::Lookup as StaticLookup>::Source` — the account proxy was given to and who announced the call
+- `real: <::Lookup as StaticLookup>::Source` — delegator of the proxy, on whose behalf call will be executed
+- `force_proxy_type: Option` — specific proxy type to get proxy for. If not specified, first one found in the storage will be used.
+- `call: Box<::RuntimeCall>` — a call to execute
**Errors:**
@@ -206,8 +206,8 @@ The origin must be signed for this call.
**Params:**
-- `delegate` — account that created an announcement
-- `call_hash` — hash that was created for the announcement
+- `delegate: <::Lookup as StaticLookup>::Source` — account that created an announcement
+- `call_hash: <::CallHasher as Hash>::Output` — hash that was created for the announcement
**Errors:**
@@ -234,8 +234,8 @@ The origin must be signed for this call.
**Params:**
-- `real` — delegator of the proxy for the announcement to remove
-- `call_hash` — hash of announced call
+- `real: <::Lookup as StaticLookup>::Source` — delegator of the proxy for the announcement to remove
+- `call_hash: <::CallHasher as Hash>::Output` — hash of announced call
**Errors:**
@@ -275,9 +275,9 @@ Origin must be signed for this call.
**Params:**
-- `delegate` — account to whom this proxy was issued
-- `proxy_type` — type of the issued proxy
-- `delay` — delay of the issued proxy
+- `delegate: <::Lookup as StaticLookup>::Source` — account to whom this proxy was issued
+- `proxy_type: T::ProxyType` — type of the issued proxy
+- `delay: BlockNumberFor` — delay of the issued proxy
**Errors:**
@@ -307,9 +307,9 @@ The origin must be signed for this call.
**Params:**
-- `proxy_type` — type of calls that will be allowed for the proxy
-- `delay` — number of blocks that needs to happen between announcement and call for this proxy
-- `index` — A disambiguation index, in case this is called multiple times in the same
+- `proxy_type: T::ProxyType` — type of calls that will be allowed for the proxy
+- `delay: BlockNumberFor` — number of blocks that needs to happen between announcement and call for this proxy
+- `index: u16` — A disambiguation index, in case this is called multiple times in the same
transaction (e.g. with `utility::batch`). Unless you’re using `batch` you probably just
want to use `0`.