Cargo Features

[dependencies]
everscale-types = { version = "0.1.2", default-features = false, features = ["sync", "stats", "serde", "rand", "models", "blake3", "rayon", "abi", "venom", "tycho"] }
default = base64, models, serde, sync

These default features are set whenever everscale-types is added without default-features = false somewhere in the dependency tree.

sync default

Enables scc

Affects cell_impl::sync, cell::DynCell

stats

Affects cell_context::CellParts.stats, cell::CellImpl.stats

serde default = base64

Enables serde

rand

Enables rand

models default abi?

Enables everscale-crypto ^0.2 and tl-proto ^0.4

Affects everscale-types::models

blake3

Enables blake3

rayon

Enables rayon and rayon of optional blake3

blake3:

The rayon feature (disabled by default, but enabled for docs.rs) adds the update_rayon and (in combination with mmap below) update_mmap_rayon methods, for multithreaded hashing. However, even if this feature is enabled, all other APIs remain single-threaded.

Implementation detail: We take a dependency on rayon-core instead of rayon, because it builds faster and still includes all the APIs we need.

abi = models

Enables anyhow, bytes, ed25519-dalek, num-bigint, num-traits, serde, and typeid

Affects everscale-types::abi

venom

Affects block_extra::BlockExtra.shard_block_refs, shard_hashes::ShardDescription.collators, shard_hashes::CollatorRange, shard_hashes::ShardCollators, shard_hashes::ShardBlockRef, shard_hashes::ShardBlockRefs, shard_hashes::ShardBlockRefsIter, shard_hashes::WorkchainShardBlockRefs, shard_hashes::WorkchainShardBlockRefsIter, shard::ShardStateUnsplit.shard_block_refs, block::BlockInfo.gen_utime_ms, shard::ShardStateUnsplit.gen_utime_ms

tycho

Affects block_proof::BlockSignatures.consensus_info, block::Block.out_msg_queue_updates, block::OutMsgQueueUpdates, shard_hashes::ShardDescription.ext_processed_to_anchor_id, shard_hashes::ShardDescription.top_sc_block_updated, params::CollationConfig, params::MsgsExecutionParams, params::WorkUnitsParams, params::WorkUnitsParamsPrepare, params::WorkUnitsParamsExecute, params::WorkUnitsParamsFinalize, params::ConsensusConfig, shard::ShardStateUnsplit.processed_upto, shard::ProcessedUptoInfo, shard::ExternalsProcessedUpto, shard::InternalsProcessedUpto, shard_extra::McStateExtra.consensus_info, block::BlockInfo.gen_utime_ms, shard::ShardStateUnsplit.gen_utime_ms

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

base64 default serde

Affects address::StdAddrBase64Repr, address::StdAddrFormat, address::Base64StdAddrFlags, address::DisplayBase64StdAddr