diff --git a/.circleci/config.yml b/.circleci/config.yml index ca3e97e4..1bda70bf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ orbs: executors: golang: docker: - - image: cimg/go:1.20 + - image: cimg/go:1.21 resource_class: small environment: # Build the kernel only for the single architecture. This should reduce @@ -56,7 +56,7 @@ jobs: type: boolean default: true machine: - image: ubuntu-2204:2023.07.2 + image: default resource_class: arm.large working_directory: ~/go/src/github.com/filecoin-project/filecoin-ffi steps: @@ -78,7 +78,7 @@ jobs: type: boolean default: true executor: golang - resource_class: medium + resource_class: medium+ working_directory: ~/go/src/github.com/filecoin-project/filecoin-ffi steps: - configure_environment_variables @@ -232,7 +232,7 @@ commands: - run: name: Install Go command: | - curl https://dl.google.com/go/go1.20.10.darwin-arm64.pkg -o /tmp/go.pkg && \ + curl https://dl.google.com/go/go1.21.11.darwin-arm64.pkg -o /tmp/go.pkg && \ sudo installer -pkg /tmp/go.pkg -target / go version - run: @@ -352,13 +352,13 @@ commands: no_output_timeout: 90m - run: name: Run the Go tests - command: GODEBUG=cgocheck=2 RUST_LOG=info go test -p 1 -timeout 60m + command: GOEXPERIMENT=cgocheck2 RUST_LOG=info go test -p 1 -timeout 60m no_output_timeout: 60m compile_tests: steps: - run: name: Build project and tests, but don't actually run the tests (used to verify that build/link works with Darwin) - command: GODEBUG=cgocheck=2 RUST_LOG=info go test -run=^$ + command: GOEXPERIMENT=cgocheck2 RUST_LOG=info go test -run=^$ restore_parameter_cache: steps: - restore_cache: diff --git a/cgo/const.go b/cgo/const.go index 05e84419..4710af40 100644 --- a/cgo/const.go +++ b/cgo/const.go @@ -16,21 +16,26 @@ const ( ) const ( - RegisteredSealProofStackedDrg2KiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1 - RegisteredSealProofStackedDrg8MiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1 - RegisteredSealProofStackedDrg512MiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1 - RegisteredSealProofStackedDrg32GiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1 - RegisteredSealProofStackedDrg64GiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1 - RegisteredSealProofStackedDrg2KiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1_1 - RegisteredSealProofStackedDrg8MiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1_1 - RegisteredSealProofStackedDrg512MiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1_1 - RegisteredSealProofStackedDrg32GiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1_1 - RegisteredSealProofStackedDrg64GiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1_1 - RegisteredSealProofStackedDrg2KiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1_1__FEAT__SYNTHETIC_PO_REP - RegisteredSealProofStackedDrg8MiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1_1__FEAT__SYNTHETIC_PO_REP - RegisteredSealProofStackedDrg512MiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1_1__FEAT__SYNTHETIC_PO_REP - RegisteredSealProofStackedDrg32GiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1_1__FEAT__SYNTHETIC_PO_REP - RegisteredSealProofStackedDrg64GiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg2KiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1 + RegisteredSealProofStackedDrg8MiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1 + RegisteredSealProofStackedDrg512MiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1 + RegisteredSealProofStackedDrg32GiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1 + RegisteredSealProofStackedDrg64GiBV1 = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1 + RegisteredSealProofStackedDrg2KiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1_1 + RegisteredSealProofStackedDrg8MiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1_1 + RegisteredSealProofStackedDrg512MiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1_1 + RegisteredSealProofStackedDrg32GiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1_1 + RegisteredSealProofStackedDrg64GiBV11 = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1_1 + RegisteredSealProofStackedDrg2KiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg8MiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg512MiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg32GiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg64GiBV11_Feat_SyntheticPoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1_1__FEAT__SYNTHETIC_PO_REP + RegisteredSealProofStackedDrg2KiBV1_2_Feat_NonInteractivePoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG2_KI_B_V1_2__FEAT__NON_INTERACTIVE_PO_REP + RegisteredSealProofStackedDrg8MiBV1_2_Feat_NonInteractivePoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG8_MI_B_V1_2__FEAT__NON_INTERACTIVE_PO_REP + RegisteredSealProofStackedDrg512MiBV1_2_Feat_NonInteractivePoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG512_MI_B_V1_2__FEAT__NON_INTERACTIVE_PO_REP + RegisteredSealProofStackedDrg32GiBV1_2_Feat_NonInteractivePoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG32_GI_B_V1_2__FEAT__NON_INTERACTIVE_PO_REP + RegisteredSealProofStackedDrg64GiBV1_2_Feat_NonInteractivePoRep = C.REGISTERED_SEAL_PROOF_STACKED_DRG64_GI_B_V1_2__FEAT__NON_INTERACTIVE_PO_REP ) const ( diff --git a/cgo/proofs.go b/cgo/proofs.go index a2a7f96c..3f4bc4d8 100644 --- a/cgo/proofs.go +++ b/cgo/proofs.go @@ -130,6 +130,15 @@ func SealCommitPhase2(sealCommitPhase1Output SliceRefUint8, sectorId uint64, pro return resp.value.copy(), nil } +func SealCommitPhase2CircuitProofs(sealCommitPhase1Output SliceRefUint8, sectorId uint64) ([]byte, error) { + resp := C.seal_commit_phase2_circuit_proofs(sealCommitPhase1Output, C.uint64_t(sectorId)) + defer resp.destroy() + if err := CheckErr(resp); err != nil { + return nil, err + } + return resp.value.copy(), nil +} + func AggregateSealProofs(registeredProof RegisteredSealProof, registeredAggregation RegisteredAggregationProof, commRs SliceRefByteArray32, seeds SliceRefByteArray32, sealCommitResponses SliceRefSliceBoxedUint8) ([]byte, error) { resp := C.aggregate_seal_proofs(registeredProof, registeredAggregation, commRs, seeds, sealCommitResponses) defer resp.destroy() diff --git a/go.mod b/go.mod index 7086e744..c5649679 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/filecoin-project/go-address v1.1.0 github.com/filecoin-project/go-fil-commcid v0.1.0 - github.com/filecoin-project/go-state-types v0.13.1 + github.com/filecoin-project/go-state-types v0.14.0-rc1 github.com/ipfs/go-block-format v0.0.3 github.com/ipfs/go-cid v0.3.2 github.com/ipfs/go-ipfs-blockstore v1.2.0 diff --git a/go.sum b/go.sum index 63813a98..230d503d 100644 --- a/go.sum +++ b/go.sum @@ -9,8 +9,8 @@ github.com/filecoin-project/go-crypto v0.0.1 h1:AcvpSGGCgjaY8y1az6AMfKQWreF/pWO2 github.com/filecoin-project/go-crypto v0.0.1/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= github.com/filecoin-project/go-fil-commcid v0.1.0 h1:3R4ds1A9r6cr8mvZBfMYxTS88OqLYEo6roi+GiIeOh8= github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ= -github.com/filecoin-project/go-state-types v0.13.1 h1:4CivvlcHAIoAtFFVVlZtokynaMQu5XLXGoTKhQkfG1I= -github.com/filecoin-project/go-state-types v0.13.1/go.mod h1:cHpOPup9H1g2T29dKHAjC2sc7/Ef5ypjuW9A3I+e9yY= +github.com/filecoin-project/go-state-types v0.14.0-rc1 h1:kWBGX/uqZmYotYMNmw+R/fIuot/k0KMcEtB7PKFy1SQ= +github.com/filecoin-project/go-state-types v0.14.0-rc1/go.mod h1:cHpOPup9H1g2T29dKHAjC2sc7/Ef5ypjuW9A3I+e9yY= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= diff --git a/proofs.go b/proofs.go index 6e7ab3e3..3b63e6ea 100644 --- a/proofs.go +++ b/proofs.go @@ -414,6 +414,13 @@ func SealCommitPhase2( return cgo.SealCommitPhase2(cgo.AsSliceRefUint8(phase1Output), uint64(sectorNum), &proverID) } +// SealCommitPhase2CircuitProofs runs a non-interactive proof and returns the circuit proof bytes +// rather than the aggregated proof bytes. This is used to aggregate multiple non-interactive +// proofs as the aggregated single proof outputs can't further be aggregated. +func SealCommitPhase2CircuitProofs(phase1Output []byte, sectorNum abi.SectorNumber) ([]byte, error) { + return cgo.SealCommitPhase2CircuitProofs(cgo.AsSliceRefUint8(phase1Output), uint64(sectorNum)) +} + // TODO AggregateSealProofs it only needs InteractiveRandomness out of the aggregateInfo.Infos func AggregateSealProofs(aggregateInfo proof.AggregateSealVerifyProofAndInfos, proofs [][]byte) (out []byte, err error) { sp, err := toFilRegisteredSealProof(aggregateInfo.SealProof) @@ -1030,6 +1037,17 @@ func toFilRegisteredSealProof(p abi.RegisteredSealProof) (cgo.RegisteredSealProo case abi.RegisteredSealProof_StackedDrg64GiBV1_1_Feat_SyntheticPoRep: return cgo.RegisteredSealProofStackedDrg64GiBV11_Feat_SyntheticPoRep, nil + case abi.RegisteredSealProof_StackedDrg2KiBV1_2_Feat_NiPoRep: + return cgo.RegisteredSealProofStackedDrg2KiBV1_2_Feat_NonInteractivePoRep, nil + case abi.RegisteredSealProof_StackedDrg8MiBV1_2_Feat_NiPoRep: + return cgo.RegisteredSealProofStackedDrg8MiBV1_2_Feat_NonInteractivePoRep, nil + case abi.RegisteredSealProof_StackedDrg512MiBV1_2_Feat_NiPoRep: + return cgo.RegisteredSealProofStackedDrg512MiBV1_2_Feat_NonInteractivePoRep, nil + case abi.RegisteredSealProof_StackedDrg32GiBV1_2_Feat_NiPoRep: + return cgo.RegisteredSealProofStackedDrg32GiBV1_2_Feat_NonInteractivePoRep, nil + case abi.RegisteredSealProof_StackedDrg64GiBV1_2_Feat_NiPoRep: + return cgo.RegisteredSealProofStackedDrg64GiBV1_2_Feat_NonInteractivePoRep, nil + default: return 0, errors.Errorf("no mapping to C.FFIRegisteredSealProof value available for: %v", p) } diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a09295ae..a50de6e1 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -13,11 +13,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.28.1", + "gimli 0.29.0", ] [[package]] @@ -87,9 +87,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" dependencies = [ "backtrace", ] @@ -126,7 +126,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -142,22 +142,22 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ - "addr2line 0.21.0", + "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.36.0", "rustc-demangle", ] @@ -361,9 +361,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" dependencies = [ "cc", "glob", @@ -426,9 +426,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.95" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -617,7 +617,7 @@ dependencies = [ "cranelift-entity 0.106.2", "cranelift-isle 0.106.2", "gimli 0.28.1", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "log", "regalloc2", "smallvec", @@ -783,9 +783,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -805,9 +805,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -842,9 +842,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -946,15 +946,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -962,9 +962,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1023,15 +1023,15 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] @@ -1059,6 +1059,17 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "ec-gpu" version = "0.2.0" @@ -1113,9 +1124,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "equivalent" @@ -1136,9 +1147,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1182,7 +1193,7 @@ checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b" dependencies = [ "execute-command-tokens", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -1211,9 +1222,9 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdlimit" @@ -1267,16 +1278,16 @@ dependencies = [ "blstrs", "cid", "fil_logger", - "filecoin-proofs-api 17.0.0", + "filecoin-proofs-api", "filepath", - "fvm 2.7.0", - "fvm 3.9.0", - "fvm 4.2.0", + "fvm 2.8.0", + "fvm 3.10.0", + "fvm 4.3.0", "fvm_ipld_blockstore", "fvm_ipld_encoding", - "fvm_shared 2.6.0", - "fvm_shared 3.6.0", - "fvm_shared 4.2.0", + "fvm_shared 2.7.0", + "fvm_shared 3.10.0", + "fvm_shared 4.3.0", "group", "lazy_static", "libc", @@ -1297,29 +1308,9 @@ dependencies = [ [[package]] name = "filecoin-hashers" -version = "11.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a96fbc8232ba762026e6b4687dedf08ba1b3830148c919a158c21d7720fb62" -dependencies = [ - "anyhow", - "bellperson", - "blstrs", - "ff", - "generic-array 0.14.7", - "hex", - "lazy_static", - "merkletree", - "neptune", - "rand", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "filecoin-hashers" -version = "12.0.0" +version = "13.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c8a930b79c5f4b30220d99c87193f9dafe753beeea451dc46688a53fb4f4b6" +checksum = "85413176cea16bfe171caafab023044820c0033b243b535b19116776ffd3f285" dependencies = [ "anyhow", "bellperson", @@ -1337,43 +1328,9 @@ dependencies = [ [[package]] name = "filecoin-proofs" -version = "16.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a4daf099aade347b0f23c1dd5b644aad340a223d5b65c37840faedda3092f" -dependencies = [ - "anyhow", - "bellperson", - "bincode", - "blake2b_simd", - "blstrs", - "ff", - "filecoin-hashers 11.1.0", - "fr32 9.1.0", - "generic-array 0.14.7", - "hex", - "iowrap", - "lazy_static", - "log", - "memmap2", - "merkletree", - "once_cell", - "rand", - "rayon", - "serde", - "serde_json", - "sha2 0.10.8", - "storage-proofs-core 16.1.0", - "storage-proofs-porep 16.1.0", - "storage-proofs-post 16.1.0", - "storage-proofs-update 16.1.0", - "typenum", -] - -[[package]] -name = "filecoin-proofs" -version = "17.0.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "603e01ee23938c72e88d9b2e42e5e93305695f695d96869e8a77f0abfe8a58ca" +checksum = "096b8b483f6ed5823150daf6cd22ee8e32b3dabcb4fd70dab70044e73bcab107" dependencies = [ "anyhow", "bellperson", @@ -1381,8 +1338,8 @@ dependencies = [ "blake2b_simd", "blstrs", "ff", - "filecoin-hashers 12.0.0", - "fr32 10.0.0", + "filecoin-hashers", + "fr32", "generic-array 0.14.7", "hex", "iowrap", @@ -1396,47 +1353,27 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "storage-proofs-core 17.0.0", - "storage-proofs-porep 17.0.0", - "storage-proofs-post 17.0.0", - "storage-proofs-update 17.0.0", + "storage-proofs-core", + "storage-proofs-porep", + "storage-proofs-post", + "storage-proofs-update", "typenum", ] [[package]] name = "filecoin-proofs-api" -version = "16.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cef9a819a3125ab92269da594daf2f742a3f6b1e03a2493c13a0bda4514b03" -dependencies = [ - "anyhow", - "bellperson", - "bincode", - "blstrs", - "filecoin-hashers 11.1.0", - "filecoin-proofs 16.1.0", - "fr32 9.1.0", - "lazy_static", - "serde", - "storage-proofs-core 16.1.0", -] - -[[package]] -name = "filecoin-proofs-api" -version = "17.0.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6fa943fd047d01f1d73d73a8c23284cec6d2cbc2c06ed2490b002f45fc1a1f" +checksum = "3aea8140d1e2d2ac18347e6121ee24d0e903f9cfdc2eb2ee507932e352c9e7b8" dependencies = [ "anyhow", - "bellperson", "bincode", "blstrs", - "filecoin-hashers 12.0.0", - "filecoin-proofs 17.0.0", - "fr32 10.0.0", + "filecoin-proofs", + "fr32", "lazy_static", "serde", - "storage-proofs-core 17.0.0", + "storage-proofs-core", ] [[package]] @@ -1501,23 +1438,9 @@ dependencies = [ [[package]] name = "fr32" -version = "9.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca9913cf6179723cdc69827661a36d9ac3fea4c6c8c0ee71536417e5b2cf5d6" -dependencies = [ - "anyhow", - "blstrs", - "byte-slice-cast", - "byteorder", - "ff", - "thiserror", -] - -[[package]] -name = "fr32" -version = "10.0.0" +version = "11.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9452a7bb775a310ecaa6f25b2433b6b1708fc4764c355672895749619447c6" +checksum = "627a3f3108ee3287759a45f6d5aafe48b3017509df9b677115f88266d61e0815" dependencies = [ "anyhow", "blstrs", @@ -1545,9 +1468,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "fvm" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a967b5fc0a25a544f966f8e2bac8875ad12d2492253e2405f90e6a65716f65c" +checksum = "43c45c5b6c9952b8119fe13b77bbdafc3d44c2e8b866056ca05c23b89a0550f5" dependencies = [ "anyhow", "blake2b_simd", @@ -1556,13 +1479,13 @@ dependencies = [ "derive-getters", "derive_builder", "derive_more", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm-wasm-instrument 0.2.0", "fvm_ipld_amt", "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_ipld_hamt 0.8.0", - "fvm_shared 2.6.0", + "fvm_shared 2.7.0", "lazy_static", "log", "multihash", @@ -1582,22 +1505,22 @@ dependencies = [ [[package]] name = "fvm" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653690589b18e66019a9586b9036e41945eccd1f47350e8cd98897dbcdc8b6d0" +checksum = "82a2dc1aa5e82507a579be815fc7b110864c9a8a073365a96bcf0bf2bcb396fe" dependencies = [ "anyhow", "blake2b_simd", "byteorder", "cid", "derive_more", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm-wasm-instrument 0.4.0", "fvm_ipld_amt", "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_ipld_hamt 0.8.0", - "fvm_shared 3.6.0", + "fvm_shared 3.10.0", "lazy_static", "log", "minstant", @@ -1619,21 +1542,21 @@ dependencies = [ [[package]] name = "fvm" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31422270e0665c2f12f91a46e3bf1e164dcab41c7d5d44006418261c71def64" +checksum = "b332a90abacf84345666bf4debc44c3d63392cd4c3add72ddf8624114af32e1f" dependencies = [ "ambassador", "anyhow", "cid", "derive_more", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm-wasm-instrument 0.4.0", "fvm_ipld_amt", "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_ipld_hamt 0.9.0", - "fvm_shared 4.2.0", + "fvm_shared 4.3.0", "lazy_static", "log", "minstant", @@ -1759,9 +1682,9 @@ dependencies = [ [[package]] name = "fvm_shared" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66dab0c23dcadfa58630ce252eea8dc1d77bbab4b262aaed759371159030a026" +checksum = "37184d9a1bbbdb080dc6e3959a3b053e01a8752b7c5193b4c5fce51518af4c79" dependencies = [ "anyhow", "blake2b_simd", @@ -1771,7 +1694,7 @@ dependencies = [ "cs_serde_bytes", "data-encoding", "data-encoding-macro", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm_ipld_blockstore", "fvm_ipld_encoding", "lazy_static", @@ -1791,9 +1714,9 @@ dependencies = [ [[package]] name = "fvm_shared" -version = "3.6.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a982610b95be92a4f862c0e1db52b07f2b960958bf4541fb80e284b72ac46d" +checksum = "94586a738e0658098fb7d784c29e50d0b986c9f54dd15d6b9f519d5b87fbfb5f" dependencies = [ "anyhow", "bitflags 2.5.0", @@ -1802,7 +1725,7 @@ dependencies = [ "cid", "data-encoding", "data-encoding-macro", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm_ipld_encoding", "lazy_static", "libsecp256k1", @@ -1819,9 +1742,9 @@ dependencies = [ [[package]] name = "fvm_shared" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de4747a883b0f1ed8b9200c188d87ebcc70f7c10c07f7f64d7fc5fb192d085" +checksum = "31841282c98f3acd78c741f1e38ecebc97e72243c4ecb73a658f6529246a35a5" dependencies = [ "anyhow", "bitflags 2.5.0", @@ -1830,7 +1753,7 @@ dependencies = [ "cid", "data-encoding", "data-encoding-macro", - "filecoin-proofs-api 16.1.0", + "filecoin-proofs-api", "fvm_ipld_encoding", "lazy_static", "libsecp256k1", @@ -1888,9 +1811,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -1905,7 +1828,7 @@ checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -1930,6 +1853,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + [[package]] name = "glob" version = "0.3.1" @@ -1966,9 +1895,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", ] @@ -2065,6 +1994,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2073,12 +2120,14 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", ] [[package]] @@ -2098,7 +2147,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "serde", ] @@ -2239,9 +2288,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libipld-core" @@ -2308,15 +2357,21 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -2339,9 +2394,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memfd" @@ -2410,9 +2465,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -2469,7 +2524,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -2527,11 +2582,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -2544,7 +2598,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -2558,9 +2612,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -2569,9 +2623,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -2605,11 +2659,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "crc32fast", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "indexmap 2.2.6", "memchr", ] +[[package]] +name = "object" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.19.0" @@ -2664,9 +2727,9 @@ checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -2674,15 +2737,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -2705,9 +2768,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pathdiff" @@ -2796,9 +2859,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -2888,11 +2951,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -2910,9 +2973,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -2922,9 +2985,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -2933,9 +2996,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "replace_with" @@ -2999,9 +3062,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -3025,7 +3088,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", - "errno 0.3.8", + "errno 0.3.9", "libc", "linux-raw-sys", "windows-sys 0.52.0", @@ -3033,15 +3096,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safer-ffi" @@ -3077,15 +3140,15 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -3110,13 +3173,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -3133,9 +3196,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -3150,7 +3213,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -3201,33 +3264,18 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27ba7066011e3fb30d808b51affff34f0a66d3a03a58edd787c6e420e40e44e" +checksum = "b845214d6175804686b2bd482bcffe96651bb2d1200742b712003504a2dac1ab" dependencies = [ "cc", ] [[package]] name = "sha2raw" -version = "11.1.0" +version = "13.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05310f1b1ceedfef5da1f80b6690342aec43713a79d1c303fa7b451f4e313de" -dependencies = [ - "byteorder", - "cpufeatures", - "digest 0.10.7", - "fake-simd", - "lazy_static", - "opaque-debug", - "sha2-asm", -] - -[[package]] -name = "sha2raw" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feded6280f0d7f7a1ca3844382989af1ea5c64a13a33e684f53d042a3f0764e1" +checksum = "73744f6a373edfc5624f452ec705a762e1154bb88c6699242bf37c56d99a6ebb" dependencies = [ "byteorder", "cpufeatures", @@ -3305,44 +3353,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "storage-proofs-core" -version = "16.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568106d9e94bd28082551873fe36e0295de24770e67cecdd25f345a1b39664f7" -dependencies = [ - "aes", - "anyhow", - "bellperson", - "blake2b_simd", - "blstrs", - "byteorder", - "cbc", - "config", - "ff", - "filecoin-hashers 11.1.0", - "fr32 9.1.0", - "fs2", - "generic-array 0.14.7", - "itertools 0.10.5", - "lazy_static", - "log", - "memmap2", - "merkletree", - "num_cpus", - "rand", - "rand_chacha", - "rayon", - "semver", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", -] - -[[package]] -name = "storage-proofs-core" -version = "17.0.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a60aa2117461828118ae1eb23a49c539623149f7a6269c90baaf45d02827aa" +checksum = "390385ae6787ad5d4312f3b6f0462c9f6615d9a7863376f8636604e6e43f3d28" dependencies = [ "aes", "anyhow", @@ -3353,8 +3366,8 @@ dependencies = [ "cbc", "config", "ff", - "filecoin-hashers 12.0.0", - "fr32 10.0.0", + "filecoin-hashers", + "fr32", "fs2", "generic-array 0.14.7", "itertools 0.10.5", @@ -3375,51 +3388,9 @@ dependencies = [ [[package]] name = "storage-proofs-porep" -version = "16.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4d3d0dd1f03de0f4a3ea54ceed7d79c62e3c7963abe2014db0934e828514b54" -dependencies = [ - "anyhow", - "bellperson", - "bincode", - "blake2b_simd", - "blstrs", - "byte-slice-cast", - "byteorder", - "chacha20", - "crossbeam", - "fdlimit", - "ff", - "filecoin-hashers 11.1.0", - "fr32 9.1.0", - "generic-array 0.14.7", - "glob", - "hex", - "lazy_static", - "libc", - "log", - "memmap2", - "merkletree", - "neptune", - "num-bigint", - "num-traits", - "num_cpus", - "pretty_assertions", - "rayon", - "rustversion", - "serde", - "serde_json", - "sha2 0.10.8", - "sha2raw 11.1.0", - "storage-proofs-core 16.1.0", - "yastl", -] - -[[package]] -name = "storage-proofs-porep" -version = "17.0.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92157c35e945b90e3dafb4dce0d99965d3df55ad69ff86d6ee8d3b8b54df9060" +checksum = "6dd8c6bbeb00933edb41152fdabf28d2519d6a1b6ea176a793e3198a07bb9acd" dependencies = [ "anyhow", "bellperson", @@ -3432,8 +3403,8 @@ dependencies = [ "crossbeam", "fdlimit", "ff", - "filecoin-hashers 12.0.0", - "fr32 10.0.0", + "filecoin-hashers", + "fr32", "generic-array 0.14.7", "glob", "hex", @@ -3453,66 +3424,43 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "sha2raw 12.0.0", - "storage-proofs-core 17.0.0", + "sha2raw", + "storage-proofs-core", "yastl", ] [[package]] name = "storage-proofs-post" -version = "16.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4817014940a69e7e84aa459afa3d7a0b81090a312d9918089f14810e988ac24" -dependencies = [ - "anyhow", - "bellperson", - "blake2b_simd", - "blstrs", - "byteorder", - "ff", - "filecoin-hashers 11.1.0", - "fr32 9.1.0", - "generic-array 0.14.7", - "hex", - "log", - "rayon", - "serde", - "sha2 0.10.8", - "storage-proofs-core 16.1.0", -] - -[[package]] -name = "storage-proofs-post" -version = "17.0.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddea4a60bc3345cd79db304d334f7cc1d224426e90d7a56cecd5af2f3ac832ce" +checksum = "779fbfe1455a57d2a7fd655ce1b2e97bf9f238b65c71919e92aa9df8f2ced8b1" dependencies = [ "anyhow", "bellperson", "blstrs", "byteorder", "ff", - "filecoin-hashers 12.0.0", + "filecoin-hashers", "generic-array 0.14.7", "log", "rayon", "serde", "sha2 0.10.8", - "storage-proofs-core 17.0.0", + "storage-proofs-core", ] [[package]] name = "storage-proofs-update" -version = "16.1.0" +version = "18.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5374a6a435d62e23700a08e124a8b4756ddd937fd6152289346481bfdbac21f5" +checksum = "ee4b391917dbcffa2297295971a02cc54aa19aa8b5378d539a435e78f8050153" dependencies = [ "anyhow", "bellperson", "blstrs", "ff", - "filecoin-hashers 11.1.0", - "fr32 9.1.0", + "filecoin-hashers", + "fr32", "generic-array 0.14.7", "lazy_static", "log", @@ -3521,32 +3469,8 @@ dependencies = [ "neptune", "rayon", "serde", - "storage-proofs-core 16.1.0", - "storage-proofs-porep 16.1.0", -] - -[[package]] -name = "storage-proofs-update" -version = "17.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52ccc35b051adf08c76317b5a25308c58110a791570a0df2ee3e72b5be98c6a" -dependencies = [ - "anyhow", - "bellperson", - "blstrs", - "ff", - "filecoin-hashers 12.0.0", - "fr32 10.0.0", - "generic-array 0.14.7", - "lazy_static", - "log", - "memmap2", - "merkletree", - "neptune", - "rayon", - "serde", - "storage-proofs-core 17.0.0", - "storage-proofs-porep 17.0.0", + "storage-proofs-core", + "storage-proofs-porep", ] [[package]] @@ -3585,9 +3509,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -3606,6 +3530,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "tap" version = "1.0.1" @@ -3641,22 +3576,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -3669,20 +3604,15 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "tinystr" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "tinyvec_macros", + "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "toml" version = "0.5.11" @@ -3709,27 +3639,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-xid" version = "0.2.4" @@ -3744,15 +3659,27 @@ checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" [[package]] name = "url" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.8.0" @@ -3792,7 +3719,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -3814,7 +3741,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4255,7 +4182,7 @@ checksum = "ca7af9bb3ee875c4907835e607a275d10b04d15623d3aebe01afe8fbd3f85050" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -4266,7 +4193,7 @@ checksum = "ffaafa5c12355b1a9ee068e9295d50c4ca0a400c721950cdae4f5b54391a2da5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", ] [[package]] @@ -4479,6 +4406,18 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "wyz" version = "0.5.1" @@ -4504,31 +4443,76 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -4541,5 +4525,27 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.66", +] + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", ] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 3bf11356..f2058178 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -5,7 +5,7 @@ version = "0.7.5" authors = [ "nemo ", "dignifiedquire ", - "laser " + "laser ", ] license = "MIT OR Apache-2.0" repository = "https://github.com/filecoin-project/filecoin-ffi" @@ -18,7 +18,9 @@ publish = false crate-type = ["rlib", "staticlib"] [dependencies] -bls-signatures = { version = "0.15.0", default-features = false, features = ["blst"] } +bls-signatures = { version = "0.15.0", default-features = false, features = [ + "blst", +] } blstrs = "0.7" filepath = "0.1.1" group = "0.13" @@ -31,21 +33,24 @@ rayon = "1.2.1" anyhow = "1.0.23" serde_json = "1.0.46" rust-gpu-tools = { version = "0.7", optional = true, default-features = false } -fvm4 = { package = "fvm", version = "~4.2.0", default-features = false, features = ["nv23-dev"] } -fvm4_shared = { package = "fvm_shared", version = "~4.2.0" } -fvm3 = { package = "fvm", version = "~3.9.0", default-features = false } -fvm3_shared = { package = "fvm_shared", version = "~3.6.0" } -fvm2 = { package = "fvm", version = "~2.7", default-features = false } -fvm2_shared = { package = "fvm_shared", version = "~2.6" } +fvm4 = { package = "fvm", version = "~4.3.0", default-features = false, features = [ + "nv23-dev", + "verify-signature", +] } +fvm4_shared = { package = "fvm_shared", version = "~4.3.0" } +fvm3 = { package = "fvm", version = "~3.10.0", default-features = false } +fvm3_shared = { package = "fvm_shared", version = "~3.10.0" } +fvm2 = { package = "fvm", version = "~2.8", default-features = false } +fvm2_shared = { package = "fvm_shared", version = "~2.7" } fvm_ipld_encoding = "0.4.0" -fvm_ipld_blockstore = "0.2.0" +fvm_ipld_blockstore = "0.2.1" num-traits = "0.2.14" cid = { version = "0.10.1", features = ["serde-codec"] } lazy_static = "1.4.0" serde = "1.0.117" serde_tuple = "0.5" safer-ffi = { version = "0.0.7", features = ["proc_macros"] } -filecoin-proofs-api = { version = "17.0", default-features = false } +filecoin-proofs-api = { version = "18.1", default-features = false } yastl = "0.1.2" [dev-dependencies] @@ -55,9 +60,26 @@ tempfile = "3.0.8" [features] default = ["cuda", "multicore-sdr"] blst-portable = ["bls-signatures/blst-portable", "blstrs/portable"] -cuda = ["filecoin-proofs-api/cuda", "rust-gpu-tools/cuda", "fvm2/cuda", "fvm3/cuda", "fvm4/cuda"] -cuda-supraseal = ["filecoin-proofs-api/cuda-supraseal", "rust-gpu-tools/cuda", "fvm3/cuda-supraseal", "fvm4/cuda-supraseal"] -opencl = ["filecoin-proofs-api/opencl", "rust-gpu-tools/opencl", "fvm2/opencl", "fvm3/opencl", "fvm4/opencl"] +cuda = [ + "filecoin-proofs-api/cuda", + "rust-gpu-tools/cuda", + "fvm2/cuda", + "fvm3/cuda", + "fvm4/cuda", +] +cuda-supraseal = [ + "filecoin-proofs-api/cuda-supraseal", + "rust-gpu-tools/cuda", + "fvm3/cuda-supraseal", + "fvm4/cuda-supraseal", +] +opencl = [ + "filecoin-proofs-api/opencl", + "rust-gpu-tools/opencl", + "fvm2/opencl", + "fvm3/opencl", + "fvm4/opencl", +] multicore-sdr = ["filecoin-proofs-api/multicore-sdr"] c-headers = ["safer-ffi/headers"] # This feature enables a fixed number of discarded rows for TreeR. The `FIL_PROOFS_ROWS_TO_DISCARD` diff --git a/rust/src/proofs/api.rs b/rust/src/proofs/api.rs index cd00a698..2b145e94 100644 --- a/rust/src/proofs/api.rs +++ b/rust/src/proofs/api.rs @@ -294,6 +294,36 @@ fn seal_commit_phase2( }) } +/// This function generates a variant of the circuit proof for the second phase of the sealing +/// process. It takes as input the output from the first phase of the sealing process +/// [`seal_commit_phase1`] and a sector ID. +/// +/// This variant of `seal_commit_phase2` is intended specifically for returning the circuit proofs +/// of a NonInteractivePoRep proof, such that it can later be aggregated with other +/// NonInteractivePoRep proofs. +/// +/// # Arguments +/// +/// * `seal_commit_phase1_output` - A reference to a slice of bytes representing the output from the +/// first phase of the sealing process. +/// * `sector_id` - A 64-bit integer representing the sector ID. +/// +/// # Returns +/// This function returns a `SealCommitPhase2Response` wrapped in a `repr_c::Box`. This response +/// includes the proof generated in this phase of the sealing process. +#[ffi_export] +fn seal_commit_phase2_circuit_proofs( + seal_commit_phase1_output: c_slice::Ref, + sector_id: u64, +) -> repr_c::Box { + catch_panic_response("seal_commit_phase2_circuit_proofs", || { + let scp1o = serde_json::from_slice(&seal_commit_phase1_output)?; + let result = seal::seal_commit_phase2_circuit_proofs(scp1o, SectorId::from(sector_id))?; + + Ok(result.proof.into_boxed_slice().into()) + }) +} + /// TODO: document #[ffi_export] fn generate_synth_proofs( @@ -1674,6 +1704,7 @@ pub mod tests { RegisteredSealProof::StackedDrg2KiBV1, RegisteredSealProof::StackedDrg2KiBV1_1, RegisteredSealProof::StackedDrg2KiBV1_1_Feat_SyntheticPoRep, + RegisteredSealProof::StackedDrg2KiBV1_2_Feat_NonInteractivePoRep, ]; for version in versions { info!("test_sealing_versions[{:?}]", version); diff --git a/rust/src/proofs/types.rs b/rust/src/proofs/types.rs index 99417b72..d8bbe4eb 100644 --- a/rust/src/proofs/types.rs +++ b/rust/src/proofs/types.rs @@ -59,6 +59,11 @@ pub enum RegisteredSealProof { StackedDrg512MiBV1_1_Feat_SyntheticPoRep, StackedDrg32GiBV1_1_Feat_SyntheticPoRep, StackedDrg64GiBV1_1_Feat_SyntheticPoRep, + StackedDrg2KiBV1_2_Feat_NonInteractivePoRep, + StackedDrg8MiBV1_2_Feat_NonInteractivePoRep, + StackedDrg512MiBV1_2_Feat_NonInteractivePoRep, + StackedDrg32GiBV1_2_Feat_NonInteractivePoRep, + StackedDrg64GiBV1_2_Feat_NonInteractivePoRep, } impl From for RegisteredSealProof { @@ -90,6 +95,21 @@ impl From for RegisteredSealProof { StackedDrg64GiBV1_1_Feat_SyntheticPoRep => { RegisteredSealProof::StackedDrg64GiBV1_1_Feat_SyntheticPoRep } + StackedDrg2KiBV1_2_Feat_NonInteractivePoRep => { + RegisteredSealProof::StackedDrg2KiBV1_2_Feat_NonInteractivePoRep + } + StackedDrg8MiBV1_2_Feat_NonInteractivePoRep => { + RegisteredSealProof::StackedDrg8MiBV1_2_Feat_NonInteractivePoRep + } + StackedDrg512MiBV1_2_Feat_NonInteractivePoRep => { + RegisteredSealProof::StackedDrg512MiBV1_2_Feat_NonInteractivePoRep + } + StackedDrg32GiBV1_2_Feat_NonInteractivePoRep => { + RegisteredSealProof::StackedDrg32GiBV1_2_Feat_NonInteractivePoRep + } + StackedDrg64GiBV1_2_Feat_NonInteractivePoRep => { + RegisteredSealProof::StackedDrg64GiBV1_2_Feat_NonInteractivePoRep + } } } } @@ -125,6 +145,22 @@ impl From for api::RegisteredSealProof { RegisteredSealProof::StackedDrg64GiBV1_1_Feat_SyntheticPoRep => { StackedDrg64GiBV1_1_Feat_SyntheticPoRep } + + RegisteredSealProof::StackedDrg2KiBV1_2_Feat_NonInteractivePoRep => { + StackedDrg2KiBV1_2_Feat_NonInteractivePoRep + } + RegisteredSealProof::StackedDrg8MiBV1_2_Feat_NonInteractivePoRep => { + StackedDrg8MiBV1_2_Feat_NonInteractivePoRep + } + RegisteredSealProof::StackedDrg512MiBV1_2_Feat_NonInteractivePoRep => { + StackedDrg512MiBV1_2_Feat_NonInteractivePoRep + } + RegisteredSealProof::StackedDrg32GiBV1_2_Feat_NonInteractivePoRep => { + StackedDrg32GiBV1_2_Feat_NonInteractivePoRep + } + RegisteredSealProof::StackedDrg64GiBV1_2_Feat_NonInteractivePoRep => { + StackedDrg64GiBV1_2_Feat_NonInteractivePoRep + } } } }