Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[Version 0.35.0]
The release mostly fixes funding during the audit and integration with the bridge. But the release also contains some new features like:
Added
#486: Adds
ed25519
signature verification andsecp256r1
signature recovery tofuel-crypto
, and corresponding opcodesED19
andECR1
tofuel-vm
.#500: Introduced
ParallelExecutor
traitand made available async versions of verify and estimate predicates.
Updated tests to test for both parallel and sequential execution.
Fixed a bug in
transaction/check_predicate_owners
.Breaking
Mint
andBurn
variants toReceipt
enum.It affects serialization and deserialization with new variants.
Changed
Breaking
#506: The
mint
andburn
opcodes accept a new
$rB
register. It is a sub-identifier used to generate anAssetId
by this rule.This feature allows having multi-asset per one contract. It is a huge breaking change, and
after this point,
ContractId
can't be equal toAssetId
.The conversion like
AssetId::from(*contract_id)
is no longer valid. Instead, theContractId
implements theContractIdExt
trait:#506: The
mint
andburn
opcodes affect the
receipts_root
of theScript
transaction.Removed
Breaking
Keystore
andSigner
traits fromfuel-crypto
. Also renamesECR
opcode toECK1
.Fixed
MessageCoinPredicate
wasn't checked for incheck_predicate_owners
.Breaking
#502: The algorithm used by the
binary Merkle tree for generating Merkle proofs has been updated to remove
the leaf data from the proof set. This change allows BMT proofs to conform
to the format expected by the Solidity contracts used for verifying proofs.
#503: Use correct amount of gas in call
receipts when limited by cgas. Before this change, the
Receipt::Call
could show an incorrect value for the gas limit.#504: The
CROO
andCSIZ
opcodes requirethe existence of corresponding
ContractId
in the transaction'sinputs(the same behavior as for the
CROO
opcode).#504: The size of the contract
was incorrectly padded. It affects the end of the call frame in the memory,
making it not 8 bytes align. Also, it affects the cost of the contract
call(in some cases, we charged less in some more).
#504: The charging for
DependentCost
was done incorrectly, devaluing the
dep_per_unit
part. After the fixing ofthis, the execution should become much more expensive.
#505: The
data
field of theReceipt
is not part of the canonical serialization and deserialization anymore. The SDK should use the
Receipt
type instead ofOpaqueReceipt
. TheReceipt.raw_payload
will be removed for thefuel-core 0.20
. Thedata
field is optional now. The SDK should update serialization anddeserialization for
MessageOut
,LogData
, andReturnData
receipts.#505: The
len
field of theReceipt
is not padded anymore and represents an initial value.
All changes:
What's Changed
TxId
and coin witness by @xgreenx in Some additional test to verify ecrecovery withTxId
and coin witness #495data
field from canonical serialization and deserialization of receipts by @xgreenx in Removed thedata
field from canonical serialization and deserialization of receipts #505Full Changelog: v0.34.1...v0.35.0