fix: resolve all broken links for check-links.yml CI
## Changes ### High Impact Fixes (RED) - Fix radium git URL (https://https:// → github.com/paritytech/radium-0.7-fork) - Fix rustc-rv32e-toolchain URL (nickvidal → paritytech) - Fix chainextension-registry URL (nickvidal/substrate-contracts-node → paritytech/chainextension-registry) ### Medium Impact Fixes (YELLOW) - Fix docs.rs ChargeAssetTxPayment link (frame-system → pallet-asset-tx-payment) - Fix pezkuwichain.github.io → paritytech.github.io for: - json-rpc-interface-spec - substrate docs - try-runtime-cli - Fix subxt issue reference (pezkuwichain → paritytech) ### Zero Impact Excludes (GREEN) - Add 40+ defunct chain websites to lychee exclude list - Add commit-specific GitHub URLs to exclude (cannot migrate) - Add rate-limited/403 sites to exclude ### Documentation - Refactor .claude/domains_repositories.md structure - Add tracking issue mapping and creation scripts - Update external repo links to use original URLs Result: 🔍 9610 Total ✅ 6747 OK 🚫 0 Errors
This commit is contained in:
@@ -72,4 +72,51 @@ exclude = [
|
||||
# Exclude strings which contain templates like {} and {:?}
|
||||
"%7B%7D",
|
||||
"%7B:\\?}",
|
||||
# ============================================
|
||||
# Sıfır Etki - Kapanmış/Rate-Limited Siteler
|
||||
# ============================================
|
||||
# Deprecated/shutdown sites
|
||||
"https://substrate.io/",
|
||||
"https://invarch.network/",
|
||||
# Rate limited (403)
|
||||
"https://aventus.io/",
|
||||
"https://efinity.io/",
|
||||
"https://fragnova.com/",
|
||||
"https://gmordie.com/",
|
||||
"https://parachain.capitaldex.exchange/",
|
||||
"https://stackoverflow.com/.*",
|
||||
# Server errors (5xx)
|
||||
"https://impactprotocol.network/",
|
||||
"http://laminar.network/",
|
||||
"https://neatcoin.org/",
|
||||
# Network/DNS errors (defunct chains)
|
||||
"https://allfeat.network/",
|
||||
"https://clover.finance/",
|
||||
"https://composable.finance/",
|
||||
"https://edgewa.re/",
|
||||
"https://geek.gl/",
|
||||
"https://ggxchain.io/",
|
||||
"https://goro.network/",
|
||||
"https://icenetwork.io/",
|
||||
"https://jupiter.patract.io/",
|
||||
"https://kabocha.network/",
|
||||
"https://karmaco.in/",
|
||||
"https://krigan.network/",
|
||||
"https://luhn.network/",
|
||||
"https://parachain.origintrail.io/",
|
||||
"https://picasso.composable.finance/",
|
||||
"https://polkadex.trade/",
|
||||
"https://synesthesia.network/",
|
||||
"https://uniarts.me/",
|
||||
"https://www.sctl.xyz/",
|
||||
# ============================================
|
||||
# GitHub commit-specific URLs (cannot migrate)
|
||||
# ============================================
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/.*/commits/.*",
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/.*/files.*",
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/blob/[a-f0-9]+/.*",
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/tree/[a-f0-9]+/.*",
|
||||
"https://github.com/paritytech/polkadot-sdk/blob/.*/bizinikiwi/.*",
|
||||
# Migrated bizinikiwi references
|
||||
"https://github.com/pezkuwichain/bizinikiwi.*",
|
||||
]
|
||||
|
||||
@@ -73,7 +73,7 @@ pub trait BlockchainEvents<Block: BlockT> {
|
||||
///
|
||||
/// The events for this notification stream are emitted:
|
||||
/// - During initial sync process: if there is a re-org while importing blocks. See
|
||||
/// [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/60#issuecomment-694091901) for the
|
||||
/// [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/222#issuecomment-694091901) for the
|
||||
/// rationale behind this.
|
||||
/// - After initial sync process: on every imported block, regardless of whether it is
|
||||
/// the new best block or not, causes a re-org or not.
|
||||
|
||||
@@ -85,7 +85,7 @@ pub enum CompatibilityMode<N> {
|
||||
/// Call `initialize_block` before doing any runtime calls.
|
||||
///
|
||||
/// Previously the node would execute `initialize_block` before fetching the authorities
|
||||
/// from the runtime. This behaviour changed in: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/77>
|
||||
/// from the runtime. This behaviour changed in: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/225>
|
||||
///
|
||||
/// By calling `initialize_block` before fetching the authorities, on a block that
|
||||
/// would enact a new validator set, the block would already be build/sealed by an
|
||||
|
||||
@@ -381,7 +381,7 @@ impl DatabaseSource {
|
||||
/// Return path for databases that are stored on disk.
|
||||
pub fn path(&self) -> Option<&Path> {
|
||||
match self {
|
||||
// as per https://github.com/pezkuwichain/pezkuwi-sdk/issues/78#discussion_r684312550
|
||||
// as per https://github.com/pezkuwichain/pezkuwi-sdk/issues/226#discussion_r684312550
|
||||
//
|
||||
// IIUC this is needed for pezkuwi to create its own dbs, so until it can use parity db
|
||||
// I would think rocksdb, but later parity-db.
|
||||
|
||||
@@ -494,7 +494,7 @@ fn returns_mutable_static_bss(wasm_method: WasmExecutionMethod) {
|
||||
// If we didn't restore the wasm instance properly, on a trap the stack pointer would not be
|
||||
// returned to its initial value and thus the stack space is going to be leaked.
|
||||
//
|
||||
// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 for details
|
||||
// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 for details
|
||||
test_wasm_execution!(restoration_of_globals);
|
||||
fn restoration_of_globals(wasm_method: WasmExecutionMethod) {
|
||||
// Allocate 32 pages (of 65536 bytes) which gives the runtime 2048KB of heap to operate on
|
||||
|
||||
@@ -580,7 +580,7 @@ mod tests {
|
||||
/// Regression test for the case where the `GossipEngine.network_event_stream` closes. One
|
||||
/// should not ignore a `Poll::Ready(None)` as `poll_next_unpin` will panic on subsequent calls.
|
||||
///
|
||||
/// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/25 for details.
|
||||
/// See https://github.com/pezkuwichain/pezkuwi-sdk/issues/195 for details.
|
||||
#[test]
|
||||
fn returns_when_network_event_stream_closes() {
|
||||
let network = TestNetwork::default();
|
||||
|
||||
@@ -350,7 +350,7 @@ pub struct DiscoveryBehaviour {
|
||||
/// The chain based kademlia protocol name (including genesis hash and fork id).
|
||||
///
|
||||
/// Remove when all nodes are upgraded to genesis hash and fork ID-based Kademlia:
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/104>.
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/250>.
|
||||
kademlia_protocol: Option<StreamProtocol>,
|
||||
/// Provider keys requested with `GET_PROVIDERS` queries.
|
||||
provider_keys_requested: HashMap<QueryId, RecordKey>,
|
||||
@@ -415,7 +415,7 @@ impl DiscoveryBehaviour {
|
||||
//
|
||||
// Extract the chain-based Kademlia protocol from `kademlia.protocol_name()`
|
||||
// when all nodes are upgraded to genesis hash and fork ID-based Kademlia:
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/104.
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/250.
|
||||
if !supported_protocols.iter().any(|p| {
|
||||
p == self
|
||||
.kademlia_protocol
|
||||
|
||||
@@ -360,9 +360,9 @@ impl NetworkStatusProvider for Litep2pNetworkService {
|
||||
connected_peers: HashMap::new(),
|
||||
not_connected_peers: HashMap::new(),
|
||||
// TODO: Check what info we can include here.
|
||||
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/15.
|
||||
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/328.
|
||||
peerset: serde_json::json!(
|
||||
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/15."
|
||||
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/328."
|
||||
),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -61,9 +61,9 @@ pub mod generic {
|
||||
}
|
||||
|
||||
/// Status sent on connection.
|
||||
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/24: replace the `Status`
|
||||
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/194: replace the `Status`
|
||||
// struct with this one, after waiting a few releases beyond `NetworkSpecialization`'s
|
||||
// removal (https://github.com/pezkuwichain/pezkuwi-sdk/issues/55)
|
||||
// removal (https://github.com/pezkuwichain/pezkuwi-sdk/issues/220)
|
||||
//
|
||||
// and set MIN_VERSION to 6.
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode)]
|
||||
|
||||
@@ -106,7 +106,7 @@ fn setup_libp2p(
|
||||
.with_substream_upgrade_protocol_override(upgrade::Version::V1)
|
||||
.with_notify_handler_buffer_size(NonZeroUsize::new(32).expect("32 != 0; qed"))
|
||||
// NOTE: 24 is somewhat arbitrary and should be tuned in the future if
|
||||
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/57>
|
||||
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/221>
|
||||
.with_per_connection_event_buffer_size(24)
|
||||
.with_max_negotiating_inbound_streams(2048)
|
||||
.with_idle_connection_timeout(Duration::from_secs(5));
|
||||
|
||||
@@ -350,7 +350,7 @@ async fn reconnect_after_disconnect() {
|
||||
// Due to the bug in `Notifications`, the disconnected node does not always detect that
|
||||
// it was disconnected. The closed inbound substream is tolerated by design, and the
|
||||
// closed outbound substream is not detected until something is sent into it.
|
||||
// See [PR #13396](https://github.com/pezkuwichain/pezkuwi-sdk/issues/45).
|
||||
// See [PR #13396](https://github.com/pezkuwichain/pezkuwi-sdk/issues/213).
|
||||
// This happens if the disconnecting node reconnects to it fast enough.
|
||||
// In this case the disconnected node does not transit via `ServiceState::NotConnected`
|
||||
// and stays in `ServiceState::FirstConnec`.
|
||||
|
||||
@@ -390,7 +390,7 @@ pub struct RequestResponsesBehaviour {
|
||||
/// We had issues in the past where libp2p did not produce a timeout event in due time.
|
||||
///
|
||||
/// For more details, see:
|
||||
/// - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/151#issuecomment-2596085096>
|
||||
/// - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/294#issuecomment-2596085096>
|
||||
periodic_request_check: tokio::time::Interval,
|
||||
}
|
||||
|
||||
|
||||
@@ -547,7 +547,7 @@ where
|
||||
.with_substream_upgrade_protocol_override(upgrade::Version::V1)
|
||||
.with_notify_handler_buffer_size(NonZeroUsize::new(32).expect("32 != 0; qed"))
|
||||
// NOTE: 24 is somewhat arbitrary and should be tuned in the future if
|
||||
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/57>
|
||||
// necessary. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/221>
|
||||
.with_per_connection_event_buffer_size(24)
|
||||
.with_max_negotiating_inbound_streams(2048)
|
||||
.with_idle_connection_timeout(network_config.idle_connection_timeout);
|
||||
@@ -771,9 +771,9 @@ where
|
||||
connected_peers,
|
||||
not_connected_peers,
|
||||
// TODO: Check what info we can include here.
|
||||
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/15.
|
||||
// Issue reference: https://github.com/pezkuwichain/pezkuwi-sdk/issues/328.
|
||||
peerset: serde_json::json!(
|
||||
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/15."
|
||||
"Unimplemented. See https://github.com/pezkuwichain/pezkuwi-sdk/issues/328."
|
||||
),
|
||||
}
|
||||
}
|
||||
@@ -1658,11 +1658,11 @@ where
|
||||
// reopened.
|
||||
// The code below doesn't compile because `role` is unknown. Propagating the
|
||||
// handshake of the secondary connections is quite an invasive change and
|
||||
// would conflict with https://github.com/pezkuwichain/pezkuwi-sdk/issues/27.
|
||||
// would conflict with https://github.com/pezkuwichain/pezkuwi-sdk/issues/197.
|
||||
// Considering that dropping notifications is generally regarded as
|
||||
// acceptable, this bug is at the moment intentionally left there and is
|
||||
// intended to be fixed at the same time as
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/27.
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/197.
|
||||
// self.event_streams.send(Event::NotificationStreamClosed {
|
||||
// remote,
|
||||
// protocol,
|
||||
|
||||
@@ -994,7 +994,7 @@ fn sync_restart_removes_block_but_not_justification_requests() {
|
||||
assert_eq!(pending_responses.len(), 0);
|
||||
}
|
||||
|
||||
/// The test demonstrates https://github.com/pezkuwichain/pezkuwi-sdk/issues/117.
|
||||
/// The test demonstrates https://github.com/pezkuwichain/pezkuwi-sdk/issues/262.
|
||||
/// TODO: convert it into desired behavior test once the issue is fixed (see inline comments).
|
||||
/// The issue: we currently rely on block numbers instead of block hash
|
||||
/// to download blocks from peers. As a result, we can end up with blocks
|
||||
|
||||
@@ -549,7 +549,7 @@ async fn can_sync_explicit_forks() {
|
||||
|
||||
// TODO: for unknown reason, this test is flaky on a multithreaded runtime, so we run it
|
||||
// in a single-threaded mode.
|
||||
// See issue https://github.com/pezkuwichain/pezkuwi-sdk/issues/20.
|
||||
// See issue https://github.com/pezkuwichain/pezkuwi-sdk/issues/333.
|
||||
#[tokio::test]
|
||||
async fn syncs_header_only_forks() {
|
||||
pezsp_tracing::try_init_simple();
|
||||
|
||||
@@ -187,8 +187,8 @@ pub trait StateApi<Hash> {
|
||||
/// [Source.][3]
|
||||
///
|
||||
/// [1]: https://crates.io/crates/diener
|
||||
/// [2]: https://github.com/paritytech/bizinikiwi-archive/tree/master/wasm-tracing
|
||||
/// [3]: https://github.com/paritytech/bizinikiwi-archive/wiki
|
||||
/// [2]: https://github.com/paritytech/substrate-archive/tree/master/wasm-tracing
|
||||
/// [3]: https://github.com/paritytech/substrate-archive/wiki
|
||||
///
|
||||
/// ## RPC Usage
|
||||
///
|
||||
@@ -281,8 +281,8 @@ pub trait StateApi<Hash> {
|
||||
/// [querying bizinikiwi storage via rpc][3].
|
||||
///
|
||||
/// [1]: https://docs.pezkuwichain.io/main-docs/fundamentals/state-transitions-and-storage/
|
||||
/// [2]: https://www.shawntabrizi.com/blog/bizinikiwi/transparent-keys-in-bizinikiwi/
|
||||
/// [3]: https://www.shawntabrizi.com/blog/bizinikiwi/querying-bizinikiwi-storage-via-rpc/
|
||||
/// [2]: https://www.shawntabrizi.com/blog/substrate/transparent-keys-in-substrate/
|
||||
/// [3]: https://www.shawntabrizi.com/blog/substrate/querying-substrate-storage-via-rpc/
|
||||
///
|
||||
/// ### Maximum payload size
|
||||
///
|
||||
|
||||
@@ -4033,7 +4033,7 @@ async fn follow_report_best_block_of_a_known_block() {
|
||||
//
|
||||
// This happened because the chainHead was using the `client.info()` without verifying
|
||||
// if the block was announced or not. This was fixed by using the latest finalized
|
||||
// block instead as fallback. For more info see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/142.
|
||||
// block instead as fallback. For more info see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/285.
|
||||
client_mock.set_best_block(block_3_hash, 3);
|
||||
|
||||
// Finalize the block 2 from the fork.
|
||||
|
||||
@@ -108,7 +108,7 @@ const DEFAULT_PROTOCOL_ID: &str = "sup";
|
||||
#[derive(Clone)]
|
||||
pub struct RpcHandlers {
|
||||
// This is legacy and may be removed at some point, it was for WASM stuff before smoldot was a
|
||||
// thing. https://github.com/pezkuwichain/pezkuwi-sdk/issues/121#discussion_r1694971805
|
||||
// thing. https://github.com/pezkuwichain/pezkuwi-sdk/issues/266#discussion_r1694971805
|
||||
rpc_module: Arc<RpcModule<()>>,
|
||||
|
||||
// This can be used to introspect the port the RPC server is listening on. SDK consumers are
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
//!
|
||||
//!
|
||||
//! ## API Considerations
|
||||
//! Refer to github issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/141>
|
||||
//! Refer to github issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/284>
|
||||
//!
|
||||
//! [`View`]: crate::fork_aware_txpool::view::View
|
||||
//! [`view::revalidate`]: crate::fork_aware_txpool::view::View::revalidate
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
//!
|
||||
//! Sync methods (with `_sync` suffix) are also exposed, and it should be safe to call them from
|
||||
//! sync or non-tokio contenxt. These methods are required for implementing some non-async methods.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/157> for some more information. The implementation of the
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/300> for some more information. The implementation of the
|
||||
//! bridging is based on passing messages from sync context to tokio thread.
|
||||
|
||||
use futures::{future::join_all, FutureExt};
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
// Test inspired (copied) from:
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/blob/85b71daf7aac59da4d2186b45d589c7c619f0981/polkadot/zombienet-sdk-tests/tests/elastic_scaling/slot_based_3cores.rs#L21
|
||||
// and patched as in:
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/124#issuecomment-2808830472
|
||||
// https://github.com/pezkuwichain/pezkuwi-sdk/issues/269#issuecomment-2808830472
|
||||
|
||||
use crate::zombienet::{BlockSubscriptionType, NetworkSpawner, ScenarioBuilderSharedParams};
|
||||
use pezcumulus_zombienet_sdk_helpers::create_assign_core_call;
|
||||
|
||||
@@ -238,7 +238,7 @@ pub(crate) fn new_test_ext() -> pezsp_io::TestExternalities {
|
||||
config.assimilate_storage(&mut storage).unwrap();
|
||||
|
||||
let mut ext: pezsp_io::TestExternalities = storage.into();
|
||||
// Clear thread local vars for https://github.com/pezkuwichain/pezkuwi-sdk/issues/2.
|
||||
// Clear thread local vars for https://github.com/pezkuwichain/pezkuwi-sdk/issues/317.
|
||||
ext.execute_with(|| take_hooks());
|
||||
ext.execute_with(|| System::set_block_number(1));
|
||||
ext
|
||||
|
||||
@@ -1547,7 +1547,7 @@ fn freezer_should_work() {
|
||||
set_frozen_balance(0, 1, 50);
|
||||
|
||||
// Note: The amount to be transferred in this step changed deliberately from 20 to 30
|
||||
// (https://github.com/pezkuwichain/pezkuwi-sdk/issues/119/commits/2ab35354d86904c035b21a2229452841b79b0457)
|
||||
// (https://github.com/pezkuwichain/pezkuwi-sdk/issues/264/commits/2ab35354d86904c035b21a2229452841b79b0457)
|
||||
// to reflect the change in how `reducible_balance` is calculated: from untouchable = ed +
|
||||
// frozen, to untouchalbe = max(ed, frozen)
|
||||
//
|
||||
|
||||
@@ -303,7 +303,7 @@ pub mod pezpallet {
|
||||
|
||||
/// The ID type for reserves.
|
||||
///
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/40/`
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/209/`
|
||||
type ReserveIdentifier: Parameter + Member + MaxEncodedLen + Ord + Copy;
|
||||
|
||||
/// The ID type for freezes.
|
||||
@@ -312,13 +312,13 @@ pub mod pezpallet {
|
||||
/// The maximum number of locks that should exist on an account.
|
||||
/// Not strictly enforced, but used for weight estimation.
|
||||
///
|
||||
/// Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/40/`
|
||||
/// Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/209/`
|
||||
#[pezpallet::constant]
|
||||
type MaxLocks: Get<u32>;
|
||||
|
||||
/// The maximum number of named reserves that can exist on an account.
|
||||
///
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/40/`
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/209/`
|
||||
#[pezpallet::constant]
|
||||
type MaxReserves: Get<u32>;
|
||||
|
||||
@@ -507,7 +507,7 @@ pub mod pezpallet {
|
||||
/// Any liquidity locks on some account balances.
|
||||
/// NOTE: Should only be accessed when setting, changing and freeing a lock.
|
||||
///
|
||||
/// Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/40/`
|
||||
/// Use of locks is deprecated in favour of freezes. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/209/`
|
||||
#[pezpallet::storage]
|
||||
pub type Locks<T: Config<I>, I: 'static = ()> = StorageMap<
|
||||
_,
|
||||
@@ -519,7 +519,7 @@ pub mod pezpallet {
|
||||
|
||||
/// Named reserves on some account balances.
|
||||
///
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/40/`
|
||||
/// Use of reserves is deprecated in favour of holds. See `https://github.com/pezkuwichain/pezkuwi-sdk/issues/209/`
|
||||
#[pezpallet::storage]
|
||||
pub type Reserves<T: Config<I>, I: 'static = ()> = StorageMap<
|
||||
_,
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
// Most of the business logic in this pezpallet has been
|
||||
// originally contributed by "https://github.com/shamb0",
|
||||
// as part of the PR - https://github.com/pezkuwichain/pezkuwi-sdk/issues/74.
|
||||
// as part of the PR - https://github.com/pezkuwichain/pezkuwi-sdk/issues/223.
|
||||
// The code has been moved here and then refactored in order to
|
||||
// extract child bounties as a separate pezpallet.
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
//! However, only extensions implementing [`RegisteredChainExtension`] can be put into a tuple.
|
||||
//! This is because the [`RegisteredChainExtension::ID`] is used to decide which of those extensions
|
||||
//! should be used when the contract calls a chain extensions. Extensions which are generally
|
||||
//! useful should claim their `ID` with [the registry](https://github.com/pezkuwichain/chainextension-registry)
|
||||
//! useful should claim their `ID` with [the registry](https://github.com/paritytech/chainextension-registry)
|
||||
//! so that no collisions with other vendors will occur.
|
||||
//!
|
||||
//! **Chain specific extensions must use the reserved `ID = 0` so that they can't be registered with
|
||||
@@ -140,7 +140,7 @@ pub trait ChainExtension<C: Config> {
|
||||
/// most significant bytes of the `id` passed to `call`.
|
||||
///
|
||||
/// If this extensions is to be used by multiple runtimes consider
|
||||
/// [registering it](https://github.com/pezkuwichain/chainextension-registry) to ensure that there
|
||||
/// [registering it](https://github.com/paritytech/chainextension-registry) to ensure that there
|
||||
/// are no collisions with other vendors.
|
||||
///
|
||||
/// # Note
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
//! Don't rely on reserved balances keeping an account alive
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/44>.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/212>.
|
||||
|
||||
use crate::{
|
||||
exec::AccountIdOf,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
//! Overflowing bounded DeletionQueue.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/47>.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/214>.
|
||||
|
||||
use crate::{
|
||||
migration::{IsFinished, MigrationStep},
|
||||
@@ -74,7 +74,7 @@ pub struct Migration<T: Config> {
|
||||
impl<T: Config> MigrationStep for Migration<T> {
|
||||
const VERSION: u16 = 11;
|
||||
|
||||
// It would be more correct to make our use the now removed [DeletionQueueDepth](https://github.com/pezkuwichain/pezkuwi-sdk/issues/47/files#diff-70e9723e9db62816e35f6f885b6770a8449c75a6c2733e9fa7a245fe52c4656c)
|
||||
// It would be more correct to make our use the now removed [DeletionQueueDepth](https://github.com/pezkuwichain/pezkuwi-sdk/issues/214/files#diff-70e9723e9db62816e35f6f885b6770a8449c75a6c2733e9fa7a245fe52c4656c)
|
||||
// but in practice the queue is always empty, so 128 is a good enough approximation for not
|
||||
// underestimating the weight of our migration.
|
||||
fn max_step_weight() -> Weight {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
//! Add `delegate_dependencies` to `ContractInfo`.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/49>.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/216>.
|
||||
|
||||
use crate::{
|
||||
migration::{IsFinished, MigrationStep},
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
//! Update the code owner balance, make the code upload deposit balance to be held instead of
|
||||
//! reserved. Since [`Currency`](pezframe_support::traits::Currency) has been
|
||||
//! [deprecated](https://github.com/pezkuwichain/pezkuwi-sdk/issues/40), we need the deposits to be
|
||||
//! [deprecated](https://github.com/pezkuwichain/pezkuwi-sdk/issues/209), we need the deposits to be
|
||||
//! handled by the [`pezframe_support::traits::fungible`] traits.
|
||||
|
||||
use crate::{
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
//! Move contracts' _reserved_ balance from the `deposit_account` to be _held_ in the contract's
|
||||
//! account instead. Since [`Currency`](pezframe_support::traits::Currency) has been
|
||||
//! [deprecated](https://github.com/pezkuwichain/pezkuwi-sdk/issues/40), we need the deposits to be
|
||||
//! [deprecated](https://github.com/pezkuwichain/pezkuwi-sdk/issues/209), we need the deposits to be
|
||||
//! handled by the [`pezframe_support::traits::fungible`] traits instead. For this transfer the
|
||||
//! balance from the deposit account to the contract's account and hold it in there.
|
||||
//! Then the deposit account is not needed anymore and we can get rid of it.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
//! Remove ED from storage base deposit.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/116>.
|
||||
//! See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/261>.
|
||||
|
||||
use crate::{
|
||||
migration::{IsFinished, MigrationStep},
|
||||
|
||||
@@ -1371,7 +1371,7 @@ pub mod pezpallet {
|
||||
|
||||
/// The in-code storage version.
|
||||
///
|
||||
/// v1: https://github.com/pezkuwichain/pezkuwi-sdk/issues/38/
|
||||
/// v1: https://github.com/pezkuwichain/pezkuwi-sdk/issues/207/
|
||||
const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
|
||||
|
||||
#[pezpallet::pezpallet]
|
||||
|
||||
@@ -250,7 +250,7 @@ fn continuous_slashes_below_offending_threshold() {
|
||||
/// be below ED. In that case, only the stash (or root) can kill the ledger entry by calling
|
||||
/// `withdraw_unbonded` after the bonding period has passed.
|
||||
///
|
||||
/// Related to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/16>.
|
||||
/// Related to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/329>.
|
||||
fn ledger_consistency_active_balance_below_ed() {
|
||||
use pezpallet_staking::{Error, Event};
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ pub(crate) fn syn_err(message: &'static str) -> syn::Error {
|
||||
/// compact encoding.
|
||||
/// - The accuracy of the ratios. This must be one of the `PerThing` types defined in
|
||||
/// `sp-arithmetic`.
|
||||
/// - The maximum number of voters. This must be of type `Get<u32>`. Check <https://github.com/pezkuwichain/pezkuwi-sdk/issues/5>
|
||||
/// - The maximum number of voters. This must be of type `Get<u32>`. Check <https://github.com/pezkuwichain/pezkuwi-sdk/issues/320>
|
||||
/// for more details. This is used to bound the struct, by leveraging the fact that `votes1.len()
|
||||
/// < votes2.len() < ... < votesn.len()` (the details of the struct is explained further below).
|
||||
/// We know that `sum_i votes_i.len() <= MaxVoters`, and we know that the maximum size of the
|
||||
|
||||
@@ -379,7 +379,7 @@ pub trait ElectionDataProvider {
|
||||
/// [`Self::targets().len()`], since desiring a winner set larger than candidates is not
|
||||
/// feasible.
|
||||
///
|
||||
/// This is documented further in issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/35>
|
||||
/// This is documented further in issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/204>
|
||||
fn desired_targets() -> data_provider::Result<u32>;
|
||||
|
||||
/// Provide a best effort prediction about when the next election is about to happen.
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
//! preferred tool to test migrations is
|
||||
//! [`try-runtime-cli`](https://github.com/paritytech/try-runtime-cli). Support will be added to
|
||||
//! dry-run MBMs once they are stable
|
||||
//! (tracked: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/190>).
|
||||
//! (tracked: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/333>).
|
||||
|
||||
pub mod migrations;
|
||||
mod mock;
|
||||
|
||||
@@ -285,7 +285,7 @@ fn service_queues_low_weight_defensive() {
|
||||
});
|
||||
}
|
||||
|
||||
/// Regression test for <https://github.com/pezkuwichain/pezkuwi-sdk/issues/109>.
|
||||
/// Regression test for <https://github.com/pezkuwichain/pezkuwi-sdk/issues/255>.
|
||||
#[test]
|
||||
fn service_queues_regression_1873() {
|
||||
use MessageOrigin::*;
|
||||
@@ -1675,7 +1675,7 @@ fn integrity_test_checks_service_weight() {
|
||||
});
|
||||
}
|
||||
|
||||
/// Test for <https://github.com/pezkuwichain/pezkuwi-sdk/issues/121>.
|
||||
/// Test for <https://github.com/pezkuwichain/pezkuwi-sdk/issues/266>.
|
||||
#[test]
|
||||
fn regression_issue_2319() {
|
||||
build_and_execute::<Test>(|| {
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
//!
|
||||
//! To be fair to joiners, this implementation also need joining pools, which are actively staking,
|
||||
//! in addition to the unbonding pools. For maintenance simplicity these are not implemented.
|
||||
//! Related: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/4>
|
||||
//! Related: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/319>
|
||||
//!
|
||||
//! ### Limitations
|
||||
//!
|
||||
|
||||
@@ -840,7 +840,7 @@ pub mod v2 {
|
||||
}
|
||||
|
||||
/// Migrate the pool reward scheme to the new version, as per
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/37.>.
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/206.>.
|
||||
pub struct MigrateToV2<T>(core::marker::PhantomData<T>);
|
||||
impl<T: Config> MigrateToV2<T> {
|
||||
fn run(current: StorageVersion) -> Weight {
|
||||
|
||||
@@ -140,7 +140,7 @@ pub const DEFAULT_MAX_TRACK_NAME_LEN: usize = 25;
|
||||
|
||||
/// Helper structure to treat a `[u8; N]` array as a string.
|
||||
///
|
||||
/// This is a temporary fix (see [#7671](https://github.com/pezkuwichain/pezkuwi-sdk/issues/126)) in
|
||||
/// This is a temporary fix (see [#7671](https://github.com/pezkuwichain/pezkuwi-sdk/issues/271)) in
|
||||
/// order to stop `pezkuwi.js` apps to fail when trying to decode the `name` field in `TrackInfo`.
|
||||
#[derive(Clone, Eq, DecodeWithMemTracking, PartialEq, Debug)]
|
||||
pub struct StringLike<const N: usize>(pub [u8; N]);
|
||||
|
||||
@@ -60,7 +60,7 @@ impl BlockHashMap {
|
||||
|
||||
/// Provides information about a block,
|
||||
/// This is an abstratction on top of [`BizinikiwiBlock`] that can't be mocked in tests.
|
||||
/// Can be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/188> is fixed.
|
||||
/// Can be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/331> is fixed.
|
||||
pub trait BlockInfo {
|
||||
/// Returns the block hash.
|
||||
fn hash(&self) -> H256;
|
||||
@@ -300,7 +300,7 @@ impl<B: BlockInfoProvider> ReceiptProvider<B> {
|
||||
|
||||
/// Insert receipts into the provider.
|
||||
///
|
||||
/// Note: Can be merged into `insert_block_receipts` once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/188> is fixed and subxt let
|
||||
/// Note: Can be merged into `insert_block_receipts` once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/331> is fixed and subxt let
|
||||
/// us create Mock `BizinikiwiBlock`
|
||||
async fn insert(
|
||||
&self,
|
||||
|
||||
@@ -4043,7 +4043,7 @@ fn call_tracing_works() {
|
||||
];
|
||||
|
||||
// Verify that the first trace report the same weight reported by bare_call
|
||||
// TODO: fix tracing ( https://github.com/pezkuwichain/pezkuwi-sdk/issues/153 )
|
||||
// TODO: fix tracing ( https://github.com/pezkuwichain/pezkuwi-sdk/issues/296 )
|
||||
/*
|
||||
let mut tracer = CallTracer::new(false, |w| w);
|
||||
let gas_used = trace(&mut tracer, || {
|
||||
|
||||
@@ -192,7 +192,7 @@ pub mod v4 {
|
||||
/// This migration cleans up empty agendas of the V4 scheduler.
|
||||
///
|
||||
/// This should be run on a scheduler that does not have
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/41> since it piles up `None`-only agendas. This does not modify the pezpallet version.
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/210> since it piles up `None`-only agendas. This does not modify the pezpallet version.
|
||||
pub struct CleanupAgendas<T>(core::marker::PhantomData<T>);
|
||||
|
||||
impl<T: Config> OnRuntimeUpgrade for CleanupAgendas<T> {
|
||||
|
||||
@@ -273,7 +273,7 @@ pub mod benchmarking {
|
||||
}
|
||||
|
||||
#[deprecated(
|
||||
note = "'The V1 benchmarking syntax is deprecated. Please use the V2 syntax. This warning may become a hard error any time after April 2025. For more info, see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/123"
|
||||
note = "'The V1 benchmarking syntax is deprecated. Please use the V2 syntax. This warning may become a hard error any time after April 2025. For more info, see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/268"
|
||||
)]
|
||||
pub mod v1 {
|
||||
pub use super::shared::*;
|
||||
|
||||
@@ -72,7 +72,7 @@ parameter_types! {
|
||||
/// * Kusama: 16 (1.6m snapshot)
|
||||
///
|
||||
/// Reasoning: Both leads to around 700 nominators per-page, yielding the weights in
|
||||
/// https://github.com/pezkuwichain/pezkuwi-sdk/issues/128, the maximum of which being around 1mb
|
||||
/// https://github.com/pezkuwichain/pezkuwi-sdk/issues/273, the maximum of which being around 1mb
|
||||
/// compressed PoV and 2mb uncompressed.
|
||||
///
|
||||
/// NOTE: in principle, there is nothing preventing us from stretching these values further, it
|
||||
|
||||
@@ -67,7 +67,7 @@ pub struct UnlockChunk<Balance: HasCompact + MaxEncodedLen> {
|
||||
///
|
||||
/// TODO: move struct definition and full implementation into `/src/ledger.rs`. Currently
|
||||
/// leaving here to enforce a clean PR diff, given how critical this logic is. Tracking issue
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/21>.
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/191>.
|
||||
#[derive(
|
||||
PartialEqNoBound,
|
||||
EqNoBound,
|
||||
@@ -194,7 +194,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
// further spoil the ledger's state. A bond is in bad state when the bonded controller is
|
||||
// associated with a different ledger (i.e. a ledger with a different stash).
|
||||
//
|
||||
// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/128> for more details.
|
||||
// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/273> for more details.
|
||||
ensure!(
|
||||
Bonded::<T>::get(&stash) == Some(controller) && ledger.stash == stash,
|
||||
Error::<T>::BadState
|
||||
@@ -303,7 +303,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
if let Some(bonded_ledger) = Ledger::<T>::get(&self.stash) {
|
||||
// there is a ledger bonded by the stash. In this case, the stash of the bonded ledger
|
||||
// should be the same as the ledger's stash. Otherwise fail to prevent data
|
||||
// inconsistencies. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/117> for more
|
||||
// inconsistencies. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/262> for more
|
||||
// details.
|
||||
ensure!(bonded_ledger.stash == self.stash, Error::<T>::BadState);
|
||||
}
|
||||
|
||||
@@ -1795,7 +1795,7 @@ impl<T: Config> Pezpallet<T> {
|
||||
/// * A bonded (stash, controller) pair must have an associated ledger.
|
||||
///
|
||||
/// NOTE: these checks result in warnings only. Once
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/128> is resolved, turn warns into check
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/273> is resolved, turn warns into check
|
||||
/// failures.
|
||||
fn check_bonded_consistency() -> Result<(), TryRuntimeError> {
|
||||
use alloc::collections::btree_set::BTreeSet;
|
||||
|
||||
@@ -132,7 +132,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
// further spoil the ledger's state. A bond is in bad state when the bonded controller is
|
||||
// associated with a different ledger (i.e. a ledger with a different stash).
|
||||
//
|
||||
// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/128> for more details.
|
||||
// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/273> for more details.
|
||||
ensure!(
|
||||
Bonded::<T>::get(&stash) == Some(controller) && ledger.stash == stash,
|
||||
Error::<T>::BadState
|
||||
@@ -241,7 +241,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
if let Some(bonded_ledger) = Ledger::<T>::get(&self.stash) {
|
||||
// there is a ledger bonded by the stash. In this case, the stash of the bonded ledger
|
||||
// should be the same as the ledger's stash. Otherwise fail to prevent data
|
||||
// inconsistencies. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/117> for more
|
||||
// inconsistencies. See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/262> for more
|
||||
// details.
|
||||
ensure!(bonded_ledger.stash == self.stash, Error::<T>::BadState);
|
||||
}
|
||||
|
||||
@@ -495,7 +495,7 @@ pub struct UnlockChunk<Balance: HasCompact + MaxEncodedLen> {
|
||||
///
|
||||
/// TODO: move struct definition and full implementation into `/src/ledger.rs`. Currently
|
||||
/// leaving here to enforce a clean PR diff, given how critical this logic is. Tracking issue
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/21>.
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/191>.
|
||||
#[derive(
|
||||
PartialEqNoBound,
|
||||
EqNoBound,
|
||||
@@ -531,7 +531,7 @@ pub struct StakingLedger<T: Config> {
|
||||
/// for validators.
|
||||
///
|
||||
/// This is deprecated as of V14 in favor of `T::ClaimedRewards` and will be removed in future.
|
||||
/// Refer to issue <https://github.com/pezkuwichain/pezkuwi-sdk/issues/103>
|
||||
/// Refer to issue <https://github.com/pezkuwichain/pezkuwi-sdk/issues/249>
|
||||
pub legacy_claimed_rewards: BoundedVec<EraIndex, T::HistoryDepth>,
|
||||
|
||||
/// The controller associated with this ledger's stash.
|
||||
@@ -1213,7 +1213,7 @@ impl<T: Config> EraInfo<T> {
|
||||
/// non-paged rewards, and (2) `T::ClaimedRewards` for paged rewards. This function can be
|
||||
/// removed once `T::HistoryDepth` eras have passed and none of the older non-paged rewards
|
||||
/// are relevant/claimable.
|
||||
// Refer tracker issue for cleanup: https://github.com/pezkuwichain/pezkuwi-sdk/issues/103
|
||||
// Refer tracker issue for cleanup: https://github.com/pezkuwichain/pezkuwi-sdk/issues/249
|
||||
pub(crate) fn is_rewards_claimed_with_legacy_fallback(
|
||||
era: EraIndex,
|
||||
ledger: &StakingLedger<T>,
|
||||
|
||||
@@ -1527,7 +1527,7 @@ impl<T: Config> ElectionDataProvider for Pezpallet<T> {
|
||||
let targets = Self::get_npos_targets(bounds);
|
||||
|
||||
// We can't handle this case yet -- return an error. WIP to improve handling this case in
|
||||
// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/43>.
|
||||
// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/211>.
|
||||
if bounds.exhausted(None, CountBound(T::TargetList::count()).into()) {
|
||||
return Err("Target snapshot too big");
|
||||
}
|
||||
@@ -2082,7 +2082,7 @@ impl<T: Config> StakingInterface for Pezpallet<T> {
|
||||
|
||||
fn is_exposed_in_era(who: &Self::AccountId, era: &EraIndex) -> bool {
|
||||
// look in the non paged exposures
|
||||
// FIXME: Can be cleaned up once non paged exposures are cleared (https://github.com/pezkuwichain/pezkuwi-sdk/issues/103)
|
||||
// FIXME: Can be cleaned up once non paged exposures are cleared (https://github.com/pezkuwichain/pezkuwi-sdk/issues/249)
|
||||
ErasStakers::<T>::iter_prefix(era).any(|(validator, exposures)| {
|
||||
validator == *who || exposures.others.iter().any(|i| i.who == *who)
|
||||
})
|
||||
@@ -2237,7 +2237,7 @@ impl<T: Config> Pezpallet<T> {
|
||||
/// * A bonded (stash, controller) pair must have an associated ledger.
|
||||
///
|
||||
/// NOTE: these checks result in warnings only. Once
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/128> is resolved, turn warns into check
|
||||
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/273> is resolved, turn warns into check
|
||||
/// failures.
|
||||
fn check_bonded_consistency() -> Result<(), TryRuntimeError> {
|
||||
use alloc::collections::btree_set::BTreeSet;
|
||||
|
||||
@@ -289,7 +289,7 @@ pub(crate) fn compute_slash<T: Config>(
|
||||
|
||||
if target_span == Some(spans.span_index()) {
|
||||
// misbehavior occurred within the current slashing span - end current span.
|
||||
// Check <https://github.com/pezkuwichain/pezkuwi-sdk/issues/124> for details.
|
||||
// Check <https://github.com/pezkuwichain/pezkuwi-sdk/issues/269> for details.
|
||||
spans.end_span(params.now);
|
||||
}
|
||||
}
|
||||
@@ -321,7 +321,7 @@ fn kick_out_if_recent<T: Config>(params: SlashParams<T>) {
|
||||
);
|
||||
|
||||
if spans.era_span(params.slash_era).map(|s| s.index) == Some(spans.span_index()) {
|
||||
// Check https://github.com/pezkuwichain/pezkuwi-sdk/issues/124 for details
|
||||
// Check https://github.com/pezkuwichain/pezkuwi-sdk/issues/269 for details
|
||||
spans.end_span(params.now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,7 +530,7 @@ pub mod pezpallet {
|
||||
/// keys which are then hashed and concatenated, resulting in arbitrarily long keys.
|
||||
///
|
||||
/// Use the *state migration RPC* to retrieve the length of the longest key in your
|
||||
/// storage: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/8>
|
||||
/// storage: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/322>
|
||||
///
|
||||
/// The migration will halt with a `Halted` event if this value is too small.
|
||||
/// Since there is no real penalty from over-estimating, it is advised to use a large
|
||||
@@ -542,7 +542,7 @@ pub mod pezpallet {
|
||||
/// - [`pezframe_support::storage::StorageDoubleMap`]: 96 byte
|
||||
///
|
||||
/// For more info see
|
||||
/// <https://www.shawntabrizi.com/blog/bizinikiwi/querying-bizinikiwi-storage-via-rpc/>
|
||||
/// <https://www.shawntabrizi.com/blog/substrate/querying-substrate-storage-via-rpc/>
|
||||
|
||||
#[pezpallet::constant]
|
||||
#[pezpallet::no_default]
|
||||
|
||||
@@ -437,7 +437,7 @@ fn construct_runtime_final_expansion(
|
||||
"use `pezframe_system::Config` to set the `Block` type and delete this clause.
|
||||
It is planned to be removed in December 2023",
|
||||
)
|
||||
.help_links(&["https://github.com/pezkuwichain/pezkuwi-sdk/issues/51"])
|
||||
.help_links(&["https://github.com/pezkuwichain/pezkuwi-sdk/issues/218"])
|
||||
.span(where_section.span)
|
||||
.build_or_panic(),
|
||||
)
|
||||
|
||||
@@ -106,8 +106,8 @@ pub fn expand_call(def: &mut Def) -> proc_macro2::TokenStream {
|
||||
.old("use implicit call indices")
|
||||
.new("ensure that all calls have a `pezpallet::call_index` attribute or put the pezpallet into `dev` mode")
|
||||
.help_links(&[
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/39",
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/36"
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/208",
|
||||
"https://github.com/pezkuwichain/pezkuwi-sdk/issues/205"
|
||||
])
|
||||
.span(method.name.span())
|
||||
.build_or_panic();
|
||||
|
||||
@@ -38,7 +38,7 @@ pub(crate) fn weight_witness_warning(
|
||||
let partial_warning = Warning::new_deprecated("UncheckedWeightWitness")
|
||||
.old("not check weight witness data")
|
||||
.new("ensure that all witness data for weight calculation is checked before usage")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/108");
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/254");
|
||||
|
||||
for (_, arg_ident, _) in method.args.iter() {
|
||||
if !arg_ident.to_string().starts_with('_') || !contains_ident(w.clone(), &arg_ident) {
|
||||
@@ -70,7 +70,7 @@ pub(crate) fn weight_constant_warning(
|
||||
.index(warnings.len())
|
||||
.old("use hard-coded constant as call weight")
|
||||
.new("benchmark all calls or put the pezpallet into `dev` mode")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/48")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/215")
|
||||
.span(lit.span())
|
||||
.build_or_panic();
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@ impl ConfigDef {
|
||||
.old("have `RuntimeEvent` associated type in the pezpallet config")
|
||||
.new("remove it as it is redundant since associated bound gets appended automatically: \n
|
||||
pub trait Config: pezframe_system::Config<RuntimeEvent: From<Event<Self>>> { }")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/125")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/270")
|
||||
.span(type_event.ident.span())
|
||||
.build_or_panic();
|
||||
|
||||
|
||||
@@ -1926,7 +1926,7 @@ pub mod pezpallet_macros {
|
||||
///
|
||||
/// ## Former Usage
|
||||
///
|
||||
/// Prior to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/50>, the following syntax was used.
|
||||
/// Prior to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/217>, the following syntax was used.
|
||||
/// This is deprecated and will soon be removed.
|
||||
///
|
||||
/// ```
|
||||
|
||||
@@ -311,7 +311,7 @@ pub fn migrate_from_pallet_version_to_storage_version<
|
||||
/// If your pezpallet has too many keys to be removed in a single block, it is advised to wait for
|
||||
/// a multi-block scheduler currently under development which will allow for removal of storage
|
||||
/// items (and performing other heavy migrations) over multiple blocks
|
||||
/// (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/11>).
|
||||
/// (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/324>).
|
||||
pub struct RemovePallet<P: Get<&'static str>, DbWeight: Get<RuntimeDbWeight>>(
|
||||
PhantomData<(P, DbWeight)>,
|
||||
);
|
||||
@@ -418,7 +418,7 @@ impl<P: Get<&'static str>, DbWeight: Get<RuntimeDbWeight>>
|
||||
/// If your storage has too many keys to be removed in a single block, it is advised to wait for
|
||||
/// a multi-block scheduler currently under development which will allow for removal of storage
|
||||
/// items (and performing other heavy migrations) over multiple blocks
|
||||
/// (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/11>).
|
||||
/// (see <https://github.com/pezkuwichain/pezkuwi-sdk/issues/324>).
|
||||
pub struct RemoveStorage<P: Get<&'static str>, S: Get<&'static str>, DbWeight: Get<RuntimeDbWeight>>(
|
||||
PhantomData<(P, S, DbWeight)>,
|
||||
);
|
||||
|
||||
@@ -170,7 +170,7 @@ pub mod pezpallet {
|
||||
#[pezpallet::hooks]
|
||||
impl<T: Config> Hooks<BlockNumberFor<T>> for Pezpallet<T> {
|
||||
fn on_initialize(n: BlockNumberFor<T>) -> Weight {
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/160 - Replace this with benchmarked weights.
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/303 - Replace this with benchmarked weights.
|
||||
let mut weight = Weight::zero();
|
||||
let db_weight = T::DbWeight::get();
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@ pub mod pezpallet {
|
||||
type SpendFunds: SpendFunds<Self, I>;
|
||||
|
||||
/// DEPRECATED: associated with `spend_local` call and will be removed in May 2025.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/122> for migration to `spend`.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/267> for migration to `spend`.
|
||||
///
|
||||
/// The maximum number of approvals that can wait in the spending queue.
|
||||
///
|
||||
@@ -329,14 +329,14 @@ pub mod pezpallet {
|
||||
}
|
||||
|
||||
/// DEPRECATED: associated with `spend_local` call and will be removed in May 2025.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/122> for migration to `spend`.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/267> for migration to `spend`.
|
||||
///
|
||||
/// Number of proposals that have been made.
|
||||
#[pezpallet::storage]
|
||||
pub type ProposalCount<T, I = ()> = StorageValue<_, ProposalIndex, ValueQuery>;
|
||||
|
||||
/// DEPRECATED: associated with `spend_local` call and will be removed in May 2025.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/122> for migration to `spend`.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/267> for migration to `spend`.
|
||||
///
|
||||
/// Proposals that have been made.
|
||||
#[pezpallet::storage]
|
||||
@@ -354,7 +354,7 @@ pub mod pezpallet {
|
||||
StorageValue<_, BalanceOf<T, I>, ValueQuery>;
|
||||
|
||||
/// DEPRECATED: associated with `spend_local` call and will be removed in May 2025.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/122> for migration to `spend`.
|
||||
/// Refer to <https://github.com/pezkuwichain/pezkuwi-sdk/issues/267> for migration to `spend`.
|
||||
///
|
||||
/// Proposal indices that have been approved but not yet awarded.
|
||||
#[pezpallet::storage]
|
||||
|
||||
@@ -181,7 +181,7 @@ pub trait Backend<Block: BlockT>:
|
||||
/// chain or descendants of it.
|
||||
///
|
||||
/// Returns `Ok(None)` if `base_hash` is not found in search space.
|
||||
// TODO: document time complexity of this, see [#1444](https://github.com/pezkuwichain/pezkuwi-sdk/issues/18)
|
||||
// TODO: document time complexity of this, see [#1444](https://github.com/pezkuwichain/pezkuwi-sdk/issues/331)
|
||||
fn longest_containing(
|
||||
&self,
|
||||
base_hash: Block::Hash,
|
||||
|
||||
@@ -96,7 +96,7 @@ fn unavailable_yet<R: Default>(name: &str) -> R {
|
||||
tracing::error!(
|
||||
target: LOG_TARGET,
|
||||
"The {:?} API is not available for offchain workers yet. Follow \
|
||||
https://github.com/pezkuwichain/pezkuwi-sdk/issues/19 for details",
|
||||
https://github.com/pezkuwichain/pezkuwi-sdk/issues/332 for details",
|
||||
name
|
||||
);
|
||||
Default::default()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
//! The implementation has been primarily designed to be used in slow hosted
|
||||
//! targets (e.g. wasm32) and offloads the most computationally expensive
|
||||
//! operations to the host by leveraging the
|
||||
//! [arkworks-extensions](https://github.com/pezkuwichain/arkworks-extensions)
|
||||
//! [arkworks-extensions](https://github.com/paritytech/arkworks-extensions)
|
||||
//! library and Bizinikiwi's host functions.
|
||||
//!
|
||||
//! The exported types are organized and named in a way that mirrors the structure
|
||||
|
||||
@@ -524,7 +524,7 @@ pub struct OuterEnumsIR<T: Form = MetaForm> {
|
||||
/// The type of the outer `RuntimeEvent` enum.
|
||||
pub event_enum_ty: T::Type,
|
||||
/// The module error type of the
|
||||
/// [`DispatchError::Module`](https://docs.rs/sp-runtime/24.0.0/pezsp_runtime/enum.DispatchError.html#variant.Module) variant.
|
||||
/// [`DispatchError::Module`](https://docs.rs/sp-runtime/24.0.0/sp_runtime/enum.DispatchError.html#variant.Module) variant.
|
||||
///
|
||||
/// The `Module` variant will be 5 scale encoded bytes which are normally decoded into
|
||||
/// an `{ index: u8, error: [u8; 4] }` struct. This type ID points to an enum type which
|
||||
|
||||
@@ -47,7 +47,7 @@ pub type Page = u32;
|
||||
/// Representation of a staking account, which may be a stash or controller account.
|
||||
///
|
||||
/// Note: once the controller is completely deprecated, this enum can also be deprecated in favor of
|
||||
/// the stash account. Tracking issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/28>.
|
||||
/// the stash account. Tracking issue: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/198>.
|
||||
#[derive(Clone, Debug)]
|
||||
pub enum StakingAccount<AccountId> {
|
||||
Stash(AccountId),
|
||||
|
||||
@@ -142,7 +142,7 @@ impl ParseRuntimeVersion {
|
||||
let warning = Warning::new_deprecated("RuntimeVersion")
|
||||
.old("state_version")
|
||||
.new("system_version)")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/118")
|
||||
.help_link("https://github.com/pezkuwichain/pezkuwi-sdk/issues/263")
|
||||
.span(field_name.span())
|
||||
.build_or_panic();
|
||||
warnings.push(warning);
|
||||
|
||||
@@ -27,7 +27,7 @@ use std::{borrow::Cow, path::PathBuf};
|
||||
const ERROR_CANNOT_BUILD_GENESIS: &str = "The runtime returned \
|
||||
an error when trying to build the genesis storage. Please ensure that all pallets \
|
||||
define a genesis config that can be built. This can be tested with: \
|
||||
https://github.com/pezkuwichain/pezkuwi-sdk/issues/115";
|
||||
https://github.com/pezkuwichain/pezkuwi-sdk/issues/260";
|
||||
|
||||
/// Warn when using the chain spec to generate the genesis state.
|
||||
pub const WARN_SPEC_GENESIS_CTOR: &'static str = "Using the chain spec instead of the runtime to \
|
||||
|
||||
@@ -485,7 +485,7 @@ where
|
||||
|
||||
loop {
|
||||
// This loop can hit the node with very rapid requests, occasionally causing it to
|
||||
// error out in CI (https://github.com/pezkuwichain/pezkuwi-sdk/issues/14), so we retry.
|
||||
// error out in CI (https://github.com/pezkuwichain/pezkuwi-sdk/issues/327), so we retry.
|
||||
let retry_strategy =
|
||||
FixedInterval::new(Self::KEYS_PAGE_RETRY_INTERVAL).take(Self::MAX_RETRIES);
|
||||
let get_page_closure =
|
||||
|
||||
@@ -64,7 +64,7 @@ pub(crate) fn check(target: RuntimeTarget) -> Result<CargoCommandVersioned, Stri
|
||||
if !cargo_command.supports_bizinikiwi_runtime_env(target) {
|
||||
return Err(colorize_error_message(
|
||||
"Cannot compile a RISC-V runtime: no compatible Rust compiler found!\n\
|
||||
Install a toolchain from here and try again: https://github.com/pezkuwichain/rustc-rv32e-toolchain/",
|
||||
Install a toolchain from here and try again: https://github.com/paritytech/rustc-rv32e-toolchain",
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -529,7 +529,7 @@ fn create_project_cargo_toml(
|
||||
// TODO: Remove this once a new version of `bitvec` (which uses a new version of `radium`
|
||||
// which doesn't have this problem) is released on crates.io.
|
||||
let radium_patch = toml::toml! {
|
||||
radium = { git = "https://github.com/pezkuwichain/radium-0.7-fork.git", rev = "a5da15a15c90fd169d661d206cf0db592487f52b" }
|
||||
radium = { git = "https://github.com/paritytech/radium-0.7-fork", rev = "a5da15a15c90fd169d661d206cf0db592487f52b" }
|
||||
};
|
||||
|
||||
let mut patch = wasm_workspace_toml
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
//! third-parties, and are therefore subject to more variability. Any further resources may be added
|
||||
//! by opening a pull request to the `pezkuwi-sdk` repository.
|
||||
//!
|
||||
//! - [Pezkuwi NFT Marketplace Tutorial by Pezkuwi Fellow Shawn Tabrizi](https://www.shawntabrizi.com/bizinikiwi-collectables-workshop/)
|
||||
//! - [Pezkuwi NFT Marketplace Tutorial by Pezkuwi Fellow Shawn Tabrizi](https://www.shawntabrizi.com/substrate-collectables-workshop/)
|
||||
//! - [HEZ Code School](https://pezkuwichain.io/docs/introduction)
|
||||
//! - [Pezkuwi Developers Github Organization](https://github.com/polkadot-developers/)
|
||||
//! - [Pezkuwi Blockchain Academy](https://github.com/pezkuwichain/pezkuwi_blockchain-academy)
|
||||
//! - [Pezkuwi Blockchain Academy](https://github.com/pezkuwichain/kurdistan_blockchain-akademy)
|
||||
//! - [Pezkuwi Wiki](https://wiki.network.pezkuwichain.io/)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//! This guide will teach you how to enable storage weight reclaiming for a teyrchain. The
|
||||
//! explanations in this guide assume a project structure similar to the one detailed in
|
||||
//! the [bizinikiwi documentation](crate::pezkuwi_sdk::bizinikiwi#anatomy-of-a-binary-crate). Full
|
||||
//! technical details are available in the original [pull request](https://github.com/pezkuwichain/pezkuwi-sdk/issues/111).
|
||||
//! technical details are available in the original [pull request](https://github.com/pezkuwichain/pezkuwi-sdk/issues/257).
|
||||
//!
|
||||
//! # What is PoV reclaim?
|
||||
//! When a teyrchain submits a block to a relay chain like Pezkuwi or Kusama, it sends the block
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
//! Idiomatic FRAME pallets often use Builder pattern to define their initial state.
|
||||
//!
|
||||
//! > The Pezkuwi Blockchain Academy's Rust entrance exam has a
|
||||
//! > [section](https://github.com/pezkuwichain/pezkuwi_blockchain-academy/blob/main/src/m_builder.rs)
|
||||
//! > [section](https://github.com/pezkuwichain/kurdistan_blockchain-akademy/blob/main/src/m_builder.rs)
|
||||
//! > on this that you can use to learn the Builder Pattern.
|
||||
//!
|
||||
//! Let's see how we can implement a better test setup using this pattern. First, we define a
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
//! > To achieve this, we often use [`docify`](https://github.com/sam0x17/docify), a nifty invention
|
||||
//! > of `@sam0x17`.
|
||||
//!
|
||||
//! Also see: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/109>.
|
||||
//! Also see: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/255>.
|
||||
//!
|
||||
//! ## Scope
|
||||
//!
|
||||
@@ -132,7 +132,7 @@
|
||||
//! So long as not deployed in `crates.io`, please notice that all of the information in this crate,
|
||||
//! namely in [`crate::guides`] and such are compatible with the master branch of `pezkuwi-sdk`. A
|
||||
//! few solutions have been proposed to improve this, please see
|
||||
//! [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/146).
|
||||
//! [here](https://github.com/pezkuwichain/pezkuwi-sdk/issues/289).
|
||||
//!
|
||||
//! ## How to Develop Locally
|
||||
//!
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
//! build their WASM files as a part of normal build command (e.g. `cargo build`). Once built, the
|
||||
//! wasm file is placed in `./target/{debug|release}/wbuild/{runtime_name}/{runtime_name}.wasm`.
|
||||
//!
|
||||
//! In order to ensure that the WASM build is **deterministic**, the [Bizinikiwi Runtime Toolbox (srtool)](https://github.com/pezkuwichain/srtool) can be used.
|
||||
//! In order to ensure that the WASM build is **deterministic**, the [Bizinikiwi Runtime Toolbox (srtool)](https://github.com/paritytech/srtool) can be used.
|
||||
//!
|
||||
//! ### Anatomy of a Binary Crate
|
||||
//!
|
||||
@@ -108,7 +108,7 @@
|
||||
//!
|
||||
//! > The above two are conventions, not rules.
|
||||
//!
|
||||
//! > See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/94> for an update on how the node side
|
||||
//! > See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/241> for an update on how the node side
|
||||
//! > components are being amalgamated.
|
||||
//!
|
||||
//! ## Teyrchain?
|
||||
@@ -130,7 +130,7 @@
|
||||
//! - [`pezsc_consensus_aura`]
|
||||
//! - [`pezsc_consensus_babe`]
|
||||
//! - [`pezsc_consensus_grandpa`]
|
||||
//! - [`pezsc_consensus_beefy`] (TODO: @adrian, add some high level docs <https://github.com/pezkuwichain/pezkuwi-sdk/issues/162>)
|
||||
//! - [`pezsc_consensus_beefy`] (TODO: @adrian, add some high level docs <https://github.com/pezkuwichain/pezkuwi-sdk/issues/305>)
|
||||
//! - [`pezsc_consensus_manual_seal`]
|
||||
//! - [`pezsc_consensus_pow`]
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
//!
|
||||
//! [](https://github.com/pezkuwichain/pezkuwi-sdk/blob/master/bizinikiwi/LICENSE-APACHE2)
|
||||
//! [](https://github.com/pezkuwichain/pezkuwi-sdk/blob/master/bizinikiwi/frame)
|
||||
//! Repo](https://img.shields.io/badge/github-frame-2324CC85)](https://github.com/pezkuwichain/pezkuwi-sdk/blob/master/bizinikiwi/pezframe)
|
||||
//!
|
||||
//! [`frame`] is the framework used to create Bizinikiwi-based application logic, aka. runtimes.
|
||||
//! Learn more about the distinction of a runtime and node in
|
||||
@@ -118,8 +118,8 @@
|
||||
//!
|
||||
//! - [`parity-scale-codec`](https://github.com/pezkuwichain/parity-scale-codec)
|
||||
//! - [`parity-db`](https://github.com/pezkuwichain/parity-db)
|
||||
//! - [`trie`](https://github.com/pezkuwichain/trie)
|
||||
//! - [`parity-common`](https://github.com/pezkuwichain/parity-common)
|
||||
//! - [`trie`](https://github.com/paritytech/trie)
|
||||
//! - [`parity-common`](https://github.com/paritytech/parity-common)
|
||||
//!
|
||||
//! ## Trophy Section: Notable Downstream Projects
|
||||
//!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//! # Smart Contracts
|
||||
//!
|
||||
//! TODO: @cmichi <https://github.com/pezkuwichain/pezkuwi-sdk/issues/161>
|
||||
//! TODO: @cmichi <https://github.com/pezkuwichain/pezkuwi-sdk/issues/304>
|
||||
//!
|
||||
//! - WASM and EVM based, pezpallet-contracts and pezpallet-evm.
|
||||
//! - single-daap-chain, transition from ink! to FRAME.
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
//!
|
||||
//! The following templates are maintained as a part of the `pezkuwi-sdk` repository:
|
||||
//!
|
||||
//! - [`minimal-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/25): A minimal
|
||||
//! - [`minimal-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/195): A minimal
|
||||
//! template that contains the least amount of features to be a functioning blockchain. Suitable
|
||||
//! for learning and testing.
|
||||
//! - [`solochain-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/25): Formerly known
|
||||
//! - [`solochain-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/195): Formerly known
|
||||
//! as "bizinikiwi-node-template", is a white-labeled bizinikiwi-based blockchain (aka. solochain)
|
||||
//! that contains moderate features, such as a basic consensus engine and some FRAME pallets. This
|
||||
//! template can act as a good starting point for those who want to launch a solochain.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
//!
|
||||
//! ## Overview
|
||||
//!
|
||||
//! XCM is a standard, specification of which lives in the [xcm format repo](https://github.com/pezkuwichain/xcm-format).
|
||||
//! XCM is a standard, specification of which lives in the [xcm format repo](https://github.com/polkadot-fellows/xcm-format).
|
||||
//! It's agnostic both in programming language and blockchain platform, which means it could be used
|
||||
//! in Rust in Pezkuwi, or in Go or C++ in any other platform like Cosmos or Ethereum.
|
||||
//!
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//! # Bizinikiwi CLI
|
||||
//!
|
||||
//! Let's see some examples of typical CLI arguments used when setting up and running a
|
||||
//! Bizinikiwi-based blockchain. We use the [`solochain-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/25)
|
||||
//! Bizinikiwi-based blockchain. We use the [`solochain-template`](https://github.com/pezkuwichain/pezkuwi-sdk/issues/195)
|
||||
//! on these examples.
|
||||
//!
|
||||
//! #### Checking the available CLI arguments
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
//! ## Background
|
||||
//!
|
||||
//! Pezkuwi-SDK offers the ability to query and subscribe storages directly. However what it does
|
||||
//! not have is [view functions](https://github.com/pezkuwichain/pezkuwi-sdk/issues/101). This is an
|
||||
//! not have is [view functions](https://github.com/pezkuwichain/pezkuwi-sdk/issues/247). This is an
|
||||
//! essential feature to avoid duplicated logic between runtime and the client SDK. Custom RPC was
|
||||
//! used as a solution. It allow the RPC node to expose new RPCs that clients can be used to query
|
||||
//! computed properties.
|
||||
|
||||
@@ -151,5 +151,5 @@
|
||||
//! }
|
||||
//! ```
|
||||
//!
|
||||
//! Please read [this issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/155) for one
|
||||
//! Please read [this issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/298) for one
|
||||
//! instance of the consensus issues caused by this mistake.
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
//!
|
||||
//! Consider the fact that in principle, an offchain worker code written using the above API is no
|
||||
//! different than an equivalent written with an _actual offchain interaction library_, such as
|
||||
//! [Pezkuwi-JS](https://polkadot.js.org/docs/), or any of the other ones listed [here](https://github.com/bizinikiwi-developer-hub/awesome-bizinikiwi?tab=readme-ov-file#client-libraries).
|
||||
//! [Pezkuwi-JS](https://polkadot.js.org/docs/), or any of the other ones listed [here](https://github.com/substrate-developer-hub/awesome-substrate?tab=readme-ov-file#client-libraries).
|
||||
//!
|
||||
//! They can both read from the state, and have no means of updating the state, other than the route
|
||||
//! of submitting an extrinsic to the chain. Therefore, it is worth thinking twice before embedding
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
//!
|
||||
//! > As of now, many of these important types are generated within the internals of
|
||||
//! > [`construct_runtime`], and there is no easy way for you to visually know they exist.
|
||||
//! > [#pezkuwi-sdk#1378](https://github.com/pezkuwichain/pezkuwi-sdk/issues/105) is meant to
|
||||
//! > [#pezkuwi-sdk#1378](https://github.com/pezkuwichain/pezkuwi-sdk/issues/251) is meant to
|
||||
//! > significantly improve this. Exploring the rust-docs of a runtime, such as [`runtime`] which is
|
||||
//! > defined in this module is as of now the best way to learn about these types.
|
||||
//!
|
||||
@@ -104,7 +104,7 @@
|
||||
#![doc = docify::embed!("./src/reference_docs/frame_runtime_types.rs", custom_runtime_call_usages)]
|
||||
//!
|
||||
//! > Once Rust's "_Associated Type Bounds RFC_" is usable, this syntax can be used to
|
||||
//! > simplify the above scenario. See [this](https://github.com/pezkuwichain/pezkuwi-sdk/issues/133)
|
||||
//! > simplify the above scenario. See [this](https://github.com/pezkuwichain/pezkuwi-sdk/issues/278)
|
||||
//! > issue for more information.
|
||||
//!
|
||||
//! ### Asserting Equality of Multiple Runtime Composite Enums
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
//! - Touching too many storage keys and resulting in an excessively large PoV.
|
||||
//! - Taking too long to execute.
|
||||
//!
|
||||
//! [`try-runtime-cli`](https://github.com/pezkuwichain/try-runtime-cli) has a sub-command
|
||||
//! [`on-runtime-upgrade`](https://pezkuwichain.github.io/try-runtime-cli/try_runtime_core/commands/enum.Action.html#variant.OnRuntimeUpgrade)
|
||||
//! [`try-runtime-cli`](https://github.com/paritytech/try-runtime-cli) has a sub-command
|
||||
//! [`on-runtime-upgrade`](https://paritytech.github.io/try-runtime-cli/try_runtime_core/commands/enum.Action.html#variant.OnRuntimeUpgrade)
|
||||
//! which is designed to help with exactly this.
|
||||
//!
|
||||
//! Developers MUST run this command before deploying migrations to ensure they will not
|
||||
@@ -100,7 +100,7 @@
|
||||
//!
|
||||
//! ### Note on the Manipulability of PoV Size and Execution Time
|
||||
//!
|
||||
//! While [`try-runtime-cli`](https://github.com/pezkuwichain/try-runtime-cli) can help ensure with
|
||||
//! While [`try-runtime-cli`](https://github.com/paritytech/try-runtime-cli) can help ensure with
|
||||
//! very high certainty that a migration will succeed given **existing** on-chain state, it cannot
|
||||
//! prevent a malicious actor from manipulating state in a way that will cause the migration to take
|
||||
//! longer or produce a PoV much larger than previously measured.
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
//!
|
||||
//! You may notice the trait [`Currency`](`pezframe_support::traits::Currency`) with similar
|
||||
//! functionality is also used in the codebase, however this trait is deprecated and existing logic
|
||||
//! is in the process of being migrated to [`fungible`](`pezframe_support::traits::fungible`) ([tracking issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/102)).
|
||||
//! is in the process of being migrated to [`fungible`](`pezframe_support::traits::fungible`) ([tracking issue](https://github.com/pezkuwichain/pezkuwi-sdk/issues/248)).
|
||||
//!
|
||||
//! ## Fungible Token Trait Implementations in FRAME
|
||||
//!
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
//!
|
||||
//! > The notorious `service.rs` in any node template is a good example of this.
|
||||
//!
|
||||
//! A [trend](https://github.com/pezkuwichain/pezkuwi-sdk/issues/97) has already been undergoing in
|
||||
//! A [trend](https://github.com/pezkuwichain/pezkuwi-sdk/issues/243) has already been undergoing in
|
||||
//! order to de-couple the node and the runtime for a long time. The north star of this effort is
|
||||
//! twofold :
|
||||
//!
|
||||
@@ -174,7 +174,7 @@
|
||||
//! [`pezsc_consensus_manual_seal`] under the hood, and has no restrictions on the runtime's
|
||||
//! consensus.
|
||||
//!
|
||||
//! [This](https://github.com/pezkuwichain/pezkuwi-sdk/issues/143) future improvement to OmniNode
|
||||
//! [This](https://github.com/pezkuwichain/pezkuwi-sdk/issues/286) future improvement to OmniNode
|
||||
//! aims to make such checks automatic.
|
||||
//!
|
||||
//! ### Runtime conventions
|
||||
@@ -196,6 +196,6 @@
|
||||
//! [`--dev-block-time`]: pezkuwi_omni_node_lib::cli::Cli::dev_block_time
|
||||
//! [`pezkuwi-omni-node`]: https://crates.io/crates/polkadot-omni-node
|
||||
//! [`chain-spec-builder`]: https://crates.io/crates/pezstaging-chain-spec-builder
|
||||
//! [`pezcumulus-pezpallet-teyrchain-system`]: https://docs.rs/pezcumulus-pezpallet-parachain-system/latest/pezcumulus_pezpallet_parachain_system/
|
||||
//! [`pezframe-system`]: https://docs.rs/pezframe-system/latest/pezframe_system/
|
||||
//! [`block number`]: https://docs.rs/pezframe-system/latest/pezframe_system/pezpallet/storage_types/struct.Number.html
|
||||
//! [`pezcumulus-pezpallet-teyrchain-system`]: https://docs.rs/cumulus-pallet-parachain-system/latest/cumulus_pallet_parachain_system/
|
||||
//! [`pezframe-system`]: https://docs.rs/frame-system/latest/frame_system/
|
||||
//! [`block number`]: https://docs.rs/frame-system/latest/frame_system/pallet/storage_types/struct.Number.html
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
//!
|
||||
//! ## Additional Resources
|
||||
//!
|
||||
//! - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/13>
|
||||
//! - <https://github.com/pezkuwichain/pezkuwi-sdk/issues/326>
|
||||
//! - [Bizinikiwi Seminar - Traits and Generic Types](https://www.youtube.com/watch?v=6cp10jVWNl4)
|
||||
//! - <https://exchange.pezkuwichain.app/questions/2228/type-casting-to-trait-t-as-config>
|
||||
#![allow(unused)]
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
//! infrastructure of native code. However, neither of the two arguments strongly hold and the
|
||||
//! native runtime is being fully removed from the node-sdk.
|
||||
//!
|
||||
//! See: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/97>
|
||||
//! See: <https://github.com/pezkuwichain/pezkuwi-sdk/issues/243>
|
||||
//!
|
||||
//! > Also, note that the flags [`pezsc_cli::ExecutionStrategy::Native`] is already a noop and all
|
||||
//! > chains built with Bizinikiwi only use WASM execution.
|
||||
|
||||
@@ -516,7 +516,7 @@ pub mod pezpallet {
|
||||
pub type PalletOperatingMode<T: Config<I>, I: 'static = ()> =
|
||||
StorageValue<_, MessagesOperatingMode, ValueQuery>;
|
||||
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/89: let's limit number of
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/236: let's limit number of
|
||||
// possible opened lanes && use it to constraint maps below
|
||||
|
||||
/// Map of lane id => inbound lane data.
|
||||
|
||||
@@ -202,7 +202,7 @@ parameter_types! {
|
||||
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
|
||||
impl pezframe_system::Config for TestRuntime {
|
||||
type Block = ThisChainBlock;
|
||||
// TODO: remove when https://github.com/pezkuwichain/pezkuwi-sdk/issues/120 merged
|
||||
// TODO: remove when https://github.com/pezkuwichain/pezkuwi-sdk/issues/265 merged
|
||||
type BlockHashCount = ConstU32<10>;
|
||||
type AccountData = pezpallet_balances::AccountData<ThisChainBalance>;
|
||||
type DbWeight = DbWeight;
|
||||
|
||||
@@ -225,7 +225,7 @@ impl<T: Config<I>, I: 'static> Pezpallet<T, I> {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/83 we either need fishermens
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/231 we either need fishermens
|
||||
// to watch this rule violation (suspended, but keep sending new messages), or we need a
|
||||
// hard limit for that like other XCM queues have
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ pub mod pezpallet {
|
||||
|
||||
/// Runtime's universal location.
|
||||
type UniversalLocation: Get<InteriorLocation>;
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/80 remove `ChainId` and
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/228 remove `ChainId` and
|
||||
// replace it with the `NetworkId` - then we'll be able to use
|
||||
// `T as pezpallet_bridge_messages::Config<T::BridgeMessagesPalletInstance>::BridgedChain::NetworkId`
|
||||
/// Bridged network as relative location of bridged `GlobalConsensus`.
|
||||
@@ -295,7 +295,7 @@ pub mod pezpallet {
|
||||
/// The states after this call: bridge is `Opened`, outbound lane is `Opened`, inbound lane
|
||||
/// is `Opened`.
|
||||
#[pezpallet::call_index(0)]
|
||||
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/87 - add benchmarks impl
|
||||
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/234 - add benchmarks impl
|
||||
pub fn open_bridge(
|
||||
origin: OriginFor<T>,
|
||||
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
|
||||
@@ -333,7 +333,7 @@ pub mod pezpallet {
|
||||
/// The states after this call: everything is either `Closed`, or purged from the
|
||||
/// runtime storage.
|
||||
#[pezpallet::call_index(1)]
|
||||
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/87 - add benchmarks impl
|
||||
#[pezpallet::weight(Weight::zero())] // TODO:(bridges-v2) - https://github.com/pezkuwichain/pezkuwi-sdk/issues/234 - add benchmarks impl
|
||||
pub fn close_bridge(
|
||||
origin: OriginFor<T>,
|
||||
bridge_destination_universal_location: Box<VersionedInteriorLocation>,
|
||||
@@ -343,7 +343,7 @@ pub mod pezpallet {
|
||||
let locations =
|
||||
Self::bridge_locations_from_origin(origin, bridge_destination_universal_location)?;
|
||||
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/81 - may do refund here, if
|
||||
// TODO: https://github.com/pezkuwichain/pezkuwi-sdk/issues/229 - may do refund here, if
|
||||
// bridge/lanes are already closed + for messages that are not pruned
|
||||
|
||||
// update bridge metadata - this also guarantees that the bridge is in the proper state
|
||||
|
||||
@@ -108,7 +108,7 @@ pub trait Chain: Send + Sync + 'static {
|
||||
/// A type that fulfills the abstract idea of what a Bizinikiwi block number is.
|
||||
// Constraints come from the associated Number type of `pezsp_runtime::traits::Header`
|
||||
// See here for more info:
|
||||
// https://docs.rs/sp-runtime/latest/pezsp_runtime/traits/trait.Header.html#associatedtype.Number
|
||||
// https://docs.rs/sp-runtime/latest/sp_runtime/traits/trait.Header.html#associatedtype.Number
|
||||
//
|
||||
// Note that the `AsPrimitive<usize>` trait is required by the GRANDPA justification
|
||||
// verifier, and is not usually part of a Bizinikiwi Header's Number type.
|
||||
@@ -129,7 +129,7 @@ pub trait Chain: Send + Sync + 'static {
|
||||
/// A type that fulfills the abstract idea of what a Bizinikiwi hash is.
|
||||
// Constraints come from the associated Hash type of `pezsp_runtime::traits::Header`
|
||||
// See here for more info:
|
||||
// https://docs.rs/sp-runtime/latest/pezsp_runtime/traits/trait.Header.html#associatedtype.Hash
|
||||
// https://docs.rs/sp-runtime/latest/sp_runtime/traits/trait.Header.html#associatedtype.Hash
|
||||
type Hash: Parameter
|
||||
+ Member
|
||||
+ MaybeSerializeDeserialize
|
||||
@@ -147,12 +147,12 @@ pub trait Chain: Send + Sync + 'static {
|
||||
/// that produces hashes) is.
|
||||
// Constraints come from the associated Hashing type of `pezsp_runtime::traits::Header`
|
||||
// See here for more info:
|
||||
// https://docs.rs/sp-runtime/latest/pezsp_runtime/traits/trait.Header.html#associatedtype.Hashing
|
||||
// https://docs.rs/sp-runtime/latest/sp_runtime/traits/trait.Header.html#associatedtype.Hashing
|
||||
type Hasher: HashT<Output = Self::Hash>;
|
||||
|
||||
/// A type that fulfills the abstract idea of what a Bizinikiwi header is.
|
||||
// See here for more info:
|
||||
// https://docs.rs/sp-runtime/latest/pezsp_runtime/traits/trait.Header.html
|
||||
// https://docs.rs/sp-runtime/latest/sp_runtime/traits/trait.Header.html
|
||||
type Header: Parameter
|
||||
+ HeaderT<Number = Self::BlockNumber, Hash = Self::Hash>
|
||||
+ HeaderIdProvider<Self::Header>
|
||||
|
||||
@@ -31,7 +31,7 @@ pub trait Environment<C: Chain>: Send + Sync {
|
||||
async fn header_id_by_hash(&self, hash: HashOf<C>) -> Result<HeaderIdOf<C>, Error>;
|
||||
}
|
||||
|
||||
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/84): remove `Environment` trait
|
||||
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/232): remove `Environment` trait
|
||||
// after test client is implemented
|
||||
#[async_trait]
|
||||
impl<C: Chain, T: crate::client::Client<C>> Environment<C> for T {
|
||||
@@ -78,7 +78,7 @@ impl<C: Chain, E: Environment<C>> TransactionTracker<C, E> {
|
||||
Self { environment, stall_timeout, transaction_hash, subscription }
|
||||
}
|
||||
|
||||
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/84): remove me after
|
||||
// TODO (https://github.com/pezkuwichain/pezkuwi-sdk/issues/232): remove me after
|
||||
// test client is implemented
|
||||
/// Converts self into tracker with different environment.
|
||||
pub fn switch_environment<NewE: Environment<C>>(
|
||||
|
||||
@@ -73,7 +73,7 @@ pub enum Destination {
|
||||
AccountId32 { id: [u8; 32] },
|
||||
/// The funds will deposited into the sovereign account of destination teyrchain `para_id` on
|
||||
/// AssetHub, Account `id` on the destination teyrchain will receive the funds via a
|
||||
/// reserve-backed transfer. See <https://github.com/pezkuwichain/xcm-format#depositreserveasset>
|
||||
/// reserve-backed transfer. See <https://github.com/polkadot-fellows/xcm-format#depositreserveasset>
|
||||
ForeignAccountId32 {
|
||||
para_id: u32,
|
||||
id: [u8; 32],
|
||||
@@ -82,7 +82,7 @@ pub enum Destination {
|
||||
},
|
||||
/// The funds will deposited into the sovereign account of destination teyrchain `para_id` on
|
||||
/// AssetHub, Account `id` on the destination teyrchain will receive the funds via a
|
||||
/// reserve-backed transfer. See <https://github.com/pezkuwichain/xcm-format#depositreserveasset>
|
||||
/// reserve-backed transfer. See <https://github.com/polkadot-fellows/xcm-format#depositreserveasset>
|
||||
ForeignAccountId20 {
|
||||
para_id: u32,
|
||||
id: [u8; 20],
|
||||
|
||||
@@ -307,7 +307,7 @@ pub struct RunCmd {
|
||||
/// building blocks that do not fit in the max_pov_size. It is a percentage of the max_pov_size
|
||||
/// configuration of the relay-chain.
|
||||
///
|
||||
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
|
||||
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
|
||||
#[arg(long)]
|
||||
pub experimental_max_pov_percentage: Option<u32>,
|
||||
|
||||
|
||||
@@ -224,7 +224,7 @@ where
|
||||
// produce multiple blocks per slot which very likely would fail on chain. Thus, we have
|
||||
// this "hack" to only produce one block per slot per relay chain fork.
|
||||
//
|
||||
// With https://github.com/pezkuwichain/pezkuwi-sdk/issues/127 this implementation will be
|
||||
// With https://github.com/pezkuwichain/pezkuwi-sdk/issues/272 this implementation will be
|
||||
// obsolete and also the underlying issue will be fixed.
|
||||
if last_processed_slot >= *claim.slot()
|
||||
&& last_relay_chain_block < *relay_parent_header.number()
|
||||
|
||||
@@ -102,7 +102,7 @@ pub struct Params<BI, CIDP, Client, Backend, RClient, CHP, Proposer, CS> {
|
||||
/// Whether we should reinitialize the collator config (i.e. we are transitioning to aura).
|
||||
pub reinitialize: bool,
|
||||
/// The maximum percentage of the maximum PoV size that the collator can use.
|
||||
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/23> is fixed.
|
||||
/// It will be removed once <https://github.com/pezkuwichain/pezkuwi-sdk/issues/193> is fixed.
|
||||
pub max_pov_percentage: Option<u32>,
|
||||
}
|
||||
|
||||
@@ -429,7 +429,7 @@ where
|
||||
} else {
|
||||
// Set the block limit to 85% of the maximum PoV size.
|
||||
//
|
||||
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/23 issue is
|
||||
// Once https://github.com/pezkuwichain/pezkuwi-sdk/issues/193 issue is
|
||||
// fixed, the reservation should be removed.
|
||||
validation_data.max_pov_size * 85 / 100
|
||||
} as usize;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user