Biconomy Account Abstraction SDK v4.2 - What's new?!
As we step into Q2, the Ethereum Foundation's acceptance of EIP 3074 has sparked considerable interest among our team. This pivotal development promises to enhance the features we offer to Account Abstraction (AA) enthusiasts, while we continue to refine our core—smart accounts.
Vitalik Buterin recently highlighted the evolving landscape with his remark:
“Long term, we cannot avoid EOAs dying, because quantum.”
What’s new in the SDK v4.2?
AA Errors as a public good
As leaders in the AA space and having processed more transactions than any other provider, Biconomy has developed a deep understanding of the typical challenges developers encounter. AA errors, often cryptic and misunderstood, are regularly passed along to end users with a premature sense of resolution.
To address this, we've established a public-good repository that contains over two years of troubleshooting knowledge from our AA stack: https://github.com/bcnmy/aa-errors
This resource not only clarifies errors in a cause-and-effect format but is also integrated into SDK version 4.2, ensuring users receive immediate, actionable advice as issues arise. We encourage contributions from the community and hope to offer back by providing solutions to common debugging challenges.
Bundle size
Following the introduction of viem support in v4.0.0, we've further integrated viem as a peer dependency in v4.2.0, significantly reducing the bundle size from 460KB to about 50KB—a nearly 90% decrease. This change accelerates load times and allows for more efficient integration of individual packages through tree shaking, and will help your frontend’s load that little bit quicker than it did before.
Updated tooling
A modern, lightweight SDK deserves cutting-edge tools. V4.2 introduces a suite of advanced technologies, including bun, vitest, changeset, commitlint, size-limit, codecov, and biome. These tools have led to significant improvements in bundle size and an impressive 83% test coverage across all four AA entities: account, modules, bundler, and paymaster.
ERC-1271 and ERC-6492 signature support
To quote Vitalik once again:
“Dapps have to support 1271. Sorry, dapps are going to just have to adapt” - 10.01.2022
We've adapted. The BiconomySmartAccountV2 account contract now fully supports these ERC standards, facilitating the verification of signatures when the account is a smart contract. We've also conducted relevant tests to demonstrate their use.
Enhanced SDK Utility Functions
To improve the SDK’s functionality and usability, we’ve integrated several critical utility functions:
getBalances: Retrieves balances for the smartAccount instance.
withdraw: Allows funds transfer from the Smart Account to the owner.
getGasEstimate: Provides an upper estimate of gas usage for specific operations.
getSupportedTokens: Lists supported tokens from the ERC20 paymaster.
deploy: Deploys your SmartAccount contract when gas costs are optimal.
Looking Ahead
The increasing involvement of React developers with our platform has prompted discussions about developing a dedicated React hooks library to further enhance their experience. While still in the planning stages, our commitment to addressing the direct needs of our community remains steadfast.
Stay tuned for more updates on account abstraction as we continue to explore and develop this exciting opportunity.