From 6955177c675489907e80602ad290b4d318739d0f Mon Sep 17 00:00:00 2001
From: bgallois <benjamin@gallois.cc>
Date: Wed, 6 Mar 2024 09:40:15 +0100
Subject: [PATCH] add base url

---
 .gitignore                                    |    1 -
 docs/api/runtime-calls.md                     | 1535 +++++++++++++
 docs/api/runtime-errors.md                    | 1469 +++++++++++++
 docs/api/runtime-events.md                    | 1905 +++++++++++++++++
 xtask/res/templates/runtime-calls-category.md |    2 +-
 xtask/src/gen_doc.rs                          |    4 +
 6 files changed, 4914 insertions(+), 2 deletions(-)
 create mode 100644 docs/api/runtime-calls.md
 create mode 100644 docs/api/runtime-errors.md
 create mode 100644 docs/api/runtime-events.md

diff --git a/.gitignore b/.gitignore
index 511c1e5ce..5026445d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,5 +29,4 @@ tmp
 *.log
 
 # Autogenerated docs
-docs/api/runtime*.md
 docs/api/doc
diff --git a/docs/api/runtime-calls.md b/docs/api/runtime-calls.md
new file mode 100644
index 000000000..385ad6b68
--- /dev/null
+++ b/docs/api/runtime-calls.md
@@ -0,0 +1,1535 @@
+# Runtime calls
+
+Calls are categorized according to the dispatch origin they require:
+
+1. **User calls**: the dispatch origin for this kind of call must be signed by
+the transactor. This is the only call category that can be submitted with an extrinsic.
+1. **Root calls**: This kind of call requires a special origin that can only be invoked
+through on-chain governance mechanisms.
+1. **Inherent calls**: This kind of call is invoked by the author of the block itself
+(usually automatically by the node).
+1. **Disabled calls**: These calls can not be called directly, they are reserved for internal use by other runtime calls.
+
+
+## User calls
+
+There are **82** user calls from **21** pallets.
+
+### Account - 1
+
+#### unlink_identity - 0
+
+<details><summary><code>unlink_identity()</code></summary>
+
+Taking 0.0114 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::unlink_identity](./doc/pallet_duniter_account/pallet/struct.Pallet.html#method.unlink_identity)
+
+### Scheduler - 2
+
+#### schedule - 0
+
+<details><summary><code>schedule(when, maybe_periodic, priority, call)</code></summary>
+
+Taking 0.0125 % of a block.
+
+```rust
+when: BlockNumberFor<T>
+maybe_periodic: Option<schedule::Period<BlockNumberFor<T>>>
+priority: schedule::Priority
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::schedule](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.schedule)
+
+#### cancel - 1
+
+<details><summary><code>cancel(when, index)</code></summary>
+
+Taking 0.0194 % of a block.
+
+```rust
+when: BlockNumberFor<T>
+index: u32
+```
+</details>
+
+See [Pallet::cancel](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.cancel)
+
+#### schedule_named - 2
+
+<details><summary><code>schedule_named(id, when, maybe_periodic, priority, call)</code></summary>
+
+Taking 0.0204 % of a block.
+
+```rust
+id: TaskName
+when: BlockNumberFor<T>
+maybe_periodic: Option<schedule::Period<BlockNumberFor<T>>>
+priority: schedule::Priority
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::schedule_named](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.schedule_named)
+
+#### cancel_named - 3
+
+<details><summary><code>cancel_named(id)</code></summary>
+
+Taking 0.0209 % of a block.
+
+```rust
+id: TaskName
+```
+</details>
+
+See [Pallet::cancel_named](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.cancel_named)
+
+#### schedule_after - 4
+
+<details><summary><code>schedule_after(after, maybe_periodic, priority, call)</code></summary>
+
+No weight available.
+
+```rust
+after: BlockNumberFor<T>
+maybe_periodic: Option<schedule::Period<BlockNumberFor<T>>>
+priority: schedule::Priority
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::schedule_after](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.schedule_after)
+
+#### schedule_named_after - 5
+
+<details><summary><code>schedule_named_after(id, after, maybe_periodic, priority, call)</code></summary>
+
+No weight available.
+
+```rust
+id: TaskName
+after: BlockNumberFor<T>
+maybe_periodic: Option<schedule::Period<BlockNumberFor<T>>>
+priority: schedule::Priority
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::schedule_named_after](./doc/pallet_scheduler/pallet/struct.Pallet.html#method.schedule_named_after)
+
+### Babe - 3
+
+#### report_equivocation - 0
+
+<details><summary><code>report_equivocation(equivocation_proof, key_owner_proof)</code></summary>
+
+No weight available.
+
+```rust
+equivocation_proof: Box<EquivocationProof<HeaderFor<T>>>
+key_owner_proof: T::KeyOwnerProof
+```
+</details>
+
+See [Pallet::report_equivocation](./doc/pallet_babe/pallet/struct.Pallet.html#method.report_equivocation)
+
+### Balances - 6
+
+#### transfer_allow_death - 0
+
+<details><summary><code>transfer_allow_death(dest, value)</code></summary>
+
+Taking 0.0211 % of a block.
+
+```rust
+dest: AccountIdLookupOf<T>
+value: T::Balance
+```
+</details>
+
+See [Pallet::transfer_allow_death](./doc/pallet_balances/pallet/struct.Pallet.html#method.transfer_allow_death)
+
+#### transfer_keep_alive - 3
+
+<details><summary><code>transfer_keep_alive(dest, value)</code></summary>
+
+Taking 0.0128 % of a block.
+
+```rust
+dest: AccountIdLookupOf<T>
+value: T::Balance
+```
+</details>
+
+See [Pallet::transfer_keep_alive](./doc/pallet_balances/pallet/struct.Pallet.html#method.transfer_keep_alive)
+
+#### transfer_all - 4
+
+<details><summary><code>transfer_all(dest, keep_alive)</code></summary>
+
+Taking 0.013 % of a block.
+
+```rust
+dest: AccountIdLookupOf<T>
+keep_alive: bool
+```
+</details>
+
+See [Pallet::transfer_all](./doc/pallet_balances/pallet/struct.Pallet.html#method.transfer_all)
+
+#### force_set_balance - 8
+
+<details><summary><code>force_set_balance(who, new_free)</code></summary>
+
+No weight available.
+
+```rust
+who: AccountIdLookupOf<T>
+new_free: T::Balance
+```
+</details>
+
+See [Pallet::force_set_balance](./doc/pallet_balances/pallet/struct.Pallet.html#method.force_set_balance)
+
+#### force_adjust_total_issuance - 9
+
+<details><summary><code>force_adjust_total_issuance(direction, delta)</code></summary>
+
+Taking 0.0038 % of a block.
+
+```rust
+direction: AdjustmentDirection
+delta: T::Balance
+```
+</details>
+
+See [Pallet::force_adjust_total_issuance](./doc/pallet_balances/pallet/struct.Pallet.html#method.force_adjust_total_issuance)
+
+### OneshotAccount - 7
+
+#### create_oneshot_account - 0
+
+<details><summary><code>create_oneshot_account(dest, value)</code></summary>
+
+Taking 0.012 % of a block.
+
+```rust
+dest: <T::Lookup as StaticLookup>::Source
+value: <T::Currency as Currency<T::AccountId>>::Balance
+```
+</details>
+
+See [Pallet::create_oneshot_account](./doc/pallet_oneshot_account/pallet/struct.Pallet.html#method.create_oneshot_account)
+
+#### consume_oneshot_account - 1
+
+<details><summary><code>consume_oneshot_account(block_height, dest)</code></summary>
+
+Taking 0.0213 % of a block.
+
+```rust
+block_height: BlockNumberFor<T>
+dest: Account<<T::Lookup as StaticLookup>::Source>
+```
+</details>
+
+See [Pallet::consume_oneshot_account](./doc/pallet_oneshot_account/pallet/struct.Pallet.html#method.consume_oneshot_account)
+
+#### consume_oneshot_account_with_remaining - 2
+
+<details><summary><code>consume_oneshot_account_with_remaining(block_height, dest, remaining_to, balance)</code></summary>
+
+Taking 0.0294 % of a block.
+
+```rust
+block_height: BlockNumberFor<T>
+dest: Account<<T::Lookup as StaticLookup>::Source>
+remaining_to: Account<<T::Lookup as StaticLookup>::Source>
+balance: <T::Currency as Currency<T::AccountId>>::Balance
+```
+</details>
+
+See [Pallet::consume_oneshot_account_with_remaining](./doc/pallet_oneshot_account/pallet/struct.Pallet.html#method.consume_oneshot_account_with_remaining)
+
+### SmithMembers - 10
+
+#### invite_smith - 0
+
+<details><summary><code>invite_smith(receiver)</code></summary>
+
+Taking 0.0267 % of a block.
+
+```rust
+receiver: T::IdtyIndex
+```
+</details>
+
+See [Pallet::invite_smith](./doc/pallet_smith_members/pallet/struct.Pallet.html#method.invite_smith)
+
+#### accept_invitation - 1
+
+<details><summary><code>accept_invitation()</code></summary>
+
+Taking 0.0132 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::accept_invitation](./doc/pallet_smith_members/pallet/struct.Pallet.html#method.accept_invitation)
+
+#### certify_smith - 2
+
+<details><summary><code>certify_smith(receiver)</code></summary>
+
+Taking 0.0317 % of a block.
+
+```rust
+receiver: T::IdtyIndex
+```
+</details>
+
+See [Pallet::certify_smith](./doc/pallet_smith_members/pallet/struct.Pallet.html#method.certify_smith)
+
+### AuthorityMembers - 11
+
+#### go_offline - 0
+
+<details><summary><code>go_offline()</code></summary>
+
+Taking 0.0187 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::go_offline](./doc/pallet_authority_members/pallet/struct.Pallet.html#method.go_offline)
+
+#### go_online - 1
+
+<details><summary><code>go_online()</code></summary>
+
+Taking 0.0216 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::go_online](./doc/pallet_authority_members/pallet/struct.Pallet.html#method.go_online)
+
+#### set_session_keys - 2
+
+<details><summary><code>set_session_keys(keys)</code></summary>
+
+Taking 0.0284 % of a block.
+
+```rust
+keys: T::Keys
+```
+</details>
+
+See [Pallet::set_session_keys](./doc/pallet_authority_members/pallet/struct.Pallet.html#method.set_session_keys)
+
+#### remove_member_from_blacklist - 4
+
+<details><summary><code>remove_member_from_blacklist(member_id)</code></summary>
+
+Taking 0.0116 % of a block.
+
+```rust
+member_id: T::MemberId
+```
+</details>
+
+See [Pallet::remove_member_from_blacklist](./doc/pallet_authority_members/pallet/struct.Pallet.html#method.remove_member_from_blacklist)
+
+### Grandpa - 16
+
+#### report_equivocation - 0
+
+<details><summary><code>report_equivocation(equivocation_proof, key_owner_proof)</code></summary>
+
+No weight available.
+
+```rust
+equivocation_proof: Box<EquivocationProof<T::Hash, BlockNumberFor<T>>>
+key_owner_proof: T::KeyOwnerProof
+```
+</details>
+
+See [Pallet::report_equivocation](./doc/pallet_grandpa/pallet/struct.Pallet.html#method.report_equivocation)
+
+### UpgradeOrigin - 21
+
+#### dispatch_as_root_unchecked_weight - 1
+
+<details><summary><code>dispatch_as_root_unchecked_weight(call, weight)</code></summary>
+
+No weight available.
+
+```rust
+call: Box<<T as Config>::Call>
+weight: Weight
+```
+</details>
+
+See [Pallet::dispatch_as_root_unchecked_weight](./doc/pallet_upgrade_origin/pallet/struct.Pallet.html#method.dispatch_as_root_unchecked_weight)
+
+### Preimage - 22
+
+#### note_preimage - 0
+
+<details><summary><code>note_preimage(bytes)</code></summary>
+
+Taking 0.2881 % of a block.
+
+```rust
+bytes: Vec<u8>
+```
+</details>
+
+See [Pallet::note_preimage](./doc/pallet_preimage/pallet/struct.Pallet.html#method.note_preimage)
+
+#### unnote_preimage - 1
+
+<details><summary><code>unnote_preimage(hash)</code></summary>
+
+Taking 0.0201 % of a block.
+
+```rust
+hash: T::Hash
+```
+</details>
+
+See [Pallet::unnote_preimage](./doc/pallet_preimage/pallet/struct.Pallet.html#method.unnote_preimage)
+
+#### request_preimage - 2
+
+<details><summary><code>request_preimage(hash)</code></summary>
+
+Taking 0.0136 % of a block.
+
+```rust
+hash: T::Hash
+```
+</details>
+
+See [Pallet::request_preimage](./doc/pallet_preimage/pallet/struct.Pallet.html#method.request_preimage)
+
+#### unrequest_preimage - 3
+
+<details><summary><code>unrequest_preimage(hash)</code></summary>
+
+Taking 0.0201 % of a block.
+
+```rust
+hash: T::Hash
+```
+</details>
+
+See [Pallet::unrequest_preimage](./doc/pallet_preimage/pallet/struct.Pallet.html#method.unrequest_preimage)
+
+#### ensure_updated - 4
+
+<details><summary><code>ensure_updated(hashes)</code></summary>
+
+Taking 22.9245 % of a block.
+
+```rust
+hashes: Vec<T::Hash>
+```
+</details>
+
+See [Pallet::ensure_updated](./doc/pallet_preimage/pallet/struct.Pallet.html#method.ensure_updated)
+
+### TechnicalCommittee - 23
+
+#### execute - 1
+
+<details><summary><code>execute(proposal, length_bound)</code></summary>
+
+Taking 0.0055 % of a block.
+
+```rust
+proposal: Box<<T as Config<I>>::Proposal>
+length_bound: u32
+```
+</details>
+
+See [Pallet::execute](./doc/pallet_collective/pallet/struct.Pallet.html#method.execute)
+
+#### propose - 2
+
+<details><summary><code>propose(threshold, proposal, length_bound)</code></summary>
+
+No weight available.
+
+```rust
+threshold: MemberCount
+proposal: Box<<T as Config<I>>::Proposal>
+length_bound: u32
+```
+</details>
+
+See [Pallet::propose](./doc/pallet_collective/pallet/struct.Pallet.html#method.propose)
+
+#### vote - 3
+
+<details><summary><code>vote(proposal, index, approve)</code></summary>
+
+Taking 0.0135 % of a block.
+
+```rust
+proposal: T::Hash
+index: ProposalIndex
+approve: bool
+```
+</details>
+
+See [Pallet::vote](./doc/pallet_collective/pallet/struct.Pallet.html#method.vote)
+
+#### close - 6
+
+<details><summary><code>close(proposal_hash, index, proposal_weight_bound, length_bound)</code></summary>
+
+No weight available.
+
+```rust
+proposal_hash: T::Hash
+index: ProposalIndex
+proposal_weight_bound: Weight
+length_bound: u32
+```
+</details>
+
+See [Pallet::close](./doc/pallet_collective/pallet/struct.Pallet.html#method.close)
+
+### UniversalDividend - 30
+
+#### claim_uds - 0
+
+<details><summary><code>claim_uds()</code></summary>
+
+Taking 0.0242 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::claim_uds](./doc/pallet_universal_dividend/pallet/struct.Pallet.html#method.claim_uds)
+
+#### transfer_ud - 1
+
+<details><summary><code>transfer_ud(dest, value)</code></summary>
+
+Taking 0.0226 % of a block.
+
+```rust
+dest: <T::Lookup as StaticLookup>::Source
+value: BalanceOf<T>
+```
+</details>
+
+See [Pallet::transfer_ud](./doc/pallet_universal_dividend/pallet/struct.Pallet.html#method.transfer_ud)
+
+#### transfer_ud_keep_alive - 2
+
+<details><summary><code>transfer_ud_keep_alive(dest, value)</code></summary>
+
+Taking 0.0141 % of a block.
+
+```rust
+dest: <T::Lookup as StaticLookup>::Source
+value: BalanceOf<T>
+```
+</details>
+
+See [Pallet::transfer_ud_keep_alive](./doc/pallet_universal_dividend/pallet/struct.Pallet.html#method.transfer_ud_keep_alive)
+
+### Identity - 41
+
+#### create_identity - 0
+
+<details><summary><code>create_identity(owner_key)</code></summary>
+
+Taking 0.1 % of a block.
+
+```rust
+owner_key: T::AccountId
+```
+</details>
+
+See [Pallet::create_identity](./doc/pallet_identity/pallet/struct.Pallet.html#method.create_identity)
+
+#### confirm_identity - 1
+
+<details><summary><code>confirm_identity(idty_name)</code></summary>
+
+Taking 0.037 % of a block.
+
+```rust
+idty_name: IdtyName
+```
+</details>
+
+See [Pallet::confirm_identity](./doc/pallet_identity/pallet/struct.Pallet.html#method.confirm_identity)
+
+#### change_owner_key - 3
+
+<details><summary><code>change_owner_key(new_key, new_key_sig)</code></summary>
+
+Taking 0.0472 % of a block.
+
+```rust
+new_key: T::AccountId
+new_key_sig: T::Signature
+```
+</details>
+
+See [Pallet::change_owner_key](./doc/pallet_identity/pallet/struct.Pallet.html#method.change_owner_key)
+
+#### revoke_identity - 4
+
+<details><summary><code>revoke_identity(idty_index, revocation_key, revocation_sig)</code></summary>
+
+Taking 0.0452 % of a block.
+
+```rust
+idty_index: T::IdtyIndex
+revocation_key: T::AccountId
+revocation_sig: T::Signature
+```
+</details>
+
+See [Pallet::revoke_identity](./doc/pallet_identity/pallet/struct.Pallet.html#method.revoke_identity)
+
+#### fix_sufficients - 7
+
+<details><summary><code>fix_sufficients(owner_key, inc)</code></summary>
+
+Taking 0.0116 % of a block.
+
+```rust
+owner_key: T::AccountId
+inc: bool
+```
+</details>
+
+See [Pallet::fix_sufficients](./doc/pallet_identity/pallet/struct.Pallet.html#method.fix_sufficients)
+
+#### link_account - 8
+
+<details><summary><code>link_account(account_id, payload_sig)</code></summary>
+
+Taking 0.0165 % of a block.
+
+```rust
+account_id: T::AccountId
+payload_sig: T::Signature
+```
+</details>
+
+See [Pallet::link_account](./doc/pallet_identity/pallet/struct.Pallet.html#method.link_account)
+
+### Certification - 43
+
+#### add_cert - 0
+
+<details><summary><code>add_cert(receiver)</code></summary>
+
+Taking 0.041 % of a block.
+
+```rust
+receiver: T::IdtyIndex
+```
+</details>
+
+See [Pallet::add_cert](./doc/pallet_certification/pallet/struct.Pallet.html#method.add_cert)
+
+#### renew_cert - 3
+
+<details><summary><code>renew_cert(receiver)</code></summary>
+
+Taking 0.0333 % of a block.
+
+```rust
+receiver: T::IdtyIndex
+```
+</details>
+
+See [Pallet::renew_cert](./doc/pallet_certification/pallet/struct.Pallet.html#method.renew_cert)
+
+#### del_cert - 1
+
+<details><summary><code>del_cert(issuer, receiver)</code></summary>
+
+Taking 0.0287 % of a block.
+
+```rust
+issuer: T::IdtyIndex
+receiver: T::IdtyIndex
+```
+</details>
+
+See [Pallet::del_cert](./doc/pallet_certification/pallet/struct.Pallet.html#method.del_cert)
+
+#### remove_all_certs_received_by - 2
+
+<details><summary><code>remove_all_certs_received_by(idty_index)</code></summary>
+
+Taking 8.1029 % of a block.
+
+```rust
+idty_index: T::IdtyIndex
+```
+</details>
+
+See [Pallet::remove_all_certs_received_by](./doc/pallet_certification/pallet/struct.Pallet.html#method.remove_all_certs_received_by)
+
+### Distance - 44
+
+#### request_distance_evaluation - 0
+
+<details><summary><code>request_distance_evaluation()</code></summary>
+
+Taking 0.0365 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::request_distance_evaluation](./doc/pallet_distance/pallet/struct.Pallet.html#method.request_distance_evaluation)
+
+#### request_distance_evaluation_for - 4
+
+<details><summary><code>request_distance_evaluation_for(target)</code></summary>
+
+Taking 0.038 % of a block.
+
+```rust
+target: T::IdtyIndex
+```
+</details>
+
+See [Pallet::request_distance_evaluation_for](./doc/pallet_distance/pallet/struct.Pallet.html#method.request_distance_evaluation_for)
+
+#### update_evaluation - 1
+
+<details><summary><code>update_evaluation(computation_result)</code></summary>
+
+Taking 0.0343 % of a block.
+
+```rust
+computation_result: ComputationResult
+```
+</details>
+
+See [Pallet::update_evaluation](./doc/pallet_distance/pallet/struct.Pallet.html#method.update_evaluation)
+
+#### force_update_evaluation - 2
+
+<details><summary><code>force_update_evaluation(evaluator, computation_result)</code></summary>
+
+Taking 0.016 % of a block.
+
+```rust
+evaluator: <T as frame_system::Config>::AccountId
+computation_result: ComputationResult
+```
+</details>
+
+See [Pallet::force_update_evaluation](./doc/pallet_distance/pallet/struct.Pallet.html#method.force_update_evaluation)
+
+#### force_valid_distance_status - 3
+
+<details><summary><code>force_valid_distance_status(identity)</code></summary>
+
+Taking 0.0305 % of a block.
+
+```rust
+identity: <T as pallet_identity::Config>::IdtyIndex
+```
+</details>
+
+See [Pallet::force_valid_distance_status](./doc/pallet_distance/pallet/struct.Pallet.html#method.force_valid_distance_status)
+
+### AtomicSwap - 50
+
+#### create_swap - 0
+
+<details><summary><code>create_swap(target, hashed_proof, action, duration)</code></summary>
+
+No weight available.
+
+```rust
+target: T::AccountId
+hashed_proof: HashedProof
+action: T::SwapAction
+duration: BlockNumberFor<T>
+```
+</details>
+
+See [Pallet::create_swap](./doc/pallet_atomic_swap/pallet/struct.Pallet.html#method.create_swap)
+
+#### claim_swap - 1
+
+<details><summary><code>claim_swap(proof, action)</code></summary>
+
+No weight available.
+
+```rust
+proof: Vec<u8>
+action: T::SwapAction
+```
+</details>
+
+See [Pallet::claim_swap](./doc/pallet_atomic_swap/pallet/struct.Pallet.html#method.claim_swap)
+
+#### cancel_swap - 2
+
+<details><summary><code>cancel_swap(target, hashed_proof)</code></summary>
+
+No weight available.
+
+```rust
+target: T::AccountId
+hashed_proof: HashedProof
+```
+</details>
+
+See [Pallet::cancel_swap](./doc/pallet_atomic_swap/pallet/struct.Pallet.html#method.cancel_swap)
+
+### Multisig - 51
+
+#### as_multi_threshold_1 - 0
+
+<details><summary><code>as_multi_threshold_1(other_signatories, call)</code></summary>
+
+Taking 0.004 % of a block.
+
+```rust
+other_signatories: Vec<T::AccountId>
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::as_multi_threshold_1](./doc/pallet_multisig/pallet/struct.Pallet.html#method.as_multi_threshold_1)
+
+#### as_multi - 1
+
+<details><summary><code>as_multi(threshold, other_signatories, maybe_timepoint, call, max_weight)</code></summary>
+
+No weight available.
+
+```rust
+threshold: u16
+other_signatories: Vec<T::AccountId>
+maybe_timepoint: Option<Timepoint<BlockNumberFor<T>>>
+call: Box<<T as Config>::RuntimeCall>
+max_weight: Weight
+```
+</details>
+
+See [Pallet::as_multi](./doc/pallet_multisig/pallet/struct.Pallet.html#method.as_multi)
+
+#### approve_as_multi - 2
+
+<details><summary><code>approve_as_multi(threshold, other_signatories, maybe_timepoint, call_hash, max_weight)</code></summary>
+
+No weight available.
+
+```rust
+threshold: u16
+other_signatories: Vec<T::AccountId>
+maybe_timepoint: Option<Timepoint<BlockNumberFor<T>>>
+call_hash: [u8; 32]
+max_weight: Weight
+```
+</details>
+
+See [Pallet::approve_as_multi](./doc/pallet_multisig/pallet/struct.Pallet.html#method.approve_as_multi)
+
+#### cancel_as_multi - 3
+
+<details><summary><code>cancel_as_multi(threshold, other_signatories, timepoint, call_hash)</code></summary>
+
+Taking 0.0125 % of a block.
+
+```rust
+threshold: u16
+other_signatories: Vec<T::AccountId>
+timepoint: Timepoint<BlockNumberFor<T>>
+call_hash: [u8; 32]
+```
+</details>
+
+See [Pallet::cancel_as_multi](./doc/pallet_multisig/pallet/struct.Pallet.html#method.cancel_as_multi)
+
+### ProvideRandomness - 52
+
+#### request - 0
+
+<details><summary><code>request(randomness_type, salt)</code></summary>
+
+Taking 0.0462 % of a block.
+
+```rust
+randomness_type: RandomnessType
+salt: H256
+```
+</details>
+
+See [Pallet::request](./doc/pallet_provide_randomness/pallet/struct.Pallet.html#method.request)
+
+### Proxy - 53
+
+#### proxy - 0
+
+<details><summary><code>proxy(real, force_proxy_type, call)</code></summary>
+
+Taking 0.0055 % of a block.
+
+```rust
+real: AccountIdLookupOf<T>
+force_proxy_type: Option<T::ProxyType>
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::proxy](./doc/pallet_proxy/pallet/struct.Pallet.html#method.proxy)
+
+#### add_proxy - 1
+
+<details><summary><code>add_proxy(delegate, proxy_type, delay)</code></summary>
+
+Taking 0.0122 % of a block.
+
+```rust
+delegate: AccountIdLookupOf<T>
+proxy_type: T::ProxyType
+delay: BlockNumberFor<T>
+```
+</details>
+
+See [Pallet::add_proxy](./doc/pallet_proxy/pallet/struct.Pallet.html#method.add_proxy)
+
+#### remove_proxy - 2
+
+<details><summary><code>remove_proxy(delegate, proxy_type, delay)</code></summary>
+
+Taking 0.0122 % of a block.
+
+```rust
+delegate: AccountIdLookupOf<T>
+proxy_type: T::ProxyType
+delay: BlockNumberFor<T>
+```
+</details>
+
+See [Pallet::remove_proxy](./doc/pallet_proxy/pallet/struct.Pallet.html#method.remove_proxy)
+
+#### remove_proxies - 3
+
+<details><summary><code>remove_proxies()</code></summary>
+
+Taking 0.0121 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::remove_proxies](./doc/pallet_proxy/pallet/struct.Pallet.html#method.remove_proxies)
+
+#### create_pure - 4
+
+<details><summary><code>create_pure(proxy_type, delay, index)</code></summary>
+
+Taking 0.0122 % of a block.
+
+```rust
+proxy_type: T::ProxyType
+delay: BlockNumberFor<T>
+index: u16
+```
+</details>
+
+See [Pallet::create_pure](./doc/pallet_proxy/pallet/struct.Pallet.html#method.create_pure)
+
+#### kill_pure - 5
+
+<details><summary><code>kill_pure(spawner, proxy_type, index, height, ext_index)</code></summary>
+
+Taking 0.0122 % of a block.
+
+```rust
+spawner: AccountIdLookupOf<T>
+proxy_type: T::ProxyType
+index: u16
+height: BlockNumberFor<T>
+ext_index: u32
+```
+</details>
+
+See [Pallet::kill_pure](./doc/pallet_proxy/pallet/struct.Pallet.html#method.kill_pure)
+
+#### announce - 6
+
+<details><summary><code>announce(real, call_hash)</code></summary>
+
+Taking 0.0217 % of a block.
+
+```rust
+real: AccountIdLookupOf<T>
+call_hash: CallHashOf<T>
+```
+</details>
+
+See [Pallet::announce](./doc/pallet_proxy/pallet/struct.Pallet.html#method.announce)
+
+#### remove_announcement - 7
+
+<details><summary><code>remove_announcement(real, call_hash)</code></summary>
+
+Taking 0.02 % of a block.
+
+```rust
+real: AccountIdLookupOf<T>
+call_hash: CallHashOf<T>
+```
+</details>
+
+See [Pallet::remove_announcement](./doc/pallet_proxy/pallet/struct.Pallet.html#method.remove_announcement)
+
+#### reject_announcement - 8
+
+<details><summary><code>reject_announcement(delegate, call_hash)</code></summary>
+
+Taking 0.02 % of a block.
+
+```rust
+delegate: AccountIdLookupOf<T>
+call_hash: CallHashOf<T>
+```
+</details>
+
+See [Pallet::reject_announcement](./doc/pallet_proxy/pallet/struct.Pallet.html#method.reject_announcement)
+
+#### proxy_announced - 9
+
+<details><summary><code>proxy_announced(delegate, real, force_proxy_type, call)</code></summary>
+
+Taking 0.0218 % of a block.
+
+```rust
+delegate: AccountIdLookupOf<T>
+real: AccountIdLookupOf<T>
+force_proxy_type: Option<T::ProxyType>
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::proxy_announced](./doc/pallet_proxy/pallet/struct.Pallet.html#method.proxy_announced)
+
+### Utility - 54
+
+#### batch - 0
+
+<details><summary><code>batch(calls)</code></summary>
+
+Taking 0.1058 % of a block.
+
+```rust
+calls: Vec<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::batch](./doc/pallet_utility/pallet/struct.Pallet.html#method.batch)
+
+#### as_derivative - 1
+
+<details><summary><code>as_derivative(index, call)</code></summary>
+
+Taking 0.0037 % of a block.
+
+```rust
+index: u16
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::as_derivative](./doc/pallet_utility/pallet/struct.Pallet.html#method.as_derivative)
+
+#### batch_all - 2
+
+<details><summary><code>batch_all(calls)</code></summary>
+
+Taking 0.1127 % of a block.
+
+```rust
+calls: Vec<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::batch_all](./doc/pallet_utility/pallet/struct.Pallet.html#method.batch_all)
+
+#### force_batch - 4
+
+<details><summary><code>force_batch(calls)</code></summary>
+
+Taking 0.1053 % of a block.
+
+```rust
+calls: Vec<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::force_batch](./doc/pallet_utility/pallet/struct.Pallet.html#method.force_batch)
+
+#### with_weight - 5
+
+<details><summary><code>with_weight(call, weight)</code></summary>
+
+No weight available.
+
+```rust
+call: Box<<T as Config>::RuntimeCall>
+weight: Weight
+```
+</details>
+
+See [Pallet::with_weight](./doc/pallet_utility/pallet/struct.Pallet.html#method.with_weight)
+
+### Treasury - 55
+
+#### propose_spend - 0
+
+<details><summary><code>propose_spend(value, beneficiary)</code></summary>
+
+Taking 0.0185 % of a block.
+
+```rust
+value: BalanceOf<T, I>
+beneficiary: AccountIdLookupOf<T>
+```
+</details>
+
+See [Pallet::propose_spend](./doc/pallet_treasury/pallet/struct.Pallet.html#method.propose_spend)
+
+#### spend_local - 3
+
+<details><summary><code>spend_local(amount, beneficiary)</code></summary>
+
+Taking 0.0036 % of a block.
+
+```rust
+amount: BalanceOf<T, I>
+beneficiary: AccountIdLookupOf<T>
+```
+</details>
+
+See [Pallet::spend_local](./doc/pallet_treasury/pallet/struct.Pallet.html#method.spend_local)
+
+#### remove_approval - 4
+
+<details><summary><code>remove_approval(proposal_id)</code></summary>
+
+Taking 0.0115 % of a block.
+
+```rust
+proposal_id: ProposalIndex
+```
+</details>
+
+See [Pallet::remove_approval](./doc/pallet_treasury/pallet/struct.Pallet.html#method.remove_approval)
+
+#### spend - 5
+
+<details><summary><code>spend(asset_kind, amount, beneficiary, valid_from)</code></summary>
+
+Taking 0.0036 % of a block.
+
+```rust
+asset_kind: Box<T::AssetKind>
+amount: AssetBalanceOf<T, I>
+beneficiary: Box<BeneficiaryLookupOf<T, I>>
+valid_from: Option<BlockNumberFor<T>>
+```
+</details>
+
+See [Pallet::spend](./doc/pallet_treasury/pallet/struct.Pallet.html#method.spend)
+
+#### payout - 6
+
+<details><summary><code>payout(index)</code></summary>
+
+Taking 0.0286 % of a block.
+
+```rust
+index: SpendIndex
+```
+</details>
+
+See [Pallet::payout](./doc/pallet_treasury/pallet/struct.Pallet.html#method.payout)
+
+#### check_status - 7
+
+<details><summary><code>check_status(index)</code></summary>
+
+Taking 0.0117 % of a block.
+
+```rust
+index: SpendIndex
+```
+</details>
+
+See [Pallet::check_status](./doc/pallet_treasury/pallet/struct.Pallet.html#method.check_status)
+
+#### void_spend - 8
+
+<details><summary><code>void_spend(index)</code></summary>
+
+Taking 0.0117 % of a block.
+
+```rust
+index: SpendIndex
+```
+</details>
+
+See [Pallet::void_spend](./doc/pallet_treasury/pallet/struct.Pallet.html#method.void_spend)
+
+
+
+## Root calls
+
+There are **18** root calls from **8** pallets.
+
+### System - 0
+
+#### set_heap_pages - 1
+
+<details><summary><code>set_heap_pages(pages)</code></summary>
+
+Taking 0.0178 % of a block.
+
+```rust
+pages: u64
+```
+</details>
+
+See [Pallet::set_heap_pages](./doc/frame_system/pallet/struct.Pallet.html#method.set_heap_pages)
+
+#### set_code - 2
+
+<details><summary><code>set_code(code)</code></summary>
+
+Taking 3.9187 % of a block.
+
+```rust
+code: Vec<u8>
+```
+</details>
+
+See [Pallet::set_code](./doc/frame_system/pallet/struct.Pallet.html#method.set_code)
+
+#### set_code_without_checks - 3
+
+<details><summary><code>set_code_without_checks(code)</code></summary>
+
+No weight available.
+
+```rust
+code: Vec<u8>
+```
+</details>
+
+See [Pallet::set_code_without_checks](./doc/frame_system/pallet/struct.Pallet.html#method.set_code_without_checks)
+
+#### set_storage - 4
+
+<details><summary><code>set_storage(items)</code></summary>
+
+Taking 6.4116 % of a block.
+
+```rust
+items: Vec<KeyValue>
+```
+</details>
+
+See [Pallet::set_storage](./doc/frame_system/pallet/struct.Pallet.html#method.set_storage)
+
+#### kill_storage - 5
+
+<details><summary><code>kill_storage(keys)</code></summary>
+
+Taking 6.403 % of a block.
+
+```rust
+keys: Vec<Key>
+```
+</details>
+
+See [Pallet::kill_storage](./doc/frame_system/pallet/struct.Pallet.html#method.kill_storage)
+
+#### kill_prefix - 6
+
+<details><summary><code>kill_prefix(prefix, subkeys)</code></summary>
+
+Taking 7.7227 % of a block.
+
+```rust
+prefix: Key
+subkeys: u32
+```
+</details>
+
+See [Pallet::kill_prefix](./doc/frame_system/pallet/struct.Pallet.html#method.kill_prefix)
+
+#### authorize_upgrade - 9
+
+<details><summary><code>authorize_upgrade(code_hash)</code></summary>
+
+Taking 0.0105 % of a block.
+
+```rust
+code_hash: T::Hash
+```
+</details>
+
+See [Pallet::authorize_upgrade](./doc/frame_system/pallet/struct.Pallet.html#method.authorize_upgrade)
+
+#### authorize_upgrade_without_checks - 10
+
+<details><summary><code>authorize_upgrade_without_checks(code_hash)</code></summary>
+
+No weight available.
+
+```rust
+code_hash: T::Hash
+```
+</details>
+
+See [Pallet::authorize_upgrade_without_checks](./doc/frame_system/pallet/struct.Pallet.html#method.authorize_upgrade_without_checks)
+
+#### apply_authorized_upgrade - 11
+
+<details><summary><code>apply_authorized_upgrade(code)</code></summary>
+
+Taking 4.137 % of a block.
+
+```rust
+code: Vec<u8>
+```
+</details>
+
+See [Pallet::apply_authorized_upgrade](./doc/frame_system/pallet/struct.Pallet.html#method.apply_authorized_upgrade)
+
+### Babe - 3
+
+#### plan_config_change - 2
+
+<details><summary><code>plan_config_change(config)</code></summary>
+
+No weight available.
+
+```rust
+config: NextConfigDescriptor
+```
+</details>
+
+See [Pallet::plan_config_change](./doc/pallet_babe/pallet/struct.Pallet.html#method.plan_config_change)
+
+### Balances - 6
+
+#### force_transfer - 2
+
+<details><summary><code>force_transfer(source, dest, value)</code></summary>
+
+Taking 0.0289 % of a block.
+
+```rust
+source: AccountIdLookupOf<T>
+dest: AccountIdLookupOf<T>
+value: T::Balance
+```
+</details>
+
+See [Pallet::force_transfer](./doc/pallet_balances/pallet/struct.Pallet.html#method.force_transfer)
+
+#### force_unreserve - 5
+
+<details><summary><code>force_unreserve(who, amount)</code></summary>
+
+Taking 0.0119 % of a block.
+
+```rust
+who: AccountIdLookupOf<T>
+amount: T::Balance
+```
+</details>
+
+See [Pallet::force_unreserve](./doc/pallet_balances/pallet/struct.Pallet.html#method.force_unreserve)
+
+### AuthorityMembers - 11
+
+#### remove_member - 3
+
+<details><summary><code>remove_member(member_id)</code></summary>
+
+Taking 0.0768 % of a block.
+
+```rust
+member_id: T::MemberId
+```
+</details>
+
+See [Pallet::remove_member](./doc/pallet_authority_members/pallet/struct.Pallet.html#method.remove_member)
+
+### Grandpa - 16
+
+#### note_stalled - 2
+
+<details><summary><code>note_stalled(delay, best_finalized_block_number)</code></summary>
+
+No weight available.
+
+```rust
+delay: BlockNumberFor<T>
+best_finalized_block_number: BlockNumberFor<T>
+```
+</details>
+
+See [Pallet::note_stalled](./doc/pallet_grandpa/pallet/struct.Pallet.html#method.note_stalled)
+
+### TechnicalCommittee - 23
+
+#### set_members - 0
+
+<details><summary><code>set_members(new_members, prime, old_count)</code></summary>
+
+Taking 0.1828 % of a block.
+
+```rust
+new_members: Vec<T::AccountId>
+prime: Option<T::AccountId>
+old_count: MemberCount
+```
+</details>
+
+See [Pallet::set_members](./doc/pallet_collective/pallet/struct.Pallet.html#method.set_members)
+
+#### disapprove_proposal - 5
+
+<details><summary><code>disapprove_proposal(proposal_hash)</code></summary>
+
+Taking 0.0247 % of a block.
+
+```rust
+proposal_hash: T::Hash
+```
+</details>
+
+See [Pallet::disapprove_proposal](./doc/pallet_collective/pallet/struct.Pallet.html#method.disapprove_proposal)
+
+### Identity - 41
+
+#### prune_item_identities_names - 6
+
+<details><summary><code>prune_item_identities_names(names)</code></summary>
+
+Taking 6.4472 % of a block.
+
+```rust
+names: Vec<IdtyName>
+```
+</details>
+
+See [Pallet::prune_item_identities_names](./doc/pallet_identity/pallet/struct.Pallet.html#method.prune_item_identities_names)
+
+### Utility - 54
+
+#### dispatch_as - 3
+
+<details><summary><code>dispatch_as(as_origin, call)</code></summary>
+
+Taking 0.0038 % of a block.
+
+```rust
+as_origin: Box<T::PalletsOrigin>
+call: Box<<T as Config>::RuntimeCall>
+```
+</details>
+
+See [Pallet::dispatch_as](./doc/pallet_utility/pallet/struct.Pallet.html#method.dispatch_as)
+
+
+
+
+
+
+## Disabled calls
+
+There are **4** disabled calls from **2** pallets.
+
+### System - 0
+
+#### remark - 0
+
+<details><summary><code>remark(remark)</code></summary>
+
+Taking 0.0536 % of a block.
+
+```rust
+remark: Vec<u8>
+```
+</details>
+
+See [Pallet::remark](./doc/frame_system/pallet/struct.Pallet.html#method.remark)
+
+#### remark_with_event - 7
+
+<details><summary><code>remark_with_event(remark)</code></summary>
+
+Taking 0.2032 % of a block.
+
+```rust
+remark: Vec<u8>
+```
+</details>
+
+See [Pallet::remark_with_event](./doc/frame_system/pallet/struct.Pallet.html#method.remark_with_event)
+
+### Session - 15
+
+#### set_keys - 0
+
+<details><summary><code>set_keys(keys, proof)</code></summary>
+
+Taking 0.0431 % of a block.
+
+```rust
+keys: T::Keys
+proof: Vec<u8>
+```
+</details>
+
+See [Pallet::set_keys](./doc/pallet_session/pallet/struct.Pallet.html#method.set_keys)
+
+#### purge_keys - 1
+
+<details><summary><code>purge_keys()</code></summary>
+
+Taking 0.0375 % of a block.
+
+```rust
+```
+</details>
+
+See [Pallet::purge_keys](./doc/pallet_session/pallet/struct.Pallet.html#method.purge_keys)
+
diff --git a/docs/api/runtime-errors.md b/docs/api/runtime-errors.md
new file mode 100644
index 000000000..cda156bf5
--- /dev/null
+++ b/docs/api/runtime-errors.md
@@ -0,0 +1,1469 @@
+# Runtime errors
+
+There are **188** errors from **35** pallets.
+
+<ul>
+<li>System - 0
+<ul>
+<li>
+<details>
+<summary>
+<code>InvalidSpecName</code> - 0</summary>
+The name of specification does not match between the current runtime
+and the new runtime.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SpecVersionNeedsToIncrease</code> - 1</summary>
+The specification version is not allowed to decrease between the current runtime
+and the new runtime.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>FailedToExtractRuntimeVersion</code> - 2</summary>
+Failed to extract the runtime version from the new runtime.
+
+Either calling `Core_version` or decoding `RuntimeVersion` failed.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NonDefaultComposite</code> - 3</summary>
+Suicide called when the account has non-default composite data.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NonZeroRefCount</code> - 4</summary>
+There is a non-zero reference count preventing the account from being purged.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallFiltered</code> - 5</summary>
+The origin filter prevent the call to be dispatched.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NothingAuthorized</code> - 6</summary>
+No upgrade authorized.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Unauthorized</code> - 7</summary>
+The submitted code is not authorized.
+</details>
+</li>
+</ul>
+</li>
+<li>Account - 1
+<ul>
+</ul>
+</li>
+<li>Scheduler - 2
+<ul>
+<li>
+<details>
+<summary>
+<code>FailedToSchedule</code> - 0</summary>
+Failed to schedule a call
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotFound</code> - 1</summary>
+Cannot find the scheduled call.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TargetBlockNumberInPast</code> - 2</summary>
+Given target block number is in the past.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>RescheduleNoChange</code> - 3</summary>
+Reschedule failed because it does not change scheduled time.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Named</code> - 4</summary>
+Attempt to use a non-named function on a named task.
+</details>
+</li>
+</ul>
+</li>
+<li>Babe - 3
+<ul>
+<li>
+<details>
+<summary>
+<code>InvalidEquivocationProof</code> - 0</summary>
+An equivocation proof provided as part of an equivocation report is invalid.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidKeyOwnershipProof</code> - 1</summary>
+A key ownership proof provided as part of an equivocation report is invalid.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicateOffenceReport</code> - 2</summary>
+A given equivocation report is valid but already previously reported.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidConfiguration</code> - 3</summary>
+Submitted configuration is invalid.
+</details>
+</li>
+</ul>
+</li>
+<li>Timestamp - 4
+<ul>
+</ul>
+</li>
+<li>Parameters - 5
+<ul>
+</ul>
+</li>
+<li>Balances - 6
+<ul>
+<li>
+<details>
+<summary>
+<code>VestingBalance</code> - 0</summary>
+Vesting balance too high to send value.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>LiquidityRestrictions</code> - 1</summary>
+Account liquidity restrictions prevent withdrawal.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InsufficientBalance</code> - 2</summary>
+Balance too low to send value.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ExistentialDeposit</code> - 3</summary>
+Value too low to create account due to existential deposit.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Expendability</code> - 4</summary>
+Transfer/payment would kill account.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ExistingVestingSchedule</code> - 5</summary>
+A vesting schedule already exists for this account.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DeadAccount</code> - 6</summary>
+Beneficiary account must pre-exist.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyReserves</code> - 7</summary>
+Number of named reserves exceed `MaxReserves`.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyHolds</code> - 8</summary>
+Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyFreezes</code> - 9</summary>
+Number of freezes exceed `MaxFreezes`.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IssuanceDeactivated</code> - 10</summary>
+The issuance cannot be modified since it is already deactivated.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DeltaZero</code> - 11</summary>
+The delta cannot be zero.
+</details>
+</li>
+</ul>
+</li>
+<li>TransactionPayment - 32
+<ul>
+</ul>
+</li>
+<li>OneshotAccount - 7
+<ul>
+<li>
+<details>
+<summary>
+<code>BlockHeightInFuture</code> - 0</summary>
+Block height is in the future.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>BlockHeightTooOld</code> - 1</summary>
+Block height is too old.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DestAccountNotExist</code> - 2</summary>
+Destination account does not exist.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ExistentialDeposit</code> - 3</summary>
+Destination account has a balance less than the existential deposit.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InsufficientBalance</code> - 4</summary>
+Source account has insufficient balance.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OneshotAccountAlreadyCreated</code> - 5</summary>
+Destination oneshot account already exists.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OneshotAccountNotExist</code> - 6</summary>
+Source oneshot account does not exist.
+</details>
+</li>
+</ul>
+</li>
+<li>Quota - 66
+<ul>
+</ul>
+</li>
+<li>SmithMembers - 10
+<ul>
+<li>
+<details>
+<summary>
+<code>OriginMustHaveAnIdentity</code> - 0</summary>
+Issuer of anything (invitation, acceptance, certification) must have an identity ID
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OriginHasNeverBeenInvited</code> - 1</summary>
+Issuer must be known as a potential smith
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationIsASmithPrivilege</code> - 2</summary>
+Invitation is reseverd to smiths
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationIsAOnlineSmithPrivilege</code> - 3</summary>
+Invitation is reseverd to online smiths
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationAlreadyAccepted</code> - 4</summary>
+Invitation must not have been accepted yet
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationOfExistingNonExcluded</code> - 5</summary>
+Invitation of an already known smith is forbidden except if it has been excluded
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationOfNonMember</code> - 6</summary>
+Invitation of a non-member (of the WoT) is forbidden
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationMustBeAgreed</code> - 7</summary>
+Certification cannot be made on someone who has not accepted an invitation
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationOnExcludedIsForbidden</code> - 8</summary>
+Certification cannot be made on excluded
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationIsASmithPrivilege</code> - 9</summary>
+Issuer must be a smith
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationIsAOnlineSmithPrivilege</code> - 10</summary>
+Only online smiths can certify
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationOfSelfIsForbidden</code> - 11</summary>
+Smith cannot certify itself
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationReceiverMustHaveBeenInvited</code> - 12</summary>
+Receiver must be invited by another smith
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationAlreadyExists</code> - 13</summary>
+Receiver must not already have this certification
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertificationStockFullyConsumed</code> - 14</summary>
+A smith has a limited stock of certifications
+</details>
+</li>
+</ul>
+</li>
+<li>AuthorityMembers - 11
+<ul>
+<li>
+<details>
+<summary>
+<code>AlreadyIncoming</code> - 0</summary>
+Member already incoming.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyOnline</code> - 1</summary>
+Member already online.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyOutgoing</code> - 2</summary>
+Member already outgoing.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberIdNotFound</code> - 3</summary>
+Owner key is invalid as a member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberBlacklisted</code> - 4</summary>
+Member is blacklisted.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberNotBlacklisted</code> - 5</summary>
+Member is not blacklisted.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberNotFound</code> - 6</summary>
+Member not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotOnlineNorIncoming</code> - 7</summary>
+Neither online nor scheduled.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotMember</code> - 8</summary>
+Not member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SessionKeysNotProvided</code> - 9</summary>
+Session keys not provided.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyAuthorities</code> - 10</summary>
+Too many authorities.
+</details>
+</li>
+</ul>
+</li>
+<li>Authorship - 12
+<ul>
+</ul>
+</li>
+<li>Offences - 13
+<ul>
+</ul>
+</li>
+<li>Historical - 14
+<ul>
+</ul>
+</li>
+<li>Session - 15
+<ul>
+<li>
+<details>
+<summary>
+<code>InvalidProof</code> - 0</summary>
+Invalid ownership proof.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoAssociatedValidatorId</code> - 1</summary>
+No associated validator ID for account.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicatedKey</code> - 2</summary>
+Registered duplicate key.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoKeys</code> - 3</summary>
+No keys are associated with this account.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoAccount</code> - 4</summary>
+Key setting account is not live, so it's impossible to associate keys.
+</details>
+</li>
+</ul>
+</li>
+<li>Grandpa - 16
+<ul>
+<li>
+<details>
+<summary>
+<code>PauseFailed</code> - 0</summary>
+Attempt to signal GRANDPA pause when the authority set isn't live
+(either paused or already pending pause).
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ResumeFailed</code> - 1</summary>
+Attempt to signal GRANDPA resume when the authority set isn't paused
+(either live or already pending resume).
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ChangePending</code> - 2</summary>
+Attempt to signal GRANDPA change with one already pending.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooSoon</code> - 3</summary>
+Cannot signal forced change so soon after last.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidKeyOwnershipProof</code> - 4</summary>
+A key ownership proof provided as part of an equivocation report is invalid.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidEquivocationProof</code> - 5</summary>
+An equivocation proof provided as part of an equivocation report is invalid.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicateOffenceReport</code> - 6</summary>
+A given equivocation report is valid but already previously reported.
+</details>
+</li>
+</ul>
+</li>
+<li>ImOnline - 17
+<ul>
+<li>
+<details>
+<summary>
+<code>InvalidKey</code> - 0</summary>
+Non existent public key.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicatedHeartbeat</code> - 1</summary>
+Duplicated heartbeat.
+</details>
+</li>
+</ul>
+</li>
+<li>AuthorityDiscovery - 18
+<ul>
+</ul>
+</li>
+<li>Sudo - 20
+<ul>
+<li>
+<details>
+<summary>
+<code>RequireSudo</code> - 0</summary>
+Sender must be the Sudo account.
+</details>
+</li>
+</ul>
+</li>
+<li>UpgradeOrigin - 21
+<ul>
+</ul>
+</li>
+<li>Preimage - 22
+<ul>
+<li>
+<details>
+<summary>
+<code>TooBig</code> - 0</summary>
+Preimage is too large to store on-chain.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyNoted</code> - 1</summary>
+Preimage has already been noted on-chain.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotAuthorized</code> - 2</summary>
+The user is not authorized to perform this action.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotNoted</code> - 3</summary>
+The preimage cannot be removed since it has not yet been noted.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Requested</code> - 4</summary>
+A preimage may not be removed when there are outstanding requests.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotRequested</code> - 5</summary>
+The preimage request cannot be removed since no outstanding requests exist.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooMany</code> - 6</summary>
+More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooFew</code> - 7</summary>
+Too few hashes were requested to be upgraded (i.e. zero).
+</details>
+</li>
+</ul>
+</li>
+<li>TechnicalCommittee - 23
+<ul>
+<li>
+<details>
+<summary>
+<code>NotMember</code> - 0</summary>
+Account is not a member
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicateProposal</code> - 1</summary>
+Duplicate proposals not allowed
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProposalMissing</code> - 2</summary>
+Proposal must exist
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>WrongIndex</code> - 3</summary>
+Mismatched index
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DuplicateVote</code> - 4</summary>
+Duplicate vote ignored
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyInitialized</code> - 5</summary>
+Members are already initialized!
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooEarly</code> - 6</summary>
+The close call was made too early, before the end of the voting.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyProposals</code> - 7</summary>
+There can only be a maximum of `MaxProposals` active proposals.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>WrongProposalWeight</code> - 8</summary>
+The given weight bound for the proposal was too low.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>WrongProposalLength</code> - 9</summary>
+The given length bound for the proposal was too low.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PrimeAccountNotMember</code> - 10</summary>
+Prime account is not a member
+</details>
+</li>
+</ul>
+</li>
+<li>UniversalDividend - 30
+<ul>
+<li>
+<details>
+<summary>
+<code>AccountNotAllowedToClaimUds</code> - 0</summary>
+This account is not allowed to claim UDs.
+</details>
+</li>
+</ul>
+</li>
+<li>Wot - 40
+<ul>
+<li>
+<details>
+<summary>
+<code>NotEnoughCerts</code> - 0</summary>
+Insufficient certifications received.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TargetStatusInvalid</code> - 1</summary>
+Target status is incompatible with this operation.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyCreationPeriodNotRespected</code> - 2</summary>
+Identity creation period not respected.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotEnoughReceivedCertsToCreateIdty</code> - 3</summary>
+Insufficient received certifications to create identity.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MaxEmittedCertsReached</code> - 4</summary>
+Maximum number of emitted certifications reached.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IssuerNotMember</code> - 5</summary>
+Issuer cannot emit a certification because it is not member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyNotFound</code> - 6</summary>
+Issuer or receiver not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MembershipRenewalPeriodNotRespected</code> - 7</summary>
+Membership can only be renewed after an antispam delay.
+</details>
+</li>
+</ul>
+</li>
+<li>Identity - 41
+<ul>
+<li>
+<details>
+<summary>
+<code>IdtyAlreadyConfirmed</code> - 0</summary>
+Identity already confirmed.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyAlreadyCreated</code> - 1</summary>
+Identity already created.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyIndexNotFound</code> - 2</summary>
+Identity index not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyNameAlreadyExist</code> - 3</summary>
+Identity name already exists.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyNameInvalid</code> - 4</summary>
+Invalid identity name.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyNotFound</code> - 5</summary>
+Identity not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidSignature</code> - 6</summary>
+Invalid payload signature.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidRevocationKey</code> - 7</summary>
+Invalid revocation key.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IssuerNotMember</code> - 8</summary>
+Issuer is not member and can not perform this action.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotRespectIdtyCreationPeriod</code> - 9</summary>
+Identity creation period is not respected.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OwnerKeyAlreadyRecentlyChanged</code> - 10</summary>
+Owner key already changed recently.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OwnerKeyAlreadyUsed</code> - 11</summary>
+Owner key already used.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProhibitedToRevertToAnOldKey</code> - 12</summary>
+Reverting to an old key is prohibited.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyRevoked</code> - 13</summary>
+Already revoked.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CanNotRevokeUnconfirmed</code> - 14</summary>
+Can not revoke identity that never was member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CanNotRevokeUnvalidated</code> - 15</summary>
+Can not revoke identity that never was member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AccountNotExist</code> - 16</summary>
+Cannot link to an inexisting account.
+</details>
+</li>
+</ul>
+</li>
+<li>Membership - 42
+<ul>
+<li>
+<details>
+<summary>
+<code>MembershipNotFound</code> - 0</summary>
+Membership not found, can not renew.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyMember</code> - 1</summary>
+Already member, can not add membership.
+</details>
+</li>
+</ul>
+</li>
+<li>Certification - 43
+<ul>
+<li>
+<details>
+<summary>
+<code>OriginMustHaveAnIdentity</code> - 0</summary>
+Issuer of a certification must have an identity
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CannotCertifySelf</code> - 1</summary>
+Identity cannot certify itself.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IssuedTooManyCert</code> - 2</summary>
+Identity has already issued the maximum number of certifications.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotEnoughCertReceived</code> - 3</summary>
+Insufficient certifications received.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotRespectCertPeriod</code> - 4</summary>
+Identity has issued a certification too recently.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertAlreadyExists</code> - 5</summary>
+Can not add an already-existing cert
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertDoesNotExist</code> - 6</summary>
+Can not renew a non-existing cert
+</details>
+</li>
+</ul>
+</li>
+<li>Distance - 44
+<ul>
+<li>
+<details>
+<summary>
+<code>AlreadyInEvaluation</code> - 0</summary>
+Distance is already under evaluation.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyEvaluationsByAuthor</code> - 1</summary>
+Too many evaluations requested by author.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyEvaluationsInBlock</code> - 2</summary>
+Too many evaluations for this block.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoAuthor</code> - 3</summary>
+No author for this block.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallerHasNoIdentity</code> - 4</summary>
+Caller has no identity.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallerIdentityNotFound</code> - 5</summary>
+Caller identity not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallerNotMember</code> - 6</summary>
+Caller not member.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallerStatusInvalid</code> - 7</summary>
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TargetIdentityNotFound</code> - 8</summary>
+Target identity not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>QueueFull</code> - 9</summary>
+Evaluation queue is full.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyEvaluators</code> - 10</summary>
+Too many evaluators in the current evaluation pool.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>WrongResultLength</code> - 11</summary>
+Evaluation result has a wrong length.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TargetMustBeUnvalidated</code> - 12</summary>
+Targeted distance evaluation request is only possible for an unvalidated identity.
+</details>
+</li>
+</ul>
+</li>
+<li>AtomicSwap - 50
+<ul>
+<li>
+<details>
+<summary>
+<code>AlreadyExist</code> - 0</summary>
+Swap already exists.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidProof</code> - 1</summary>
+Swap proof is invalid.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProofTooLarge</code> - 2</summary>
+Proof is too large.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SourceMismatch</code> - 3</summary>
+Source does not match.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyClaimed</code> - 4</summary>
+Swap has already been claimed.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotExist</code> - 5</summary>
+Swap does not exist.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ClaimActionMismatch</code> - 6</summary>
+Claim action mismatch.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DurationNotPassed</code> - 7</summary>
+Duration has not yet passed for the swap to be cancelled.
+</details>
+</li>
+</ul>
+</li>
+<li>Multisig - 51
+<ul>
+<li>
+<details>
+<summary>
+<code>MinimumThreshold</code> - 0</summary>
+Threshold must be 2 or greater.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyApproved</code> - 1</summary>
+Call is already approved by this signatory.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoApprovalsNeeded</code> - 2</summary>
+Call doesn't need any (more) approvals.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooFewSignatories</code> - 3</summary>
+There are too few signatories in the list.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManySignatories</code> - 4</summary>
+There are too many signatories in the list.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SignatoriesOutOfOrder</code> - 5</summary>
+The signatories were provided out of order; they should be ordered.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SenderInSignatories</code> - 6</summary>
+The sender was contained in the other signatories; it shouldn't be.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotFound</code> - 7</summary>
+Multisig operation not found when attempting to cancel.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotOwner</code> - 8</summary>
+Only the account that originally created the multisig is able to cancel it.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoTimepoint</code> - 9</summary>
+No timepoint was given, yet the multisig operation is already underway.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>WrongTimepoint</code> - 10</summary>
+A different timepoint was given to the multisig operation that is underway.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UnexpectedTimepoint</code> - 11</summary>
+A timepoint was given, yet no multisig operation is underway.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MaxWeightTooLow</code> - 12</summary>
+The maximum weight information provided was too low.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyStored</code> - 13</summary>
+The data to be stored is already stored.
+</details>
+</li>
+</ul>
+</li>
+<li>ProvideRandomness - 52
+<ul>
+<li>
+<details>
+<summary>
+<code>QueueFull</code> - 0</summary>
+Request randomness queue is full.
+</details>
+</li>
+</ul>
+</li>
+<li>Proxy - 53
+<ul>
+<li>
+<details>
+<summary>
+<code>TooMany</code> - 0</summary>
+There are too many proxies registered or too many announcements pending.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotFound</code> - 1</summary>
+Proxy registration not found.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotProxy</code> - 2</summary>
+Sender is not a proxy of the account to be proxied.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Unproxyable</code> - 3</summary>
+A call which is incompatible with the proxy type's filter was attempted.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Duplicate</code> - 4</summary>
+Account is already a proxy.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoPermission</code> - 5</summary>
+Call may not be made by proxy because it may escalate its privileges.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Unannounced</code> - 6</summary>
+Announcement, if made at all, was made too recently.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoSelfProxy</code> - 7</summary>
+Cannot add self as proxy.
+</details>
+</li>
+</ul>
+</li>
+<li>Utility - 54
+<ul>
+<li>
+<details>
+<summary>
+<code>TooManyCalls</code> - 0</summary>
+Too many calls batched.
+</details>
+</li>
+</ul>
+</li>
+<li>Treasury - 55
+<ul>
+<li>
+<details>
+<summary>
+<code>InsufficientProposersBalance</code> - 0</summary>
+Proposer's balance is too low.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvalidIndex</code> - 1</summary>
+No proposal, bounty or spend at that index.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TooManyApprovals</code> - 2</summary>
+Too many approvals in the queue.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InsufficientPermission</code> - 3</summary>
+The spend origin is valid but the amount it is allowed to spend is lower than the
+amount to be spent.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProposalNotApproved</code> - 4</summary>
+Proposal has not been approved.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>FailedToConvertBalance</code> - 5</summary>
+The balance of the asset kind is not convertible to the balance of the native asset.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SpendExpired</code> - 6</summary>
+The spend has expired and cannot be claimed.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>EarlyPayout</code> - 7</summary>
+The spend is not yet eligible for payout.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AlreadyAttempted</code> - 8</summary>
+The payment has already been attempted.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PayoutError</code> - 9</summary>
+There was some issue with the mechanism of payment.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NotAttempted</code> - 10</summary>
+The payout was not yet attempted/claimed.
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Inconclusive</code> - 11</summary>
+The payment has neither failed nor succeeded yet.
+</details>
+</li>
+</ul>
+</li>
+</ul>
\ No newline at end of file
diff --git a/docs/api/runtime-events.md b/docs/api/runtime-events.md
new file mode 100644
index 000000000..067cedb43
--- /dev/null
+++ b/docs/api/runtime-events.md
@@ -0,0 +1,1905 @@
+# Runtime events
+
+There are **135** events from **35** pallets.
+
+<ul>
+<li>System - 0
+<ul>
+<li>
+<details>
+<summary>
+<code>ExtrinsicSuccess(dispatch_info)</code> - 0</summary>
+An extrinsic completed successfully.
+
+```rust
+dispatch_info: DispatchInfo
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ExtrinsicFailed(dispatch_error, dispatch_info)</code> - 1</summary>
+An extrinsic failed.
+
+```rust
+dispatch_error: DispatchError
+dispatch_info: DispatchInfo
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CodeUpdated()</code> - 2</summary>
+`:code` was updated.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NewAccount(account)</code> - 3</summary>
+A new account was created.
+
+```rust
+account: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>KilledAccount(account)</code> - 4</summary>
+An account was reaped.
+
+```rust
+account: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Remarked(sender, hash)</code> - 5</summary>
+On on-chain remark happened.
+
+```rust
+sender: T::AccountId
+hash: T::Hash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UpgradeAuthorized(code_hash, check_version)</code> - 6</summary>
+An upgrade was authorized.
+
+```rust
+code_hash: T::Hash
+check_version: bool
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Account - 1
+<ul>
+<li>
+<details>
+<summary>
+<code>AccountLinked(who, identity)</code> - 0</summary>
+account linked to identity
+
+```rust
+who: T::AccountId
+identity: IdtyIdOf<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AccountUnlinked()</code> - 1</summary>
+The account was unlinked from its identity.
+
+```rust
+: T::AccountId
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Scheduler - 2
+<ul>
+<li>
+<details>
+<summary>
+<code>Scheduled(when, index)</code> - 0</summary>
+Scheduled some task.
+
+```rust
+when: BlockNumberFor<T>
+index: u32
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Canceled(when, index)</code> - 1</summary>
+Canceled some task.
+
+```rust
+when: BlockNumberFor<T>
+index: u32
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Dispatched(task, id, result)</code> - 2</summary>
+Dispatched some task.
+
+```rust
+task: TaskAddress<BlockNumberFor<T>>
+id: Option<TaskName>
+result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CallUnavailable(task, id)</code> - 3</summary>
+The call for the provided hash was not found so the task has been aborted.
+
+```rust
+task: TaskAddress<BlockNumberFor<T>>
+id: Option<TaskName>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PeriodicFailed(task, id)</code> - 4</summary>
+The given task was unable to be renewed since the agenda is full at that block.
+
+```rust
+task: TaskAddress<BlockNumberFor<T>>
+id: Option<TaskName>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PermanentlyOverweight(task, id)</code> - 5</summary>
+The given task can never be executed since it is overweight.
+
+```rust
+task: TaskAddress<BlockNumberFor<T>>
+id: Option<TaskName>
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Babe - 3
+<ul>
+</ul>
+</li>
+<li>Timestamp - 4
+<ul>
+</ul>
+</li>
+<li>Parameters - 5
+<ul>
+</ul>
+</li>
+<li>Balances - 6
+<ul>
+<li>
+<details>
+<summary>
+<code>Endowed(account, free_balance)</code> - 0</summary>
+An account was created with some free balance.
+
+```rust
+account: T::AccountId
+free_balance: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DustLost(account, amount)</code> - 1</summary>
+An account was removed whose balance was non-zero but below ExistentialDeposit,
+resulting in an outright loss.
+
+```rust
+account: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Transfer(from, to, amount)</code> - 2</summary>
+Transfer succeeded.
+
+```rust
+from: T::AccountId
+to: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>BalanceSet(who, free)</code> - 3</summary>
+A balance was set by root.
+
+```rust
+who: T::AccountId
+free: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Reserved(who, amount)</code> - 4</summary>
+Some balance was reserved (moved from free to reserved).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Unreserved(who, amount)</code> - 5</summary>
+Some balance was unreserved (moved from reserved to free).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ReserveRepatriated(from, to, amount, destination_status)</code> - 6</summary>
+Some balance was moved from the reserve of the first account to the second account.
+Final argument indicates the destination balance type.
+
+```rust
+from: T::AccountId
+to: T::AccountId
+amount: T::Balance
+destination_status: Status
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Deposit(who, amount)</code> - 7</summary>
+Some amount was deposited (e.g. for transaction fees).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Withdraw(who, amount)</code> - 8</summary>
+Some amount was withdrawn from the account (e.g. for transaction fees).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Slashed(who, amount)</code> - 9</summary>
+Some amount was removed from the account (e.g. for misbehavior).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Minted(who, amount)</code> - 10</summary>
+Some amount was minted into an account.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Burned(who, amount)</code> - 11</summary>
+Some amount was burned from an account.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Suspended(who, amount)</code> - 12</summary>
+Some amount was suspended from an account (it can be restored later).
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Restored(who, amount)</code> - 13</summary>
+Some amount was restored into an account.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Upgraded(who)</code> - 14</summary>
+An account was upgraded.
+
+```rust
+who: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Issued(amount)</code> - 15</summary>
+Total issuance was increased by `amount`, creating a credit to be balanced.
+
+```rust
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Rescinded(amount)</code> - 16</summary>
+Total issuance was decreased by `amount`, creating a debt to be balanced.
+
+```rust
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Locked(who, amount)</code> - 17</summary>
+Some balance was locked.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Unlocked(who, amount)</code> - 18</summary>
+Some balance was unlocked.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Frozen(who, amount)</code> - 19</summary>
+Some balance was frozen.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Thawed(who, amount)</code> - 20</summary>
+Some balance was thawed.
+
+```rust
+who: T::AccountId
+amount: T::Balance
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>TotalIssuanceForced(old, new)</code> - 21</summary>
+The `TotalIssuance` was forcefully changed.
+
+```rust
+old: T::Balance
+new: T::Balance
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>TransactionPayment - 32
+<ul>
+<li>
+<details>
+<summary>
+<code>TransactionFeePaid(who, actual_fee, tip)</code> - 0</summary>
+A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,
+has been paid by `who`.
+
+```rust
+who: T::AccountId
+actual_fee: BalanceOf<T>
+tip: BalanceOf<T>
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>OneshotAccount - 7
+<ul>
+<li>
+<details>
+<summary>
+<code>OneshotAccountCreated(account, balance, creator)</code> - 0</summary>
+A oneshot account was created.
+
+```rust
+account: T::AccountId
+balance: <T::Currency as Currency<T::AccountId>>::Balance
+creator: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OneshotAccountConsumed(account, dest1, dest2)</code> - 1</summary>
+A oneshot account was consumed.
+
+```rust
+account: T::AccountId
+dest1: (T::AccountId,<T::Currency as Currency<T::AccountId>>::Balance,)
+dest2: Option<
+(T::AccountId,<T::Currency as Currency<T::AccountId>>::Balance,)
+>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Withdraw(account, balance)</code> - 2</summary>
+A withdrawal was executed on a oneshot account.
+
+```rust
+account: T::AccountId
+balance: <T::Currency as Currency<T::AccountId>>::Balance
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Quota - 66
+<ul>
+<li>
+<details>
+<summary>
+<code>Refunded(who, identity, amount)</code> - 0</summary>
+Transaction fees were refunded.
+
+```rust
+who: T::AccountId
+identity: IdtyId<T>
+amount: BalanceOf<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoQuotaForIdty()</code> - 1</summary>
+No more quota available for refund.
+
+```rust
+: IdtyId<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>NoMoreCurrencyForRefund()</code> - 2</summary>
+No more currency available for refund.
+This scenario should never occur if the fees are intended for the refund account.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>RefundFailed()</code> - 3</summary>
+The refund has failed.
+This scenario should rarely occur, except when the account was destroyed in the interim between the request and the refund.
+
+```rust
+: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>RefundQueueFull()</code> - 4</summary>
+Refund queue was full.
+
+```rust
+no args
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>SmithMembers - 10
+<ul>
+<li>
+<details>
+<summary>
+<code>InvitationSent(receiver, issuer)</code> - 0</summary>
+An identity is being inivited to become a smith.
+
+```rust
+receiver: T::IdtyIndex
+issuer: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>InvitationAccepted(idty_index)</code> - 1</summary>
+The invitation has been accepted.
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SmithCertAdded(receiver, issuer)</code> - 2</summary>
+Certification received
+
+```rust
+receiver: T::IdtyIndex
+issuer: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SmithCertRemoved(receiver, issuer)</code> - 3</summary>
+Certification lost
+
+```rust
+receiver: T::IdtyIndex
+issuer: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SmithMembershipAdded(idty_index)</code> - 4</summary>
+A smith gathered enough certifications to become an authority (can call `go_online()`).
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SmithMembershipRemoved(idty_index)</code> - 5</summary>
+A smith has been removed from the smiths set.
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>AuthorityMembers - 11
+<ul>
+<li>
+<details>
+<summary>
+<code>IncomingAuthorities(members)</code> - 0</summary>
+List of members scheduled to join the set of authorities in the next session.
+
+```rust
+members: Vec<T::MemberId>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>OutgoingAuthorities(members)</code> - 1</summary>
+List of members leaving the set of authorities in the next session.
+
+```rust
+members: Vec<T::MemberId>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberGoOffline(member)</code> - 2</summary>
+A member will leave the set of authorities in 2 sessions.
+
+```rust
+member: T::MemberId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberGoOnline(member)</code> - 3</summary>
+A member will join the set of authorities in 2 sessions.
+
+```rust
+member: T::MemberId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberRemoved(member)</code> - 4</summary>
+A member, who no longer has authority rights, will be removed from the authority set in 2 sessions.
+
+```rust
+member: T::MemberId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberRemovedFromBlacklist(member)</code> - 5</summary>
+A member has been removed from the blacklist.
+
+```rust
+member: T::MemberId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberAddedToBlacklist(member)</code> - 6</summary>
+A member has been blacklisted.
+
+```rust
+member: T::MemberId
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Authorship - 12
+<ul>
+</ul>
+</li>
+<li>Offences - 13
+<ul>
+<li>
+<details>
+<summary>
+<code>Offence(kind, timeslot)</code> - 0</summary>
+An offense was reported during the specified time slot. This event is not deposited for duplicate slashes.
+
+```rust
+kind: Kind
+timeslot: OpaqueTimeSlot
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Historical - 14
+<ul>
+</ul>
+</li>
+<li>Session - 15
+<ul>
+<li>
+<details>
+<summary>
+<code>NewSession(session_index)</code> - 0</summary>
+New session has happened. Note that the argument is the session index, not the
+block number as the type might suggest.
+
+```rust
+session_index: SessionIndex
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Grandpa - 16
+<ul>
+<li>
+<details>
+<summary>
+<code>NewAuthorities(authority_set)</code> - 0</summary>
+New authority set has been applied.
+
+```rust
+authority_set: AuthorityList
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Paused()</code> - 1</summary>
+Current authority set has been paused.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Resumed()</code> - 2</summary>
+Current authority set has been resumed.
+
+```rust
+no args
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>ImOnline - 17
+<ul>
+<li>
+<details>
+<summary>
+<code>HeartbeatReceived(authority_id)</code> - 0</summary>
+A new heartbeat was received from `AuthorityId`.
+
+```rust
+authority_id: T::AuthorityId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AllGood()</code> - 1</summary>
+At the end of the session, no offence was committed.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SomeOffline(offline)</code> - 2</summary>
+At the end of the session, at least one validator was found to be offline.
+
+```rust
+offline: Vec<IdentificationTuple<T>>
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>AuthorityDiscovery - 18
+<ul>
+</ul>
+</li>
+<li>Sudo - 20
+<ul>
+<li>
+<details>
+<summary>
+<code>Sudid(sudo_result)</code> - 0</summary>
+A sudo call just took place.
+
+```rust
+sudo_result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>KeyChanged(old, new)</code> - 1</summary>
+The sudo key has been updated.
+
+```rust
+old: Option<T::AccountId>
+new: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>KeyRemoved()</code> - 2</summary>
+The key was permanently removed.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SudoAsDone(sudo_result)</code> - 3</summary>
+A [sudo_as](Pallet::sudo_as) call just took place.
+
+```rust
+sudo_result: DispatchResult
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>UpgradeOrigin - 21
+<ul>
+<li>
+<details>
+<summary>
+<code>DispatchedAsRoot(result)</code> - 0</summary>
+A call was dispatched as root from an upgradable origin
+
+```rust
+result: DispatchResult
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Preimage - 22
+<ul>
+<li>
+<details>
+<summary>
+<code>Noted(hash)</code> - 0</summary>
+A preimage has been noted.
+
+```rust
+hash: T::Hash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Requested(hash)</code> - 1</summary>
+A preimage has been requested.
+
+```rust
+hash: T::Hash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Cleared(hash)</code> - 2</summary>
+A preimage has ben cleared.
+
+```rust
+hash: T::Hash
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>TechnicalCommittee - 23
+<ul>
+<li>
+<details>
+<summary>
+<code>Proposed(account, proposal_index, proposal_hash, threshold)</code> - 0</summary>
+A motion (given hash) has been proposed (by given account) with a threshold (given
+`MemberCount`).
+
+```rust
+account: T::AccountId
+proposal_index: ProposalIndex
+proposal_hash: T::Hash
+threshold: MemberCount
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Voted(account, proposal_hash, voted, yes, no)</code> - 1</summary>
+A motion (given hash) has been voted on by given account, leaving
+a tally (yes votes and no votes given respectively as `MemberCount`).
+
+```rust
+account: T::AccountId
+proposal_hash: T::Hash
+voted: bool
+yes: MemberCount
+no: MemberCount
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Approved(proposal_hash)</code> - 2</summary>
+A motion was approved by the required threshold.
+
+```rust
+proposal_hash: T::Hash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Disapproved(proposal_hash)</code> - 3</summary>
+A motion was not approved by the required threshold.
+
+```rust
+proposal_hash: T::Hash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Executed(proposal_hash, result)</code> - 4</summary>
+A motion was executed; result will be `Ok` if it returned without error.
+
+```rust
+proposal_hash: T::Hash
+result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MemberExecuted(proposal_hash, result)</code> - 5</summary>
+A single member did some action; result will be `Ok` if it returned without error.
+
+```rust
+proposal_hash: T::Hash
+result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Closed(proposal_hash, yes, no)</code> - 6</summary>
+A proposal was closed because its threshold was reached or after its duration was up.
+
+```rust
+proposal_hash: T::Hash
+yes: MemberCount
+no: MemberCount
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>UniversalDividend - 30
+<ul>
+<li>
+<details>
+<summary>
+<code>NewUdCreated(amount, index, monetary_mass, members_count)</code> - 0</summary>
+A new universal dividend is created.
+
+```rust
+amount: BalanceOf<T>
+index: UdIndex
+monetary_mass: BalanceOf<T>
+members_count: BalanceOf<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UdReevalued(new_ud_amount, monetary_mass, members_count)</code> - 1</summary>
+The universal dividend has been re-evaluated.
+
+```rust
+new_ud_amount: BalanceOf<T>
+monetary_mass: BalanceOf<T>
+members_count: BalanceOf<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UdsAutoPaid(count, total, who)</code> - 2</summary>
+DUs were automatically transferred as part of a member removal.
+
+```rust
+count: UdIndex
+total: BalanceOf<T>
+who: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UdsClaimed(count, total, who)</code> - 3</summary>
+A member claimed his UDs.
+
+```rust
+count: UdIndex
+total: BalanceOf<T>
+who: T::AccountId
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Wot - 40
+<ul>
+</ul>
+</li>
+<li>Identity - 41
+<ul>
+<li>
+<details>
+<summary>
+<code>IdtyCreated(idty_index, owner_key)</code> - 0</summary>
+A new identity has been created.
+
+```rust
+idty_index: T::IdtyIndex
+owner_key: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyConfirmed(idty_index, owner_key, name)</code> - 1</summary>
+An identity has been confirmed by its owner.
+
+```rust
+idty_index: T::IdtyIndex
+owner_key: T::AccountId
+name: IdtyName
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyValidated(idty_index)</code> - 2</summary>
+An identity has been validated.
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyChangedOwnerKey(idty_index, new_owner_key)</code> - 3</summary>
+
+
+```rust
+idty_index: T::IdtyIndex
+new_owner_key: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyRevoked(idty_index, reason)</code> - 4</summary>
+An identity has been revoked.
+
+```rust
+idty_index: T::IdtyIndex
+reason: RevocationReason
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>IdtyRemoved(idty_index, reason)</code> - 5</summary>
+An identity has been removed.
+
+```rust
+idty_index: T::IdtyIndex
+reason: RemovalReason
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Membership - 42
+<ul>
+<li>
+<details>
+<summary>
+<code>MembershipAdded(member, expire_on)</code> - 0</summary>
+A membership was added.
+
+```rust
+member: T::IdtyId
+expire_on: BlockNumberFor<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MembershipRenewed(member, expire_on)</code> - 1</summary>
+A membership was renewed.
+
+```rust
+member: T::IdtyId
+expire_on: BlockNumberFor<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MembershipRemoved(member, reason)</code> - 2</summary>
+A membership was removed.
+
+```rust
+member: T::IdtyId
+reason: MembershipRemovalReason
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Certification - 43
+<ul>
+<li>
+<details>
+<summary>
+<code>CertAdded(issuer, receiver)</code> - 0</summary>
+A new certification was added.
+
+```rust
+issuer: T::IdtyIndex
+receiver: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertRemoved(issuer, receiver, expiration)</code> - 1</summary>
+A certification was removed.
+
+```rust
+issuer: T::IdtyIndex
+receiver: T::IdtyIndex
+expiration: bool
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>CertRenewed(issuer, receiver)</code> - 2</summary>
+A certification was renewed.
+
+```rust
+issuer: T::IdtyIndex
+receiver: T::IdtyIndex
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Distance - 44
+<ul>
+<li>
+<details>
+<summary>
+<code>EvaluationRequested(idty_index, who)</code> - 0</summary>
+A distance evaluation was requested.
+
+```rust
+idty_index: T::IdtyIndex
+who: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>EvaluatedValid(idty_index)</code> - 1</summary>
+Distance rule was found valid.
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>EvaluatedInvalid(idty_index)</code> - 2</summary>
+Distance rule was found invalid.
+
+```rust
+idty_index: T::IdtyIndex
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>AtomicSwap - 50
+<ul>
+<li>
+<details>
+<summary>
+<code>NewSwap(account, proof, swap)</code> - 0</summary>
+Swap created.
+
+```rust
+account: T::AccountId
+proof: HashedProof
+swap: PendingSwap<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SwapClaimed(account, proof, success)</code> - 1</summary>
+Swap claimed. The last parameter indicates whether the execution succeeds.
+
+```rust
+account: T::AccountId
+proof: HashedProof
+success: bool
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SwapCancelled(account, proof)</code> - 2</summary>
+Swap cancelled.
+
+```rust
+account: T::AccountId
+proof: HashedProof
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Multisig - 51
+<ul>
+<li>
+<details>
+<summary>
+<code>NewMultisig(approving, multisig, call_hash)</code> - 0</summary>
+A new multisig operation has begun.
+
+```rust
+approving: T::AccountId
+multisig: T::AccountId
+call_hash: CallHash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MultisigApproval(approving, timepoint, multisig, call_hash)</code> - 1</summary>
+A multisig operation has been approved by someone.
+
+```rust
+approving: T::AccountId
+timepoint: Timepoint<BlockNumberFor<T>>
+multisig: T::AccountId
+call_hash: CallHash
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MultisigExecuted(approving, timepoint, multisig, call_hash, result)</code> - 2</summary>
+A multisig operation has been executed.
+
+```rust
+approving: T::AccountId
+timepoint: Timepoint<BlockNumberFor<T>>
+multisig: T::AccountId
+call_hash: CallHash
+result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>MultisigCancelled(cancelling, timepoint, multisig, call_hash)</code> - 3</summary>
+A multisig operation has been cancelled.
+
+```rust
+cancelling: T::AccountId
+timepoint: Timepoint<BlockNumberFor<T>>
+multisig: T::AccountId
+call_hash: CallHash
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>ProvideRandomness - 52
+<ul>
+<li>
+<details>
+<summary>
+<code>FilledRandomness(request_id, randomness)</code> - 0</summary>
+A request for randomness was fulfilled.
+
+```rust
+request_id: RequestId
+randomness: H256
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>RequestedRandomness(request_id, salt, r#type)</code> - 1</summary>
+A request for randomness was made.
+
+```rust
+request_id: RequestId
+salt: H256
+r#type: RandomnessType
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Proxy - 53
+<ul>
+<li>
+<details>
+<summary>
+<code>ProxyExecuted(result)</code> - 0</summary>
+A proxy was executed correctly, with the given.
+
+```rust
+result: DispatchResult
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PureCreated(pure, who, proxy_type, disambiguation_index)</code> - 1</summary>
+A pure account has been created by new proxy with given
+disambiguation index and proxy type.
+
+```rust
+pure: T::AccountId
+who: T::AccountId
+proxy_type: T::ProxyType
+disambiguation_index: u16
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Announced(real, proxy, call_hash)</code> - 2</summary>
+An announcement was placed to make a call in the future.
+
+```rust
+real: T::AccountId
+proxy: T::AccountId
+call_hash: CallHashOf<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProxyAdded(delegator, delegatee, proxy_type, delay)</code> - 3</summary>
+A proxy was added.
+
+```rust
+delegator: T::AccountId
+delegatee: T::AccountId
+proxy_type: T::ProxyType
+delay: BlockNumberFor<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ProxyRemoved(delegator, delegatee, proxy_type, delay)</code> - 4</summary>
+A proxy was removed.
+
+```rust
+delegator: T::AccountId
+delegatee: T::AccountId
+proxy_type: T::ProxyType
+delay: BlockNumberFor<T>
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Utility - 54
+<ul>
+<li>
+<details>
+<summary>
+<code>BatchInterrupted(index, error)</code> - 0</summary>
+Batch of dispatches did not complete fully. Index of first failing dispatch given, as
+well as the error.
+
+```rust
+index: u32
+error: DispatchError
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>BatchCompleted()</code> - 1</summary>
+Batch of dispatches completed fully with no error.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>BatchCompletedWithErrors()</code> - 2</summary>
+Batch of dispatches completed but has errors.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ItemCompleted()</code> - 3</summary>
+A single item within a Batch of dispatches has completed with no error.
+
+```rust
+no args
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>ItemFailed(error)</code> - 4</summary>
+A single item within a Batch of dispatches has completed with error.
+
+```rust
+error: DispatchError
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>DispatchedAs(result)</code> - 5</summary>
+A call was dispatched.
+
+```rust
+result: DispatchResult
+```
+
+</details>
+</li>
+</ul>
+</li>
+<li>Treasury - 55
+<ul>
+<li>
+<details>
+<summary>
+<code>Proposed(proposal_index)</code> - 0</summary>
+New proposal.
+
+```rust
+proposal_index: ProposalIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Spending(budget_remaining)</code> - 1</summary>
+We have ended a spend period and will now allocate funds.
+
+```rust
+budget_remaining: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Awarded(proposal_index, award, account)</code> - 2</summary>
+Some funds have been allocated.
+
+```rust
+proposal_index: ProposalIndex
+award: BalanceOf<T, I>
+account: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Rejected(proposal_index, slashed)</code> - 3</summary>
+A proposal was rejected; funds were slashed.
+
+```rust
+proposal_index: ProposalIndex
+slashed: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Burnt(burnt_funds)</code> - 4</summary>
+Some of our funds have been burnt.
+
+```rust
+burnt_funds: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Rollover(rollover_balance)</code> - 5</summary>
+Spending has finished; this is the amount that rolls over until next spend.
+
+```rust
+rollover_balance: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Deposit(value)</code> - 6</summary>
+Some funds have been deposited.
+
+```rust
+value: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SpendApproved(proposal_index, amount, beneficiary)</code> - 7</summary>
+A new spend proposal has been approved.
+
+```rust
+proposal_index: ProposalIndex
+amount: BalanceOf<T, I>
+beneficiary: T::AccountId
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>UpdatedInactive(reactivated, deactivated)</code> - 8</summary>
+The inactive funds of the pallet have been updated.
+
+```rust
+reactivated: BalanceOf<T, I>
+deactivated: BalanceOf<T, I>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AssetSpendApproved(index, asset_kind, amount, beneficiary, valid_from, expire_at)</code> - 9</summary>
+A new asset spend proposal has been approved.
+
+```rust
+index: SpendIndex
+asset_kind: T::AssetKind
+amount: AssetBalanceOf<T, I>
+beneficiary: T::Beneficiary
+valid_from: BlockNumberFor<T>
+expire_at: BlockNumberFor<T>
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>AssetSpendVoided(index)</code> - 10</summary>
+An approved spend was voided.
+
+```rust
+index: SpendIndex
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>Paid(index, payment_id)</code> - 11</summary>
+A payment happened.
+
+```rust
+index: SpendIndex
+payment_id: <T::Paymaster as Pay>::Id
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>PaymentFailed(index, payment_id)</code> - 12</summary>
+A payment failed and can be retried.
+
+```rust
+index: SpendIndex
+payment_id: <T::Paymaster as Pay>::Id
+```
+
+</details>
+</li>
+<li>
+<details>
+<summary>
+<code>SpendProcessed(index)</code> - 13</summary>
+A spend was processed and removed from the storage. It might have been successfully
+paid or it may have expired.
+
+```rust
+index: SpendIndex
+```
+
+</details>
+</li>
+</ul>
+</li>
+</ul>
\ No newline at end of file
diff --git a/xtask/res/templates/runtime-calls-category.md b/xtask/res/templates/runtime-calls-category.md
index 40fd4dca2..df9b5ec6c 100644
--- a/xtask/res/templates/runtime-calls-category.md
+++ b/xtask/res/templates/runtime-calls-category.md
@@ -23,7 +23,7 @@ Taking {{ call.weight }} % of a block.
 ```
 </details>
 
-See [Pallet::{{ call.name }}](./doc/{{ pallet.type_name }}/pallet/struct.Pallet.html#method.{{ call.name }} )
+See [Pallet::{{ call.name }}]({{ base_url }}/doc/{{ pallet.type_name }}/pallet/struct.Pallet.html#method.{{ call.name }})
 
 {% endfor -%}
 {% endfor -%}
diff --git a/xtask/src/gen_doc.rs b/xtask/src/gen_doc.rs
index 6b45e308d..9a517d2e3 100644
--- a/xtask/src/gen_doc.rs
+++ b/xtask/src/gen_doc.rs
@@ -20,6 +20,7 @@ use core::hash::Hash;
 use scale_info::form::PortableForm;
 use serde::Serialize;
 use std::collections::HashMap;
+use std::env;
 use std::path::Path;
 use std::process::Command;
 use std::{
@@ -542,6 +543,9 @@ fn print_runtime(pallets: RuntimePallets) -> (String, String, String) {
     context.insert("disabled_calls_counter", &disabled_calls_counter);
     context.insert("disabled_calls_pallets", &disabled_calls_pallets);
 
+    let base_url: String = env::var("BASE_URL").unwrap_or(String::from("."));
+    context.insert("base_url", &base_url);
+
     let call_doc = tera
         .render("runtime-calls.md", &context)
         .expect("template error");
-- 
GitLab