Releases: CityOfZion/neo3-boa
Releases · CityOfZion/neo3-boa
v0.9.0
Added
- Support to N3-rc4
- Included new interops from Neo-rc4
get_network
get_random
- Included OracleRequestCode enum for better compatibility with Oracles
- Implemented Python's builtin
str
count
Changed
- Changed manifest's
features
from an empty array to an empty object - Included
maxsplit
optional argument onstr
split method
v0.8.3
Added
- Included import of user modules
- Module variables are now linked to the contract's storage to persist their values
- Support to Python's builtins:
is
keywordreversed
str.split
list.count
andtuple.count
- Included the remaining Neo interops in the
builtin.interop
package - Included ECPoint type
- Included
find_options
optional argument toStorage.Find
interop - Included new smart contract example
- Update Contract
- Implemented compiler validation of
try else
branch
Changed
- Renamed
interop.binary
package tointerop.stdlib
min
andmax
methods now accept many arguments instead of just two
Fixed
- Fixed
isinstance
forContract
boa3 builtin class - Fixed issue with not passing values to a vararg
v0.8.2
Added
- Support to N3-rc3
- Implemented varargs on function definitions
- Allow importing modules and packages
- Only from
boa3.builtin
are accepted by the compiler
- Only from
- Implemented Neo interop functions:
- Runtime
script_container
andburn_gas
- StorageContext
as_read_only
- Transaction interops:
get_transaction
,get_transaction_from_block
andget_transaction_height
- Runtime
- Implemented
Optional
type annotation - Included
ON_PERSIST
andPOST_PERSIST
triggers
Changed
- Updated debug info generation to v1.2 format
- Included
data
argument tocall_contract
andupdate_contract
- Renamed
get_time
andget_platform
totime
andplatform
Fixed
- Fixed variables access after casting types
- Fixed incorrect output when concatenation str and bytes values
- Fixed issue with control flow statements with many instructions
- Fixed issue with UInt160 and UInt256 constructors with slicing result
- Fixed unexpected result when comparing str values
- Fixed blocks and transactions hashes that TestEngine returns
- Fixed
isinstance
for boa3 builtin types - Fixed issue with incorrect stack sizes during runtime
v0.8.1
v0.8.0
v0.7.1
Added
- Support to Neo 3 rc1
- Implemented Python
in
operator for collections - Support to reassign types to existing variables in a function's scope
- Included StorageContext to the storage interop functions
- Included new smart contract example
- Automated Market Maker (AMM)
Changed
- Included
eventName
argument tonotify
interop - Renamed
trigger
method toget_trigger
Fixed
- Fixed smart contract's storage access in TestEngine
- Null return in
update_contract
anddestroy_contract
interops get_contract
andcreate_contract
were returning contract's manifest as null- Fixed Union type bug when used in CreateNewEvent
v0.7.0
Added
- Support to Neo 3 preview 5
- Included
Iterator
interops - Implemented Storage.Find interop
- Included new smart contract examples
- Atomic Swap
- Wrapped Token
- Included Python 3.7 unit tests in CircleCI workflow
- Implemented Python built-in functions
exit
,min
andmax
list
methodsinsert
andremove
Changed
- Improved compilation with
isinstance
function semantic for Python types - Updated README file with how to use TestEngine
Fixed
- Fixed operation validation when using non-primitive types
- Couldn't use
UInt160
values inbytes
operations for example
- Couldn't use
- Invalid stack size when calling void functions
- Compilation failing because of concatenation with
bytes
values - Variable types in different scopes causing conflict during compilation
- Fixed conversion of sequence slicing with negative indexes
v0.6.1
Added
- Included a NEP-17 example
- Implemented
Union
type annotation - Implemented
extend
to bytearray values
Changed
- Change Contract methods implementations to be compatible with Neo's preview4
Fixed
- Bytes comparison was always returning False
- Get values from collection (
list
,dict
,tuple
) was returning the collection instead
v0.6.0
Added
- Implemented cryptography methods
- SHA256, RIPEMD160, HASH160 and HASH256
- Included Contract methods
- Create, Update and Destroy contract
- Included
base58
andbase64
encoding/decoding - New Neo Interops
- GetExecutingScriptHash, GetEntryScriptHash and GetPlatform
- Json and Binary serialization/deserialization
- GetNotifications, for getting the list of events and values sent using
notify()
- Implemented a method to abort smart contract execution
- Included UInt160 type for compatibility with NEP17
- GetCurrentStorageContext, for Storage Interops
- New features in the TestEngine
- Included call other smart contracts
- Account witness
- Inclusion of blocks and transactions
Changed
- Improved examples' unit tests using TestEngine
- Changed
nef
andmanifest
generation to be compatible with Neo's preview4
Fixed
- Fixed the type checking for sequence slices
- If-else branches inside each other weren't having the same execution flow as expected
- Type attribution in
for
variable - was getting iterable type instead of iterable's values type
Removed
is_application_trigger
andis_verification_trigger
methods
v0.5.0
Added
- Converted
time
,height
,gasLeft
andinvocationCounter
interops - Implemented compiler validation of
try finally
branch - Included execution tests in the unit tests using the TestEngine from the C# compiler
Changed
- Replaced the markdown Python Supported Features table to a html table in the README