Skip to content

Update polkadot.js UI for coretime #10285

Open
@seadanda

Description

@seadanda
  • I'm submitting a ...
    Feature request

  • What is the current behavior and expected behavior?
    The current UI does not have dedicated views for coretime. As a change in network architecture this should be reflected in the UI.
    More information below motivation.

  • What is the motivation for changing the behavior?
    Coretime has been deployed on Rococo and Westend, and will soon be deployed on Kusama with Polkadot following in a few months. This is a permanent change to the network architecture and the way parachains obtain blockspace. The crowdloan/auction mechanism will no longer be used.
    Currently the dedicated tabs for Parachains do not reflect the new scheme and the only way to see parachains on cores or the coretime sales status is to poke around in the chain state on the coretime and relay chains.

More information

Currently in the Network->Parachains tab there are four tabs: Overview, Parathreads, Auctions, Crowdloans.

I would suggest as a starting point that the auctions and crowdloans tabs be removed, and the parathreads tab be changed to a parachains tab. (parathreads is no longer a relevant term). The following tabs might belong on the relay chains or coretime chains.

A rough structure could then be:

Overview

  • Top level summary figures of current timeslice, region, sale and human-readable timelines
  • Workload for current region
  • Workplan for next region
  • On-demand usage (probably better for an indexer or data tool)

Parachains

Registered parachains showing:

  • parachain id
  • whether they're on core or not, and whether that is via reservation, bulk or on-demand, and in the short term whether they are on a legacy lease (or a link to the coretime tab)
  • if they are on bulk core whether they qualify to renew their core
  • if they are on a legacy lease, the last region of that lease and when they can renew
  • when they're next scheduled to be on core
  • their last included block and when that was
  • remove lease
  • Remove auction/crowdloan tabs

Bulk sales

More details specifically about bulk coretime sale

  • timeline including important points in time e.g. sale start, interlude, lead-in period, fixed price period, advance notice etc.
  • list of regions
  • details about current sale from sale_info e.g. number of cores for sale, sold and the prices/last price
  • pricing information
  • price projections for the next sale based on the number of cores sold and current last

On-demand

It's a bit harder to think of what to show here that isn't already on the overview

  • number of cores in the pool
  • price of on-demand
  • queue status
  • usage of on-demand as a percentage (might be better in indexer or data tool)

Additional functionality for the coretime chain

Adding UIs for the following most-used extrinsics at a minimum would be useful:

Core acquisition

  • broker.purchase - buy a region for a maximum of the specified price
  • broker.assign - assign a task to a core for a region that the origin owns
  • broker.renew - renew an existing core for a task which qualifies (qualifying tasks listed in broker.allowedRenewals)

Region manipulation

  • broker.partition - split an owned region in two around a point in time
  • broker.interlace - split a region in two in a "you go I go" way
  • broker.transfer - transfer a region to another owner

On-demand pool

  • broker.pool - put a region in the on-demand pool
  • broker.claimRevenue - claim revenue from on-demand pool after pooling your region of a core

On-demand acquisition

  • broker.purchaseCredit - buy coretime credits on the relay chain

Storage management (free from any origin, but maybe not necessary for UI)

These could be listed from the chain state when past the point where they can be dropped and dropped in batches or one by one.

  • broker.dropContribution
  • broker.dropHistory
  • broker.dropRegion
  • broker.dropRenewal

This is just a starting point and by no means the best layout or content that we could have. All feedback and ideas are welcome!

Metadata

Metadata

Labels

FeatureNew functionality expanding SDK’s capabilities, adding tools or APIs for developers.P1 - HighEssential for progress, blocks other tasks. Must be completed soon to maintain project flow.UX improvement

Type

No type

Projects

Status

P1 - High

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions