Skip to content

Commit d886448

Browse files
Merge pull request #2259 from multiversx/release-64
Release: sc 0.64.0, codec 0.24.0, chain 0.21.0, sdk 0.14.0, scenario-format 0.25.0
2 parents 035a459 + b91533a commit d886448

File tree

386 files changed

+1505
-1226
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

386 files changed

+1505
-1226
lines changed

.github/workflows/actions.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
with:
1919
rust-toolchain: 1.87
2020
wasm-opt-version: 125
21-
setup-runs-on: self-hosted
22-
test-coverage-runs-on: self-hosted
21+
setup-runs-on: ubuntu-latest
22+
test-coverage-runs-on: ubuntu-latest
2323
rust-target: wasm32v1-none
2424
path-to-sc-meta: framework/meta
2525
mx-scenario-go-version: v5.1.0

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,26 @@ And crate group being released requires all crate groups downstream to be releas
5757

5858
## Version history
5959

60+
61+
### [sc 0.64.0, codec 0.24.0, chain 0.21.0, sdk 0.14.0, scenario-format 0.25.0] - 2025-12-18
62+
- Switched to Rust edition 2024, minimum compiler version becomes 1.85.
63+
- New payments API:
64+
- New objects: `TokenId` and `Payment`. Besides them having shorter names, they treat EGLD the same as all other ESDTs, making their handling easier. EGLD is always serialized as `EGLD-000000`.
65+
- `Payment` amounts are `NonZeroBigUint`, a new refinement type that prevents the value from being zero. This prevents at compile time zero-value payments from occurring.
66+
- New `call_value` methods:
67+
- `all()` - all payments, EGLD and ESDT;
68+
- `single()` - expect precisely one payment, and retrieve that payment. Crash for no payments, or for multiple payments;
69+
- `single_optional()` - expect either zero or one payments. Returns an Option of Payment reference;
70+
- `array()` - expect the exact number of payments and retrieve them as array.
71+
- `MultiTransfer` marker for forcing an ESDT multi transfer, even when not strictly necessary.
72+
- Deprecated `EgldOrMultiEsdtPayment` and `call_value``any_payment`.
73+
- `ManagedVecRef` renamed to `Ref`.
74+
- Token identifier display fix.
75+
- `NonZeroBigUint` implementation, including all common operators. Additional fixes for the `BigInt` and `BigUint` operators.
76+
- SDK - fixed an issue with parsing transactions with large values in SCRs.
77+
- Upgraded all dependencies.
78+
79+
6080
### [sc 0.63.3] - 2025-12-08
6181
- Reverted the EsdtTokenIdentifier ABI name to TokenIdentifier.
6282

0 commit comments

Comments
 (0)