Polkadot-js - September / October Recap

Summary

September and October brought several significant updates to Polkadot-js. While this recap won’t cover everything, it highlights the most impactful changes and enhancements.

Table of Contents

CJS - ESM targetting

Support for both CommonJS (CJS) and ECMAScript Modules (ESM) has now been implemented across several core Polkadot-js libraries: wasm, common, api, phishing, tools, and ui. Pull requests PR #1147 and (PR #1148) enabled comprehensive build support for these libraries. The only exception is apps-config, where some configuration challenges with Webpack remain unresolved (tracking PR).

TransactionExtension Support (ExtrinsicV5)

Phase 1 support for TransactionExtension in ExtrinsicV5 is now complete, enabling both encoding and decoding of v5 transactions. This update allows users to begin testing compatibility with PR #3685, while ensuring that current implementations remain unaffected, as the default transaction version is still set to v4.

The implementation details can be reviewed in the corresponding PR #5976. Documentation is still pending and will be added shortly.

Metadata V15 Updates

Dynamically Generate Runtime APIs

The API now dynamically generates runtime APIs based on the availability of V15 metadata. If V15 metadata is not accessible, the API will fall back to V14, which relies on hardcoded runtime APIs. Related PR #5986

Initialize polkadot-js/api with V15 Metadata

Previously, the API initialized using V14 metadata, which led to missing runtime API metadata within the registry. This limitation is now resolved—if V15 metadata support is present in the runtime, it is fully accessible upon initialization. Related PR #5941

Typegen Now Uses Metadata V15 for Static Typing

The type generation (typegen) within the API now utilizes V15 metadata for static types. This change also extends to the types-support library within the API, ensuring that static types for runtime API information are generated in alignment with the latest metadata. Related PR #5987.

This advancement also brings us closer to incorporating Asset Hub type generation into the API, further broadening type support and improving compatibility with emerging Polkadot features.

Coretime UI

The Coretime tab in Apps has been released and is now live under the Coretime Experimental section. Feedback on these pages is highly encouraged as we continue to refine this feature.

Related PRs include #10898, #10947, and #11016.

Discussions on the Extension’s Future

There have been ongoing discussions with the PAPI team about the future of the Extension and ways to enhance it moving forward. While we’ve made gradual progress by generalizing some interfaces for improved compatibility, there is still much more we can improve. I’ll save the specifics for a future post, but I wanted to offer this update to provide some clarity for those following along.

Project Board - Repository Labels

The Project Board and labeling process have been thoroughly reworked to enhance transparency with the community. This update aims to facilitate clearer discussions on task prioritization and to support community members in addressing issues or pushing forward with fixes as needed. You can view the updated project board here.

Notable Bug Fixes

  • Staking Bug in Payouts Tab: A bug in the staking module that caused incorrect era displays in the payouts tab has been identified and addressed at the API level. A corresponding fix for Apps is in progress, pending resolution of one dependency blocker in Polkadot-js. Related PRs: API #6007, Apps #11035

  • Nominations Display Issue: Another staking bug affecting the display of waiting, active, and inactive nominations has also been resolved. Related PR #10998

14 Likes

As a message to the community, I want to reiterate the importance of the project board shared by @Tarik above.

In particular for issues and requests around Apps, our resources are limited until the end of the year. Hence, if you have issues or requests related to the UI you think they are important and can’t wait, we vehemently encourage you to take the lead and contribute to them (according to the guidelines). Polkadot.js is more than ever a project for the ecosystem and maintained by the ecosystem.

2 Likes