Skip to content

Release: v0.44.0 #5

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

Merged
merged 91 commits into from
Apr 9, 2025
Merged

Release: v0.44.0 #5

merged 91 commits into from
Apr 9, 2025

Conversation

fbsobreira
Copy link
Member

📦 Release v0.44.0

This PR merges release/44.0 into master, finalizing the v0.44.0 SDK release. The release includes major features, compatibility upgrades, improved benchmarks, and several internal refactors across contracts.


✨ Key Features & Improvements

🧩 New Capabilities

  • Contract deletion support and example (KLC-1444)
  • Upgrade from source using new semantic syntax (KLC-1434)
  • Hooks Improvements improved KDA token hook logic ([KLC-1122], [KLC-939]) and new hooks for CallValues
  • Support for has_role_transfer in RolesInfo struct
  • Add upgrade() method for stateful contract versioning

🧪 Benchmark & Test Suite Enhancements

  • New proxy layers (e.g. LinkedListRepeatProxy, AdderProxy)
  • Reworked test scenarios using new JSON interface style
  • Added mb_builder_benchmark() for ManagedBuffer stress tests

🔁 Internal Refactors & Cleanup

  • Unified klever_sc::imports!() via use for consistency
  • Removed outdated wasm adapter comments and features
  • Cleaned redundant imports and streamlined panic_handler usage

🔄 Compatibility & Version Updates

  • SDK updates from MultiversX 0.43.4 → 0.50.4
  • Updated dependencies: syn, proc-macro2, base64, sha2, itertools, etc.

🧬 Modules & Contracts Touched

  • adder, linked-list-repeat, set-repeat, queue-repeat, map-repeat, vec-repeat
  • bonding-curve-contract, send-tx-repeat, str-repeat, check-pause
  • Test suites refactored across all example and benchmark contracts

🛠 Internal Changes

  • ✅ Converted macro-style imports to idiomatic use syntax
  • ✅ Introduced proxy contracts with auto-generated .rs bindings
  • ✅ Better path resolution for WASM adapter
  • ✅ Upgraded scenario tests to the new modular testing framework
  • ✅ CI Improvements
  • ✅ Linting fixes

2yuri and others added 30 commits April 8, 2024 11:12
* create get_sft_metadata
…4 (#29)

* Fix small typo on check_state

* Fix --locked argument on sc-meta all command

* Include kleverkapp.json file in templates

* Cleanup

* Add Check NFT balance and attributes to testing framework
…5 (#30)

* Implement tx_hash and multi_kda_transfer on scenarios call step

* Make OperationCompletionStatus decodable

* Create scenario helper function to populate an NFT

* Make SendRawWrapper public

* meta - replace wasm-objdump with internal impl

* Replace wasm2wat with internal implementation

* Cleanup

* Refactor framework tools

* Implement ManagedVecItem to KDATokenData
…(#33)

* Add alloc and num-bigint features of klever-sc on scenario

* Rename multicontract.toml files to sc-config.toml

* Change config load to use sc-config instead of multicontract.toml

* Set add-unlabelled default true on sc-config

* Add more debug to output contract

* Add test-gen logs

* Make KDATokenData cloneable

* Create a flag for variable arguments

* Create sc-meta tests CLI

* AddressToId storage mapper

* Refactor function calls to a custom encodable struct

* Create kda_attribute annotation to export Types in KDA

* Add execute_on_dest_context_with_back_transfers

* Remove comments about shard
* build: create account permission method

* add address parameter

* remove kleveride file

* fix code align

* remove nicks hardcoded path

---------

Co-authored-by: Fernando Sobreira <[email protected]>
* Add support for steps.json files in templates

* Cannot call callback directly

* Refactor OutputContract into ContractVariant

* Add more rust Overflow Tests

* Fill in wasm target dir automatically from workspace

* Dependency cleanup - Meta Cargo

* Dependency cleanup - Remove Tokio

* Dependency cleanup - Remove Anyhow

* Meta standalone conditional compilation

* Dependency upgrades

* Generate full cargo

* Enable ABI deserialization

* Re-generate wasm crate

* Event logs - Data as list

* Improve scenario check message

* Update event log, version 1

* Update event log, version 2

* Add logs to upgrade builtin function

* Remove unused callback code

* Fix generated_cargo test with correct version

* [KLC-713] Update sdk-rs to next version on multiversx 0.45.0  0.45.1 (#37)

* Fix sc-meta features

* Codec derive hygiene
…ersion-on-multiversx-0-45-1-0-45-2

[KLC-714] Update sdk rs to next version on multiversx 0.45.1 0.45.2
* Remove unused trait method from endpointArgument

* Release VMHooks ei1.3

* Refactor output contract to contract variant

* Sort import names alphabetically
…ersion-on-multiversx-0-46-0-46-1

[KLC-694] Update sdk-rs to next version on multiversx 0.46 to 0.46.1
* Add missing transfer logs to proxy-pause contract

* Update abi-tester expect abis

* Update scenario-io test expected example

* Add missing transfer logs to ERC1155 tests

* Add missing transfer logs to erc1155-marketplace tests

* Add mandatory upgrade function to adder.rs

* Update generated tests from crowdfunding-kda

* Update tests from rust-testing-framework-tester

* Regenerate all contract crates
…(#44)

* Add missing transfer logs to proxy-pause contract

* Update abi-tester expect abis

* Update scenario-io test expected example

* Add missing transfer logs to ERC1155 tests

* Add missing transfer logs to erc1155-marketplace tests

* Add mandatory upgrade function to adder.rs

* Update generated tests from crowdfunding-kda

* Update tests from rust-testing-framework-tester

* Regenerate all contract crates

* Add support for codemeta on scenarios

* Fix codec enum with 256 variants

* Add --nocapture arg to test CLI

* Implement Address for SetMapper

* Define exact dependencies for base framework

* Refactor sc-meta version management
* chore: move scripts to scripts folder

* ci: receive crates token to publish

* ci: add error handling for install deps and change macos target
…3 (#49)

* Add check when FailAllocator is triggered

* Regenerate all crates

* Change deployed_address extration to a deterministic process

* Refactor impl structure of mappers (except queuemapper)

* Implement iter from value, front, back, previous, next

* Add report to kleversc.json file

* Upgrade dependencies

* Regenerate all crates

* Add upgrade function to template contracts

* Mark SCResult as deprecated

* Change imports to modules instead of macros

* Migrate macro imports to module imports in example contracts

* Implement Ordered Binary Tree Mapper

* Fix map mapper get from address issue

* Add rust-toolchain.toml

* Remove maybe uninit

* Enforce kebab case on template usage

* Add .zed folder to gitignore

* Test coverage script for github action

* Add support for interactor on templates

* Fix template remove path from interactor Cargo.toml

* Remove deprecated from old testing framework

* Add coverage command on sc-meta standalone

---------

Co-authored-by: Fernando Sobreira <[email protected]>
fbsobreira and others added 26 commits March 3, 2025 17:10
…d-wasm-dependency-wasm-adapter

[KLC-1410] Fix path conversion for wasm-adapter references
…-token-hook-implementations

[KLC-1122] Review and Improve KDA Token Hook Implementations
…-source-on-sdk-new-semantic-syntax

[KLC-1434] Implement upgrade from source on new semantic syntax
…-klever-vm-sdk-internal

[KLC-1429] Add currency amount to buy kapp
…e (#77)

* Add deleteContract && result handler to update contract

* Add deployer and instance demo contracts

* deployer helper bash file

* set default kapps example to pause=false

* cargo fmt lint

* cargo clippy

* init review with zero

* remove static allocator not needed
…dencies (#78)

* Updata dependencies cargo version to 0.44.0

* update dependencies for proc-macro2, quote, and syn to latest versions

* cargo lock dependencies

* add scripts to build and run all wasm targets

* update .gitignore to exclude pem and key files
chore(sc): update changelog for version 0.44.0 && executor-rs
Replace klever.finance with klever.org
…-klever-finance

[KLC-1438] Replace klever.finance with klever.org
@fbsobreira fbsobreira merged commit 39a53ab into master Apr 9, 2025
6 checks passed
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.

9 participants