Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
98a89cc
composability interactor - setup
andrei-marinica Mar 2, 2026
b88d6b7
composability interactor - refactor
andrei-marinica Mar 3, 2026
35a6b56
composability interactor - setup, start, cleanup
andrei-marinica Mar 3, 2026
63b6430
composability interactor - batch all deploys
andrei-marinica Mar 3, 2026
9e5efaa
composability interactor - run
andrei-marinica Mar 3, 2026
575e379
composability interactor - homogenous contracts
andrei-marinica Mar 3, 2026
4c12bc0
composability interactor - contract id
andrei-marinica Mar 4, 2026
9b60710
claude.md auto-generated files
andrei-marinica Mar 4, 2026
f203245
proxy generator - path improvements, print, test
andrei-marinica Mar 5, 2026
4f912b0
composability interactor - bump, proxy cleanup
andrei-marinica Mar 5, 2026
f3b18f9
composability interactor - trace
andrei-marinica Mar 5, 2026
3a2098e
composability interactor - block nonce
andrei-marinica Mar 5, 2026
877e7cb
composability interactor - contract name keys
andrei-marinica Mar 5, 2026
09b699b
composability interactor - rename
andrei-marinica Mar 5, 2026
de396e1
composability interactor - gas
andrei-marinica Mar 5, 2026
eacbf69
composability interactor - rename
andrei-marinica Mar 5, 2026
75295ee
compsability interactor - s1 complete, gas
andrei-marinica Mar 5, 2026
1f2a904
composability interactor - s2
andrei-marinica Mar 5, 2026
2f42bdf
sdk transaction decode issue fix
andrei-marinica Mar 5, 2026
61df39a
fmt
andrei-marinica Mar 5, 2026
34f6b60
ignore test
andrei-marinica Mar 6, 2026
0b7aee6
composability interactor - callbacks
andrei-marinica Mar 6, 2026
00e364c
Merge branch 'master' into finteract
andrei-marinica Mar 9, 2026
3da06fc
forwarder-net rename
andrei-marinica Mar 9, 2026
a139f13
test wallets per shard
andrei-marinica Mar 10, 2026
c4bb0de
Merge branch 'master' into finteract
andrei-marinica Mar 11, 2026
1caff02
composability interactor - shards
andrei-marinica Mar 11, 2026
cc8a441
CodeMetadata docs
andrei-marinica Mar 12, 2026
e3601db
composability interactor - cross shard async
andrei-marinica Mar 12, 2026
b43aab7
mesh node + interactor rename
andrei-marinica Mar 12, 2026
17ad8c1
mesh config vs state, gen refactor
andrei-marinica Mar 12, 2026
a7c13f9
Merge branch 'master' into finteract
andrei-marinica Mar 12, 2026
edf02e8
mesh - config cleanup
andrei-marinica Mar 12, 2026
9a2716f
mesh - start wallet
andrei-marinica Mar 12, 2026
843b215
mesh - refactor
andrei-marinica Mar 12, 2026
de1af2a
mesh - cleanup
andrei-marinica Mar 13, 2026
e7d6450
Merge branch 'master' into finteract
andrei-marinica Mar 13, 2026
f85598d
mesh - async payments (forward)
andrei-marinica Mar 13, 2026
d65ae27
mesh - BoN config
andrei-marinica Mar 16, 2026
7e1da44
mesh - all shard combinations
andrei-marinica Mar 16, 2026
596c514
fmt
andrei-marinica Mar 16, 2026
e160c68
gitignore fix
andrei-marinica Mar 16, 2026
4eced3c
mesh - multiple children
andrei-marinica Mar 17, 2026
89e0dfb
mesh - returns payments
andrei-marinica Mar 24, 2026
91fc210
mesh - CLI full + refactor
andrei-marinica Mar 24, 2026
08c0612
mesh - contract trait rename
andrei-marinica Mar 24, 2026
3fab927
mesh - gitignore current.toml
andrei-marinica Mar 24, 2026
617be87
sdk - accept trailing slash in gateway url
andrei-marinica Mar 24, 2026
0cc9222
cleanup
andrei-marinica Mar 24, 2026
6118828
deleted forw_queue_async.scen.json
andrei-marinica Mar 24, 2026
4783e4b
mesh interactor path fix
andrei-marinica Mar 24, 2026
4148acf
cleanup
andrei-marinica Mar 24, 2026
90c8361
error message cleanup
andrei-marinica Mar 24, 2026
a832c11
sc-meta all proxy --verbose flag
andrei-marinica Mar 24, 2026
142aca2
fmt
andrei-marinica Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .claude.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Claude Guidelines for mx-sdk-rs

## Auto-Generated Files — Do Not Edit

Never modify files that begin with `// Code generated`. These are auto-generated by the build system and will be overwritten.

This applies especially to:

- **Proxy files** (`*_proxy.rs`) — generated with: `sc-meta all proxy`
- **Wasm crate contents** (`*/wasm/src/lib.rs`, `*/wasm/Cargo.toml`) — generated by the multiversx-sc build system, with: `sc-meta all build`

If a change is needed in an auto-generated file, modify the source it is generated from (e.g. the smart contract trait or `sc-config.toml`) and regenerate:
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ my-vm-tests.sh
quick.sh
template-test
install-debugger-test
.DS_Store

# Zip output with example wasm binaries
examples-wasm.zip
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -871,7 +871,7 @@ First pre-release of the unified syntax. Syntax not yet stabilized, should only
- build post-processing: `wasm2wat`, imports via `wasm-objdump`.
- Support for the new async call system (promises):
- new APIs;
- a new flavor of callbacks (`#[promises-callback]`);
- a new flavor of callbacks (`#[promises_callback]`);
- callback optimizations.
- `elrond-codec` refactor: removed `TopEncodeNoErr`, `NestedEncodeNoErr` and `TypeInfo`
- System SC proxy: added support for `controlChanges` endpoint and transfer create role (from community).
Expand Down
61 changes: 31 additions & 30 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,6 @@ members = [
"contracts/feature-tests/big-float-features",
"contracts/feature-tests/big-float-features/meta",
"contracts/feature-tests/composability",
"contracts/feature-tests/composability/interact",
"contracts/feature-tests/composability/builtin-func-features",
"contracts/feature-tests/composability/builtin-func-features/meta",
"contracts/feature-tests/composability/esdt-contract-pair",
Expand All @@ -142,14 +141,15 @@ members = [
"contracts/feature-tests/composability/forwarder-interactor",
"contracts/feature-tests/composability/forwarder-legacy",
"contracts/feature-tests/composability/forwarder-legacy/meta",
"contracts/feature-tests/composability/forwarder-queue",
"contracts/feature-tests/composability/forwarder-queue/meta",
"contracts/feature-tests/composability/forwarder-blind",
"contracts/feature-tests/composability/forwarder-blind/meta",
"contracts/feature-tests/composability/forwarder-raw",
"contracts/feature-tests/composability/forwarder-raw/meta",
"contracts/feature-tests/composability/local-esdt-and-nft",
"contracts/feature-tests/composability/local-esdt-and-nft/meta",
"contracts/feature-tests/composability/mesh-interactor",
"contracts/feature-tests/composability/mesh-node",
"contracts/feature-tests/composability/mesh-node/meta",
"contracts/feature-tests/composability/proxy-test-first",
"contracts/feature-tests/composability/proxy-test-first/meta",
"contracts/feature-tests/composability/proxy-test-second",
Expand Down
20 changes: 20 additions & 0 deletions chain/core/src/types/flags/code_metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,49 @@ const PAYABLE_BY_SC_STRING: &str = "PayableBySC";
const DEFAULT_STRING: &str = "Default";

bitflags! {
/// Flags representing the smart contract's allowed actions after deploy.
#[derive(Default, PartialEq, Debug, Clone, Copy)]
pub struct CodeMetadata: u16 {
/// No flags set. The contract is not upgradeable, not readable, and not payable.
const DEFAULT = 0;

/// The contract can be upgraded in the future.
const UPGRADEABLE = 0b0000_0001_0000_0000; // LSB of first byte

/// The contract's storage can be read by other contracts.
const READABLE = 0b0000_0100_0000_0000; // 3rd LSB of first byte

/// The contract can receive funds without having any endpoint called,
/// just like user accounts.
///
/// Note: a contract does NOT have to be payable to receive funds
/// in payable endpoints.
const PAYABLE = 0b0000_0000_0000_0010; // 2nd LSB of second byte

/// Like [`CodeMetadata::PAYABLE`], but only allows receiving funds from
/// other smart contracts. Direct user transfers will be rejected.
const PAYABLE_BY_SC = 0b0000_0000_0000_0100; // 3rd LSB of second byte
}
}

impl CodeMetadata {
/// Returns `true` if the contract is allowed to be upgraded.
pub fn is_upgradeable(&self) -> bool {
*self & CodeMetadata::UPGRADEABLE != CodeMetadata::DEFAULT
}

/// Returns `true` if the contract can receive funds without an endpoint call.
pub fn is_payable(&self) -> bool {
*self & CodeMetadata::PAYABLE != CodeMetadata::DEFAULT
}

/// Returns `true` if the contract can receive funds from other smart contracts
/// without an endpoint call. Direct user transfers are rejected.
pub fn is_payable_by_sc(&self) -> bool {
*self & CodeMetadata::PAYABLE_BY_SC != CodeMetadata::DEFAULT
}

/// Returns `true` if the contract's storage can be read by other contracts.
pub fn is_readable(&self) -> bool {
*self & CodeMetadata::READABLE != CodeMetadata::DEFAULT
}
Expand Down
5 changes: 5 additions & 0 deletions chain/core/src/types/shard_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ use super::Address;
/// Regular shards are numbered from `0` to `number_of_shards - 1`.
/// The special value [`ShardId::METACHAIN_ID`] (`u32::MAX`) identifies the metachain.
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[cfg_attr(
feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(transparent)
)]
pub struct ShardId(u32);

impl ShardId {
Expand Down
6 changes: 3 additions & 3 deletions contracts/feature-tests/composability/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ path = "forwarder"
[dev-dependencies.forwarder-legacy]
path = "forwarder-legacy"

[dev-dependencies.forwarder-queue]
path = "forwarder-queue"

[dev-dependencies.forwarder-blind]
path = "forwarder-blind"

[dev-dependencies.forwarder-raw]
path = "forwarder-raw"

[dev-dependencies.mesh-node]
path = "mesh-node"

[dev-dependencies.proxy-test-first]
path = "proxy-test-first"

Expand Down

This file was deleted.

This file was deleted.

Loading
Loading