Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.35.0 #507

Merged
merged 1 commit into from
Jul 13, 2023
Merged

Release v0.35.0 #507

merged 1 commit into from
Jul 13, 2023

Conversation

xgreenx
Copy link
Collaborator

@xgreenx xgreenx commented Jul 13, 2023

[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:

  • Asynchronous predicate estimation/verification.
  • Multi-asset support per contract.
  • Support Secp256r1 signature recovery and Ed25519 verificaiton.

Added

  • #486: Adds ed25519 signature verification and secp256r1 signature recovery to fuel-crypto, and corresponding opcodes ED19 and ECR1 to fuel-vm.

  • #500: Introduced ParallelExecutor trait
    and 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

  • #506: Added new Mint and Burn variants to Receipt enum.
    It affects serialization and deserialization with new variants.

Changed

Breaking

  • #506: The mint and burn
    opcodes accept a new $rB register. It is a sub-identifier used to generate an
    AssetId 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 to AssetId.

    The conversion like AssetId::from(*contract_id) is no longer valid. Instead, the ContractId implements the ContractIdExt trait:

    /// Trait extends the functionality of the `ContractId` type.
    pub trait ContractIdExt {
        /// Creates an `AssetId` from the `ContractId` and `sub_id`.
        fn asset_id(&self, sub_id: &Bytes32) -> AssetId;
    }
  • #506: The mint and burn
    opcodes affect the receipts_root of the Script transaction.

Removed

Breaking

  • #486: Removes apparently unused Keystore and Signer traits from fuel-crypto. Also renames ECR opcode to ECK1.

Fixed

  • #500: Fixed a bug where MessageCoinPredicate wasn't checked for in check_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 and CSIZ opcodes require
    the existence of corresponding ContractId in the transaction's
    inputs(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 of
    this, the execution should become much more expensive.

  • #505: The data field of the Receipt
    is not part of the canonical serialization and deserialization anymore. The SDK should use the
    Receipt type instead of OpaqueReceipt. The Receipt.raw_payload will be removed for the
    fuel-core 0.20. The data field is optional now. The SDK should update serialization and
    deserialization for MessageOut, LogData, and ReturnData receipts.

  • #505: The len field of the Receipt
    is not padded anymore and represents an initial value.

All changes:

What's Changed

Full Changelog: v0.34.1...v0.35.0

@xgreenx xgreenx requested a review from a team July 13, 2023 20:39
@xgreenx xgreenx self-assigned this Jul 13, 2023
@xgreenx xgreenx added this pull request to the merge queue Jul 13, 2023
Merged via the queue into master with commit ef9fc3a Jul 13, 2023
@xgreenx xgreenx deleted the release/0.35.0 branch July 13, 2023 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants