143 Commits

Author SHA1 Message Date
polka.dom 072e255c1a Allow Voting While Delegating (#150)
[Rendered](https://github.com/PolkadotDom/RFCs/blob/dom/voting-while-delegating/text/0150-voting-while-delegating.md)


[WIP](https://github.com/PolkadotDom/polkadot-sdk/tree/dom/vote-while-delegating/substrate/frame/conviction-voting/src)
(STF + Unit Tests Complete)

[Draft PR](https://github.com/paritytech/polkadot-sdk/pull/9026)
2025-12-01 00:10:50 +00:00
jonasW3F 85ca3ff275 Revisit Market Design of Coretime Sales (#17)
In this RFC, I aim to present several suggestions for fostering a closer
integration of the different Coretime markets and for enabling a more
systematic alignment with market forces.

---------

Co-authored-by: Dónal Murray <donalm@seadanda.dev>
2025-06-29 19:40:01 +00:00
jonasW3F 54bcee1caa Deflationary Transaction Fee Model for Relay- and System Chains (#146)
This RFC proposes burning 80% of transaction fees on the Relay Chain and
System Chains, adding to the existing deflationary capacity.
2025-06-26 09:18:02 +00:00
eskimor 67a774143e Renewal adjustments to RFC-1 (#149)
Proposal to fix the issues we are seeing with Agile Coretime in
production right now.

---------

Co-authored-by: Robert <robert@gonimo.com>
2025-06-11 16:47:21 +00:00
s0me0ne-unkn0wn 91b31618c4 Standardize compressed blob prefixes (#135)
[Rendered](https://github.com/s0me0ne-unkn0wn/RFCs/blob/s0me0ne/compressed-blob-prefixes/text/0135-compressed-blob-prefixes.md)
2025-05-05 08:03:35 +00:00
ordian 2cd41e19df RFC-139: Faster Erasure Coding (#139)
[Rendered](https://github.com/ordian/RFCs/blob/main/text/0139-faster-erasure-coding.md)
2025-05-05 01:31:22 +00:00
Jiyuan Zheng 54c8225d25 Introduce PVQ (#126)
Looking for feedback.

## Summary
This proposal introduces PVQ (PolkaVM Query), which aims to serve as an
intermediary layer between different chain runtime implementations and
tools/UIs, to provide a unified interface for cross-chain queries.

## Related Discussions
https://forum.polkadot.network/t/wasm-view-functions/1045

## PoC implementations
https://github.com/open-web3-stack/XCQ
2025-04-13 22:48:55 +00:00
Bastian Köcher 7f673a4f6a RFC-0123: Introduce :pending_code as intermediate storage key for the runtime code (#123) 2025-03-18 12:57:19 +00:00
Daniel Shiposha f346983cbd XCM Asset Metadata (#125)
This is a refined version of the XCM Asset Metadata RFC.

This PR supersedes the
[PR](https://github.com/polkadot-fellows/xcm-format/pull/50) opened in
the xcm-format repository following the migration of XCM RFCs to the
Fellowship RFCs.

## Summary

This RFC proposes a metadata format for XCM-identifiable assets (i.e.,
for fungible/non-fungible collections and non-fungible tokens) and a set
of instructions to communicate it across chains.

---------

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2025-01-24 08:26:55 +00:00
Pierre Krieger 73c98535fc Improved light client requests networking protocol (#9)
[Rendered](https://github.com/tomaka/RFCs-1/blob/rfc-9/text/0009-improved-net-light-client-requests.md)

This is a continuation of https://github.com/w3f/PPPs/pull/10

Compared to https://github.com/w3f/PPPs/pull/10, I've changed my mind
about truncated proofs. I think that it's better if the client can fully
verify the proofs that are returned even when the response size limit
would be exceeded. This also means that the proof no longer needs to be
deterministic, and I've removed the paragraph about this.

cc @cheme
2024-12-10 21:33:48 +00:00
Anaelle LTD 5f4b778e47 update link to RFC dashboard (#132)
link to the new dashboard with GitHub integration/sync
2024-11-17 08:21:13 +00:00
Adrian Catangiu d39ca4b893 Asset transfers can alias XCM origin on destination to original origin (#122)
XCM programs generated by the `InitiateAssetTransfer` instruction shall
have the option to carry over the original origin all the way to the
final destination. They shall do so by internally making use of
`AliasOrigin` or `ClearOrigin` depending on given parameters.

This allows asset transfers to retain their original origin even across
multiple hops.


[Rendered](https://github.com/acatangiu/RFCs/blob/alias-origin-on-asset-transfers/text/0122-alias-origin-on-asset-transfers.md)

---------

Signed-off-by: Adrian Catangiu <adrian@parity.io>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
2024-10-15 13:17:21 +00:00
Andrei Sandu fe8db0ffa3 Constrain parachain block validity on a specific core (#103)
Following the discussion on
https://github.com/polkadot-fellows/RFCs/issues/92, this is a proposal
to introduce the required core index commitments to make elastic scaling
work securely with open collator sets.

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2024-09-09 15:38:42 +00:00
Francisco Aguirre db260ea2f9 [XCM]: Improved fee mechanism (#105)
Moved from https://github.com/polkadot-fellows/xcm-format/pull/53.

The idea is to extend the current XCM fee mechanism to support in
principle delivery fees, but potentially other types of fees as well.
This is accomplished by having two additions:
- `PayFees` instruction
- A `fees` register, where fees go and stay there until the end of
execution. Crucially, separate from the `holding` register

---------

Co-authored-by: Adrian Catangiu <adrian@parity.io>
2024-09-03 15:26:04 +00:00
Anaelle LTD 5cd252a8c9 Add a link to the RFC dashboard in the README (#116)
The status of each RFC is now tracked
[here](https://spiced-longship-f1a.notion.site/abbeb769972f4aa0afbfe41cac4544f1?v=b8d75b58aec249ccb545ce68ffb70922).

Related to [this
issue](https://github.com/polkadot-fellows/help-center/issues/7).
2024-08-27 11:15:12 +02:00
Francisco Aguirre e4dbd1aa7d [XCM]: Execution hints mechanism (#107)
Moved from https://github.com/polkadot-fellows/xcm-format/pull/59.

This RFC proposes a framework for specifying "execution hints", much
like [window hints in
GLFW](https://www.glfw.org/docs/3.3/window_guide.html#window_hints).
The first one is `AssetClaimer`, that allows the user to specify who can
claim trapped assets resulting from that program execution. That was an
instruction already approved and targeted at XCMv5. This RFC proposes to
move it to this hints mechanism.

Another potential hint is `LeftoverAssetsDestination`, which, when set,
would send all leftover assets to a particular location instead of
trapping. This additional hint is not covered by the RFC. It could be
proposed in a new one.
2024-08-26 14:19:29 +00:00
Adrian Catangiu 89a79fc99f Introduce new XCM instruction: InitiateAssetsTransfer for complex asset transfers (#100)
This is a continuation of
https://github.com/polkadot-fellows/xcm-format/pull/63 following the
migration of XCM RFCs to this repo.

# Summary

This RFC proposes a new instruction that provides a way to initiate
asset transfers which transfer multiple types (teleports, local-reserve,
destination-reserve) of assets, on remote chains using XCM alone.

The currently existing instructions are too opinionated and force each
XCM asset transfer to a single transfer type (teleport, local-reserve,
destination-reserve). This results in inability to combine different
types of transfers in single transfer which results in overall poor UX
when trying to move assets across chains.

# Example usage

```rust
    // pay remote fees with ROCs
    let remote_fees = Some(
        AssetTransferFilter::ReserveWithdraw(
            AssetFilter::Wild(AllOf { id: rocs_id.into(), fun: WildFungibility::Fungible })
        )
    );
    // XCM to be executed locally
    let xcm = Xcm::<penpal_runtime::RuntimeCall>(vec![
        // Withdraw both ROCs and PENs from origin account
        WithdrawAsset(assets.clone().into()),
        // Execute the transfers while paying remote fees with ROCs
        InitiateAssetsTransfer {
            dest: local_asset_hub,
            assets: vec![
                // ROCs are reserve-withdrawn on AHR
                ReserveWithdraw(rocs.into()),
                // PENs are teleported to AHR
                Teleport(pens.into()),
            ],
            remote_fees,
            remote_xcm: xcm_on_ahr,
        },
    ]);
```

I also have a [proof-of-concept
implementation](https://github.com/acatangiu/polkadot-sdk/blob/1738f8eebd33d87c9c09c7a6bcd7c42fc1a8aa9e/polkadot/xcm/xcm-executor/src/lib.rs#L717C4-L831C6)
and a [proof-of-concept asset transfer
test](https://github.com/acatangiu/polkadot-sdk/blob/1738f8eebd33d87c9c09c7a6bcd7c42fc1a8aa9e/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs#L484C1-L489C60),
transferring 2 different types of assets across 3 chains.
2024-08-26 14:18:25 +00:00
Przemek Rzad ccbe03ed54 Handle filenames with whitespaces in the RFC book (#115)
With a recent PR that has spaces in the RFC filename, the RFC book
generation script started failing - this fixes it.
2024-08-20 22:05:12 +12:00
jonasW3F f6ec2f8a8b Unbonding queue (#97)
We are proposing an unbonding queue for Relay Chain tokens to
significantly reduce the expected unbonding time. The queue would still
maintain sufficient stake accountability to mitigate the profitability
of LRAs.

---------

Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
Co-authored-by: ordian <write@reusable.software>
2024-08-12 18:27:46 +00:00
Adrian Catangiu ab53bd3b75 Remove require_weight_at_most from XCM Transact (#101)
This is a continuation of
https://github.com/polkadot-fellows/xcm-format/pull/55 following the
migration of XCM RFCs to this repo.

# Summary

Remove the `require_weight_at_most: Weight` parameter of the Transact
instruction.

# Motivation

The UX of using Transact is not great, and one part of the problem is
guesstimating this require_weight_at_most.
We've seen multiple Transacts on-chain failures caused by the
"incorrect" use or the parameter. In practice, this parameter only adds
UX overhead. Use cases fall in one of two categories:

1. Unpaid execution of Transacts - in these cases the
require_weight_at_most is not really useful, caller doesn't have to pay
for it, and on the call site it either fits the block or not;
2. Paid execution of single Transact - the weight to be spent by the
Transact is already covered by the BuyExecution weight limit parameter.

We've had multiple OpenGov root/whitelisted_caller proposals initiated
by core-devs, completely or partially fail because of incorrect
configuration of `require_weight_at_most` parameter. This is a strong
indication that the instruction in its current form is hard to use.

---------

Signed-off-by: Adrian Catangiu <adrian@parity.io>
2024-08-05 23:10:38 +00:00
Francisco Aguirre 094dceaef7 [XCM]: Remove NetworkIds for testnets (#108)
Testnets are not stable and shouldn't be included in the XCM language.
They should be able to be specified with `NetworkId::ByGenesis`.
2024-08-05 12:32:35 +00:00
Bastian Köcher 091d8d9f8e Merkleized Metadata: Bring some clarification for the extrinsic inclusion (#90)
This augments the `RFC78` with some clarification on the front of how to
include the data into the extrinsic.
2024-07-25 13:49:02 +02:00
Bastian Köcher e26c3d6ba9 Introduce a transaction extension version (#99)
This RFC proposes to introduce a transaction extensions version. It is
proposed to piggyback on
[RFC84](https://github.com/paritytech/polkadot-sdk/issues/2415) to not
require a new extrinsic format version. With this RFC it will be
possible to change the transaction extensions without breaking the
extrinsic format of a chain and thus, staying backwards compatible.

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-07-23 15:50:01 +00:00
Alexandru Gheorghe 65cf83ee72 Add creation time for DHT authority discovery records (#91)
This adds a new creation time for authority discovery records stored in
the DHT.

This RFC has already an implementation in polkadot-sdk here:
https://github.com/paritytech/polkadot-sdk/pull/3786

---------

Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2024-07-15 09:33:47 +00:00
Davide Galassi 7410f5fc80 Sassafras Consensus (#26)
This RFC outlines the core components and procedures of Sassafras
consensus protocol.

---

This RFC does not cover the following topics:

- Implementation details necessary for interoperability: structure of
the on-chain storage, host functions and runtime API.
- Deployment strategies, especially in the context of already existing
blockchain networks
- Parameters required for the zk-SNARK (SRS).
- Networking protocol to deliver tickets to relayers.

These (and probably other) topics are fairly complex and somewhat
independent of the core protocol. They should be the subject of
separate, dedicated RFCs for proper exploration and discussion.

---


[Rendered](https://github.com/davxy/polkadot-fellows-rfcs/blob/sassafras-consensus-rfc/text/0026-sassafras-consensus.md)

Reference implementation tracking issue:
https://github.com/paritytech/polkadot-sdk/issues/41
2024-06-25 09:09:17 +00:00
Bastian Köcher 4d0a344326 Generate ownership proof for SessionKeys (#48)
This RFC changes the `SessionKeys` runtime api to support generating a
proof of ownership of the generated session keys.
2024-05-07 20:14:35 +00:00
georgepisaltu bf3fcd9d50 General transactions in extrinsic format (#84)
Signed-off-by: georgepisaltu <george.pisaltu@parity.io>
2024-04-14 17:33:50 +00:00
Oliver Tale-Yazdi 049a0351b3 Prepare Core runtime API for MBMs (#13)
This RFC aims to ratify the proposed changes to the `Core` runtime API. 

Implementation is being conducted in
https://github.com/paritytech/polkadot-sdk/pull/1781.
Status: RFC has been slimmed down and the controversial change to
`BlockBuilder` removed by finding an alternative.

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2024-03-17 12:18:03 +00:00
Bastian Köcher 56aab07c38 Merkleized metadata (#78)
Co-authored-by: Josep M Sobrepere <jm.sobrepere@gmail.com>
Co-authored-by: Santi Balaguer <santiago.balaguer@gmail.com>
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2024-03-15 06:21:33 +00:00
Aurora Poppyseed e9bf2137c2 Lowering Deposit Requirements on Polkadot and Kusama Asset Hub (#45)
RFC-00xx-assethub, proposes lowering deposit requirements for NFT
collection creation on Polkadot and Kusama Asset Hub to make it more
accessible for artists. It draws upon the discussion in the [Polkadot
Forum](https://forum.polkadot.network/t/polkadot-assethub-high-nft-collection-deposit/4262).
While there are concerns about state bloat, the RFC also considers
future governance models to dynamically adjust deposit requirements.

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Viki Val <viktorko99@gmail.com>
Co-authored-by: joepetrowski <joe@parity.io>
2024-03-14 12:14:56 +00:00
James Wilson 26db1b089b Link to rendered RFCs (#85)
Just to make it a little easier for people to read them?

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2024-03-13 21:35:13 +01:00
Javier Bullrich dde721f16f rfc-cron: updated cron to v0.1.1 (#83)
When doing #80 I got confused and updated the wrong action (which uses
the same dependency).

This one updates the RFC action for the cron job

---

When a RFC closes after the last run, it will comment on the open PR (if
it is still open) that the RFC has been closed and how to trigger the
bot to merge the PR.

If it is succesfull, we can automate it to simply close the PRs without
human input.

### Miscellaneous changes

- Also, updated cron job to run at mid day and at end of the day so we
can capture new RFCs more often.
- `v0.1.1` also has a fix for a problem with LFS files not being
downloaded by the GitHub Actions that was discovered and fixed in
paritytech/rfc-action#37 by @rzadp.
2024-03-11 22:43:29 +01:00
Przemek Rzad 74c204191f Update rfc-action to v0.1.1 (#81)
Fixes an issue with inadvertent move to LFS (was supposed to be a diff
change only).
2024-03-08 09:11:26 +01:00
Javier Bullrich 99e179cbc1 updated rfc-action to 0.1.0 (inform on closed referendas) (#80)
This includes https://github.com/paritytech/rfc-action/pull/34 which
takes into consideration successful RFCs.

When a RFC closed after the last run, it will comment on the open PR (if
it is still open) that the RFC has been closed and how to trigger the
bot to merge the PR.

If it is succesfull, we can automate it to simply close the PRs without
human input.

Also, updated actions/create-github-app-token to latest (version
`1.8.1`)
2024-03-04 08:49:55 +01:00
Bastian Köcher a197e6137b Extend README with communication channels (#79) 2024-02-27 23:43:41 +01:00
Javier Bullrich bcca93886c fixed rfc-action cron job (#75)
Changed the time to run **every day at 12:00** (UTC)

Updated the version to 0.0.8 which fixes the bug with the referenda url
comment being wrongly formatted
2024-02-16 12:49:31 +01:00
Pierre Krieger 7bfe4be75a Add a discovery mechanism for nodes based on their capabilities (#59)
[Rendered](https://github.com/tomaka/RFCs-1/blob/rfc57/text/0059-nodes-capabilities-discovery.md)

---------

Co-authored-by: Xiliang Chen <xlchen1291@gmail.com>
2024-02-14 08:21:59 +00:00
jonasW3F 1985ecacbc Burn Revenue from Coretime Sales (#10)
With this RFC I want to start a discussion whether to burn the revenues
from Coretime sales or to send them to Treasury. I give some arguments
why burning might be favorable.
2024-02-12 20:59:08 +00:00
Przemek Rzad 5710c49dc9 mdBook: Strip down links in RFCs titles (#72)
- Closes https://github.com/polkadot-fellows/RFCs/issues/71
- This affects only the sidebar of the mdBook.

![Screenshot 2024-01-31 at 12 39
38](https://github.com/polkadot-fellows/RFCs/assets/12039224/715f1856-1bf4-48be-9669-e3487c732658)
2024-02-12 16:28:41 +01:00
Vedhavyas Singareddi 94f434e07b Introduce System version to RuntimeVersion object (#42)
This RFC proposes adding `system_version` and remove `state_version`
from `RuntimeVersion` object. This makes it possible to use
`StateVersion::V1` for both Storage and Extrinsic root derivations
2024-02-12 07:50:20 +00:00
Sebastian Kunert eb7679a401 Introduce storage_proof_size Host Function for Improved Parachain Block Utilization (#43)
https://github.com/paritytech/polkadot-sdk/pull/1462 has been open for a
while and is now well-reviewed. Opening an RFC since it introduces a new
host function that is relevant for parachains and light-clients.
2024-02-02 18:17:57 +00:00
Javier Bullrich 34d26ff1aa Fixed issue with RFC-Cron (#69)
It was improperly set to run every minute after 11. I changed it to run
every weekday only once after 12.

Also, added status badge for the job in the Readme so we can preview
there that the job is running:
[![RFC
Cron](https://github.com/polkadot-fellows/RFCs/actions/workflows/rfc-referenda-notifications.yml/badge.svg)](https://github.com/polkadot-fellows/RFCs/actions/workflows/rfc-referenda-notifications.yml)
2024-01-25 13:53:19 +01:00
Alin Dima efc6b7a126 Assignment of availability-chunk indices to validators (#47)
[Rendered](https://github.com/alindima/RFCs/blob/av-chunk-indices/text/0047-assignment-of-availability-chunks.md)

This RFC proposes a way of permuting the availability chunk indices
assigned to validators for a given core and relay chain block, in the
context of [recovering available data from systematic
chunks](https://github.com/paritytech/polkadot-sdk/issues/598).

---------

Signed-off-by: alindima <alin@parity.io>
2024-01-25 07:55:01 +00:00
Javier Bullrich fbab2fbd22 Added RFC cron job (#68)
Added RFC Cron job which will iterate over existing referendas and post
a link to them in the open Pull Requests.

This resolves polkadot-fellows/RFCs#57

Every time it iterates, it looks for referendas that have been submitted
_after_ the time of the last run, to stop itself from posting duplicated
comments.

It is set to run every day at 12, and it can also be triggered manually.
2024-01-24 15:41:39 -06:00
Przemek Rzad 785a3187ee Reorder RFCs in the mdBook (#65)
Reorder RFCs in the mdBook as suggested
[here](https://github.com/polkadot-fellows/RFCs/pull/60#issuecomment-1883013694).

cc @wirednkod
2024-01-18 22:25:13 +01:00
Przemek Rzad ade390b5ef Update rfc-action to v0.0.6 (#64)
Contains improved error handling as a response to [this
failure](https://github.com/polkadot-fellows/RFCs/pull/56#issuecomment-1869403989).
2024-01-09 14:54:26 +00:00
Przemek Rzad f94ab697e5 Introduce RFC mdBook web page (#60)
- Closes https://github.com/polkadot-fellows/RFCs/issues/53
- Preview available [here](https://paritytech.github.io/RFCs/).

![Screenshot 2023-12-19 at 13 55
05](https://github.com/polkadot-fellows/RFCs/assets/12039224/ee06a7ad-231e-4077-a773-c6319661dfb6)


---

### What it does

- The workflow gathers the source markdown files of RFCs - approved
ones, and proposed ones (from open PRs).
- The proposed RFCs are separated into new (<7 days since PR created)
and stale (>30 days since PR updated).
- The RFCs are extended with a table of contents, and a link to the
source.
- The RFCs are build into a web page using
[mdBook](https://github.com/rust-lang/mdBook).
- The built web page gets pushed to `gh-pages` branch - to be published
in Github Pages.
- The workflow is triggered on merge to `main`, and periodically once a
day.
2024-01-03 20:05:00 +01:00
Pierre Krieger 6b4262b55c Enforce one transaction per notification in the networking (#56)
[Rendered](https://github.com/tomaka/RFCs-1/blob/one-tx-per-notif/text/0056-one-transaction-per-notification.md)

This RFC is pretty small, and I expect it to be pretty uncontroversial.
Just because something is currently designed a certain way doesn't mean
that it is so for a good reason, and sometimes, like in this RFC, things
just need to be cleaned up.
2023-12-26 20:35:04 +01:00
joe petrowski df69e9c8e5 Fellowship Salaries (#50)
The Fellowship Manifesto states that members should receive a monthly
allowance on par with gross income in OECD countries. This RFC proposes
concrete amounts.
2023-12-18 09:59:34 +00:00
joe petrowski 1c447a6da1 Process for Adding New System Collectives (#12)
This RFC proposes a means for Polkadot stakeholders to ratify a new
collective. The Fellowship should agree to add new collectives to the
Collectives parachain runtime that pass the given process.
2023-11-11 17:57:28 +00:00