diff --git a/.gitignore b/.gitignore index f35581b..eb50229 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,7 @@ filcrypto.pc filecoin.h filecoin.pc *.a +Cargo.lock simulator +Cargo.lock +rust/Cargo.lock diff --git a/cgo/helpers.go b/cgo/helpers.go index 5e16a0e..0cfc410 100644 --- a/cgo/helpers.go +++ b/cgo/helpers.go @@ -13,6 +13,7 @@ import ( ) var ( + emptyBool C.bool = false emptyUint8 C.uint8_t = 0 emptyUint64 C.uint64_t = 0 emptyUint C.size_t = 0 @@ -25,6 +26,13 @@ var ( emptySliceBoxedUint8 C.slice_boxed_uint8_t = C.slice_boxed_uint8_t{} ) +func AsBool(bl bool) C.bool { + if bl { + return !emptyBool + } + return emptyBool +} + func AsSliceRefUint8(goBytes []byte) SliceRefUint8 { len := len(goBytes) @@ -235,13 +243,49 @@ func NewAggregationInputs(commR ByteArray32, commD ByteArray32, sectorId uint64, } } -func NewPrivateReplicaInfo(pp RegisteredPoStProof, cacheDirPath string, commR ByteArray32, replicaPath string, sectorId uint64) PrivateReplicaInfo { +func NewPrivateSectorPathInfo( + endpoints string, + accessKey string, + secretKey string, + bucketName string, + landedDir string, + sectorName string, + region string, + multiRanges bool, +) PrivateSectorPathInfo { + return PrivateSectorPathInfo{ + endpoints: AllocSliceBoxedUint8([]byte(endpoints)), + access_key: AllocSliceBoxedUint8([]byte(accessKey)), + secret_key: AllocSliceBoxedUint8([]byte(secretKey)), + bucket_name: AllocSliceBoxedUint8([]byte(bucketName)), + landed_dir: AllocSliceBoxedUint8([]byte(landedDir)), + sector_name: AllocSliceBoxedUint8([]byte(sectorName)), + region: AllocSliceBoxedUint8([]byte(region)), + multi_ranges: AsBool(multiRanges), + } +} + +func NewPrivateReplicaInfo( + pp RegisteredPoStProof, + cacheDirPath string, + cacheInOss bool, + cacheSectorPathInfo PrivateSectorPathInfo, + commR ByteArray32, + replicaPath string, + replicaInOss bool, + replicaSectorPathInfo PrivateSectorPathInfo, + sectorId uint64, +) PrivateReplicaInfo { return PrivateReplicaInfo{ - registered_proof: pp, - cache_dir_path: AllocSliceBoxedUint8([]byte(cacheDirPath)), - replica_path: AllocSliceBoxedUint8([]byte(replicaPath)), - sector_id: C.uint64_t(sectorId), - comm_r: commR, + registered_proof: pp, + cache_dir_path: AllocSliceBoxedUint8([]byte(cacheDirPath)), + cache_in_oss: AsBool(cacheInOss), + cache_sector_path_info: cacheSectorPathInfo, + replica_path: AllocSliceBoxedUint8([]byte(replicaPath)), + replica_in_oss: AsBool(replicaInOss), + replica_sector_path_info: replicaSectorPathInfo, + sector_id: C.uint64_t(sectorId), + comm_r: commR, } } diff --git a/cgo/proofs.go b/cgo/proofs.go index 3f4bc4d..cd12401 100644 --- a/cgo/proofs.go +++ b/cgo/proofs.go @@ -93,8 +93,18 @@ func WriteWithoutAlignment(registeredProof RegisteredSealProof, srcFd int32, src return uint64(resp.value.total_write_unpadded), resp.value.comm_p.copy(), nil } -func SealPreCommitPhase1(registeredProof RegisteredSealProof, cacheDirPath SliceRefUint8, stagedSectorPath SliceRefUint8, sealedSectorPath SliceRefUint8, sectorId uint64, proverId *ByteArray32, ticket *ByteArray32, pieces SliceRefPublicPieceInfo) ([]byte, error) { - resp := C.seal_pre_commit_phase1(registeredProof, cacheDirPath, stagedSectorPath, sealedSectorPath, C.uint64_t(sectorId), proverId, ticket, pieces) +func SealPreCommitPhase1( + registeredProof RegisteredSealProof, + cacheDirPath SliceRefUint8, + stagedSectorPath SliceRefUint8, + sealedSectorPath SliceRefUint8, + sectorId uint64, + proverId *ByteArray32, + ticket *ByteArray32, + pieces SliceRefPublicPieceInfo, + hasDeal C.bool, +) ([]byte, error) { + resp := C.seal_pre_commit_phase1(registeredProof, cacheDirPath, stagedSectorPath, sealedSectorPath, C.uint64_t(sectorId), proverId, ticket, pieces, hasDeal) defer resp.destroy() if err := CheckErr(resp); err != nil { return nil, err diff --git a/cgo/types.go b/cgo/types.go index 5b0340a..251dd44 100644 --- a/cgo/types.go +++ b/cgo/types.go @@ -27,6 +27,7 @@ type PrivateReplicaInfo = C.PrivateReplicaInfo_t type PartitionSnarkProof = C.PartitionSnarkProof_t type PoStProof = C.PoStProof_t type PublicPieceInfo = C.PublicPieceInfo_t +type PrivateSectorPathInfo = C.PrivateSectorPathInfo_t type SliceRefPublicReplicaInfo = C.slice_ref_PublicReplicaInfo_t type SliceRefPrivateReplicaInfo = C.slice_ref_PrivateReplicaInfo_t diff --git a/install-filcrypto b/install-filcrypto index 9d6984d..0568e95 100755 --- a/install-filcrypto +++ b/install-filcrypto @@ -4,7 +4,7 @@ set -Exeo pipefail auth_header=() if [ -n "${GITHUB_TOKEN}" ]; then - auth_header=("-H" "Authorization: token ${GITHUB_TOKEN}") + auth_header=("-H" "Authorization: token ${GITHUB_TOKEN}") fi # set CWD to the root of filecoin-ffi diff --git a/proofs.go b/proofs.go index 3b63e6e..183392f 100644 --- a/proofs.go +++ b/proofs.go @@ -9,7 +9,9 @@ package ffi // #include "./filcrypto.h" import "C" import ( + "fmt" "os" + "path" "runtime" "github.com/filecoin-project/go-state-types/proof" @@ -25,6 +27,8 @@ import ( "github.com/filecoin-project/filecoin-ffi/cgo" ) +// var log = logging.Logger("ffi-proof") + // VerifySeal returns true if the sealing operation from which its inputs were // derived was valid, and false if not. func VerifySeal(info proof.SealVerifyInfo) (bool, error) { @@ -291,6 +295,7 @@ func SealPreCommitPhase1( minerID abi.ActorID, ticket abi.SealRandomness, pieces []abi.PieceInfo, + hasDeals bool, ) (phase1Output []byte, err error) { sp, err := toFilRegisteredSealProof(proofType) if err != nil { @@ -317,6 +322,7 @@ func SealPreCommitPhase1( &proverID, &ticketBytes, cgo.AsSliceRefPublicPieceInfo(filPublicPieceInfos), + cgo.AsBool(hasDeals), ) } @@ -820,11 +826,36 @@ func toFilPrivateReplicaInfo(src PrivateSectorInfo) (cgo.PrivateReplicaInfo, err return cgo.PrivateReplicaInfo{}, err } + cacheOss := cgo.NewPrivateSectorPathInfo( + src.CacheSectorPathInfo.Endpoints, + src.CacheSectorPathInfo.AccessKey, + src.CacheSectorPathInfo.SecretKey, + src.CacheSectorPathInfo.BucketName, + src.CacheSectorPathInfo.LandedDir, + src.CacheSectorPathInfo.SectorName, + src.CacheSectorPathInfo.Region, + src.CacheSectorPathInfo.MultiRanges, + ) + sealedOss := cgo.NewPrivateSectorPathInfo( + src.SealedSectorPathInfo.Endpoints, + src.SealedSectorPathInfo.AccessKey, + src.SealedSectorPathInfo.SecretKey, + src.SealedSectorPathInfo.BucketName, + src.SealedSectorPathInfo.LandedDir, + src.SealedSectorPathInfo.SectorName, + src.SealedSectorPathInfo.Region, + src.SealedSectorPathInfo.MultiRanges, + ) + return cgo.NewPrivateReplicaInfo( pp, src.CacheDirPath, + src.CacheInOss, + cacheOss, commR, src.SealedSectorPath, + src.SealedInOss, + sealedOss, uint64(src.SectorNumber), ), nil } @@ -853,11 +884,36 @@ func toFilPrivateReplicaInfos(src []PrivateSectorInfo, typ string) ([]cgo.Privat return nil, nil, err } + cacheOss := cgo.NewPrivateSectorPathInfo( + src[idx].CacheSectorPathInfo.Endpoints, + src[idx].CacheSectorPathInfo.AccessKey, + src[idx].CacheSectorPathInfo.SecretKey, + src[idx].CacheSectorPathInfo.BucketName, + src[idx].CacheSectorPathInfo.LandedDir, + src[idx].CacheSectorPathInfo.SectorName, + src[idx].CacheSectorPathInfo.Region, + src[idx].CacheSectorPathInfo.MultiRanges, + ) + sealedOss := cgo.NewPrivateSectorPathInfo( + src[idx].SealedSectorPathInfo.Endpoints, + src[idx].SealedSectorPathInfo.AccessKey, + src[idx].SealedSectorPathInfo.SecretKey, + src[idx].SealedSectorPathInfo.BucketName, + src[idx].SealedSectorPathInfo.LandedDir, + src[idx].SealedSectorPathInfo.SectorName, + src[idx].SealedSectorPathInfo.Region, + src[idx].SealedSectorPathInfo.MultiRanges, + ) + out[idx] = cgo.NewPrivateReplicaInfo( pp, src[idx].CacheDirPath, + src[idx].CacheInOss, + cacheOss, commR, src[idx].SealedSectorPath, + src[idx].SealedInOss, + sealedOss, uint64(src[idx].SectorNumber), ) } @@ -1108,3 +1164,27 @@ func toVanillaProofs(src [][]byte) ([]cgo.SliceBoxedUint8, func()) { return out, makeCleanerSBU(out, len(src)) } + +func InitLog() { + gofile := os.Getenv("GOLOG_FILE") + file := os.Getenv("RUSTLOG_FILE") + if len(file) == 0 { + if 0 < len(gofile) { + file = fmt.Sprintf("%v/rust-%v", path.Dir(gofile), path.Base(gofile)) + } else { + file = "/var/log/lotus/rust-log.log" + } + } + if len(file) == 0 { + fmt.Printf("FFI log filename is not given\n") + return + } + filLogFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE, 0644) + if err != nil { + fmt.Printf("CANNOT open FFI log file %v: %v\n", file, err) + return + } + cgo.InitLogFd(int32(filLogFile.Fd())) + // syscall.Dup2(int(filLogFile.Fd()), 1) + // syscall.Dup2(int(filLogFile.Fd()), 2) +} diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 8c37536..640f90d 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -13,18 +13,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.29.0", + "gimli 0.31.1", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aes" @@ -32,18 +32,24 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cipher", "cpufeatures", ] +[[package]] +name = "ahash" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289" + [[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "once_cell", "version_check", "zerocopy", @@ -60,9 +66,9 @@ dependencies = [ [[package]] name = "ambassador" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06baa18a48752d8177eca1bafa9970b2dc649a81b98d6dde9ae83bea1867030b" +checksum = "6b27ba24e4d8a188489d5a03c7fabc167a60809a383cdb4d15feb37479cd2a48" dependencies = [ "itertools 0.10.5", "proc-macro2", @@ -87,9 +93,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" dependencies = [ "backtrace", ] @@ -102,9 +108,9 @@ checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -114,19 +120,183 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite 0.2.15", +] + +[[package]] +name = "async-executor" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand 2.1.1", + "futures-lite 2.3.0", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" +dependencies = [ + "async-channel 2.3.1", + "async-executor", + "async-io 2.3.3", + "async-lock 3.4.0", + "blocking", + "futures-lite 2.3.0", + "once_cell", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if 1.0.0", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +dependencies = [ + "async-lock 3.4.0", + "cfg-if 1.0.0", + "concurrent-queue", + "futures-io", + "futures-lite 2.3.0", + "parking", + "polling 3.7.2", + "rustix 0.38.37", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener 5.3.1", + "event-listener-strategy", + "pin-project-lite 0.2.15", +] + +[[package]] +name = "async-std" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +dependencies = [ + "async-channel 1.9.0", + "async-global-executor", + "async-io 1.13.0", + "async-lock 2.8.0", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite 1.13.0", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "once_cell", + "pin-project-lite 0.2.15", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "attohttpc" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247" +dependencies = [ + "http", + "log", + "native-tls", + "openssl", + "serde", + "serde_json", + "url", + "wildmatch", ] [[package]] @@ -142,23 +312,48 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "aws-creds" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54c8271d6207a6859749ae7fd8121aeb33dcf5116bd9bd560cda2d56b5819508" +dependencies = [ + "attohttpc", + "dirs", + "rust-ini", + "serde", + "serde-xml-rs", + "serde_derive", + "simpl", + "url", +] + +[[package]] +name = "aws-region" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "f610af4a396f07592014dc3410f6ad78fab931852a99bb6cfdc1ad04b9329b80" +dependencies = [ + "simpl", +] [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.22.0", - "cc", - "cfg-if", + "addr2line 0.24.2", + "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.36.0", + "object 0.36.5", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -251,9 +446,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -277,8 +472,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] @@ -299,21 +494,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "cc", - "cfg-if", - "constant_time_eq 0.3.0", + "cfg-if 1.0.0", + "constant_time_eq 0.3.1", ] [[package]] @@ -343,6 +538,19 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel 2.3.1", + "async-task", + "futures-io", + "futures-lite 2.3.0", + "piper", +] + [[package]] name = "bls-signatures" version = "0.15.0" @@ -361,9 +569,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ "cc", "glob", @@ -388,6 +596,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "buf_redux" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" +dependencies = [ + "memchr", + "safemem", +] + [[package]] name = "bumpalo" version = "3.16.0" @@ -406,6 +624,18 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "bytes" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" + +[[package]] +name = "bytes" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" + [[package]] name = "cbc" version = "0.1.2" @@ -426,15 +656,21 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.99" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + [[package]] name = "cfg-if" version = "1.0.0" @@ -447,7 +683,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cipher", "cpufeatures", ] @@ -460,8 +696,10 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", - "windows-targets 0.52.5", + "wasm-bindgen", + "windows-targets 0.52.6", ] [[package]] @@ -499,6 +737,15 @@ dependencies = [ "thiserror", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "config" version = "0.12.0" @@ -521,9 +768,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -531,11 +778,21 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -552,14 +809,14 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -787,7 +1044,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -872,6 +1129,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "crypto-mac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" +dependencies = [ + "generic-array 0.14.7", + "subtle", +] + [[package]] name = "cs_serde_bytes" version = "0.12.2" @@ -1031,7 +1298,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -1060,14 +1327,32 @@ dependencies = [ ] [[package]] -name = "displaydoc" -version = "0.2.4" +name = "dirs" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dlv-list" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68df3f2b690c1b86e65ef7830956aededf3cb0a16f898f79b9a6f421a7b6211b" +dependencies = [ + "rand", ] [[package]] @@ -1124,9 +1409,18 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "encoding_rs" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if 1.0.0", +] [[package]] name = "equivalent" @@ -1165,6 +1459,33 @@ dependencies = [ "libc", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.15", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite 0.2.15", +] + [[package]] name = "execute" version = "0.2.13" @@ -1173,7 +1494,7 @@ checksum = "3a82608ee96ce76aeab659e9b8d3c2b787bffd223199af88c674923d861ada10" dependencies = [ "execute-command-macro", "execute-command-tokens", - "generic-array 1.0.0", + "generic-array 1.1.0", ] [[package]] @@ -1193,7 +1514,7 @@ checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b" dependencies = [ "execute-command-tokens", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -1222,9 +1543,18 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.1.0" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fdlimit" @@ -1306,11 +1636,19 @@ dependencies = [ "yastl", ] +[[package]] +name = "file-lock" +version = "2.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "040b48f80a749da50292d0f47a1e2d5bf1d772f52836c07f64bfccc62ba6e664" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "filecoin-hashers" version = "13.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85413176cea16bfe171caafab023044820c0033b243b535b19116776ffd3f285" dependencies = [ "anyhow", "bellperson", @@ -1329,8 +1667,6 @@ dependencies = [ [[package]] name = "filecoin-proofs" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "096b8b483f6ed5823150daf6cd22ee8e32b3dabcb4fd70dab70044e73bcab107" dependencies = [ "anyhow", "bellperson", @@ -1340,16 +1676,19 @@ dependencies = [ "ff", "filecoin-hashers", "fr32", + "fs2", "generic-array 0.14.7", "hex", "iowrap", "lazy_static", + "libc", "log", "memmap2", "merkletree", "once_cell", "rand", "rayon", + "rust-s3", "serde", "serde_json", "sha2 0.10.8", @@ -1357,14 +1696,13 @@ dependencies = [ "storage-proofs-porep", "storage-proofs-post", "storage-proofs-update", + "tokio", "typenum", ] [[package]] name = "filecoin-proofs-api" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aea8140d1e2d2ac18347e6121ee24d0e903f9cfdc2eb2ee507932e352c9e7b8" dependencies = [ "anyhow", "bincode", @@ -1372,6 +1710,7 @@ dependencies = [ "filecoin-proofs", "fr32", "lazy_static", + "log", "serde", "storage-proofs-core", ] @@ -1408,7 +1747,7 @@ version = "0.10.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" dependencies = [ - "spin 0.9.8", + "spin", ] [[package]] @@ -1417,6 +1756,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "forest_hash_utils" version = "0.1.0" @@ -1439,8 +1793,6 @@ dependencies = [ [[package]] name = "fr32" version = "11.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "627a3f3108ee3287759a45f6d5aafe48b3017509df9b677115f88266d61e0815" dependencies = [ "anyhow", "blstrs", @@ -1460,6 +1812,22 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags 1.3.2", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + [[package]] name = "funty" version = "2.0.0" @@ -1467,37 +1835,154 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] -name = "fvm" -version = "2.8.0" +name = "futures" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c45c5b6c9952b8119fe13b77bbdafc3d44c2e8b866056ca05c23b89a0550f5" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ - "anyhow", - "blake2b_simd", - "byteorder", - "cid", - "derive-getters", - "derive_builder", - "derive_more", - "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.7.0", - "lazy_static", - "log", - "multihash", - "num-derive", - "num-traits", - "num_cpus", - "rand", - "rayon", - "replace_with", - "serde", - "serde_repr", - "serde_tuple", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite 0.2.15", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand 2.1.1", + "futures-core", + "futures-io", + "parking", + "pin-project-lite 0.2.15", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite 0.2.15", + "pin-utils", + "slab", +] + +[[package]] +name = "fvm" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43c45c5b6c9952b8119fe13b77bbdafc3d44c2e8b866056ca05c23b89a0550f5" +dependencies = [ + "anyhow", + "blake2b_simd", + "byteorder", + "cid", + "derive-getters", + "derive_builder", + "derive_more", + "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.7.0", + "lazy_static", + "log", + "multihash", + "num-derive", + "num-traits", + "num_cpus", + "rand", + "rayon", + "replace_with", + "serde", + "serde_repr", + "serde_tuple", "thiserror", "wasmtime 12.0.2", "yastl", @@ -1719,7 +2204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94586a738e0658098fb7d784c29e50d0b986c9f54dd15d6b9f519d5b87fbfb5f" dependencies = [ "anyhow", - "bitflags 2.5.0", + "bitflags 2.6.0", "blake2b_simd", "bls-signatures", "cid", @@ -1747,7 +2232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d3355d3bd2eb159a734a06d67dbb21b067a99540f5aefaf7d0d26503ccc73e3" dependencies = [ "anyhow", - "bitflags 2.5.0", + "bitflags 2.6.0", "blake2b_simd", "bls-signatures", "cid", @@ -1783,7 +2268,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "debugid", "fxhash", "serde", @@ -1802,9 +2287,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0" +checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" dependencies = [ "typenum", ] @@ -1815,7 +2300,7 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", "wasi", ] @@ -1828,7 +2313,7 @@ checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -1849,15 +2334,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" dependencies = [ "fallible-iterator 0.3.0", - "indexmap 2.2.6", + "indexmap 2.6.0", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" @@ -1865,6 +2350,18 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + [[package]] name = "group" version = "0.13.0" @@ -1878,6 +2375,35 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", + "tracing-futures", +] + +[[package]] +name = "hashbrown" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +dependencies = [ + "ahash 0.4.8", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1890,7 +2416,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.11", ] [[package]] @@ -1899,9 +2425,15 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash", + "ahash 0.8.11", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1917,6 +2449,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -1932,7 +2470,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac", + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac 0.11.0", "digest 0.9.0", ] @@ -1944,7 +2492,7 @@ checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ "digest 0.9.0", "generic-array 0.14.7", - "hmac", + "hmac 0.8.1", ] [[package]] @@ -1957,159 +2505,111 @@ dependencies = [ ] [[package]] -name = "hwloc" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2934f84993b8b4bcae9b6a4e5f0aca638462dda9c7b4f26a570241494f21e0f4" -dependencies = [ - "bitflags 0.7.0", - "errno 0.2.8", - "kernel32-sys", - "libc", - "num", - "pkg-config", - "winapi 0.2.8", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" +name = "http" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", + "bytes 1.8.0", + "fnv", + "itoa 1.0.11", ] [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "http-body" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "cc", + "bytes 0.5.6", + "http", ] [[package]] -name = "icu_collections" -version = "1.5.0" +name = "httparse" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] -name = "icu_locid" -version = "1.5.0" +name = "httpdate" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] +checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" [[package]] -name = "icu_locid_transform" -version = "1.5.0" +name = "hwloc" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +checksum = "2934f84993b8b4bcae9b6a4e5f0aca638462dda9c7b4f26a570241494f21e0f4" dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", + "bitflags 0.7.0", + "errno 0.2.8", + "kernel32-sys", + "libc", + "num", + "pkg-config", + "winapi 0.2.8", ] [[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" +name = "hyper" +version = "0.13.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", + "bytes 0.5.6", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 0.4.8", + "pin-project", + "socket2 0.3.19", + "tokio", + "tower-service", + "tracing", + "want", ] [[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" +name = "hyper-tls" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed" dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", + "bytes 0.5.6", + "hyper", + "native-tls", + "tokio", + "tokio-tls", ] [[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" +name = "iana-time-zone" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", ] [[package]] -name = "icu_provider_macros" -version = "1.5.0" +name = "iana-time-zone-haiku" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", + "cc", ] [[package]] @@ -2120,14 +2620,12 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ - "icu_normalizer", - "icu_properties", - "smallvec", - "utf8_iter", + "unicode-bidi", + "unicode-normalization", ] [[package]] @@ -2142,12 +2640,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "serde", ] @@ -2161,6 +2659,15 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "inventory" version = "0.1.11" @@ -2183,6 +2690,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + [[package]] name = "iowrap" version = "0.2.1" @@ -2192,6 +2719,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + [[package]] name = "itertools" version = "0.8.2" @@ -2228,6 +2761,12 @@ dependencies = [ "either", ] +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + [[package]] name = "itoa" version = "1.0.11" @@ -2236,18 +2775,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -2271,13 +2810,22 @@ dependencies = [ "winapi-build", ] +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin", ] [[package]] @@ -2288,9 +2836,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libipld-core" @@ -2307,6 +2855,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -2357,15 +2915,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] -name = "litemap" -version = "0.7.3" +name = "linux-raw-sys" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" @@ -2379,9 +2937,12 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +dependencies = [ + "value-bag", +] [[package]] name = "mach" @@ -2392,6 +2953,23 @@ dependencies = [ "libc", ] +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + [[package]] name = "memchr" version = "2.7.4" @@ -2404,7 +2982,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix", + "rustix 0.38.37", ] [[package]] @@ -2428,8 +3006,6 @@ dependencies = [ [[package]] name = "merkletree" version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ed8c0ce1e281870da29266398541a0dbab168f5fb5fd36d7ef2bbdbf808a3" dependencies = [ "anyhow", "arrayref", @@ -2437,11 +3013,29 @@ dependencies = [ "memmap2", "positioned-io", "rayon", + "rust-s3", "serde", "tempfile", + "tokio", "typenum", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "mini_paste" version = "0.1.11" @@ -2465,11 +3059,11 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -2482,6 +3076,37 @@ dependencies = [ "web-time", ] +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + [[package]] name = "multibase" version = "0.9.1" @@ -2524,7 +3149,24 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure 0.12.6", + "synstructure", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", ] [[package]] @@ -2549,6 +3191,17 @@ dependencies = [ "trait-set", ] +[[package]] +name = "net2" +version = "0.2.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + [[package]] name = "nom" version = "7.1.3" @@ -2582,9 +3235,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -2598,7 +3251,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -2660,24 +3313,24 @@ checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "crc32fast", "hashbrown 0.14.5", - "indexmap 2.2.6", + "indexmap 2.6.0", "memchr", ] [[package]] name = "object" -version = "0.36.0" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -2704,6 +3357,60 @@ dependencies = [ "libc", ] +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.6.0", + "cfg-if 1.0.0", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-multimap" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c672c7ad9ec066e428c00eb917124a06f08db19e2584de982cc34b1f4c12485" +dependencies = [ + "dlv-list", + "hashbrown 0.9.1", +] + [[package]] name = "overload" version = "0.1.1" @@ -2725,6 +3432,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "parking_lot" version = "0.12.3" @@ -2741,11 +3454,11 @@ version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2784,11 +3497,91 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pin-project" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + +[[package]] +name = "pin-project-lite" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + +[[package]] +name = "pin-project-lite" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +dependencies = [ + "atomic-waker", + "fastrand 2.1.1", + "futures-io", +] + [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "polling" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if 1.0.0", + "concurrent-queue", + "libc", + "log", + "pin-project-lite 0.2.15", + "windows-sys 0.48.0", +] + +[[package]] +name = "polling" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +dependencies = [ + "cfg-if 1.0.0", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite 0.2.15", + "rustix 0.38.37", + "tracing", + "windows-sys 0.52.0", +] [[package]] name = "positioned-io" @@ -2803,9 +3596,12 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "pretty_assertions" @@ -2859,9 +3655,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -2875,11 +3671,17 @@ dependencies = [ "cc", ] +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2951,11 +3753,22 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror", ] [[package]] @@ -2973,9 +3786,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -2985,9 +3798,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", @@ -2996,9 +3809,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "replace_with" @@ -3017,6 +3830,42 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "reqwest" +version = "0.10.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c" +dependencies = [ + "base64", + "bytes 0.5.6", + "encoding_rs", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "lazy_static", + "log", + "mime", + "mime_guess", + "native-tls", + "percent-encoding", + "pin-project-lite 0.2.15", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-tls", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -3043,6 +3892,53 @@ dependencies = [ "thiserror", ] +[[package]] +name = "rust-ini" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55b134767a87e0b086f73a4ce569ac9ce7d202f39c8eab6caa266e2617e73ac6" +dependencies = [ + "cfg-if 0.1.10", + "ordered-multimap", +] + +[[package]] +name = "rust-s3" +version = "0.27.0-beta1" +dependencies = [ + "async-std", + "async-trait", + "aws-creds", + "aws-region", + "base64", + "buf_redux", + "bytes 1.8.0", + "cfg-if 1.0.0", + "chrono", + "futures", + "hex", + "hmac 0.11.0", + "http", + "httparse", + "log", + "maybe-async", + "md5", + "mime", + "mime_guess", + "percent-encoding", + "quick-error", + "reqwest", + "safemem", + "serde", + "serde-xml-rs", + "serde_derive", + "sha2 0.9.9", + "simpl", + "tokio", + "twoway", + "url", +] + [[package]] name = "rustacuda_core" version = "0.1.2" @@ -3074,31 +3970,45 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", "errno 0.3.9", + "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno 0.3.9", + "libc", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "ryu" @@ -3106,6 +4016,12 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + [[package]] name = "safer-ffi" version = "0.0.7" @@ -3132,12 +4048,44 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.23" @@ -3146,9 +4094,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.213" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" dependencies = [ "serde_derive", ] @@ -3162,24 +4110,36 @@ dependencies = [ "serde", ] +[[package]] +name = "serde-xml-rs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" +dependencies = [ + "log", + "serde", + "thiserror", + "xml-rs", +] + [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.213" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -3196,11 +4156,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ - "itoa", + "itoa 1.0.11", + "memchr", "ryu", "serde", ] @@ -3213,7 +4174,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -3237,6 +4198,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.11", + "ryu", + "serde", +] + [[package]] name = "sha2" version = "0.9.9" @@ -3244,7 +4217,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "digest 0.9.0", "opaque-debug", @@ -3256,7 +4229,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "digest 0.10.7", "sha2-asm", @@ -3274,8 +4247,6 @@ dependencies = [ [[package]] name = "sha2raw" version = "13.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73744f6a373edfc5624f452ec705a762e1154bb88c6699242bf37c56d99a6ebb" dependencies = [ "byteorder", "cpufeatures", @@ -3296,6 +4267,27 @@ dependencies = [ "keccak", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "simpl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a30f10c911c0355f80f1c2faa8096efc4a58cdf8590b954d5b395efa071c711" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + [[package]] name = "slice-group-by" version = "0.3.1" @@ -3309,10 +4301,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] -name = "spin" -version = "0.5.2" +name = "socket2" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "socket2" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi 0.3.9", +] [[package]] name = "spin" @@ -3325,9 +4332,9 @@ dependencies = [ [[package]] name = "sppark" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb266b15daead53670d477d7e136b8fc92d46e31bb9007ac46d304df23689a4b" +checksum = "ac5090642d9ae844edd9a5c23cb1fce6724ca88d50c55178ee8d1f656df5826b" dependencies = [ "cc", "which", @@ -3354,8 +4361,6 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "storage-proofs-core" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390385ae6787ad5d4312f3b6f0462c9f6615d9a7863376f8636604e6e43f3d28" dependencies = [ "aes", "anyhow", @@ -3389,8 +4394,6 @@ dependencies = [ [[package]] name = "storage-proofs-porep" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd8c6bbeb00933edb41152fdabf28d2519d6a1b6ea176a793e3198a07bb9acd" dependencies = [ "anyhow", "bellperson", @@ -3401,8 +4404,11 @@ dependencies = [ "byteorder", "chacha20", "crossbeam", + "ec-gpu-gen 0.7.0", + "errno 0.2.8", "fdlimit", "ff", + "file-lock", "filecoin-hashers", "fr32", "generic-array 0.14.7", @@ -3432,8 +4438,6 @@ dependencies = [ [[package]] name = "storage-proofs-post" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779fbfe1455a57d2a7fd655ce1b2e97bf9f238b65c71919e92aa9df8f2ced8b1" dependencies = [ "anyhow", "bellperson", @@ -3452,8 +4456,6 @@ dependencies = [ [[package]] name = "storage-proofs-update" version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4b391917dbcffa2297295971a02cc54aa19aa8b5378d539a435e78f8050153" dependencies = [ "anyhow", "bellperson", @@ -3471,6 +4473,7 @@ dependencies = [ "serde", "storage-proofs-core", "storage-proofs-porep", + "subtle", ] [[package]] @@ -3481,9 +4484,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "supraseal-c2" @@ -3509,9 +4512,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" dependencies = [ "proc-macro2", "quote", @@ -3530,17 +4533,6 @@ 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" @@ -3549,9 +4541,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "temp-env" @@ -3564,34 +4556,35 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", + "cfg-if 1.0.0", + "fastrand 2.1.1", + "once_cell", + "rustix 0.38.37", + "windows-sys 0.59.0", ] [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -3604,13 +4597,59 @@ dependencies = [ ] [[package]] -name = "tinystr" -version = "0.7.6" +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +dependencies = [ + "bytes 0.5.6", + "fnv", + "futures-core", + "iovec", + "lazy_static", + "memchr", + "mio", + "pin-project-lite 0.1.12", + "slab", +] + +[[package]] +name = "tokio-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "displaydoc", - "zerovec", + "bytes 0.5.6", + "futures-core", + "futures-sink", + "log", + "pin-project-lite 0.1.12", + "tokio", ] [[package]] @@ -3622,6 +4661,42 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite 0.2.15", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "trait-set" version = "0.3.0" @@ -3633,23 +4708,62 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "twoway" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" +dependencies = [ + "memchr", +] + [[package]] name = "typenum" version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" + [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unsigned-varint" @@ -3659,9 +4773,9 @@ checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" [[package]] name = "url" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -3669,28 +4783,43 @@ dependencies = [ ] [[package]] -name = "utf16_iter" -version = "1.0.5" +name = "uuid" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] -name = "utf8_iter" -version = "1.0.4" +name = "value-bag" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" [[package]] -name = "uuid" -version = "1.8.0" +name = "vcpkg" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + +[[package]] +name = "want" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] [[package]] name = "wasi" @@ -3700,34 +4829,49 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", + "once_cell", + "serde", + "serde_json", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3735,22 +4879,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-encoder" @@ -3795,7 +4939,7 @@ version = "0.110.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dfcdb72d96f01e6c85b6bf20102e7423bdbaad5c337301bab2bbf253d26413c" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.6.0", "semver", ] @@ -3805,8 +4949,8 @@ version = "0.121.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ - "bitflags 2.5.0", - "indexmap 2.2.6", + "bitflags 2.6.0", + "indexmap 2.6.0", "semver", ] @@ -3816,8 +4960,8 @@ version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708" dependencies = [ - "bitflags 2.5.0", - "indexmap 2.2.6", + "bitflags 2.6.0", + "indexmap 2.6.0", "semver", ] @@ -3840,9 +4984,9 @@ dependencies = [ "anyhow", "bincode", "bumpalo", - "cfg-if", + "cfg-if 1.0.0", "fxprof-processed-profile", - "indexmap 2.2.6", + "indexmap 2.6.0", "libc", "log", "object 0.31.1", @@ -3871,16 +5015,16 @@ dependencies = [ "anyhow", "bincode", "bumpalo", - "cfg-if", + "cfg-if 1.0.0", "gimli 0.28.1", - "indexmap 2.2.6", + "indexmap 2.6.0", "libc", "log", "object 0.32.2", "once_cell", "paste", "rayon", - "rustix", + "rustix 0.38.37", "serde", "serde_derive", "serde_json", @@ -3900,7 +5044,7 @@ version = "12.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d84f68d831200016e120f2ee79d81b50cf4c4123112914aefb168d036d445d" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -3909,7 +5053,7 @@ version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "110aa598e02a136fb095ca70fa96367fc16bab55256a131e66f9b58f16c73daf" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -3943,7 +5087,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e923262451a4b5b39fe02f69f1338d56356db470e289ea1887346b9c7f592738" dependencies = [ "anyhow", - "cfg-if", + "cfg-if 1.0.0", "cranelift-codegen 0.106.2", "cranelift-control 0.106.2", "cranelift-entity 0.106.2", @@ -4002,7 +5146,7 @@ dependencies = [ "anyhow", "cranelift-entity 0.99.2", "gimli 0.27.3", - "indexmap 2.2.6", + "indexmap 2.6.0", "log", "object 0.31.1", "serde", @@ -4022,7 +5166,7 @@ dependencies = [ "bincode", "cranelift-entity 0.106.2", "gimli 0.28.1", - "indexmap 2.2.6", + "indexmap 2.6.0", "log", "object 0.32.2", "serde", @@ -4042,13 +5186,13 @@ dependencies = [ "addr2line 0.20.0", "anyhow", "bincode", - "cfg-if", + "cfg-if 1.0.0", "cpp_demangle", "gimli 0.27.3", "log", "object 0.31.1", "rustc-demangle", - "rustix", + "rustix 0.38.37", "serde", "target-lexicon", "wasmtime-environ 12.0.2", @@ -4073,7 +5217,7 @@ version = "12.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b59f94b0409221873565419168e20b5aedf18c4bd64de5c38acf8f0634efeee3" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", "windows-sys 0.48.0", ] @@ -4084,7 +5228,7 @@ version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c22ca2ef4d87b23d400660373453e274b2251bc2d674e3102497f690135e04b0" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "libc", "windows-sys 0.52.0", ] @@ -4097,8 +5241,8 @@ checksum = "ceb587a88ae5bb6ca248455a391aff29ac63329a404b2cdea36d91267c797db4" dependencies = [ "anyhow", "cc", - "cfg-if", - "indexmap 2.2.6", + "cfg-if 1.0.0", + "indexmap 2.6.0", "libc", "log", "mach", @@ -4106,7 +5250,7 @@ dependencies = [ "memoffset", "paste", "rand", - "rustix", + "rustix 0.38.37", "sptr", "wasm-encoder 0.31.1", "wasmtime-asm-macros 12.0.2", @@ -4124,8 +5268,8 @@ checksum = "1806ee242ca4fd183309b7406e4e83ae7739b7569f395d56700de7c7ef9f5eb8" dependencies = [ "anyhow", "cc", - "cfg-if", - "indexmap 2.2.6", + "cfg-if 1.0.0", + "indexmap 2.6.0", "libc", "log", "mach", @@ -4133,7 +5277,7 @@ dependencies = [ "memoffset", "paste", "psm", - "rustix", + "rustix 0.38.37", "sptr", "wasm-encoder 0.201.0", "wasmtime-asm-macros 19.0.2", @@ -4182,7 +5326,7 @@ checksum = "ca7af9bb3ee875c4907835e607a275d10b04d15623d3aebe01afe8fbd3f85050" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -4193,7 +5337,7 @@ checksum = "ffaafa5c12355b1a9ee068e9295d50c4ca0a400c721950cdae4f5b54391a2da5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.85", ] [[package]] @@ -4202,6 +5346,16 @@ version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a8c62e9df8322b2166d2a6f096fbec195ddb093748fd74170dcf25ef596769" +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "web-time" version = "1.1.0" @@ -4221,9 +5375,15 @@ dependencies = [ "either", "home", "once_cell", - "rustix", + "rustix 0.38.37", ] +[[package]] +name = "wildmatch" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a" + [[package]] name = "winapi" version = "0.2.8" @@ -4264,7 +5424,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4282,7 +5442,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -4302,18 +5471,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -4324,9 +5493,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -4336,9 +5505,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -4348,15 +5517,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -4366,9 +5535,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -4378,9 +5547,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -4390,9 +5559,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -4402,21 +5571,28 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "write16" -version = "1.0.0" +name = "winreg" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +dependencies = [ + "winapi 0.3.9", +] [[package]] -name = "writeable" -version = "0.5.5" +name = "ws2_32-sys" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] [[package]] name = "wyz" @@ -4427,6 +5603,12 @@ dependencies = [ "tap", ] +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + [[package]] name = "yansi" version = "0.5.1" @@ -4443,69 +5625,25 @@ 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.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" -dependencies = [ - "proc-macro2", - "quote", - "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" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", - "synstructure 0.13.1", + "syn 2.0.85", ] [[package]] @@ -4525,27 +5663,10 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", -] - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", + "syn 2.0.85", ] -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] +[[patch.unused]] +name = "wasmtime" +version = "0.37.0" +source = "git+https://github.com/filecoin-project/wasmtime?branch=fix/sse-feature#cbb8a3de28d7ff120b671af6a135879316b78688" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 9abe5ef..b9b2938 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,18 +1,18 @@ [package] -name = "filcrypto" -description = "FFI Interface to Filecoin Proofs" -version = "0.7.5" authors = [ "nemo ", "dignifiedquire ", "laser ", ] +description = "FFI Interface to Filecoin Proofs" +edition = "2021" license = "MIT OR Apache-2.0" -repository = "https://github.com/filecoin-project/filecoin-ffi" +name = "filcrypto" +publish = false readme = "README.md" -edition = "2021" +repository = "https://github.com/EntropyPool/filecoin-ffi" resolver = "2" -publish = false +version = "0.7.5" [lib] crate-type = ["rlib", "staticlib"] @@ -54,6 +54,20 @@ yastl = "0.1.2" memmap2 = "0.5" tempfile = "3.0.8" +[patch.crates-io] +filecoin-proofs-api = { path = "../../rust-filecoin-proofs-api", version = "18.1", default-features = false } +filecoin-hashers = { path = "../../rust-fil-proofs/filecoin-hashers", version = "13.1", default-features = false } +filecoin-proofs = { path = "../../rust-fil-proofs/filecoin-proofs", version = "18.1", default-features = false } +fr32 = { path = "../../rust-fil-proofs/fr32", version = "11.1", default-features = false } +merkletree = { path = "../../merkletree", version = "0.23" } +sha2raw = { path = "../../rust-fil-proofs/sha2raw", version = "13.1" } +storage-proofs-core = { path = "../../rust-fil-proofs/storage-proofs-core", version = "18.1" } +storage-proofs-porep = { path = "../../rust-fil-proofs/storage-proofs-porep", version = "18.1" } +storage-proofs-post = { path = "../../rust-fil-proofs/storage-proofs-post", version = "18.1" } +storage-proofs-update = { path = "../../rust-fil-proofs/storage-proofs-update", version = "18.1" } + +wasmtime = { git = "https://github.com/filecoin-project/wasmtime", branch = "fix/sse-feature" } + [features] default = ["cuda", "multicore-sdr"] blst-portable = ["bls-signatures/blst-portable", "blstrs/portable"] diff --git a/rust/scripts/build-release.sh b/rust/scripts/build-release.sh index b93c287..61db731 100755 --- a/rust/scripts/build-release.sh +++ b/rust/scripts/build-release.sh @@ -33,7 +33,7 @@ main() { # local __linker_flags=$(cat ${__build_output_log_tmp} \ | grep native-static-libs\: \ - | head -n 1 \ + | tail -n 1 \ | cut -d ':' -f 3) echo "Linker Flags: ${__linker_flags}" @@ -81,7 +81,7 @@ main() { # generate pkg-config # sed -e "s;@VERSION@;$(git rev-parse HEAD);" \ - -e "s;@PRIVATE_LIBS@;${__linker_flags};" "filcrypto.pc.template" > "filcrypto.pc" + -e "s;@PRIVATE_LIBS@;${__linker_flags} -lhugetlbfs;" "filcrypto.pc.template" > "filcrypto.pc" # ensure header file was built # diff --git a/rust/src/fvm/machine.rs b/rust/src/fvm/machine.rs index 517419d..373eb5b 100644 --- a/rust/src/fvm/machine.rs +++ b/rust/src/fvm/machine.rs @@ -373,6 +373,7 @@ fn fvm_machine_execute_message( let events_root = events_root.map(|cid| cid.to_bytes().into_boxed_slice().into()); + // TODO: Do something with the backtrace. Ok(FvmMachineExecuteResponse { exit_code: exit_code.value() as u64, return_val, @@ -528,6 +529,7 @@ fn build_lotus_trace( return_data: return_data.data, codec: return_data.codec, }; + return Ok(new_trace); } ExecutionEvent::CallError(syscall_err) => { diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 8fd99b1..8d83b4a 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -24,4 +24,4 @@ fn build_headers() -> std::io::Result<()> { .generate()?; Ok(()) -} +} \ No newline at end of file diff --git a/rust/src/proofs/api.rs b/rust/src/proofs/api.rs index 2b145e9..ea90337 100644 --- a/rust/src/proofs/api.rs +++ b/rust/src/proofs/api.rs @@ -3,8 +3,8 @@ use std::fs; use blstrs::Scalar as Fr; use filecoin_proofs_api::seal; use filecoin_proofs_api::{ - self as api, update, PieceInfo, SectorId, StorageProofsError, UnpaddedByteIndex, - UnpaddedBytesAmount, + self as api, update, PieceInfo, PrivateSectorPathInfo as api_PrivateSectorPathInfo, SectorId, + StorageProofsError, UnpaddedByteIndex, UnpaddedBytesAmount, }; use rayon::prelude::*; use safer_ffi::prelude::*; @@ -26,6 +26,8 @@ fn destroy_boxed_slice(ptr: c_slice::Box) { drop(ptr); } +use crate::util::api::init_log; + // A byte serialized representation of a vanilla proof. pub type ApiVanillaProof = Vec; @@ -130,8 +132,10 @@ fn seal_pre_commit_phase1( prover_id: &[u8; 32], ticket: &[u8; 32], pieces: c_slice::Ref, + has_deals: bool, ) -> repr_c::Box { catch_panic_response("seal_pre_commit_phase1", || { + init_log(); let public_pieces: Vec = pieces.iter().map(Into::into).collect(); let result = seal::seal_pre_commit_phase1( @@ -143,6 +147,7 @@ fn seal_pre_commit_phase1( SectorId::from(sector_id), *ticket, &public_pieces, + has_deals, )?; let result = serde_json::to_vec(&result)?; @@ -573,20 +578,65 @@ fn generate_single_vanilla_proof( challenges: c_slice::Ref, ) -> repr_c::Box { catch_panic_response("generate_single_vanilla_proof", || { - let sector_id = SectorId::from(replica.sector_id); - let cache_dir_path = as_path_buf(&replica.cache_dir_path)?; - let replica_path = as_path_buf(&replica.replica_path)?; - - let replica_v1 = api::PrivateReplicaInfo::new( - replica.registered_proof.into(), - replica.comm_r, + // let replica_v1 = api::PrivateReplicaInfo::new( + // replica.registered_proof.into(), + // replica.comm_r, + // cache_dir_path, + // replica_path, + // ); + + let PrivateReplicaInfo { + registered_proof, cache_dir_path, + cache_in_oss, + cache_sector_path_info, + comm_r, + replica_path, + replica_in_oss, + replica_sector_path_info, + sector_id, + } = replica; + + let sector_id = SectorId::from(sector_id); + let cache_dir_path = as_path_buf(&cache_dir_path)?; + let replica_path = as_path_buf(&replica_path)?; + + let api_replica_sector_path_info = api_PrivateSectorPathInfo { + endpoints: String::from_utf8(replica_sector_path_info.endpoints.to_vec()).unwrap(), + landed_dir: as_path_buf(&replica_sector_path_info.landed_dir).unwrap(), + access_key: String::from_utf8(replica_sector_path_info.access_key.to_vec()).unwrap(), + secret_key: String::from_utf8(replica_sector_path_info.secret_key.to_vec()).unwrap(), + bucket_name: String::from_utf8(replica_sector_path_info.bucket_name.to_vec()).unwrap(), + sector_name: String::from_utf8(replica_sector_path_info.sector_name.to_vec()).unwrap(), + region: String::from_utf8(replica_sector_path_info.region.to_vec()).unwrap(), + multi_ranges: replica_sector_path_info.multi_ranges, + }; + + let api_cache_sector_path_info = api_PrivateSectorPathInfo { + endpoints: String::from_utf8(cache_sector_path_info.endpoints.to_vec()).unwrap(), + landed_dir: as_path_buf(&cache_sector_path_info.landed_dir).unwrap(), + access_key: String::from_utf8(cache_sector_path_info.access_key.to_vec()).unwrap(), + secret_key: String::from_utf8(cache_sector_path_info.secret_key.to_vec()).unwrap(), + bucket_name: String::from_utf8(cache_sector_path_info.bucket_name.to_vec()).unwrap(), + sector_name: String::from_utf8(cache_sector_path_info.sector_name.to_vec()).unwrap(), + region: String::from_utf8(cache_sector_path_info.region.to_vec()).unwrap(), + multi_ranges: cache_sector_path_info.multi_ranges, + }; + + let replica_v1 = api::PrivateReplicaInfo::new_with_oss_config( + registered_proof.into(), replica_path, + replica_in_oss, + api_replica_sector_path_info, + comm_r, + cache_dir_path, + cache_in_oss, + api_cache_sector_path_info, ); let result = filecoin_proofs_api::post::generate_single_vanilla_proof( replica.registered_proof.into(), - sector_id, + SectorId::from(replica.sector_id), &replica_v1, &challenges, )?; @@ -1820,6 +1870,7 @@ pub mod tests { &prover_id, &ticket, pieces[..].into(), + false, ); let resp_b2 = seal_pre_commit_phase2( @@ -2355,8 +2406,30 @@ pub mod tests { let private_replicas = vec![PrivateReplicaInfo { registered_proof: registered_proof_winning_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id, }]; @@ -2478,8 +2551,30 @@ pub mod tests { let private_replicas = vec![PrivateReplicaInfo { registered_proof: registered_proof_window_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id, }]; @@ -2517,8 +2612,30 @@ pub mod tests { let legacy_private_replicas = vec![PrivateReplicaInfo { registered_proof: legacy_registered_proof_window_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id, }]; @@ -2589,15 +2706,59 @@ pub mod tests { PrivateReplicaInfo { registered_proof: registered_proof_window_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id, }, PrivateReplicaInfo { registered_proof: registered_proof_window_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id: sector_id2, }, ]; @@ -2936,6 +3097,7 @@ pub mod tests { &prover_id, &ticket, pieces[..].into(), + false, ); if resp_b1.status_code != FCPResponseStatus::NoError { @@ -2962,8 +3124,30 @@ pub mod tests { let private_replicas = vec![PrivateReplicaInfo { registered_proof: registered_proof_window_post, cache_dir_path: cache_dir_path_ref.to_vec().into_boxed_slice().into(), + cache_in_oss: false, + cache_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, comm_r: resp_b2.comm_r, replica_path: faulty_sealed_path_ref.to_vec().into_boxed_slice().into(), + replica_in_oss: false, + replica_sector_path_info: PrivateSectorPathInfo { + endpoints: Vec::from("".as_bytes()).into_boxed_slice().into(), + access_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + secret_key: Vec::from("".as_bytes()).into_boxed_slice().into(), + bucket_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + landed_dir: Vec::from("".as_bytes()).into_boxed_slice().into(), + sector_name: Vec::from("".as_bytes()).into_boxed_slice().into(), + region: Vec::from("".as_bytes()).into_boxed_slice().into(), + multi_ranges: false, + }, sector_id, }]; @@ -3125,6 +3309,7 @@ pub mod tests { &prover_id, &ticket, pieces[..].into(), + false, ); if resp_b1.status_code != FCPResponseStatus::NoError { diff --git a/rust/src/proofs/helpers.rs b/rust/src/proofs/helpers.rs index f70a003..b2782f1 100644 --- a/rust/src/proofs/helpers.rs +++ b/rust/src/proofs/helpers.rs @@ -2,11 +2,19 @@ use std::collections::btree_map::BTreeMap; use anyhow::Result; use filecoin_proofs_api::{self as api, SectorId}; +use filecoin_proofs_api::{ + PrivateReplicaInfo as api_PrivateReplicaInfo, + PrivateSectorPathInfo as api_PrivateSectorPathInfo, + // PublicReplicaInfo as api_PublicReplicaInfo, +}; use safer_ffi::prelude::*; -use super::types::{PrivateReplicaInfo, PublicReplicaInfo, RegisteredPoStProof}; use crate::util::types::as_path_buf; +use super::types::{ + PrivateReplicaInfo, PrivateReplicaInfoTmp, PublicReplicaInfo, RegisteredPoStProof, +}; + #[derive(Debug, Clone)] struct PublicReplicaInfoTmp { pub registered_proof: RegisteredPoStProof, @@ -45,15 +53,6 @@ pub fn to_public_replica_info_map( .collect() } -#[derive(Debug, Clone)] -struct PrivateReplicaInfoTmp { - pub registered_proof: RegisteredPoStProof, - pub cache_dir_path: std::path::PathBuf, - pub comm_r: [u8; 32], - pub replica_path: std::path::PathBuf, - pub sector_id: u64, -} - pub fn to_private_replica_info_map( replicas: c_slice::Ref, ) -> Result> { @@ -62,14 +61,15 @@ pub fn to_private_replica_info_map( let replicas: Vec<_> = replicas .iter() .map(|ffi_info| { - let cache_dir_path = as_path_buf(&ffi_info.cache_dir_path)?; - let replica_path = as_path_buf(&ffi_info.replica_path)?; - Ok(PrivateReplicaInfoTmp { registered_proof: ffi_info.registered_proof, - cache_dir_path, + cache_dir_path: as_path_buf(&ffi_info.cache_dir_path).unwrap(), + cache_in_oss: ffi_info.cache_in_oss, + cache_sector_path_info: ffi_info.cache_sector_path_info.clone(), comm_r: ffi_info.comm_r, - replica_path, + replica_path: as_path_buf(&ffi_info.replica_path).unwrap(), + replica_in_oss: ffi_info.replica_in_oss, + replica_sector_path_info: ffi_info.replica_sector_path_info.clone(), sector_id: ffi_info.sector_id, }) }) @@ -81,18 +81,54 @@ pub fn to_private_replica_info_map( let PrivateReplicaInfoTmp { registered_proof, cache_dir_path, + cache_in_oss, + cache_sector_path_info, comm_r, replica_path, + replica_in_oss, + replica_sector_path_info, sector_id, } = info; + let api_replica_sector_path_info = api_PrivateSectorPathInfo { + endpoints: String::from_utf8(replica_sector_path_info.endpoints.to_vec()).unwrap(), + landed_dir: as_path_buf(&replica_sector_path_info.landed_dir).unwrap(), + access_key: String::from_utf8(replica_sector_path_info.access_key.to_vec()) + .unwrap(), + secret_key: String::from_utf8(replica_sector_path_info.secret_key.to_vec()) + .unwrap(), + bucket_name: String::from_utf8(replica_sector_path_info.bucket_name.to_vec()) + .unwrap(), + sector_name: String::from_utf8(replica_sector_path_info.sector_name.to_vec()) + .unwrap(), + region: String::from_utf8(replica_sector_path_info.region.to_vec()).unwrap(), + multi_ranges: replica_sector_path_info.multi_ranges, + }; + + let api_cache_sector_path_info = api_PrivateSectorPathInfo { + endpoints: String::from_utf8(cache_sector_path_info.endpoints.to_vec()).unwrap(), + landed_dir: as_path_buf(&cache_sector_path_info.landed_dir).unwrap(), + access_key: String::from_utf8(cache_sector_path_info.access_key.to_vec()).unwrap(), + secret_key: String::from_utf8(cache_sector_path_info.secret_key.to_vec()).unwrap(), + bucket_name: String::from_utf8(cache_sector_path_info.bucket_name.to_vec()) + .unwrap(), + sector_name: String::from_utf8(cache_sector_path_info.sector_name.to_vec()) + .unwrap(), + region: String::from_utf8(cache_sector_path_info.region.to_vec()).unwrap(), + multi_ranges: cache_sector_path_info.multi_ranges, + }; + ( SectorId::from(sector_id), - api::PrivateReplicaInfo::new( + api_PrivateReplicaInfo::new_with_oss_config( registered_proof.into(), + replica_path, + replica_in_oss, + api_replica_sector_path_info, comm_r, cache_dir_path, - replica_path, + cache_in_oss, + api_cache_sector_path_info, ), ) }) diff --git a/rust/src/proofs/types.rs b/rust/src/proofs/types.rs index d8bbe4e..1822042 100644 --- a/rust/src/proofs/types.rs +++ b/rust/src/proofs/types.rs @@ -1,10 +1,9 @@ use std::io::SeekFrom; +use crate::util::types::Result; use filecoin_proofs_api as api; use safer_ffi::prelude::*; -use crate::util::types::Result; - /// FileDescriptorRef does not drop its file descriptor when it is dropped. Its /// owner must manage the lifecycle of the file descriptor. pub struct FileDescriptorRef(std::mem::ManuallyDrop); @@ -406,12 +405,30 @@ pub type ApiPartitionProof = c_slice::Box; #[derive_ReprC] #[repr(C)] -#[derive(Clone)] +#[derive(Debug, Clone)] +pub struct PrivateSectorPathInfo { + pub endpoints: c_slice::Box, // split by comma(,) + pub access_key: c_slice::Box, + pub secret_key: c_slice::Box, + pub bucket_name: c_slice::Box, + pub landed_dir: c_slice::Box, + pub sector_name: c_slice::Box, + pub region: c_slice::Box, + pub multi_ranges: bool, +} + +#[derive_ReprC] +#[repr(C)] +#[derive(Debug, Clone)] pub struct PrivateReplicaInfo { pub registered_proof: RegisteredPoStProof, pub cache_dir_path: c_slice::Box, + pub cache_in_oss: bool, + pub cache_sector_path_info: PrivateSectorPathInfo, pub comm_r: [u8; 32], pub replica_path: c_slice::Box, + pub replica_in_oss: bool, + pub replica_sector_path_info: PrivateSectorPathInfo, pub sector_id: u64, } @@ -497,6 +514,19 @@ pub type GenerateTreeRLastResponse = Result<[u8; 32]>; pub type GenerateTreeCResponse = Result<[u8; 32]>; +#[derive(Debug)] +pub struct PrivateReplicaInfoTmp { + pub registered_proof: RegisteredPoStProof, + pub cache_dir_path: std::path::PathBuf, + pub cache_in_oss: bool, + pub cache_sector_path_info: PrivateSectorPathInfo, + pub comm_r: [u8; 32], + pub replica_path: std::path::PathBuf, + pub replica_in_oss: bool, + pub replica_sector_path_info: PrivateSectorPathInfo, + pub sector_id: u64, +} + #[derive_ReprC] #[repr(C)] pub struct SealPreCommitPhase2 { diff --git a/rust/src/util/api.rs b/rust/src/util/api.rs index 35f9afa..b2bb6c8 100644 --- a/rust/src/util/api.rs +++ b/rust/src/util/api.rs @@ -1,5 +1,8 @@ use std::fs::File; -use std::os::unix::io::FromRawFd; +use std::fs::OpenOptions; +use std::path::PathBuf; + +// use std::os::unix::io::FromRawFd; use std::sync::Once; use anyhow::anyhow; @@ -7,7 +10,7 @@ use safer_ffi::prelude::*; use safer_ffi::slice::slice_boxed; use super::types::{ - catch_panic_response, catch_panic_response_no_log, GpuDeviceResponse, InitLogFdResponse, + catch_panic_response, GpuDeviceResponse, InitLogFdResponse, }; /// Protects the init off the logger. @@ -67,10 +70,19 @@ pub fn get_gpu_devices() -> repr_c::Box { /// This function must be called right at the start, before any other call. Else the logger will /// be initializes implicitely and log to stderr. #[ffi_export] -pub fn init_log_fd(log_fd: libc::c_int) -> repr_c::Box { - catch_panic_response_no_log(|| { - let file = unsafe { File::from_raw_fd(log_fd) }; - +pub fn init_log_fd(log_fd: libc::c_int) -> repr_c::Box { + catch_panic_response("init_log_fd",|| { + // let file = File::from_raw_fd(log_fd); + let log_file_path = match std::env::var("GOLOG_FILE") { + Ok(file_path) => { + let mut path = PathBuf::from(file_path); + path.set_file_name("rust-".to_owned() + &path.file_name().unwrap().to_os_string().into_string().unwrap()); + path + }, + Err(_) => PathBuf::from("/var/log/lotus/rust-log.log"), + }; + let file = OpenOptions::new().read(true).write(true).create(true).open(log_file_path).unwrap(); + let mut response = InitLogFdResponse::default(); if init_log_with_file(file).is_none() { return Err(anyhow!("There is already an active logger. `init_log_fd()` needs to be called before any other FFI function is called.")); } diff --git a/rust/src/util/mod.rs b/rust/src/util/mod.rs index 8389f11..7b111ef 100644 --- a/rust/src/util/mod.rs +++ b/rust/src/util/mod.rs @@ -1,2 +1,4 @@ pub mod api; +#[macro_use] +pub mod rpc; pub mod types; diff --git a/rust/src/util/rpc.rs b/rust/src/util/rpc.rs new file mode 100644 index 0000000..c236917 --- /dev/null +++ b/rust/src/util/rpc.rs @@ -0,0 +1,69 @@ +/* +use std::{thread, time}; + +use filecoin_webapi::polling::PollingState; +use log::{info, trace}; +use serde::ser::Serialize; +use serde_json::value::from_value; +use serde_json::{json, Value}; + +lazy_static! { + static ref REQWEST_CLIENT: Client = Client::builder() + .timeout(time::Duration::from_secs(30)) + .build() + .expect("cannot create http client"); + static ref HOST: String = env::var("FFI_REMOTE_COMMIT2_BASE_URL").unwrap(); +} + +#[allow(dead_code)] +pub(crate) fn webapi_post(path: &str, json: &T) -> Result { + let post = REQWEST_CLIENT.post(&format!("http://{}/{}", &*HOST, path)); + let response = post + .json(json) + .send() + .map_err(|e| format!("{:?}", e))? + .text() + .map_err(|e| format!("{:?}", e))?; + let value: Value = serde_json::from_str(&response).map_err(|e| format!("{:?}", e))?; + + if value.get("Err").is_some() { + return Err(format!("{:?}", value)); + } + + return Ok(value); +} + +#[allow(dead_code)] +pub(crate) fn webapi_post_polling(path: &str, json: &T) -> Result { + let state: PollingState = from_value(webapi_post(path, json)?).map_err(|e| format!("{:?}", e))?; + info!("webapi_post_polling request state: {:?}", state); + let proc_id = match state { + PollingState::Started(val) => val, + _ => { + return Err(format!("webapi_post_polling response error: {:?}", state)); + } + }; + + loop { + let poll_state: PollingState = + from_value(webapi_post("sys/query_state", &json!(proc_id))?).map_err(|e| format!("{:?}", e))?; + trace!("webapi_post_polling poll_state: {:?}", poll_state); + match poll_state { + PollingState::Done(result) => return Ok(result), + PollingState::Pending => {} + e @ _ => return Err(format!("poll_state error: {:?}", e)), + } + + // sleep 30s + let time = time::Duration::from_secs(30); + thread::sleep(time); + } +} + +#[allow(dead_code)] +macro_rules! webapi_post_polling { + ($path:literal, $json:expr) => { + crate::util::rpc::webapi_post_polling($path, $json); + }; +} +*/ diff --git a/types.go b/types.go index 66692af..9a7c0e5 100644 --- a/types.go +++ b/types.go @@ -128,11 +128,26 @@ type publicSectorInfo struct { SectorNum abi.SectorNumber } +type PrivateSectorPathInfo struct { + Endpoints string + AccessKey string + SecretKey string + BucketName string + LandedDir string + SectorName string + Region string + MultiRanges bool +} + type PrivateSectorInfo struct { proof.SectorInfo - CacheDirPath string - PoStProofType abi.RegisteredPoStProof - SealedSectorPath string + CacheDirPath string + CacheInOss bool + CacheSectorPathInfo PrivateSectorPathInfo + PoStProofType abi.RegisteredPoStProof + SealedSectorPath string + SealedInOss bool + SealedSectorPathInfo PrivateSectorPathInfo } // AllocationManager is an interface that provides Free() capability. diff --git a/workflows.go b/workflows.go index bf0a7b3..eccb884 100644 --- a/workflows.go +++ b/workflows.go @@ -122,7 +122,7 @@ func WorkflowProofsLifecycle(t TestHelper) { t.RequireNoError(err) // pre-commit the sector - sealPreCommitPhase1Output, err := SealPreCommitPhase1(sealProofType, sectorCacheDirPath, stagedSectorFile.Name(), sealedSectorFile.Name(), sectorNum, minerID, ticket, publicPieces) + sealPreCommitPhase1Output, err := SealPreCommitPhase1(sealProofType, sectorCacheDirPath, stagedSectorFile.Name(), sealedSectorFile.Name(), sectorNum, minerID, ticket, publicPieces, false) t.RequireNoError(err) sealedCID, unsealedCID, err := SealPreCommitPhase2(sealPreCommitPhase1Output, sectorCacheDirPath, sealedSectorFile.Name())