Welcome to the migration guide for the new version of Neo3-Boa.
This guide will assist you in migrating your code from the previous version to the latest version, which includes several improvements with debugger integration to enhance the smart contract debugging experience.
Ensure that your system meets the following requirements for the new compiler version:
Compiler Version: v0.14.0
Python 3.7 or later
Before migrating your code, we recommend following these steps:
-
Backup your code and related files to ensure you have a copy of the previous version.
-
Familiarize yourself with the changes and improvements introduced in the new version by referring to the release notes and documentation.
-
In the new version, the
ByteString
type has been removed. Update any contracts that use this type with eitherbytes
orstr
, depending on the code logic and requirements. -
Most of the interop methods that previously used
ByteString
have been modified to usebytes
instead.-
Special attention to
storage
methods, which accepted bothbytes
andstr
as valid keys. In the new version, onlybytes
values are accepted as storage keys.Neo3-boa v0.14.0 has new methods to convert between types, like from
str
tobytes
. Refer to our docs for more details.
-
-
Locate all instances where
ByteString
is used and replace it with the appropriate type (bytes
orstr
). -
Review your codebase and make the necessary changes to ensure compatibility with the new version.
-
If your contracts implement the
NEP-11
standard, be aware that Neo3-Boa verifies if the methods that used to haveByteString
type now are implemented asUnion[bytes, str]
.
We encourage you to thoroughly test your migrated contracts in the new version and provide feedback on any issues or challenges you encounter. Your feedback will help us improve the migration process and address any inconsistent behaviors.
Remember to consult the updated documentation and resources provided by the new version to familiarize yourself with any additional changes, features, or improvements.
Thank you for choosing Neo3-Boa, and we appreciate your cooperation in migrating to the new version.