Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
1a823c2
multiversx-sc-abi crate, moved base/abi module there
andrei-marinica Feb 13, 2026
7ad991c
abi crate - type + contract abi modules
andrei-marinica Feb 13, 2026
5978afa
multiversx-sc-abi-derive-common crate, deduplicated type_abi macros &…
andrei-marinica Feb 19, 2026
709774b
derive crate fix
andrei-marinica Feb 20, 2026
8c87364
abi crate in abi build info
andrei-marinica Feb 20, 2026
3c2cc47
fmt
andrei-marinica Feb 20, 2026
572ba09
abi build info backwards compatibility
andrei-marinica Feb 20, 2026
d8affeb
abi crate build fix
andrei-marinica Feb 20, 2026
74f912d
cleanup
andrei-marinica Feb 23, 2026
df6c939
syn dependency fix
andrei-marinica Mar 3, 2026
a610bc8
crate description fix
andrei-marinica Mar 3, 2026
b76eab1
Merge pull request #2288 from multiversx/abi-crate
andrei-marinica Mar 3, 2026
dc362df
merge master -> feat/abi-crate
andrei-marinica Mar 3, 2026
e993afe
Merge pull request #2301 from multiversx/merge-abi
andrei-marinica Mar 3, 2026
e92f48e
Bech32Address HRP type, refactor
andrei-marinica May 25, 2026
67850a2
Bech32Hrp refactor, appropriate usage
andrei-marinica May 25, 2026
44b41ce
build fix
andrei-marinica May 25, 2026
5abbeb1
upgrade Rust 1.95
andrei-marinica May 25, 2026
8b5f11a
upgrade Rust 1.95 fix
andrei-marinica May 25, 2026
62c5126
Bech32Hrp - try_from, unit tests
andrei-marinica May 25, 2026
f6ab9ea
wallet_cmd file rename
andrei-marinica May 25, 2026
03cbd5c
Merge pull request #2377 from multiversx/bech32-refactor
andrei-marinica May 25, 2026
2db286e
sc-meta wallet convert integration test
andrei-marinica May 26, 2026
8f1a7a8
clippy fix
andrei-marinica May 26, 2026
8af84dd
clippy fix
andrei-marinica May 26, 2026
2839b8c
Merge pull request #2379 from multiversx/wallet-test
andrei-marinica May 26, 2026
fdf80d3
Merge branch 'master' into abi-merge
andrei-marinica May 26, 2026
f10f725
fix after merge
andrei-marinica May 26, 2026
e7b49e9
Merge pull request #2380 from multiversx/abi-merge
andrei-marinica May 27, 2026
ac36e2f
Wallet refactor, WalletPem
andrei-marinica May 27, 2026
d7cf933
Wallet - keystore refactor
andrei-marinica May 27, 2026
1f102fe
Wallet - keystore encrypt refactor, removed feature wallet-full
andrei-marinica May 27, 2026
42e232a
Wallet - keystore password cleanup
andrei-marinica May 27, 2026
785b2e5
Wallet keystore encrypt/decrypt cleanup
andrei-marinica May 27, 2026
d02870d
Wallet keystore contains decoded data, json refactor, decode when par…
andrei-marinica May 27, 2026
5edd23c
Wallet keystore - embed randomness in keystore struct
andrei-marinica May 27, 2026
43dc92a
Wallet keystore encrypt simplified, new wallet refactor
andrei-marinica May 27, 2026
7a361b4
Wallet keystore split derived key refactor
andrei-marinica May 27, 2026
4a7bedf
Wallet keystore validate password cleanup
andrei-marinica May 27, 2026
6aae57e
Wallet - remove wrong shard id impl
andrei-marinica May 27, 2026
fbade3e
Wallet keystore encrypt only takes HRP
andrei-marinica May 27, 2026
d74eb60
test fix
andrei-marinica May 27, 2026
8ac954c
Wallet source, test wallet metadata
andrei-marinica May 27, 2026
589bd5c
Wallet keystore decrypt_wallet further refactor
andrei-marinica May 27, 2026
c066ea9
Wallet rename priv_key -> private_key
andrei-marinica May 27, 2026
e10ed3b
sdk - MultipleTransactionsResponseData serde fix
andrei-marinica May 27, 2026
e31071e
Wallet hex cleanup & refactor
andrei-marinica May 27, 2026
fca876d
Wallet cmd refactor
andrei-marinica May 27, 2026
208a4fe
Wallet sign arg refactor
andrei-marinica May 27, 2026
318404e
Wallet, keystore, pem, signature tests
andrei-marinica May 27, 2026
a781510
typo
andrei-marinica May 27, 2026
70d018f
dead code
andrei-marinica May 27, 2026
2c43b44
doc fix
andrei-marinica May 27, 2026
4849b1c
cleanup
andrei-marinica May 27, 2026
fb155db
Merge pull request #2381 from multiversx/wallet-refactor
andrei-marinica May 27, 2026
21d4659
PublicKey verify message, test signing using ed25519-dalek
andrei-marinica May 27, 2026
b923b40
signing: replaced custom ed25519 implementation with ed25519-dalek
andrei-marinica May 27, 2026
a589c99
fix after review, public key test
andrei-marinica May 28, 2026
bfb366f
Merge pull request #2382 from multiversx/ed25519-dalek
andrei-marinica May 28, 2026
49ecf71
Wallet signature refactor
andrei-marinica May 28, 2026
9b60243
Merge pull request #2383 from multiversx/sig-refactor
andrei-marinica May 28, 2026
107b6c4
Wallet private key from_bytes test
andrei-marinica May 28, 2026
49326c0
chain core crypto reorg
andrei-marinica May 28, 2026
12ab00f
chain core crypto ed25519
andrei-marinica May 28, 2026
94b1418
Wallet keystore encrypt takes private key ref
andrei-marinica May 28, 2026
2c0b04b
fmt
andrei-marinica May 28, 2026
0511a18
chain core crypto ed25519 refactor
andrei-marinica May 28, 2026
9311ae9
dependency cleanup
andrei-marinica May 28, 2026
71629c6
Wallet - tx hashing refactor
andrei-marinica May 28, 2026
dac23b0
CI - windows Rust version
andrei-marinica May 28, 2026
7aa1208
Merge branch master into rc/v0.67
andrei-marinica Jun 1, 2026
23a6655
Merge pull request #2390 from multiversx/merge-67
andrei-marinica Jun 1, 2026
3088d1d
Merge branch 'rc/v0.67' into wallet-crypto-reorg
andrei-marinica Jun 1, 2026
245cbd1
Wallet PrivateKey from_bytes/from_seed_hex_str split into seed/keypai…
andrei-marinica Jun 2, 2026
3c382ab
Wallet key docs
andrei-marinica Jun 2, 2026
df63cdc
Merge pull request #2385 from multiversx/wallet-crypto-reorg
andrei-marinica Jun 2, 2026
64a1253
Wallet module reorg
andrei-marinica Jun 2, 2026
46f0d5e
Merge pull request #2391 from multiversx/wallet-file-reorg
andrei-marinica Jun 2, 2026
4824049
Wallet Mnemonic refactor
andrei-marinica Jun 2, 2026
e7dbb11
cleanup
andrei-marinica Jun 2, 2026
f18b382
Mnemonic parse fix
andrei-marinica Jun 2, 2026
66c4970
Mnemonic - better error handling
andrei-marinica Jun 2, 2026
c70986b
Merge pull request #2392 from multiversx/mnemonic
andrei-marinica Jun 2, 2026
2560517
base64 functions moved to chain core
andrei-marinica Jun 2, 2026
2c22fac
decode fix
andrei-marinica Jun 2, 2026
31f0e7f
Merge pull request #2393 from multiversx/base64-move
andrei-marinica Jun 2, 2026
c3ec0fd
Bech32Address - serde deserialization error handling fix
andrei-marinica Jun 4, 2026
250866d
Bech32Address - more tests
andrei-marinica Jun 4, 2026
224e11c
Bech32Address - refactor
andrei-marinica Jun 4, 2026
dbd6dc3
Merge pull request #2396 from multiversx/bech32-de-err
andrei-marinica Jun 4, 2026
b0caa74
CodeMetadata - stricter constructor/convertors
andrei-marinica Jun 5, 2026
8dddf01
CodeMetadata - removed VMCodeMetadata alias
andrei-marinica Jun 5, 2026
dfe5d47
CodeMetadata - guarded flag
andrei-marinica Jun 5, 2026
8bca926
CodeMetadata - empty vs. default clarification, docs, refactor
andrei-marinica Jun 5, 2026
61c6e2f
CodeMetadata - write_display_tokens rename, more docs
andrei-marinica Jun 5, 2026
7414d33
Merge pull request #2397 from multiversx/code-metadata-strict
andrei-marinica Jun 5, 2026
75db2b8
token identifier - add missing hex check when validating; tests
andrei-marinica Jun 5, 2026
89bf92e
token identifier validation - refactor & tests
andrei-marinica Jun 5, 2026
6b21588
Merge pull request #2398 from multiversx/token-id-validate-fix
andrei-marinica Jun 5, 2026
fd88449
EsdtLocalRole flag fix, docs, tests
andrei-marinica Jun 5, 2026
caeb116
doc fixes
andrei-marinica Jun 14, 2026
0097bb4
Merge pull request #2399 from multiversx/esdt-role-fix
andrei-marinica Jun 14, 2026
04c2769
codec - trait default implementation cleanup
andrei-marinica Jun 15, 2026
383a09c
Merge pull request #2400 from multiversx/codec-cleanup
andrei-marinica Jun 15, 2026
9164947
Merge branch 'rc/v0.67' into abi-merge
andrei-marinica Jun 15, 2026
d5a7f1e
Merge pull request #2401 from multiversx/abi-merge
andrei-marinica Jun 15, 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
4 changes: 2 additions & 2 deletions .github/workflows/gas-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
toolchain: ["1.92", "1.85"]
toolchain: ["1.95", "1.85"]
steps:
- name: Checkout code
uses: actions/checkout@v5
Expand All @@ -46,7 +46,7 @@ jobs:
with:
toolchain: ${{ matrix.toolchain }}

- name: Run gas tests (prod)
- name: Run gas tests (experimental)
run: |
cd contracts/feature-tests/gas-tests
cargo test --features wasmer-experimental
45 changes: 37 additions & 8 deletions Cargo.lock

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

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
resolver = "3"

members = [
"data/abi",
"data/abi-derive-common",
"data/abi-derive",
"data/codec",
"data/codec-derive",
"data/human-readable",
Expand Down
10 changes: 8 additions & 2 deletions chain/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,24 @@ keywords = ["multiversx", "blockchain", "vm", "tools"]
categories = ["cryptography::cryptocurrencies", "development-tools::debugging"]

[features]
std = ["bech32", "serde", "hex", "blake2", "sha2", "sha3"]
std = ["base64", "bech32", "serde", "hex", "blake2", "sha2", "sha3", "ed25519-dalek"]

[dependencies]
bitflags = "2.9"
base64 = { version = "0.22", optional = true }
bech32 = { version = "0.11", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
hex = { version = "0.4", optional = true }
blake2 = { version = "0.10", optional = true }
sha2 = { version = "0.11", optional = true }
sha3 = { version = "0.12", optional = true }
ed25519-dalek = { version = "2.1", optional = true }

[dependencies.multiversx-sc-codec]
version = "=0.25.0"
version = "0.25.0"
path = "../../data/codec"
features = ["derive"]

[dev-dependencies]
serde_json = "1.0"
hex-literal = "1.0"
4 changes: 3 additions & 1 deletion chain/core/src/std.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
mod base64;
mod bech32_address;
mod code_hash;
pub mod crypto;
pub mod new_address;

pub use bech32_address::Bech32Address;
pub use base64::{base64_decode, base64_encode};
pub use bech32_address::{Bech32Address, Bech32Hrp};
pub use code_hash::{CODE_HASH_LEN, code_hash};
20 changes: 20 additions & 0 deletions chain/core/src/std/base64.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
use base64::{Engine as _, engine::general_purpose};

/// Decodes a base64-encoded byte slice using the standard alphabet.
///
/// Returns an error if the input contains characters outside the base64 alphabet
/// or has invalid padding.
pub fn base64_decode<T>(to_decode: T) -> Result<Vec<u8>, base64::DecodeError>
where
T: AsRef<[u8]>,
{
general_purpose::STANDARD.decode(to_decode)
}

/// Encodes a byte slice as a base64 string using the standard alphabet with padding.
pub fn base64_encode<T>(to_encode: T) -> String
where
T: AsRef<[u8]>,
{
general_purpose::STANDARD.encode(to_encode)
}
Loading
Loading