v8.0.0-rc1
Pre-release
Pre-release
Added
- Bitwise operations for integers:
band
,bor
,bxor
,bnot
,<<
and>>
. Int.mulmod
- combined builtin operation for multiplication and modulus.Crypto.poseidon
- a ZK/SNARK-friendly hash function (over the BLS12-381 scalar field).Address.to_bytes
- convert an address to its binary representation (for hashing, etc.).- Raw data pointers added to AENS. In short we have introduced a new namespace
AENSv2
; they contain types similar to the oldAENS
;AENS.name
and
AENS.pointee
, where the latter now has a constructorDataPt(bytes())
. All
AENS actions have been moved toAENSv2
, andAENSv2.lookup
and
AENSv2.update
consume and produce the new types. The oldAENS
namespace
only contains the old datatypes, that can be used to interface existing
contracts. Standard libraryAENSCompat
is added to convert between old and
new pointers. - Introduce arbitrary sized binary arrays (type
bytes()
); addingBytes.split_any
,
Bytes.to_fixed_size
,Bytes.to_any_size
,Bytes.size
,String.to_bytes
,
andInt.to_bytes
; and adjustBytes.concat
to allow both fixed and arbitrary
sized byte arrays. Chain.network_id
- a function to get hold of the Chain's network id.- Allowing
Bytes.to_any_size
in calldata creation, to enable creation of arguments
with arbitray size.
Changed
Crypto.verify_sig
is changed to havemsg : bytes()
. I.e. the
signed data can be of any length (used to be limited tobytes(32)
/hash
).
Removed
Bitwise.aes
standard library is removed - the builtin operations are superior.
Full Changelog: v7.4.1...v8.0.0-rc1