Progress Update (February 2024)

Greymass
5 min readFeb 27, 2024

Hello, and welcome back to another Greymass Progress update. You’ll notice that this update focuses entirely on Wharf, and there’s a good reason for that: we officially completed the Wharf SDK project this month! This doesn’t mean that we’re never going to update Wharf again (far from it), but it does mean that the full Wharf proposal the Antelope Coalition approved and funded has now been turned into reality. So cheers to that! 🎉

A quick reminder that if you’re a developer in the Antelope space, please check out wharfkit.com and share it with your friends. We’d love to spread the word that the Antelope chains are a great space to build in, and the Wharf SDKs are a big part of that effort.

Wharf Kit Updates

Session Kit

The Session Kit has gone through multiple updates in the last 6 weeks (five, to be exact), and we’re now on version 1.2.8. The biggest changes made since our last progress update are as follows:

  • Creation of an Account instance — Developers can now quickly access users’ accounts and data (via the Account Kit) after they’ve logged in. Previously this was only possible through a manual process.
  • Addition of setEndpoint — Changing the API endpoint during a session used to be a fairly complicated process, but with setEndpoint, this can now be adjusted more easily.
  • New `arbitrary` parameter for LoginOptions — This offers developers the ability to append arbitrary data to a login request, which wallet plugins can use to help verify that users are who they say they are.
  • Quality-of-life improvements — These are many and various, but a few that we’d like to call out include: new support for context_free_actions and context_free_data, the ability to add an optional flag to prompts, and a bug fix for situations where the Session Kit wasn’t following wallet parameters.

Contract Kit

In between the Session Kit’s five updates, we also found time to squeeze in two new updates for the Contract Kit, bringing us to version 1.1.4. The most important changes here are related to the newly implemented readonly method, which allows developers to access the “readonly” actions that are built into smart contracts. This offers a new way to interact with smart contracts that can return information, even without an account or session. As part of the changes we made to support this new method, data is now optional to allow for blank readonly calls.

General Wharf Improvements

Starter Kits Released

The Starter Kits are now available! You can think of a Starter Kit as a version of Wharf that’s been pre-configured for a specific blockchain, so you can choose from among the Antelope blockchains based on what you’re building, and benefit from an easy-to-use package for your chosen chain. You can find the Starter Kit guides here.

Wharf Site Updates

The Wharf site has gotten some love, with the addition of new content and sections to make using and learning about Wharf an easy experience. The Starter Kit guides listed above are certainly part of that, but for those looking to learn more about Wharf before diving in, we’ve also added a tutorial that shows you how to build a to-do app using Wharf. This allows you to learn about Wharf in a structured environment, and at the end of it you get a fully functional web app!

For those already using Wharf, we’ve also added a plugin directory to the site, so that you can easily see what plugins are available for Wharf. Because Wharf is fully open-source, you can also create your own plugins and make them available for others to use.

Token SDK

The Token SDK has gotten two updates recently, 1.1.0 and 1.1.1. These add support for the SDK to use non-system token contracts, whereas previously it was only available for the system token (e.g. EOS, WAX, Telos, etc.). Now other tokens on the network, such as USDT, can be used.

CLI (Command Line Interface)

The CLI has received several updates in service of implementing codegen return values, and is now on version 2.6.3. “Return values” is a feature which smart contracts can implement to return data when a transaction is being performed, however the CLI was previously ignoring the return values, and the data was simply lost. Now the generated code has the ability to understand this data and return it to the developer’s app.

We would also like to note that the CLI can now generate code for read-only transactions, in line with the updates to the Contract Kit mentioned above.

AtomicAssets

Following AtomicAssets’ release last month, we’ve come out with two new updates and are on version 1.1.1. These updates primarily encompassed bug fixes and quality of life improvements, including: fixing certain types and adding missing fields, changing a field’s structure per a user request, switching to the post method for large requests, etc.

We’re excited as we’ve seen developers starting to adopt the AtomicAssets library in their projects. A special thanks to includenull for all of the feedback and helping us to better understand the needs of developers. If you use this library and have any thoughts of your own to share, please let us know!

Anchor Wallet Plugin

Longtime readers of our Progress Updates may be confused, since Anchor news is typically up top in its own section. However, our most recent updates to the wallet come in the form of Wharf’s Anchor wallet plugin. This is now on version 1.3.4, with the most recent version including several UX improvements.

There are two main changes that we’d like to share: first, that requests for login and signing will now return to the same app, so that users don’t have their experience interrupted when using Anchor. Second, the Anchor plugin will now return identityProof on login, so that developers can easily verify the identity of users who just logged in.

Antelope Library

We’ve issued four updates to the Antelope library, and are now on version 1.0.7. These have included various bug fixes and improvements, but the most exciting development has been the addition of a get_currency_stats API call. This will return global statistics about a token contract, such as the maximum supply and current supply of a token, in order to easily give developers context about any tokens they may be working with.

And that’s all for now, folks! Stay safe out there, and we’ll see you in the next progress update.

--

--

Greymass

An organization built to facilitate the growth of distributed ledger technologies and the infrastructure powering them.