diff --git a/Cargo.lock b/Cargo.lock index e670c7aed568..525ed27fc5a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "Inflector" version = "0.11.4" @@ -16,8 +18,8 @@ version = "0.1.0" dependencies = [ "fil_clock", "fil_types", - "forest_actor 0.1.5", - "forest_actor 1.0.2", + "forest_actor 0.1.6", + "forest_actor 1.0.3", "forest_actor 2.0.0", "forest_address", "forest_bigint", @@ -867,7 +869,10 @@ dependencies = [ "blstrs", "fff", "groupy", + "hkdf", + "paired", "rand_core 0.5.1", + "sha2 0.9.3", "thiserror", ] @@ -1898,10 +1903,25 @@ checksum = "2544d325b4870bd803d371a7df3c6845e84dcfcb6ebe7ffcae0eac6d5d676133" dependencies = [ "byteorder 1.4.2", "cc", + "fff_derive", "lazy_static", "rand_core 0.5.1", ] +[[package]] +name = "fff_derive" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "844b389fbe323d3b35ed1b3b119e75b11dca536d291d31342acea5b4c8984558" +dependencies = [ + "num-bigint 0.2.6", + "num-integer", + "num-traits", + "proc-macro2 1.0.24", + "quote 1.0.8", + "syn 1.0.58", +] + [[package]] name = "fil_clock" version = "0.1.0" @@ -1922,7 +1942,7 @@ dependencies = [ [[package]] name = "fil_types" -version = "0.1.9" +version = "0.1.11" dependencies = [ "async-std", "base64 0.13.0", @@ -2113,9 +2133,9 @@ dependencies = [ [[package]] name = "forest_actor" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f00f95cb18910083be3ccac343fd4738d58bbf70a9c92d64ba4b19baeb3b95" +checksum = "019551a0cca03107884ea3255f0aaf4282106093213000442a40d68457f56a9b" dependencies = [ "ahash 0.5.10", "base64 0.13.0", @@ -2147,9 +2167,9 @@ dependencies = [ [[package]] name = "forest_actor" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bbded62add26ba31c27e565b663802ca77ad669df593fa1209df868ef3caa74" +checksum = "8d77b7e93eae654e2b2dec102e28d00d2254f5850ae7c963d5987467830b42a6" dependencies = [ "ahash 0.6.2", "base64 0.13.0", @@ -2316,7 +2336,7 @@ dependencies = [ [[package]] name = "forest_crypto" -version = "0.4.1" +version = "0.5.2" dependencies = [ "base64 0.13.0", "bls-signatures", @@ -2429,7 +2449,7 @@ dependencies = [ [[package]] name = "forest_message" -version = "0.6.1" +version = "0.7.2" dependencies = [ "base64 0.13.0", "derive_builder", @@ -2448,7 +2468,7 @@ dependencies = [ [[package]] name = "forest_runtime" -version = "0.1.1" +version = "0.1.2" dependencies = [ "base64 0.13.0", "commcid", @@ -4650,6 +4670,21 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30fceb411f9a12ff9222c5f824026be368ff15dc2f13468d850c7d3f502205d6" +[[package]] +name = "paired" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42fc2daf8d5a8e22a9833f798e72c0d6862b5f0288f0a2d289b37cd03fa5e283" +dependencies = [ + "blake2b_simd", + "byteorder 1.4.2", + "digest 0.9.0", + "fff", + "groupy", + "hkdf", + "rand_core 0.5.1", +] + [[package]] name = "paramfetch" version = "0.1.0" diff --git a/Makefile b/Makefile index 684b35354eb0..8840b585f274 100644 --- a/Makefile +++ b/Makefile @@ -76,10 +76,18 @@ test-vectors: pull-serialization-tests run-vectors # Test all without the submodule test vectors with release configuration test: - cargo test --all --all-features --exclude serialization_tests --exclude conformance_tests + cargo test --all --all-features --exclude serialization_tests --exclude conformance_tests --exclude forest_message --exclude forest_crypto + cargo test -p forest_crypto --features blst --no-default-features + cargo test -p forest_crypto --features pairing --no-default-features + cargo test -p forest_message --features blst --no-default-features + cargo test -p forest_message --features pairing --no-default-features test-release: - cargo test --release --all --all-features --exclude serialization_tests --exclude conformance_tests + cargo test --release --all --all-features --exclude serialization_tests --exclude conformance_tests --exclude forest_message --exclude forest_crypto + cargo test --release -p forest_crypto --features blst --no-default-features + cargo test --release -p forest_crypto --features pairing --no-default-features + cargo test --release -p forest_message --features blst --no-default-features + cargo test --release -p forest_message --features pairing --no-default-features test-all: test-release run-vectors @@ -88,6 +96,6 @@ license: ./scripts/add_license.sh docs: - cargo doc --no-deps --all-features + cargo doc --no-deps .PHONY: clean clean-all lint build release test test-all test-release license test-vectors run-vectors pull-serialization-tests install docs run-serialization-vectors run-conformance-vectors diff --git a/blockchain/blocks/Cargo.toml b/blockchain/blocks/Cargo.toml index 53cfc9809658..3672e14e62ac 100644 --- a/blockchain/blocks/Cargo.toml +++ b/blockchain/blocks/Cargo.toml @@ -11,8 +11,8 @@ features = ["json"] address = { package = "forest_address", version = "0.3" } beacon = { path = "../beacon" } byteorder = "1.3.4" -crypto = { package = "forest_crypto", version = "0.4" } -message = { package = "forest_message", version = "0.6" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } +message = { package = "forest_message", version = "0.7", features = ["blst"] } clock = { package = "fil_clock", path = "../../node/clock" } cid = { package = "forest_cid", version = "0.3", features = ["cbor"] } derive_builder = "0.9" diff --git a/blockchain/chain/Cargo.toml b/blockchain/chain/Cargo.toml index aa8ed485bb32..219917c44075 100644 --- a/blockchain/chain/Cargo.toml +++ b/blockchain/chain/Cargo.toml @@ -9,12 +9,12 @@ blocks = { package = "forest_blocks", path = "../blocks", features = ["json"] } db = { package = "forest_db", version = "0.1" } cid = { package = "forest_cid", version = "0.3" } clock = { package = "fil_clock", path = "../../node/clock" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } encoding = { package = "forest_encoding", version = "0.2.1" } serde = { version = "1.0", features = ["derive"] } num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } num-traits = "0.2" -message = { package = "forest_message", version = "0.6" } +message = { package = "forest_message", version = "0.7", features = ["blst"] } ipld_blockstore = "0.1" ipld_amt = "0.2" thiserror = "1.0" diff --git a/blockchain/chain_sync/Cargo.toml b/blockchain/chain_sync/Cargo.toml index 211908002682..e42f98b26f9e 100644 --- a/blockchain/chain_sync/Cargo.toml +++ b/blockchain/chain_sync/Cargo.toml @@ -17,11 +17,11 @@ libp2p = { version = "0.35", default-features = false } cid = { package = "forest_cid", version = "0.3" } ipld_blockstore = "0.1" chain = { path = "../chain" } -message = { package = "forest_message", version = "0.6", features = ["proofs"] } +message = { package = "forest_message", version = "0.7", features = ["proofs", "blst"] } state_tree = { path = "../../vm/state_tree/" } state_manager = { path = "../state_manager/" } num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } log = "0.4.8" async-std = { version = "1.9", features = ["tokio1", "unstable"] } forest_libp2p = { path = "../../node/forest_libp2p" } diff --git a/blockchain/message_pool/Cargo.toml b/blockchain/message_pool/Cargo.toml index 802fa2c61be3..7e68fa12c6d2 100644 --- a/blockchain/message_pool/Cargo.toml +++ b/blockchain/message_pool/Cargo.toml @@ -8,14 +8,14 @@ edition = "2018" address = { package = "forest_address", version = "0.3" } vm = { package = "forest_vm", version = "0.3.1" } blocks = { package = "forest_blocks", path = "../blocks" } -message = { package = "forest_message", version = "0.6", features = ["proofs", "json"] } +message = { package = "forest_message", version = "0.7", features = ["proofs", "json", "blst"] } thiserror = "1.0" cid = { package = "forest_cid", version = "0.3" } encoding = { package = "forest_encoding", version = "0.2.1" } blockstore = { package = "ipld_blockstore", version = "0.1" } num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } lru = "0.6" -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } chain = { path = "../chain" } state_tree = { path = "../../vm/state_tree/" } serde = { version = "1.0", features = ["derive"] } diff --git a/blockchain/state_manager/Cargo.toml b/blockchain/state_manager/Cargo.toml index 8d3a6f3e7513..1837fa2525ee 100644 --- a/blockchain/state_manager/Cargo.toml +++ b/blockchain/state_manager/Cargo.toml @@ -29,7 +29,7 @@ async-std = { version = "1.9", features = ["unstable", "tokio1"] } async-log = "2.0.0" log = "0.4.8" fil_types = "0.1" -message = { package = "forest_message", version = "0.6", features = ["json"] } +message = { package = "forest_message", version = "0.7", features = ["json", "blst"] } vm = { package = "forest_vm", version = "0.3.1" } bitfield = { package = "forest_bitfield", version = "0.1" } serde = { version = "1.0", features = ["derive"] } @@ -40,6 +40,6 @@ futures = "0.3.5" runtime = { package = "forest_runtime", version = "0.1" } lazy_static = "1.4" once_cell = "1.5" -forest_crypto = { version = "0.4" } +forest_crypto = { version = "0.5", features = ["blst"] } networks = { path = "../../types/networks" } statediff = { path = "../../utils/statediff", optional = true } diff --git a/crypto/CHANGELOG.md b/crypto/CHANGELOG.md index b911e0635e73..86ecafe76cc7 100644 --- a/crypto/CHANGELOG.md +++ b/crypto/CHANGELOG.md @@ -1,4 +1,10 @@ -# 0.5.0 [UNRELEASED] +# 0.5.2 + +- `pairing` feature doesn't use Rayon anymore so it can compile to wasm +# 0.5.1 + +- Changed `blst` to a default feature, and added `pairing` flag to use pairings instead. +# 0.5.0 - Removed `from_byte` for `DomainSeparationTag`. If this is needed, can use the `FromPrimitive` trait. - Removes `Default` for `Signature`. This was an old need for when block signatures were not optional in `BlockHeader`s. \ No newline at end of file diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml index 51098e6a10e3..f947c95680ba 100644 --- a/crypto/Cargo.toml +++ b/crypto/Cargo.toml @@ -2,7 +2,7 @@ name = "forest_crypto" description = "Filecoin crypto utilities for use in Forest" license = "MIT OR Apache-2.0" -version = "0.4.1" +version = "0.5.2" authors = ["ChainSafe Systems "] edition = "2018" repository = "https://github.com/ChainSafe/forest" @@ -14,7 +14,7 @@ features = ["json"] address = { package = "forest_address", version = "0.3" } encoding = { package = "forest_encoding", version = "0.2.1" } libsecp256k1 = "0.3.4" -bls-signatures = { version = "0.9", default-features = false, features = ["blst"] } +bls-signatures = { version = "0.9", default-features = false } serde = { version = "1.0", features = ["derive"] } num-traits = "0.2" num-derive = "0.3.0" @@ -26,4 +26,7 @@ rand = "0.7.3" rand_chacha = "0.2.2" [features] +default = ["blst"] json = ["base64"] +blst = ["bls-signatures/blst"] +pairing = ["bls-signatures/pairing"] \ No newline at end of file diff --git a/key_management/Cargo.toml b/key_management/Cargo.toml index 5bf5568970a9..e6146526c3b5 100644 --- a/key_management/Cargo.toml +++ b/key_management/Cargo.toml @@ -10,7 +10,7 @@ features = ["json"] [dependencies] thiserror = "1.0" address = { package = "forest_address", version = "0.3" } -crypto = { package = "forest_crypto", version = "0.4", features = ["json"] } +crypto = { package = "forest_crypto", version = "0.5", features = ["json", "blst"] } bls-signatures = { version = "0.9", default-features = false, features = ["blst"] } libsecp256k1 = "0.3.4" rand = "0.7.3" diff --git a/node/forest_libp2p/Cargo.toml b/node/forest_libp2p/Cargo.toml index 2b050be7500c..75e03fecfca5 100644 --- a/node/forest_libp2p/Cargo.toml +++ b/node/forest_libp2p/Cargo.toml @@ -28,7 +28,7 @@ log = "0.4.8" async-std = "1.9" serde = { version = "1.0", features = ["derive"] } forest_blocks = { path = "../../blockchain/blocks" } -forest_message = "0.6" +forest_message = "0.7" forest_encoding = "0.2.1" forest_cid = { version = "0.3" } bytes = "1.0" @@ -50,6 +50,6 @@ git-version = "0.3.4" [dev-dependencies] forest_address = "0.3" num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } genesis = { path = "../../utils/genesis", features = ["testing"] } async-std = { version = "1.9", features = ["attributes"] } diff --git a/node/rpc-client/Cargo.toml b/node/rpc-client/Cargo.toml index 407acc29e6ad..bb4d5b2a6d2a 100644 --- a/node/rpc-client/Cargo.toml +++ b/node/rpc-client/Cargo.toml @@ -10,10 +10,10 @@ cid = { package = "forest_cid", version = "0.3", features = ["json"] } blocks = { package = "forest_blocks", path = "../../blockchain/blocks", features = [ "json" ] } -message = { package = "forest_message", version = "0.6", features = ["json"] } +message = { package = "forest_message", version = "0.7", features = ["json"] } serde_json = "1.0" log = "0.4.8" -crypto = { package = "forest_crypto", version = "0.4", features = ["json"] } +crypto = { package = "forest_crypto", version = "0.5", features = ["json", "blst"] } wallet = { package = "key_management", path = "../../key_management", features = [ "json" ] } diff --git a/node/rpc/Cargo.toml b/node/rpc/Cargo.toml index 1402162d4a44..ae91ca764475 100644 --- a/node/rpc/Cargo.toml +++ b/node/rpc/Cargo.toml @@ -42,14 +42,14 @@ chain = { path = "../../blockchain/chain", features = ["json"] } chain_sync = { path = "../../blockchain/chain_sync" } cid = { package = "forest_cid", version = "0.3", features = ["json"] } clock = { package = "fil_clock", path = "../clock" } -crypto = { package = "forest_crypto", version = "0.4", features = ["json"] } +crypto = { package = "forest_crypto", version = "0.5", features = ["json", "blst"] } encoding = { package = "forest_encoding", version = "0.2.1" } fil_types = "0.1" forest_libp2p = { path = "../forest_libp2p" } interpreter = { path = "../../vm/interpreter/" } ipld = { package = "forest_ipld", path = "../../ipld", features = ["json"] } ipld_amt = "0.2" -message = { package = "forest_message", version = "0.6", features = ["json"] } +message = { package = "forest_message", version = "0.7", features = ["json", "blst"] } message_pool = { path = "../../blockchain/message_pool" } networks = { path = "../../types/networks" } num-bigint = { version = "0.1.1", package = "forest_bigint" } diff --git a/tests/conformance_tests/Cargo.toml b/tests/conformance_tests/Cargo.toml index 31ce7e08d2a6..1a9a983c94c5 100644 --- a/tests/conformance_tests/Cargo.toml +++ b/tests/conformance_tests/Cargo.toml @@ -50,10 +50,10 @@ interpreter = { path = "../../vm/interpreter/", optional = true } num-bigint = { path = "../../utils/bigint", package = "forest_bigint", optional = true } vm = { package = "forest_vm", version = "0.3.1", optional = true } blockstore = { package = "ipld_blockstore", version = "0.1", features = ["resolve"], optional = true } -crypto = { package = "forest_crypto", version = "0.4", optional = true } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"], optional = true } encoding = { package = "forest_encoding", version = "0.2.1", optional = true } fil_types = { version = "0.1", optional = true } -forest_message = { version = "0.6", features = ["json"], optional = true } +forest_message = { version = "0.7", features = ["json", "blst"], optional = true } state_tree = { path = "../../vm/state_tree/", optional = true } chain = { path = "../../blockchain/chain", optional = true } futures = { version = "0.3.5", optional = true } diff --git a/tests/serialization_tests/Cargo.toml b/tests/serialization_tests/Cargo.toml index e5d4ca6d6b86..5969e7a848c5 100644 --- a/tests/serialization_tests/Cargo.toml +++ b/tests/serialization_tests/Cargo.toml @@ -11,7 +11,7 @@ submodule_tests = [] [dev-dependencies] serde = { version = "1.0", features = ["derive"] } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } base64 = { version = "0.13" } cid = { package = "forest_cid", version = "0.3", features = ["cbor", "json"] } serde_json = "1.0" @@ -19,7 +19,7 @@ hex = "0.4.2" vm = { package = "forest_vm", version = "0.3.1" } fil_types = "0.1" address = { package = "forest_address", version = "0.3" } -forest_message = { version = "0.6", features = ["json"] } +forest_message = { version = "0.7", features = ["json", "blst"] } encoding = { package = "forest_encoding", version = "0.2.1" } forest_blocks = { path = "../../blockchain/blocks", features = ["json"] } num-traits = "0.2" diff --git a/types/Cargo.toml b/types/Cargo.toml index 128a07c494d1..b0eadea1b762 100644 --- a/types/Cargo.toml +++ b/types/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fil_types" description = "Filecoin types used in Forest." -version = "0.1.9" +version = "0.1.11" license = "MIT OR Apache-2.0" authors = ["ChainSafe Systems "] edition = "2018" diff --git a/types/src/build_version/mod.rs b/types/src/build_version/mod.rs index f5b56beb6d7e..e752565009b3 100644 --- a/types/src/build_version/mod.rs +++ b/types/src/build_version/mod.rs @@ -21,7 +21,7 @@ const MINER_API_VERSION: Version = new_version(0, 15, 0); const WORKER_API_VERSION: Version = new_version(0, 15, 0); lazy_static! { - pub static ref CURRENT_COMMIT: String = git_version!().to_string(); + pub static ref CURRENT_COMMIT: String = git_version!(fallback = "unknown").to_string(); pub static ref BUILD_TYPE: RwLock = RwLock::new(BuildType::BuildDefault); pub static ref RUNNING_NODE_TYPE: RwLock = RwLock::new(NodeType::Full); } diff --git a/utils/auth/Cargo.toml b/utils/auth/Cargo.toml index a8840c87b27e..8ed657760f62 100644 --- a/utils/auth/Cargo.toml +++ b/utils/auth/Cargo.toml @@ -11,7 +11,7 @@ serde = { version = "1.0.101", default-features = false, features = ["derive"] } thiserror = "1.0" wallet = { package = "key_management", path = "../../key_management" } rand = "0.7.3" -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } [dependencies.jsonrpc-v2] version = "0.10.0" diff --git a/utils/test_utils/Cargo.toml b/utils/test_utils/Cargo.toml index 40b8d9063259..881b2825bacf 100644 --- a/utils/test_utils/Cargo.toml +++ b/utils/test_utils/Cargo.toml @@ -13,9 +13,9 @@ blocks = { package = "forest_blocks", path = "../../blockchain/blocks/", optiona cid = { package = "forest_cid", version = "0.3", optional = true } ipld_blockstore = "0.1" chain = { path = "../../blockchain/chain/", optional = true } -message = { package = "forest_message", version = "0.6", optional = true } +message = { package = "forest_message", version = "0.7", optional = true, features = ["blst"] } num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } async-std = "1.9" forest_libp2p = { path = "../../node/forest_libp2p/", optional = true } encoding = { package = "forest_encoding", version = "0.2.1" } diff --git a/vm/actor/Cargo.toml b/vm/actor/Cargo.toml index 0b13fa05c796..6b15add6807b 100644 --- a/vm/actor/Cargo.toml +++ b/vm/actor/Cargo.toml @@ -25,7 +25,7 @@ ipld_amt = { path = "../../ipld/amt", features = ["go-interop"]} forest_ipld = "0.1.1" unsigned-varint = "0.6" integer-encoding = { version = "3.0", default-features = false } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } bitfield = { package = "forest_bitfield", version = "0.1" } fil_types = "0.1" byteorder = "1.3.4" diff --git a/vm/actor_interface/Cargo.toml b/vm/actor_interface/Cargo.toml index 017cf2cee1c8..be7c4fe4372d 100644 --- a/vm/actor_interface/Cargo.toml +++ b/vm/actor_interface/Cargo.toml @@ -5,8 +5,8 @@ authors = ["ChainSafe Systems "] edition = "2018" [dependencies] -actorv0 = { package = "forest_actor", version = "0.1.3" } -actorv2 = { package = "forest_actor", version = "1.0.0" } +actorv0 = { package = "forest_actor", version = "0.1" } +actorv2 = { package = "forest_actor", version = "1.0" } actorv3 = { package = "forest_actor", path = "../actor" } fil_types = "0.1" vm = { package = "forest_vm", version = "0.3.1" } @@ -21,6 +21,7 @@ forest_bitfield = "0.1" num-bigint = { version = "0.1.1", package = "forest_bigint", features = ["json"] } forest_hash_utils = "0.1" forest_json_utils = "0.1.1" + [features] devnet = ["actorv0/devnet", "actorv2/devnet"] interopnet = ["actorv0/interopnet", "actorv2/interopnet"] diff --git a/vm/interpreter/Cargo.toml b/vm/interpreter/Cargo.toml index df28f59f8a5f..e0306922a424 100644 --- a/vm/interpreter/Cargo.toml +++ b/vm/interpreter/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" [dependencies] address = { package = "forest_address", version = "0.3" } actor = { package = "actor_interface", path = "../actor_interface" } -message = { package = "forest_message", version = "0.6" } +message = { package = "forest_message", default_features = false, version = "0.7", features = ["blst"] } runtime = { package = "forest_runtime", version = "0.1" } blocks = { package = "forest_blocks", path = "../../blockchain/blocks" } clock = { package = "fil_clock", path = "../../node/clock" } @@ -16,7 +16,7 @@ ipld_blockstore = "0.1" num-bigint = { path = "../../utils/bigint", package = "forest_bigint" } forest_encoding = "0.2.1" cid = { package = "forest_cid", version = "0.3" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", default_features = false, version = "0.5", features = ["blst"] } num-traits = "0.2.11" byteorder = "1.3.4" state_tree = { path = "../state_tree" } diff --git a/vm/message/CHANGELOG.md b/vm/message/CHANGELOG.md index e79665b7a6a2..98167ce9b313 100644 --- a/vm/message/CHANGELOG.md +++ b/vm/message/CHANGELOG.md @@ -1,3 +1,9 @@ +# 0.7.1 [2021-03-25] + +- Changed `blst` to default, and added `pairing` flag to use pairings instead of blst. +# 0.7.0 [2021-03-25] + +- Upgrade to forest_crypto 0.5 # 0.5.0 [2020-10-02] - Fixes message verification for `new_from_parts` function. diff --git a/vm/message/Cargo.toml b/vm/message/Cargo.toml index 6cebb3a1cafb..adc54b08c7b0 100644 --- a/vm/message/Cargo.toml +++ b/vm/message/Cargo.toml @@ -2,7 +2,7 @@ name = "forest_message" description = "Filecoin message types" license = "MIT OR Apache-2.0" -version = "0.6.1" +version = "0.7.2" authors = ["ChainSafe Systems "] edition = "2018" repository = "https://github.com/ChainSafe/forest" @@ -16,7 +16,7 @@ address = { package = "forest_address", version = "0.3" } cid = { package = "forest_cid", version = "0.3" } num-bigint = { path = "../../utils/bigint", package = "forest_bigint", version = "0.1.1" } encoding = { package = "forest_encoding", version = "0.2.1" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", default-features = false, version = "0.5" } derive_builder = "0.9" serde = { version = "1.0", features = ["derive"] } base64 = { version = "0.13", optional = true } @@ -28,6 +28,10 @@ fil_types = { optional = true, version = "0.1" } serde_json = "1.0" [features] +default = ["blst"] +blst = ["crypto/blst"] +pairing = ["crypto/pairing"] + json = ["base64", "crypto/json", "forest_json_utils", "cid/json", "num-bigint/json"] # TODO try to prune out this dependency before releasing proofs = ["fil_types"] diff --git a/vm/runtime/Cargo.toml b/vm/runtime/Cargo.toml index 6f4fe9b1f087..79eea72094b1 100644 --- a/vm/runtime/Cargo.toml +++ b/vm/runtime/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "forest_runtime" description = "Runtime for use in Filecoin protocol" -version = "0.1.1" +version = "0.1.2" license = "MIT OR Apache-2.0" authors = ["ChainSafe Systems "] edition = "2018" @@ -9,7 +9,7 @@ repository = "https://github.com/ChainSafe/forest" [dependencies] vm = { package = "forest_vm", version = "0.3" } -crypto = { package = "forest_crypto", version = "0.4" } +crypto = { package = "forest_crypto", version = "0.5", features = ["blst"] } address = { package = "forest_address", version = "0.3" } cid = { package = "forest_cid", version = "0.3" } ipld_blockstore = "0.1" @@ -18,9 +18,9 @@ forest_encoding = "0.2.1" commcid = { path = "../../utils/commcid", version = "0.1.1" } filecoin-proofs-api = { version = "6.1", features = ["blst"], default_features = false } base64 = "0.13" -fil_types = { features = ["proofs"], version = "0.1.3" } +fil_types = { features = ["proofs"], version = "0.1.10" } log = "0.4.8" [dev-dependencies] interpreter = { path = "../interpreter/" } -db = { package = "forest_db", version = "0.1" } +db = { package = "forest_db", version = "0.1" } \ No newline at end of file