-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Deprecation] Index
vs Nonce
#243
Comments
@AurevoirXavier I am probably wrong, but it seems like there aren't any instances of using an alias for Index/Nonce. And if I understand the issue correctly the problem you are mentioning is caused by using type aliases. |
In some repos, people alias the index to nonce. As the example shows. And in the Substrate repo: We also pass the So, I start to think about are these two type the same thing. Should we unify the name everywhere? |
Aside: Nonce, aka number used only once, typically indicates a security break if you reuse the same number twice. I think nonce advancement cannot stop every possible attacks scenario, like if say two machines sign for a shared account on different forks of the chain, so nonce may warn of some niche scenarios. In principle, you could've stronger by coupling signing to consensus more tightly, but this would create more annoyances too. |
@juangirini this is another simple deprecation task that we can pilot for a petter process. Namely, it should be You can already see by the usage that this is a bit confusing: |
This would break backwards compatibility as existing @kianenigma do you see an alternative solution? |
Sadly this cannot be done backwards compatibly. |
I am not sure this renaming is worth the breaking change. If are sure we want to do it we rather do it sooner than later though. @bkchr @ggwpez @kianenigma @KiChjang any thought on this? |
I'm generally in favor of making sense of things. I think we've already made a bad precedent at times where people have to test every substrate upgrade -- on the list of annoyances, such a naming breaking change would list quite low IMHO, so yes, we should deprecate ASAP. |
Rename is not bad compare to other breaking changes... It is just a search & replace and we all are used to this. |
Fixed in paritytech/substrate#14290. |
This is still open awaiting for the last step of the deprecation todo list to be completed polkadot-developers/substrate-docs#2035 |
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
* Bump Substrate to rc5 * Bump async-std to v1.6.2 There was a bug in v.1.6.0 which kept us locked to v1.5 releases. I think that's fixed now so I'm bumping this. * Update bridge node runtime * Update node service * Update CLI * Add SystemWeightInfo type to test runtimes * Add RPC extension builder to service * Directly return rpc_extensions_builder * Allow complex types in service This comes from Substrate, so I'd rather just keep the code as is * Update benchmarking code for new CLI
Is there an existing issue?
Experiencing problems? Have you tried our Stack Exchange first?
Description of bug
Why do we need two different names for the same thing?
IMO this adds extra learning effort for developers.
I think maybe they are two different things.
Index is to describe the transaction index in the block.
Nonce is the account transactions counter.
And they are
u32
.But the
pub use as
makes people confused.Deprecation steps
The text was updated successfully, but these errors were encountered: