Hello, and welcome back to another Greymass Progress Update! This edition focuses on enhancing Wharfkit’s components, including improvements to the wallet plugin architecture in the Session Kit, in preparation for releasing the new MetaMask integration. We also focused on fixing various bugs across Wharfkit’s core libraries. Let’s dive right in!
Wharf Kit Updates
Session Kit
The Session Kit has been upgraded to version 1.4.0.
This latest update introduces the addition of an optional logout callback for wallet plugins. The logout callback is designed to be invoked automatically when a user initiates a sign-out process. This feature is handy for wallet plugins requiring specific cleanup actions after a user logs out, ensuring that any necessary post-logout procedures are efficiently handled.
A new wallet method was added, allowing apps to request a public key directly from the wallet. External account creation services can use this new capability to prevent users from copying and pasting public keys.
Account Kit
The Account Kit was updated to version 1.2.0. In this update, various data fixes have been added to improve the usability of the library.
MetaMask Account Creation Plugin
We are continuing our work on the account-creation-plugin-metamask. Over the past six weeks, several key additions have been made:
- Implemented account creation functionality.
- Enhanced error handling when an incorrect chain definition is passed.
- Improved error handling for unsupported chain definitions.
- Exposed MetaMask helper methods for easier integration.
Antelope SDK
The Antelope SDK is now at version 1.0.12 and has received a series of bug fixes and enhancements, including:
- Added gt, gte, lt, and lte comparison operators.
- Prevented the use of undefined/null values in optional fields.
- Implemented various serializer fixes.
- Introduced the ability to define headers for all requests via FetchProvider, allowing custom headers to be specified when making requests with the Antelope Library.
- Added support for the get_code API endpoint
AtomicAssets
AtomicAssets assets and collections now use an optional name parameter, better mirroring the actual AtomicAssets data structure. Big thanks to includenull for the continued contributions!
CLI
The CLI has reached version 2.8.0 and received two significant updates:
- Fixed Generated Structs: We addressed an issue with generated structs by adding the declare keyword, ensuring compatibility with newer TypeScript build targets. Previously, users had to rely on the 2021 build target due to this limitation. We utilized an experimental feature to resolve this, which has been successfully integrated into the production environment.
- Added account creation for Kylin: We have also added support for account creation in the Kylin Testnet, expanding the CLI’s capabilities for developers testing and developing on testnets.
Common Library
The Common Library has been updated to version 1.4.0, featuring two significant enhancements:
- Updated default Chain Definitions: We’ve revised the chain definitions to improve consistency and functionality across various blockchain environments.
- Introduction of typed Tokens: We’ve introduced new token-related types and data structures, which includes formats for token balance, token metadata, and token identifiers. These are useful for application dev to standardize how they deal with tokens in their applications. Additionally, a new systemToken value on each chain definition has been added to return this new token identifier, providing a more consistent approach for token metadata.
Anchor Wallet Plugin
In wallet-plugin-anchor version 1.4.0, we’ve improved the user experience by hiding the QR code on known mobile devices and automatically triggering the requests when possible. When a user accesses a mobile device’s login screen, Anchor will launch automatically, eliminating the need for an extra click and streamlining the overall experience.
cleos Wallet Plugin
In the wallet-plugin-cleos version 1.2.0, we fixed a bug that prevented transactions from being correctly created. The issue arose from destructuring an entire action object, compounded by the handling of optional fields.
Web Renderer
In the web-renderer version 1.4.1, improvements were made to prevent issues in SSR frameworks. Support was also added for UI interactions during the new public key request functionality to support the upcoming MetaMask integration.
And that’s all for now, folks! Stay safe out there, and we’ll see you in the next progress update.