diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 000000000..63033af16 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,85 @@ +name: Release + +on: + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + CARGO_NET_GIT_FETCH_WITH_CLI: true + +jobs: + build-and-publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + components: rustfmt, clippy + + - name: Build + run: make build + + - name: Run tests + run: make test + + - name: Run linter + run: make lint + + - name: Get version from Cargo.toml + id: get_ver + uses: dante-signal31/rust-app-version@v1.2.0 + + - name: Tag + uses: actions/github-script@v5 + id: create-tag + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + await github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: 'refs/tags/${{ steps.get_ver.outputs.app_version }}', + sha: context.sha + }) + + - name: Publish + run: | + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_frc42_hasher + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_frc42_macros + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_frc42_dispatch + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_ipld + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_actor_sdk + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_blobs_shared + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_machine + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_bucket + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_recall_config_shared + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_recall_config + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_timehub + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_crypto + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_actor_eam + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_ipc_actors_abis + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_ipc_types + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_merkle_tree_rs + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_ipc_api + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_testing + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_vm_core + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_vm_encoding + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_vm_genesis + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_vm_actor_interface + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_vm_message + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_rpc + cargo publish --locked --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --package recall_fendermint_eth_api + + - name: Release 🚀 + uses: ncipollo/release-action@v1 + with: + tag: ${{ steps.get_ver.outputs.app_version }} + generateReleaseNotes: true + prerelease: ${{ contains(steps.get_ver.outputs.app_version, 'pre') }} + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index 94044688e..809a377b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -138,7 +138,7 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more", + "derive_more 1.0.0", "foldhash", "hashbrown 0.15.2", "indexmap 2.7.0", @@ -1016,7 +1016,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.36.5", "rustc-demangle", "windows-targets 0.52.6", ] @@ -1911,12 +1911,9 @@ checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" -version = "0.6.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cordyceps" @@ -1964,86 +1961,73 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69792bd40d21be8059f7c709f44200ded3bbd073df7eb3fa3c282b387c7ffa5b" +checksum = "3b57d4f3ffc28bbd6ef1ca7b50b20126717232f97487efe027d135d9d87eb29c" dependencies = [ "cranelift-entity", ] -[[package]] -name = "cranelift-bitset" -version = "0.112.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da1eb6f7d8cdfa92f05acfae63c9a1d7a337e49ce7a2d0769c7fa03a2613a5" -dependencies = [ - "serde", - "serde_derive", -] - [[package]] name = "cranelift-codegen" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709f5567a2bff9f06edf911a7cb5ebb091e4c81701714dc6ab574d08b4a69a0d" +checksum = "d1f7d0ac7fd53f2c29db3ff9a063f6ff5a8be2abaa8f6942aceb6e1521e70df7" dependencies = [ "bumpalo", "cranelift-bforest", - "cranelift-bitset", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.29.0", + "gimli 0.28.1", "hashbrown 0.14.5", "log", "regalloc2", - "rustc-hash 2.1.0", "smallvec", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d39a6b194c069fd091ca1f17b9d86ff1a4627ccad8806095828f61989a691f" +checksum = "b40bf21460a600178956cb7fd900a7408c6587fbb988a8063f7215361801a1da" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f81aefad1f80ed4132ae33f40b92779eeb57edeb1e28bb24424a4098c963a2" +checksum = "d792ecc1243b7ebec4a7f77d9ed428ef27456eeb1f8c780587a6f5c38841be19" [[package]] name = "cranelift-control" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6adbaac785ad4683c4f199686f9e15c1471f52ae2f4c013a3be039b4719db754" +checksum = "cea2808043df964b73ad7582e09afbbe06a31f3fb9db834d53e74b4e16facaeb" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b85ed43567e13782cd1b25baf42a8167ee57169a60dfd3d7307c6ca3839da0" +checksum = "f1930946836da6f514da87625cd1a0331f3908e0de454628c24a0b97b130c4d4" dependencies = [ - "cranelift-bitset", "serde", "serde_derive", ] [[package]] name = "cranelift-frontend" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8349f71373bb69c6f73992c6c1606236a66c8134e7a60e04e03fbd64b1aa7dcf" +checksum = "5482a5fcdf98f2f31b21093643bdcfe9030866b8be6481117022e7f52baa0f2b" dependencies = [ "cranelift-codegen", "log", @@ -2053,15 +2037,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a6b958ce05e0c237c8b25508012b6c644e8c37348213a8c786ba29e28cfdb" +checksum = "6f6e1869b6053383bdb356900e42e33555b4c9ebee05699469b7c53cdafc82ea" [[package]] name = "cranelift-native" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc4acaf6894ee323ff4e9ce786bec09f0ebbe49941e8012f1c1052f1d965034" +checksum = "a91446e8045f1c4bc164b7bba68e2419c623904580d4b730877a663c6da38964" dependencies = [ "cranelift-codegen", "libc", @@ -2070,9 +2054,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.112.3" +version = "0.106.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b878860895cca97454ef8d8b12bfda9d0889dd49efee175dba78d54ff8363ec2" +checksum = "f8b17979b862d3b0d52de6ae3294ffe4d86c36027b56ad0443a7c8c8f921d14f" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -2080,7 +2064,7 @@ dependencies = [ "itertools 0.12.1", "log", "smallvec", - "wasmparser 0.217.0", + "wasmparser 0.201.0", "wasmtime-types", ] @@ -2476,6 +2460,19 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "derive_more" +version = "0.99.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "syn 2.0.98", +] + [[package]] name = "derive_more" version = "1.0.0" @@ -2491,7 +2488,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "convert_case", "proc-macro2", "quote", "syn 2.0.98", @@ -2849,24 +2845,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "entangler" -version = "0.1.0" -source = "git+https://github.com/recallnet/entanglement.git?rev=c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e#c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e" -dependencies = [ - "anyhow", - "async-trait", - "bytes", - "cid", - "futures", - "iroh", - "serde", - "serde_json", - "storage", - "thiserror 2.0.11", - "tokio", -] - [[package]] name = "enum-as-inner" version = "0.6.1" @@ -3452,7 +3430,7 @@ dependencies = [ [[package]] name = "fendermint_abci" -version = "0.1.0" +version = "0.1.2" dependencies = [ "async-stm", "async-trait", @@ -3467,349 +3445,328 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "fendermint_actor_activity_tracker" -version = "0.1.0" -dependencies = [ - "anyhow", - "cid", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "log", - "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", - "serde", - "serde_tuple", -] - -[[package]] -name = "fendermint_actor_blob_reader" -version = "0.1.0" -dependencies = [ - "anyhow", - "fendermint_actor_blobs_shared", - "fendermint_actor_machine", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "iroh-base", - "log", - "num-derive 0.3.3", - "num-traits", - "rand", - "recall_actor_sdk", - "recall_ipld", - "recall_sol_facade", - "serde", -] - -[[package]] -name = "fendermint_actor_blobs" -version = "0.1.0" -dependencies = [ - "anyhow", - "fendermint_actor_blobs_shared", - "fendermint_actor_blobs_testing", - "fendermint_actor_machine", - "fendermint_actor_recall_config_shared", - "fil_actors_evm_shared", - "fil_actors_runtime", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "log", - "num-traits", - "rand", - "recall_actor_sdk", - "recall_ipld", - "recall_sol_facade", - "serde", -] - -[[package]] -name = "fendermint_actor_blobs_shared" -version = "0.1.0" -dependencies = [ - "anyhow", - "data-encoding", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "num-derive 0.3.3", - "num-traits", - "recall_actor_sdk", - "recall_ipld", - "serde", -] - [[package]] name = "fendermint_actor_blobs_testing" -version = "0.1.0" +version = "0.1.2" dependencies = [ - "fendermint_actor_blobs_shared", "fvm_shared", "iroh-base", "rand", + "recall_fendermint_actor_blobs_shared", "tracing-subscriber", ] [[package]] -name = "fendermint_actor_bucket" -version = "0.1.0" +name = "fendermint_app" +version = "0.1.2" dependencies = [ "anyhow", - "blake3", + "async-stm", + "async-tempfile", + "async-trait", + "base64 0.21.7", + "bytes", "cid", - "fendermint_actor_blobs_shared", - "fendermint_actor_blobs_testing", - "fendermint_actor_machine", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", + "ethers", + "fendermint_abci", + "fendermint_app_options", + "fendermint_app_settings", + "fendermint_materializer", + "fendermint_rocksdb", + "fendermint_storage", + "fendermint_tracing", + "fendermint_vm_event", + "fendermint_vm_interpreter", + "fendermint_vm_iroh_resolver", + "fendermint_vm_resolver", + "fendermint_vm_snapshot", + "fendermint_vm_topdown", + "futures", + "futures-util", + "fvm", "fvm_ipld_blockstore", + "fvm_ipld_car", "fvm_ipld_encoding", "fvm_shared", - "hex-literal 0.4.1", - "num-derive 0.3.3", + "hex", + "ipc-observability", + "ipc-provider", + "ipc_ipld_resolver", + "iroh", + "iroh-base", + "iroh_manager", + "k256 0.11.6", + "lazy_static", + "libipld", + "libp2p", + "libp2p-bitswap", + "literally", + "mime_guess", + "multiaddr", "num-traits", + "openssl", + "paste", + "prometheus", + "prometheus_exporter", + "prost 0.11.9", "quickcheck", "quickcheck_macros", - "recall_actor_sdk", - "recall_ipld", - "recall_sol_facade", + "rand_chacha", + "recall_entangler", + "recall_entangler_storage", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_bucket", + "recall_fendermint_actor_gas_market_eip1559", + "recall_fendermint_actor_machine", + "recall_fendermint_actor_timehub", + "recall_fendermint_actors_api", + "recall_fendermint_crypto", + "recall_fendermint_eth_api", + "recall_fendermint_rpc", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_core", + "recall_fendermint_vm_encoding", + "recall_fendermint_vm_genesis", + "recall_fendermint_vm_message", + "recall_ipc_api", "serde", + "serde_json", + "serde_with 2.3.3", + "tempfile", + "tendermint 0.31.1", + "tendermint-config 0.33.2", + "tendermint-proto 0.31.1", + "tendermint-rpc", + "thiserror 1.0.69", + "tokio", + "tokio-util 0.7.13", + "tower", + "tower-abci", + "tracing", + "tracing-appender", + "tracing-subscriber", + "uuid 1.15.1", + "warp", ] [[package]] -name = "fendermint_actor_chainmetadata" -version = "0.1.0" +name = "fendermint_app_options" +version = "0.1.2" dependencies = [ "anyhow", + "bytes", "cid", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_amt", - "fvm_ipld_blockstore", + "clap 4.5.23", + "fendermint_materializer", "fvm_ipld_encoding", "fvm_shared", - "num-derive 0.3.3", + "hex", + "ipc-observability", + "lazy_static", "num-traits", - "serde", - "serde_tuple", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_genesis", + "recall_ipc_api", + "recall_ipc_types", + "tendermint-rpc", + "tracing", + "tracing-subscriber", + "url", ] [[package]] -name = "fendermint_actor_eam" -version = "0.1.0" +name = "fendermint_app_settings" +version = "0.1.2" dependencies = [ "anyhow", - "cid", - "fil_actor_eam", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", + "config 0.13.4", + "dirs", + "fendermint_vm_topdown", "fvm_ipld_encoding", "fvm_shared", - "hex-literal 0.4.1", - "log", - "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", + "ipc-observability", + "ipc-provider", + "lazy_static", + "multiaddr", + "recall_fendermint_vm_encoding", + "recall_ipc_api", + "regex", "serde", + "serde_json", + "serde_with 2.3.3", + "serial_test", + "tendermint-rpc", + "tower-http", + "tracing", ] [[package]] -name = "fendermint_actor_gas_market_eip1559" -version = "0.1.0" +name = "fendermint_contract_test" +version = "0.1.2" dependencies = [ "anyhow", + "arbitrary", + "arbtest", + "async-trait", + "byteorder", + "bytes", "cid", - "fendermint_actors_api", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", + "ethers", + "fendermint_vm_interpreter", + "fvm", "fvm_ipld_blockstore", "fvm_ipld_encoding", "fvm_shared", - "hex-literal 0.4.1", - "log", + "hex", + "lazy_static", "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", - "serde", + "rand", + "recall_fendermint_actor_gas_market_eip1559", + "recall_fendermint_actors_api", + "recall_fendermint_crypto", + "recall_fendermint_rpc", + "recall_fendermint_testing", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_core", + "recall_fendermint_vm_genesis", + "recall_fendermint_vm_message", + "recall_ipc_actors_abis", + "recall_ipc_api", + "tendermint-rpc", + "tokio", ] [[package]] -name = "fendermint_actor_machine" -version = "0.1.0" +name = "fendermint_eth_hardhat" +version = "0.1.2" dependencies = [ "anyhow", - "fil_actor_adm", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "recall_actor_sdk", - "recall_sol_facade", + "ethers-core", + "hex", "serde", + "serde_json", ] [[package]] -name = "fendermint_actor_recall_config" -version = "0.1.0" -dependencies = [ - "anyhow", - "fendermint_actor_blobs_shared", - "fendermint_actor_machine", - "fendermint_actor_recall_config_shared", - "fil_actors_evm_shared", - "fil_actors_runtime", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "num-traits", - "recall_actor_sdk", - "recall_sol_facade", - "serde", -] +name = "fendermint_graph_test" +version = "0.1.2" [[package]] -name = "fendermint_actor_recall_config_shared" -version = "0.1.0" +name = "fendermint_materializer" +version = "0.1.2" dependencies = [ - "fendermint_actor_blobs_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_encoding", + "anyhow", + "arbitrary", + "async-recursion", + "async-trait", + "bollard", + "either", + "env_logger 0.10.2", + "ethers", + "fendermint_materializer", + "fendermint_vm_interpreter", + "futures", "fvm_shared", - "num-derive 0.3.3", - "num-traits", + "hex", + "ipc-provider", + "lazy_static", + "multihash 0.18.1", + "quickcheck", + "quickcheck_async", + "quickcheck_macros", + "recall_fendermint_crypto", + "recall_fendermint_testing", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_core", + "recall_fendermint_vm_encoding", + "recall_fendermint_vm_genesis", + "recall_fendermint_vm_message", + "recall_ipc_actors_abis", + "recall_ipc_api", + "regex", "serde", + "serde_json", + "serde_with 2.3.3", + "serde_yaml", + "serial_test", + "tempfile", + "tendermint-rpc", + "tokio", + "toml 0.8.19", + "tracing", + "url", ] [[package]] -name = "fendermint_actor_timehub" -version = "0.1.0" +name = "fendermint_rocksdb" +version = "0.1.2" dependencies = [ "anyhow", "cid", - "fendermint_actor_blobs_shared", - "fendermint_actor_machine", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_amt", + "fendermint_storage", "fvm_ipld_blockstore", "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "num-derive 0.3.3", - "num-traits", - "recall_actor_sdk", - "recall_sol_facade", + "num_cpus", + "quickcheck", + "rocksdb", "serde", - "tracing", + "tempfile", + "thiserror 1.0.69", ] [[package]] -name = "fendermint_actors" -version = "0.1.0" +name = "fendermint_smoke_test" +version = "0.1.2" + +[[package]] +name = "fendermint_snapshot_test" +version = "0.1.2" + +[[package]] +name = "fendermint_storage" +version = "0.1.2" dependencies = [ - "anyhow", - "cid", - "fendermint_actor_activity_tracker", - "fendermint_actor_blob_reader", - "fendermint_actor_blobs", - "fendermint_actor_bucket", - "fendermint_actor_chainmetadata", - "fendermint_actor_eam", - "fendermint_actor_gas_market_eip1559", - "fendermint_actor_recall_config", - "fendermint_actor_timehub", - "fil_actor_bundler", - "fil_actors_runtime", - "fvm_ipld_blockstore", "fvm_ipld_encoding", - "num-traits", - "toml 0.8.19", + "im", + "quickcheck", + "quickcheck_macros", + "serde", + "thiserror 1.0.69", ] [[package]] -name = "fendermint_actors_api" -version = "0.1.0" +name = "fendermint_tracing" +version = "0.1.2" dependencies = [ - "anyhow", - "cid", - "fil_actors_evm_shared", - "fil_actors_runtime", - "frc42_dispatch", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.4.1", - "log", - "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", - "serde", + "tracing", ] [[package]] -name = "fendermint_app" -version = "0.1.0" +name = "fendermint_vm_event" +version = "0.1.2" +dependencies = [ + "strum 0.26.3", +] + +[[package]] +name = "fendermint_vm_interpreter" +version = "0.1.2" dependencies = [ "anyhow", + "arbitrary", "async-stm", - "async-tempfile", "async-trait", "base64 0.21.7", - "bytes", "cid", - "entangler", "ethers", - "fendermint_abci", - "fendermint_actor_blobs_shared", - "fendermint_actor_bucket", - "fendermint_actor_gas_market_eip1559", - "fendermint_actor_machine", - "fendermint_actor_timehub", - "fendermint_actors_api", - "fendermint_app_options", - "fendermint_app_settings", - "fendermint_crypto", - "fendermint_eth_api", - "fendermint_materializer", - "fendermint_rocksdb", - "fendermint_rpc", - "fendermint_storage", + "fendermint_eth_hardhat", "fendermint_tracing", - "fendermint_vm_actor_interface", - "fendermint_vm_core", - "fendermint_vm_encoding", "fendermint_vm_event", - "fendermint_vm_genesis", "fendermint_vm_interpreter", "fendermint_vm_iroh_resolver", - "fendermint_vm_message", "fendermint_vm_resolver", - "fendermint_vm_snapshot", "fendermint_vm_topdown", - "futures", + "futures-core", "futures-util", "fvm", "fvm_ipld_blockstore", @@ -3817,893 +3774,302 @@ dependencies = [ "fvm_ipld_encoding", "fvm_shared", "hex", - "ipc-api", "ipc-observability", - "ipc-provider", - "ipc_ipld_resolver", "iroh", "iroh-base", - "iroh_manager", - "k256 0.11.6", - "lazy_static", "libipld", - "libp2p", - "libp2p-bitswap", - "literally", - "mime_guess", - "multiaddr", + "multihash 0.18.1", "num-traits", - "openssl", - "paste", + "pin-project", "prometheus", - "prometheus_exporter", - "prost 0.11.9", "quickcheck", "quickcheck_macros", - "rand_chacha", + "rand", + "recall_executor", + "recall_fendermint_actor_activity_tracker", + "recall_fendermint_actor_blob_reader", + "recall_fendermint_actor_blobs", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_bucket", + "recall_fendermint_actor_chainmetadata", + "recall_fendermint_actor_eam", + "recall_fendermint_actor_gas_market_eip1559", + "recall_fendermint_actor_recall_config", + "recall_fendermint_actor_recall_config_shared", + "recall_fendermint_actor_timehub", + "recall_fendermint_actors", + "recall_fendermint_actors_api", + "recall_fendermint_crypto", + "recall_fendermint_rpc", + "recall_fendermint_testing", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_core", + "recall_fendermint_vm_encoding", + "recall_fendermint_vm_genesis", + "recall_fendermint_vm_message", + "recall_fil_actor_adm", + "recall_ipc_actors_abis", + "recall_ipc_api", + "recall_kernel", + "recall_merkle_tree_rs", "serde", "serde_json", "serde_with 2.3.3", - "storage", + "snap", + "strum 0.26.3", "tempfile", "tendermint 0.31.1", - "tendermint-config 0.33.2", - "tendermint-proto 0.31.1", "tendermint-rpc", "thiserror 1.0.69", "tokio", + "tokio-stream", "tokio-util 0.7.13", - "tower", - "tower-abci", "tracing", - "tracing-appender", - "tracing-subscriber", - "uuid 1.15.1", - "warp", ] [[package]] -name = "fendermint_app_options" -version = "0.1.0" +name = "fendermint_vm_iroh_resolver" +version = "0.1.2" dependencies = [ "anyhow", - "bytes", - "cid", - "clap 4.5.23", - "fendermint_materializer", - "fendermint_vm_actor_interface", - "fendermint_vm_genesis", - "fvm_ipld_encoding", - "fvm_shared", + "async-stm", + "fendermint_vm_topdown", "hex", - "ipc-api", + "im", "ipc-observability", - "ipc-types", - "lazy_static", - "num-traits", - "tendermint-rpc", + "ipc_ipld_resolver", + "iroh", + "libp2p", + "prometheus", + "rand", + "recall_ipc_api", + "serde", + "tokio", "tracing", - "tracing-subscriber", - "url", ] [[package]] -name = "fendermint_app_settings" -version = "0.1.0" +name = "fendermint_vm_resolver" +version = "0.1.2" dependencies = [ - "anyhow", - "config 0.13.4", - "dirs", - "fendermint_vm_encoding", - "fendermint_vm_topdown", - "fvm_ipld_encoding", - "fvm_shared", - "ipc-api", - "ipc-observability", - "ipc-provider", - "lazy_static", - "multiaddr", - "regex", + "async-stm", + "cid", + "im", + "ipc_ipld_resolver", + "recall_ipc_api", "serde", - "serde_json", - "serde_with 2.3.3", - "serial_test", - "tendermint-rpc", - "tower-http", + "tokio", "tracing", ] [[package]] -name = "fendermint_contract_test" -version = "0.1.0" +name = "fendermint_vm_snapshot" +version = "0.1.2" dependencies = [ "anyhow", "arbitrary", - "arbtest", - "async-trait", - "byteorder", - "bytes", + "async-stm", "cid", - "ethers", - "fendermint_actor_gas_market_eip1559", - "fendermint_actors_api", - "fendermint_crypto", - "fendermint_rpc", - "fendermint_testing", - "fendermint_vm_actor_interface", - "fendermint_vm_core", - "fendermint_vm_genesis", + "dircpy", "fendermint_vm_interpreter", - "fendermint_vm_message", + "fendermint_vm_snapshot", + "futures", "fvm", "fvm_ipld_blockstore", + "fvm_ipld_car", "fvm_ipld_encoding", "fvm_shared", - "hex", - "ipc-api", - "ipc_actors_abis", - "lazy_static", + "im", "multihash 0.18.1", - "rand", + "quickcheck", + "recall_fendermint_testing", + "recall_fendermint_vm_core", + "recall_fendermint_vm_genesis", + "serde", + "serde_json", + "sha2 0.10.8", + "tempfile", + "tendermint 0.31.1", "tendermint-rpc", + "thiserror 1.0.69", "tokio", + "tokio-util 0.7.13", + "tracing", ] [[package]] -name = "fendermint_crypto" -version = "0.1.0" -dependencies = [ - "anyhow", - "base64 0.21.7", - "libsecp256k1", - "rand", - "zeroize", -] - -[[package]] -name = "fendermint_eth_api" -version = "0.1.0" +name = "fendermint_vm_topdown" +version = "0.1.2" dependencies = [ "anyhow", + "arbitrary", + "async-stm", "async-trait", - "axum", - "cid", + "bytes", "clap 4.5.23", - "erased-serde", "ethers", - "ethers-contract", - "ethers-core", - "fendermint_crypto", - "fendermint_rpc", - "fendermint_testing", - "fendermint_vm_actor_interface", - "fendermint_vm_message", - "fil_actors_evm_shared", - "futures", + "fendermint_tracing", + "fendermint_vm_event", "fvm_ipld_encoding", "fvm_shared", "hex", - "jsonrpc-v2", - "lazy_static", - "lru_time_cache", - "paste", + "im", + "ipc-observability", + "ipc-provider", + "ipc_ipld_resolver", + "iroh-base", + "libp2p", + "num-traits", "prometheus", - "quickcheck", - "quickcheck_macros", "rand", - "regex", + "recall_fendermint_crypto", + "recall_fendermint_testing", + "recall_fendermint_vm_genesis", + "recall_ipc_actors_abis", + "recall_ipc_api", "serde", "serde_json", - "tendermint 0.31.1", "tendermint-rpc", "thiserror 1.0.69", "tokio", - "tower-http", "tracing", "tracing-subscriber", ] [[package]] -name = "fendermint_eth_hardhat" -version = "0.1.0" +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "anyhow", - "ethers-core", - "hex", - "serde", - "serde_json", + "bitvec", + "rand_core", + "subtle", ] [[package]] -name = "fendermint_graph_test" -version = "0.1.0" - -[[package]] -name = "fendermint_materializer" -version = "0.1.0" +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "anyhow", - "arbitrary", - "async-recursion", - "async-trait", - "bollard", - "either", - "env_logger 0.10.2", - "ethers", - "fendermint_crypto", - "fendermint_materializer", - "fendermint_testing", - "fendermint_vm_actor_interface", - "fendermint_vm_core", - "fendermint_vm_encoding", - "fendermint_vm_genesis", - "fendermint_vm_interpreter", - "fendermint_vm_message", - "futures", - "fvm_shared", - "hex", - "ipc-api", - "ipc-provider", - "ipc_actors_abis", - "lazy_static", - "multihash 0.18.1", - "quickcheck", - "quickcheck_async", - "quickcheck_macros", - "regex", - "serde", - "serde_json", - "serde_with 2.3.3", - "serde_yaml", - "serial_test", - "tempfile", - "tendermint-rpc", - "tokio", - "toml 0.8.19", - "tracing", - "url", + "bitvec", + "rand_core", + "subtle", ] [[package]] -name = "fendermint_rocksdb" -version = "0.1.0" -dependencies = [ - "anyhow", - "cid", - "fendermint_storage", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "num_cpus", - "quickcheck", - "rocksdb", - "serde", - "tempfile", - "thiserror 1.0.69", -] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "fendermint_rpc" -version = "0.1.0" +name = "fil_actor_bundler" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0b1448c65c9a054c640fc086e03b730919ca4feca697c34ed3bda9f16aa982f" dependencies = [ "anyhow", - "async-trait", - "base64 0.21.7", - "bytes", + "async-std", "cid", "clap 4.5.23", - "ethers", - "fendermint_actor_bucket", - "fendermint_actor_machine", - "fendermint_actor_timehub", - "fendermint_crypto", - "fendermint_vm_actor_interface", - "fendermint_vm_genesis", - "fendermint_vm_message", + "futures", + "fvm_ipld_blockstore", + "fvm_ipld_car", "fvm_ipld_encoding", - "fvm_shared", - "hex", - "lazy_static", - "prost 0.11.9", "serde", + "serde_ipld_dagcbor", "serde_json", - "tendermint 0.31.1", - "tendermint-proto 0.31.1", - "tendermint-rpc", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "fendermint_smoke_test" -version = "0.1.0" - -[[package]] -name = "fendermint_snapshot_test" -version = "0.1.0" - -[[package]] -name = "fendermint_storage" -version = "0.1.0" -dependencies = [ - "fvm_ipld_encoding", - "im", - "quickcheck", - "quickcheck_macros", - "serde", - "thiserror 1.0.69", ] [[package]] -name = "fendermint_testing" -version = "0.1.0" +name = "filecoin-hashers" +version = "13.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85413176cea16bfe171caafab023044820c0033b243b535b19116776ffd3f285" dependencies = [ - "arbitrary", - "arbtest", - "cid", - "ethers", - "fendermint_testing", - "fvm_ipld_encoding", - "fvm_shared", + "anyhow", + "bellperson", + "blstrs 0.7.1", + "ff 0.13.0", + "generic-array 0.14.7", "hex", - "ipc-api", "lazy_static", - "num-bigint", - "quickcheck", + "merkletree", + "neptune", "rand", "serde", - "serde_json", - "serde_yaml", - "toml 0.8.19", -] - -[[package]] -name = "fendermint_tracing" -version = "0.1.0" -dependencies = [ - "tracing", + "sha2 0.10.8", ] [[package]] -name = "fendermint_vm_actor_interface" -version = "0.1.0" +name = "filecoin-proofs" +version = "18.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "096b8b483f6ed5823150daf6cd22ee8e32b3dabcb4fd70dab70044e73bcab107" dependencies = [ "anyhow", - "cid", - "ethers", - "ethers-core", - "fendermint_actor_machine", - "fendermint_crypto", - "fendermint_vm_genesis", - "fil_actors_evm_shared", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_ipld_hamt", - "fvm_shared", + "bellperson", + "bincode", + "blake2b_simd", + "blstrs 0.7.1", + "ff 0.13.0", + "filecoin-hashers", + "fr32", + "generic-array 0.14.7", "hex", - "ipc-api", - "ipc_actors_abis", + "iowrap", "lazy_static", - "merkle-tree-rs", - "multihash 0.18.1", - "paste", - "quickcheck", - "quickcheck_macros", + "log", + "memmap2", + "merkletree", + "once_cell", "rand", + "rayon", "serde", - "serde_tuple", - "tracing", + "serde_json", + "sha2 0.10.8", + "storage-proofs-core", + "storage-proofs-porep", + "storage-proofs-post", + "storage-proofs-update", + "typenum", ] [[package]] -name = "fendermint_vm_core" -version = "0.1.0" +name = "filecoin-proofs-api" +version = "18.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aea8140d1e2d2ac18347e6121ee24d0e903f9cfdc2eb2ee507932e352c9e7b8" dependencies = [ - "arbitrary", - "cid", - "fnv", - "fvm_shared", + "anyhow", + "bincode", + "blstrs 0.7.1", + "filecoin-proofs", + "fr32", "lazy_static", - "quickcheck", - "quickcheck_macros", - "regex", "serde", - "thiserror 1.0.69", + "storage-proofs-core", ] [[package]] -name = "fendermint_vm_encoding" -version = "0.1.0" +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "cid", - "fvm_shared", - "ipc-api", - "num-traits", - "serde", - "serde_with 2.3.3", + "byteorder", + "rand", + "rustc-hex", + "static_assertions", ] [[package]] -name = "fendermint_vm_event" -version = "0.1.0" -dependencies = [ - "strum 0.26.3", -] - -[[package]] -name = "fendermint_vm_genesis" -version = "0.1.0" -dependencies = [ - "anyhow", - "arbitrary", - "cid", - "fendermint_actor_eam", - "fendermint_crypto", - "fendermint_testing", - "fendermint_vm_core", - "fendermint_vm_encoding", - "fendermint_vm_genesis", - "fvm_ipld_encoding", - "fvm_shared", - "hex", - "ipc-api", - "ipc-types", - "multihash 0.18.1", - "num-traits", - "quickcheck", - "quickcheck_macros", - "rand", - "serde", - "serde_json", - "serde_with 2.3.3", - "tendermint 0.31.1", -] - -[[package]] -name = "fendermint_vm_interpreter" -version = "0.1.0" -dependencies = [ - "anyhow", - "arbitrary", - "async-stm", - "async-trait", - "base64 0.21.7", - "cid", - "ethers", - "fendermint_actor_activity_tracker", - "fendermint_actor_blob_reader", - "fendermint_actor_blobs", - "fendermint_actor_blobs_shared", - "fendermint_actor_bucket", - "fendermint_actor_chainmetadata", - "fendermint_actor_eam", - "fendermint_actor_gas_market_eip1559", - "fendermint_actor_recall_config", - "fendermint_actor_recall_config_shared", - "fendermint_actor_timehub", - "fendermint_actors", - "fendermint_actors_api", - "fendermint_crypto", - "fendermint_eth_hardhat", - "fendermint_rpc", - "fendermint_testing", - "fendermint_tracing", - "fendermint_vm_actor_interface", - "fendermint_vm_core", - "fendermint_vm_encoding", - "fendermint_vm_event", - "fendermint_vm_genesis", - "fendermint_vm_interpreter", - "fendermint_vm_iroh_resolver", - "fendermint_vm_message", - "fendermint_vm_resolver", - "fendermint_vm_topdown", - "fil_actor_adm", - "futures-core", - "futures-util", - "fvm", - "fvm_ipld_blockstore", - "fvm_ipld_car", - "fvm_ipld_encoding", - "fvm_shared", - "hex", - "ipc-api", - "ipc-observability", - "ipc_actors_abis", - "iroh", - "iroh-base", - "libipld", - "merkle-tree-rs", - "multihash 0.18.1", - "num-traits", - "pin-project", - "prometheus", - "quickcheck", - "quickcheck_macros", - "rand", - "recall_executor", - "recall_kernel", - "serde", - "serde_json", - "serde_with 2.3.3", - "snap", - "strum 0.26.3", - "tempfile", - "tendermint 0.31.1", - "tendermint-rpc", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util 0.7.13", - "tracing", -] - -[[package]] -name = "fendermint_vm_iroh_resolver" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-stm", - "fendermint_vm_topdown", - "hex", - "im", - "ipc-api", - "ipc-observability", - "ipc_ipld_resolver", - "iroh", - "libp2p", - "prometheus", - "rand", - "serde", - "tokio", - "tracing", -] - -[[package]] -name = "fendermint_vm_message" -version = "0.1.0" -dependencies = [ - "anyhow", - "arbitrary", - "blake2b_simd", - "cid", - "ethers", - "ethers-core", - "fendermint_actor_blobs_shared", - "fendermint_crypto", - "fendermint_testing", - "fendermint_vm_actor_interface", - "fendermint_vm_encoding", - "fendermint_vm_message", - "fvm_ipld_encoding", - "fvm_shared", - "hex", - "ipc-api", - "iroh-base", - "lazy_static", - "num-traits", - "quickcheck", - "quickcheck_macros", - "rand", - "serde", - "serde_tuple", - "serde_with 2.3.3", - "thiserror 1.0.69", -] - -[[package]] -name = "fendermint_vm_resolver" -version = "0.1.0" -dependencies = [ - "async-stm", - "cid", - "im", - "ipc-api", - "ipc_ipld_resolver", - "serde", - "tokio", - "tracing", -] - -[[package]] -name = "fendermint_vm_snapshot" -version = "0.1.0" -dependencies = [ - "anyhow", - "arbitrary", - "async-stm", - "cid", - "dircpy", - "fendermint_testing", - "fendermint_vm_core", - "fendermint_vm_genesis", - "fendermint_vm_interpreter", - "fendermint_vm_snapshot", - "futures", - "fvm", - "fvm_ipld_blockstore", - "fvm_ipld_car", - "fvm_ipld_encoding", - "fvm_shared", - "im", - "multihash 0.18.1", - "quickcheck", - "serde", - "serde_json", - "sha2 0.10.8", - "tempfile", - "tendermint 0.31.1", - "tendermint-rpc", - "thiserror 1.0.69", - "tokio", - "tokio-util 0.7.13", - "tracing", -] - -[[package]] -name = "fendermint_vm_topdown" -version = "0.1.0" -dependencies = [ - "anyhow", - "arbitrary", - "async-stm", - "async-trait", - "bytes", - "clap 4.5.23", - "ethers", - "fendermint_crypto", - "fendermint_testing", - "fendermint_tracing", - "fendermint_vm_event", - "fendermint_vm_genesis", - "fvm_ipld_encoding", - "fvm_shared", - "hex", - "im", - "ipc-api", - "ipc-observability", - "ipc-provider", - "ipc_actors_abis", - "ipc_ipld_resolver", - "iroh-base", - "libp2p", - "num-traits", - "prometheus", - "rand", - "serde", - "serde_json", - "tendermint-rpc", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "bitvec", - "rand_core", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "fil_actor_adm" -version = "15.0.0-rc1" -dependencies = [ - "anyhow", - "cid", - "fil_actors_runtime", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.3.4", - "integer-encoding", - "log", - "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", - "recall_sol_facade", - "serde", -] - -[[package]] -name = "fil_actor_bundler" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0b1448c65c9a054c640fc086e03b730919ca4feca697c34ed3bda9f16aa982f" -dependencies = [ - "anyhow", - "async-std", - "cid", - "clap 4.5.23", - "futures", - "fvm_ipld_blockstore", - "fvm_ipld_car", - "fvm_ipld_encoding", - "serde", - "serde_ipld_dagcbor", - "serde_json", -] - -[[package]] -name = "fil_actor_eam" -version = "15.0.0-rc1" -dependencies = [ - "anyhow", - "cid", - "fil_actors_evm_shared", - "fil_actors_runtime", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_shared", - "hex-literal 0.3.4", - "log", - "multihash 0.18.1", - "num-derive 0.3.3", - "num-traits", - "rlp", - "serde", -] - -[[package]] -name = "fil_actors_evm_shared" -version = "15.0.0-rc1" -dependencies = [ - "fil_actors_runtime", - "fvm_ipld_encoding", - "fvm_shared", - "hex", - "serde", - "uint", -] - -[[package]] -name = "fil_actors_runtime" -version = "15.0.0-rc1" -dependencies = [ - "anyhow", - "base64 0.21.7", - "blake2b_simd", - "byteorder", - "castaway", - "cid", - "fvm_ipld_amt", - "fvm_ipld_bitfield", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_ipld_hamt", - "fvm_sdk", - "fvm_shared", - "hex", - "integer-encoding", - "itertools 0.10.5", - "lazy_static", - "libsecp256k1", - "log", - "multihash 0.18.1", - "num", - "num-derive 0.3.3", - "num-traits", - "paste", - "pretty_env_logger", - "rand", - "regex", - "serde", - "serde_repr", - "sha2 0.10.8", - "thiserror 1.0.69", - "unsigned-varint 0.7.2", - "vm_api", -] - -[[package]] -name = "filecoin-hashers" -version = "13.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85413176cea16bfe171caafab023044820c0033b243b535b19116776ffd3f285" -dependencies = [ - "anyhow", - "bellperson", - "blstrs 0.7.1", - "ff 0.13.0", - "generic-array 0.14.7", - "hex", - "lazy_static", - "merkletree", - "neptune", - "rand", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "filecoin-proofs" -version = "18.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "096b8b483f6ed5823150daf6cd22ee8e32b3dabcb4fd70dab70044e73bcab107" -dependencies = [ - "anyhow", - "bellperson", - "bincode", - "blake2b_simd", - "blstrs 0.7.1", - "ff 0.13.0", - "filecoin-hashers", - "fr32", - "generic-array 0.14.7", - "hex", - "iowrap", - "lazy_static", - "log", - "memmap2", - "merkletree", - "once_cell", - "rand", - "rayon", - "serde", - "serde_json", - "sha2 0.10.8", - "storage-proofs-core", - "storage-proofs-porep", - "storage-proofs-post", - "storage-proofs-update", - "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", - "blstrs 0.7.1", - "filecoin-proofs", - "fr32", - "lazy_static", - "serde", - "storage-proofs-core", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixedbitset" @@ -4812,39 +4178,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "frc42_dispatch" -version = "8.0.0" -dependencies = [ - "frc42_hasher", - "frc42_macros", - "fvm_ipld_encoding", - "fvm_sdk", - "fvm_shared", - "thiserror 1.0.69", -] - -[[package]] -name = "frc42_hasher" -version = "6.0.0" -dependencies = [ - "fvm_sdk", - "fvm_shared", - "thiserror 1.0.69", -] - -[[package]] -name = "frc42_macros" -version = "6.0.0" -dependencies = [ - "blake2b_simd", - "frc42_hasher", - "proc-macro2", - "quote", - "syn 1.0.109", - "trybuild", -] - [[package]] name = "fs2" version = "0.4.3" @@ -5060,15 +4393,15 @@ dependencies = [ [[package]] name = "fvm" -version = "4.4.4" +version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2bc545e9b8a6c4e08ec78c712469c542b3e9310ae3091c1b60ddb48e20862b" +checksum = "f1cffe3c513337263e8f07825f1f3e4749a3a16e239af144c12314e912920d63" dependencies = [ "ambassador 0.4.1", "anyhow", "arbitrary", "cid", - "derive_more", + "derive_more 0.99.19", "filecoin-proofs-api", "fvm-wasm-instrument", "fvm_ipld_amt", @@ -5091,6 +4424,7 @@ dependencies = [ "thiserror 1.0.69", "wasmtime", "wasmtime-environ", + "wasmtime-runtime", "yastl", ] @@ -5103,7 +4437,7 @@ dependencies = [ "anyhow", "wasm-encoder 0.20.0", "wasmparser 0.95.0", - "wasmprinter 0.2.80", + "wasmprinter", ] [[package]] @@ -5199,9 +4533,9 @@ dependencies = [ [[package]] name = "fvm_sdk" -version = "4.4.4" +version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2df521d41de41c34ac712720abdd6e29e68e3ed922554db70dbf8bc49a82b7" +checksum = "7e53061f4d51562b90fb3fe9be7a3ab9650a9bd8f08cc6b48d25e6bfe052a21b" dependencies = [ "cid", "fvm_ipld_encoding", @@ -5214,9 +4548,9 @@ dependencies = [ [[package]] name = "fvm_shared" -version = "4.4.4" +version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7838d3fc1eeeb47c7a8e32bdc3b37e6d806ac261cb96e38f15b503df671648" +checksum = "9d3355d3bd2eb159a734a06d67dbb21b067a99540f5aefaf7d0d26503ccc73e3" dependencies = [ "anyhow", "arbitrary", @@ -5239,7 +4573,7 @@ dependencies = [ "serde", "serde_tuple", "thiserror 1.0.69", - "unsigned-varint 0.8.0", + "unsigned-varint 0.7.2", ] [[package]] @@ -5363,9 +4697,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" dependencies = [ "fallible-iterator", "indexmap 2.7.0", @@ -5501,6 +4835,15 @@ dependencies = [ "ahash 0.7.8", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.11", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -5508,7 +4851,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.11", - "serde", ] [[package]] @@ -6207,12 +5549,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "id-arena" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" - [[package]] name = "ident_case" version = "1.0.1" @@ -6474,39 +5810,9 @@ dependencies = [ "memchr", ] -[[package]] -name = "ipc-api" -version = "0.1.0" -dependencies = [ - "anyhow", - "cid", - "ethers", - "fil_actors_runtime", - "fnv", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_ipld_hamt", - "fvm_shared", - "integer-encoding", - "ipc-types", - "ipc_actors_abis", - "lazy_static", - "log", - "merkle-tree-rs", - "num-traits", - "num_enum", - "serde", - "serde_json", - "serde_tuple", - "serde_with 2.3.3", - "strum 0.26.3", - "thiserror 1.0.69", - "tracing", -] - [[package]] name = "ipc-cli" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "async-channel 1.9.0", @@ -6519,14 +5825,11 @@ dependencies = [ "env_logger 0.10.2", "ethers", "ethers-contract", - "fil_actors_runtime", "futures-util", "fvm_ipld_encoding", "fvm_shared", "hex", - "ipc-api", "ipc-provider", - "ipc-types", "ipc-wallet", "libsecp256k1", "log", @@ -6536,6 +5839,9 @@ dependencies = [ "openssl", "prometheus", "prometheus_exporter", + "recall_fil_actors_runtime", + "recall_ipc_api", + "recall_ipc_types", "reqwest 0.11.27", "serde", "serde_bytes", @@ -6553,7 +5859,7 @@ dependencies = [ [[package]] name = "ipc-observability" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "hex", @@ -6569,7 +5875,7 @@ dependencies = [ [[package]] name = "ipc-provider" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "async-channel 1.9.0", @@ -6580,24 +5886,24 @@ dependencies = [ "dirs", "ethers", "ethers-contract", - "fil_actors_runtime", "futures-util", "fvm_ipld_encoding", "fvm_shared", "hex", "http 0.2.12", "indoc", - "ipc-api", "ipc-observability", - "ipc-types", "ipc-wallet", - "ipc_actors_abis", "libsecp256k1", "log", - "merkle-tree-rs", "num-derive 0.3.3", "num-traits", "prometheus", + "recall_fil_actors_runtime", + "recall_ipc_actors_abis", + "recall_ipc_api", + "recall_ipc_types", + "recall_merkle_tree_rs", "reqwest 0.11.27", "serde", "serde_bytes", @@ -6616,32 +5922,9 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ipc-types" -version = "0.1.0" -dependencies = [ - "anyhow", - "cid", - "fvm_ipld_amt", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_ipld_hamt", - "fvm_shared", - "hex", - "indexmap 1.9.3", - "integer-encoding", - "lazy_static", - "log", - "num-derive 0.3.3", - "num-traits", - "serde", - "thiserror 1.0.69", - "uint", -] - [[package]] name = "ipc-wallet" -version = "0.1.0" +version = "0.1.2" dependencies = [ "ahash 0.8.11", "anyhow", @@ -6652,35 +5935,26 @@ dependencies = [ "ethers", "fvm_shared", "hex", - "ipc-types", "libc", "libsecp256k1", "log", "quickcheck", "quickcheck_macros", "rand", + "recall_ipc_types", "serde", "serde_ipld_dagcbor", - "serde_json", - "tempfile", - "thiserror 1.0.69", - "tokio", - "xsalsa20poly1305", - "zeroize", -] - -[[package]] -name = "ipc_actors_abis" -version = "0.1.0" -dependencies = [ - "anyhow", - "ethers", - "fvm_shared", + "serde_json", + "tempfile", + "thiserror 1.0.69", + "tokio", + "xsalsa20poly1305", + "zeroize", ] [[package]] name = "ipc_ipld_resolver" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "async-trait", @@ -6696,7 +5970,6 @@ dependencies = [ "fvm_shared", "gcra", "hex", - "ipc-api", "ipc-observability", "ipc_ipld_resolver", "iroh", @@ -6715,6 +5988,7 @@ dependencies = [ "quickcheck", "quickcheck_macros", "rand", + "recall_ipc_api", "serde", "serde_json", "thiserror 1.0.69", @@ -6749,7 +6023,7 @@ dependencies = [ "async-channel 2.3.1", "bao-tree", "bytes", - "derive_more", + "derive_more 1.0.0", "futures-buffered", "futures-lite 2.5.0", "futures-util", @@ -6796,7 +6070,7 @@ dependencies = [ "anyhow", "crypto_box", "data-encoding", - "derive_more", + "derive_more 1.0.0", "ed25519-dalek", "getrandom 0.2.15", "hex", @@ -6838,7 +6112,7 @@ dependencies = [ "bao-tree", "bytes", "chrono", - "derive_more", + "derive_more 1.0.0", "futures-buffered", "futures-lite 2.5.0", "genawaiter", @@ -6881,7 +6155,7 @@ dependencies = [ "anyhow", "async-channel 2.3.1", "bytes", - "derive_more", + "derive_more 1.0.0", "ed25519-dalek", "futures-buffered", "futures-lite 2.5.0", @@ -6921,7 +6195,7 @@ dependencies = [ "anyhow", "async-channel 2.3.1", "bytes", - "derive_more", + "derive_more 1.0.0", "ed25519-dalek", "futures-concurrency", "futures-lite 2.5.0", @@ -6991,7 +6265,7 @@ dependencies = [ "base64 0.22.1", "bytes", "der 0.7.9", - "derive_more", + "derive_more 1.0.0", "duct", "futures-buffered", "futures-concurrency", @@ -7127,7 +6401,7 @@ dependencies = [ [[package]] name = "iroh_manager" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "iroh", @@ -7459,7 +6733,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -7621,2788 +6895,3539 @@ dependencies = [ "quick-protobuf", "quick-protobuf-codec 0.3.1", "rand", - "regex", - "serde", - "sha2 0.10.8", + "regex", + "serde", + "sha2 0.10.8", + "smallvec", + "tracing", + "void", +] + +[[package]] +name = "libp2p-identify" +version = "0.44.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +dependencies = [ + "asynchronous-codec 0.7.0", + "either", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "lru", + "quick-protobuf", + "quick-protobuf-codec 0.3.1", + "smallvec", + "thiserror 1.0.69", + "tracing", + "void", +] + +[[package]] +name = "libp2p-identity" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "hkdf", + "libsecp256k1", + "multihash 0.19.2", + "quick-protobuf", + "rand", + "ring 0.17.8", + "serde", + "sha2 0.10.8", + "thiserror 1.0.69", + "tracing", + "zeroize", +] + +[[package]] +name = "libp2p-kad" +version = "0.45.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" +dependencies = [ + "arrayvec 0.7.6", + "asynchronous-codec 0.7.0", + "bytes", + "either", + "fnv", + "futures", + "futures-bounded", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "quick-protobuf", + "quick-protobuf-codec 0.3.1", + "rand", + "serde", + "sha2 0.10.8", + "smallvec", + "thiserror 1.0.69", + "tracing", + "uint", + "void", +] + +[[package]] +name = "libp2p-mdns" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2" +dependencies = [ + "async-io 2.4.0", + "async-std", + "data-encoding", + "futures", + "hickory-proto 0.24.1", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand", + "smallvec", + "socket2 0.5.8", + "tokio", + "tracing", + "void", +] + +[[package]] +name = "libp2p-metrics" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +dependencies = [ + "futures", + "instant", + "libp2p-core", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-identity", + "libp2p-kad", + "libp2p-ping", + "libp2p-swarm", + "pin-project", + "prometheus-client", +] + +[[package]] +name = "libp2p-mplex" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e895765e27e30217b25f7cb7ac4686dad1ff80bf2fdeffd1d898566900a924" +dependencies = [ + "asynchronous-codec 0.6.2", + "bytes", + "futures", + "libp2p-core", + "libp2p-identity", + "nohash-hasher", + "parking_lot", + "rand", + "smallvec", + "tracing", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "libp2p-noise" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecd0545ce077f6ea5434bcb76e8d0fe942693b4380aaad0d34a358c2bd05793" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "curve25519-dalek", + "futures", + "libp2p-core", + "libp2p-identity", + "multiaddr", + "multihash 0.19.2", + "once_cell", + "quick-protobuf", + "rand", + "sha2 0.10.8", + "snow", + "static_assertions", + "thiserror 1.0.69", + "tracing", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-ping" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1de5a6cf64fba7f7e8f2102711c9c6c043a8e56b86db8cd306492c517da3fb3" +dependencies = [ + "either", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand", + "tracing", + "void", +] + +[[package]] +name = "libp2p-plaintext" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67330af40b67217e746d42551913cfb7ad04c74fa300fb329660a56318590b3f" +dependencies = [ + "asynchronous-codec 0.6.2", + "bytes", + "futures", + "libp2p-core", + "libp2p-identity", + "quick-protobuf", + "quick-protobuf-codec 0.2.0", + "tracing", +] + +[[package]] +name = "libp2p-quic" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c67296ad4e092e23f92aea3d2bdb6f24eab79c0929ed816dfb460ea2f4567d2b" +dependencies = [ + "async-std", + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core", + "libp2p-identity", + "libp2p-tls", + "parking_lot", + "quinn", + "rand", + "ring 0.17.8", + "rustls 0.23.19", + "socket2 0.5.8", + "thiserror 1.0.69", + "tokio", + "tracing", +] + +[[package]] +name = "libp2p-request-response" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c314fe28368da5e3a262553fb0ad575c1c8934c461e10de10265551478163836" +dependencies = [ + "async-trait", + "futures", + "futures-bounded", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "rand", "smallvec", "tracing", "void", ] [[package]] -name = "libp2p-identify" +name = "libp2p-swarm" version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" dependencies = [ - "asynchronous-codec 0.7.0", + "async-std", "either", + "fnv", "futures", - "futures-bounded", "futures-timer", + "instant", "libp2p-core", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm-derive", "lru", - "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "multistream-select", + "once_cell", + "rand", "smallvec", - "thiserror 1.0.69", + "tokio", "tracing", "void", ] [[package]] -name = "libp2p-identity" -version = "0.2.10" +name = "libp2p-swarm-derive" +version = "0.34.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" +checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "hkdf", - "libsecp256k1", - "multihash 0.19.2", - "quick-protobuf", - "rand", - "ring 0.17.8", - "serde", - "sha2 0.10.8", - "thiserror 1.0.69", - "tracing", - "zeroize", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "libp2p-kad" -version = "0.45.3" +name = "libp2p-tcp" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" +checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c" dependencies = [ - "arrayvec 0.7.6", - "asynchronous-codec 0.7.0", - "bytes", - "either", - "fnv", + "async-io 1.13.0", "futures", - "futures-bounded", "futures-timer", - "instant", + "if-watch", + "libc", "libp2p-core", "libp2p-identity", - "libp2p-swarm", - "quick-protobuf", - "quick-protobuf-codec 0.3.1", - "rand", - "serde", - "sha2 0.10.8", - "smallvec", - "thiserror 1.0.69", + "socket2 0.5.8", + "tokio", "tracing", - "uint", - "void", ] [[package]] -name = "libp2p-mdns" -version = "0.45.1" +name = "libp2p-tls" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2" +checksum = "72b7b831e55ce2aa6c354e6861a85fdd4dd0a2b97d5e276fabac0e4810a71776" dependencies = [ - "async-io 2.4.0", - "async-std", - "data-encoding", "futures", - "hickory-proto 0.24.1", - "if-watch", + "futures-rustls", "libp2p-core", "libp2p-identity", + "rcgen 0.11.3", + "ring 0.17.8", + "rustls 0.23.19", + "rustls-webpki 0.101.7", + "thiserror 1.0.69", + "x509-parser", + "yasna", +] + +[[package]] +name = "libp2p-upnp" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccf04b0e3ff3de52d07d5fd6c3b061d0e7f908ffc683c32d9638caedce86fc8" +dependencies = [ + "futures", + "futures-timer", + "igd-next 0.14.3", + "libp2p-core", "libp2p-swarm", - "rand", - "smallvec", - "socket2 0.5.8", "tokio", "tracing", "void", ] [[package]] -name = "libp2p-metrics" -version = "0.14.1" +name = "libp2p-yamux" +version = "0.45.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +checksum = "ddd5265f6b80f94d48a3963541aad183cc598a645755d2f1805a373e41e0716b" dependencies = [ + "either", "futures", - "instant", "libp2p-core", - "libp2p-gossipsub", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-ping", - "libp2p-swarm", - "pin-project", - "prometheus-client", + "thiserror 1.0.69", + "tracing", + "yamux 0.12.1", + "yamux 0.13.4", +] + +[[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 = "librocksdb-sys" +version = "0.11.0+8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "lz4-sys", + "zstd-sys", +] + +[[package]] +name = "libsecp256k1" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +dependencies = [ + "arrayref", + "base64 0.13.1", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand", + "serde", + "sha2 0.9.9", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libz-sys" +version = "1.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "literally" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d2be3f5a0d4d5c983d1f8ecc2a87676a0875a14feb9eebf0675f7c3e2f3c35" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", ] [[package]] -name = "libp2p-mplex" -version = "0.41.0" +name = "log" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e895765e27e30217b25f7cb7ac4686dad1ff80bf2fdeffd1d898566900a924" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" dependencies = [ - "asynchronous-codec 0.6.2", - "bytes", - "futures", - "libp2p-core", - "libp2p-identity", - "nohash-hasher", - "parking_lot", - "rand", - "smallvec", - "tracing", - "unsigned-varint 0.7.2", + "value-bag", ] [[package]] -name = "libp2p-noise" -version = "0.44.0" +name = "loom" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecd0545ce077f6ea5434bcb76e8d0fe942693b4380aaad0d34a358c2bd05793" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" dependencies = [ - "asynchronous-codec 0.7.0", - "bytes", - "curve25519-dalek", - "futures", - "libp2p-core", - "libp2p-identity", - "multiaddr", - "multihash 0.19.2", - "once_cell", - "quick-protobuf", - "rand", - "sha2 0.10.8", - "snow", - "static_assertions", - "thiserror 1.0.69", + "cfg-if", + "generator", + "scoped-tls", "tracing", - "x25519-dalek", - "zeroize", + "tracing-subscriber", ] [[package]] -name = "libp2p-ping" -version = "0.44.1" +name = "lru" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1de5a6cf64fba7f7e8f2102711c9c6c043a8e56b86db8cd306492c517da3fb3" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "either", - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "rand", - "tracing", - "void", + "hashbrown 0.15.2", ] [[package]] -name = "libp2p-plaintext" -version = "0.41.0" +name = "lru-cache" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67330af40b67217e746d42551913cfb7ad04c74fa300fb329660a56318590b3f" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" dependencies = [ - "asynchronous-codec 0.6.2", - "bytes", - "futures", - "libp2p-core", - "libp2p-identity", - "quick-protobuf", - "quick-protobuf-codec 0.2.0", - "tracing", + "linked-hash-map", ] [[package]] -name = "libp2p-quic" -version = "0.10.3" +name = "lru_time_cache" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c67296ad4e092e23f92aea3d2bdb6f24eab79c0929ed816dfb460ea2f4567d2b" +checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" + +[[package]] +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ - "async-std", - "bytes", - "futures", - "futures-timer", - "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-tls", - "parking_lot", - "quinn", - "rand", - "ring 0.17.8", - "rustls 0.23.19", - "socket2 0.5.8", - "thiserror 1.0.69", - "tokio", - "tracing", + "cc", + "libc", ] [[package]] -name = "libp2p-request-response" -version = "0.26.3" +name = "mach" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c314fe28368da5e3a262553fb0ad575c1c8934c461e10de10265551478163836" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" dependencies = [ - "async-trait", - "futures", - "futures-bounded", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm", - "rand", - "smallvec", - "tracing", - "void", + "libc", ] [[package]] -name = "libp2p-swarm" -version = "0.44.2" +name = "mainline" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" +checksum = "2b751ffb57303217bcae8f490eee6044a5b40eadf6ca05ff476cad37e7b7970d" dependencies = [ - "async-std", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-identity", - "libp2p-swarm-derive", + "bytes", + "crc", + "ed25519-dalek", + "flume 0.11.1", "lru", - "multistream-select", - "once_cell", "rand", - "smallvec", - "tokio", + "serde", + "serde_bencode", + "serde_bytes", + "sha1_smol", + "thiserror 1.0.69", "tracing", - "void", ] [[package]] -name = "libp2p-swarm-derive" -version = "0.34.2" +name = "match_cfg" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" [[package]] -name = "libp2p-tcp" -version = "0.41.0" +name = "matchers" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "async-io 1.13.0", - "futures", - "futures-timer", - "if-watch", - "libc", - "libp2p-core", - "libp2p-identity", - "socket2 0.5.8", - "tokio", - "tracing", + "regex-automata 0.1.10", ] [[package]] -name = "libp2p-tls" -version = "0.4.1" +name = "matchit" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b7b831e55ce2aa6c354e6861a85fdd4dd0a2b97d5e276fabac0e4810a71776" -dependencies = [ - "futures", - "futures-rustls", - "libp2p-core", - "libp2p-identity", - "rcgen 0.11.3", - "ring 0.17.8", - "rustls 0.23.19", - "rustls-webpki 0.101.7", - "thiserror 1.0.69", - "x509-parser", - "yasna", -] +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "libp2p-upnp" -version = "0.2.2" +name = "md-5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccf04b0e3ff3de52d07d5fd6c3b061d0e7f908ffc683c32d9638caedce86fc8" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "futures", - "futures-timer", - "igd-next 0.14.3", - "libp2p-core", - "libp2p-swarm", - "tokio", - "tracing", - "void", + "cfg-if", + "digest 0.10.7", ] [[package]] -name = "libp2p-yamux" -version = "0.45.2" +name = "md5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd5265f6b80f94d48a3963541aad183cc598a645755d2f1805a373e41e0716b" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + +[[package]] +name = "memalloc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memfd" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "either", - "futures", - "libp2p-core", - "thiserror 1.0.69", - "tracing", - "yamux 0.12.1", - "yamux 0.13.4", + "rustix 0.38.41", ] [[package]] -name = "libredox" -version = "0.1.3" +name = "memmap2" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ - "bitflags 2.6.0", "libc", ] [[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" +name = "memoffset" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "lz4-sys", - "zstd-sys", + "autocfg", ] [[package]] -name = "libsecp256k1" -version = "0.7.1" +name = "merkletree" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +checksum = "4a0ed8c0ce1e281870da29266398541a0dbab168f5fb5fd36d7ef2bbdbf808a3" dependencies = [ + "anyhow", "arrayref", - "base64 0.13.1", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand", + "log", + "memmap2", + "positioned-io", + "rayon", "serde", - "sha2 0.9.9", + "tempfile", "typenum", ] [[package]] -name = "libsecp256k1-core" -version = "0.3.0" +name = "mime" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" +name = "mime_guess" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ - "libsecp256k1-core", + "mime", + "unicase", ] [[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" -dependencies = [ - "libsecp256k1-core", -] +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "libz-sys" -version = "1.1.20" +name = "miniz_oxide" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "cc", - "pkg-config", - "vcpkg", + "adler2", ] [[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "litemap" -version = "0.7.4" +name = "minstant" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "1fb9b5c752f145ac5046bccc3c4f62892e3c950c1d1eab80c5949cd68a2078db" +dependencies = [ + "ctor", + "web-time", +] [[package]] -name = "literally" -version = "0.1.3" +name = "mio" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d2be3f5a0d4d5c983d1f8ecc2a87676a0875a14feb9eebf0675f7c3e2f3c35" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] [[package]] -name = "litrs" -version = "0.4.1" +name = "multer" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" +checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http 0.2.12", + "httparse", + "log", + "memchr", + "mime", + "spin 0.9.8", + "version_check", +] [[package]] -name = "lock_api" -version = "0.4.12" +name = "multiaddr" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ - "autocfg", - "scopeguard", + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.2", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.8.0", + "url", ] [[package]] -name = "log" -version = "0.4.25" +name = "multibase" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" dependencies = [ - "value-bag", + "base-x", + "data-encoding", + "data-encoding-macro", ] [[package]] -name = "loom" -version = "0.5.6" +name = "multihash" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", + "arbitrary", + "blake2b_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive", + "quickcheck", + "rand", + "ripemd", + "serde", + "serde-big-array", + "sha2 0.10.8", + "sha3", + "unsigned-varint 0.7.2", ] [[package]] -name = "lru" -version = "0.12.5" +name = "multihash" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" dependencies = [ - "hashbrown 0.15.2", + "core2", + "serde", + "unsigned-varint 0.8.0", ] [[package]] -name = "lru-cache" -version = "0.1.2" +name = "multihash-derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "linked-hash-map", + "proc-macro-crate 1.1.3", + "proc-macro-error 1.0.4", + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure 0.12.6", ] [[package]] -name = "lru_time_cache" -version = "0.11.11" +name = "multimap" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] -name = "lz4-sys" -version = "1.11.1+lz4-1.10.0" +name = "multistream-select" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ - "cc", - "libc", + "bytes", + "futures", + "log", + "pin-project", + "smallvec", + "unsigned-varint 0.7.2", ] [[package]] -name = "mach2" -version = "0.4.2" +name = "nanorand" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "libc", + "getrandom 0.2.15", ] [[package]] -name = "mainline" -version = "2.0.1" +name = "native-tls" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b751ffb57303217bcae8f490eee6044a5b40eadf6ca05ff476cad37e7b7970d" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "bytes", - "crc", - "ed25519-dalek", - "flume 0.11.1", - "lru", - "rand", - "serde", - "serde_bencode", - "serde_bytes", - "sha1_smol", - "thiserror 1.0.69", - "tracing", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", ] [[package]] -name = "match_cfg" -version = "0.1.0" +name = "neptune" +version = "11.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +checksum = "7eaa7f90368545907dce7d5652a78f96a77d1e97019b230edbf54ce2440d5698" +dependencies = [ + "bellpepper", + "bellpepper-core", + "blake2s_simd 0.5.11", + "blstrs 0.7.1", + "byteorder", + "ff 0.13.0", + "generic-array 0.14.7", + "itertools 0.8.2", + "log", + "pasta_curves", + "serde", + "trait-set", +] [[package]] -name = "matchers" +name = "nested_enum_utils" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" dependencies = [ - "regex-automata 0.1.10", + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "md-5" -version = "0.10.6" +name = "netdev" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" dependencies = [ - "cfg-if", - "digest 0.10.7", + "dlopen2", + "libc", + "memalloc", + "netlink-packet-core", + "netlink-packet-route", + "netlink-sys", + "once_cell", + "system-configuration 0.6.1", + "windows-sys 0.52.0", ] [[package]] -name = "md5" +name = "netlink-packet-core" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" +dependencies = [ + "anyhow", + "byteorder", + "netlink-packet-utils", +] [[package]] -name = "memalloc" -version = "0.1.0" +name = "netlink-packet-route" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" +checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", +] [[package]] -name = "memchr" -version = "2.7.4" +name = "netlink-packet-utils" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +dependencies = [ + "anyhow", + "byteorder", + "paste", + "thiserror 1.0.69", +] [[package]] -name = "memfd" -version = "0.6.4" +name = "netlink-proto" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +checksum = "86b33524dc0968bfad349684447bfce6db937a9ac3332a1fe60c0c5a5ce63f21" dependencies = [ - "rustix 0.38.41", + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror 1.0.69", + "tokio", ] [[package]] -name = "memmap2" -version = "0.5.10" +name = "netlink-sys" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" dependencies = [ + "async-io 1.13.0", + "bytes", + "futures", "libc", + "log", + "tokio", ] [[package]] -name = "merkle-tree-rs" +name = "netwatch" version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" dependencies = [ "anyhow", - "ethers", - "render-tree", + "bytes", + "derive_more 1.0.0", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route", + "netlink-sys", + "once_cell", + "rtnetlink", "serde", - "serde_json", + "socket2 0.5.8", "thiserror 1.0.69", + "time", + "tokio", + "tracing", + "windows 0.51.1", + "wmi", ] [[package]] -name = "merkletree" -version = "0.23.0" +name = "new_debug_unreachable" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ed8c0ce1e281870da29266398541a0dbab168f5fb5fd36d7ef2bbdbf808a3" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "anyhow", - "arrayref", - "log", - "memmap2", - "positioned-io", - "rayon", - "serde", - "tempfile", - "typenum", + "bitflags 1.3.2", + "cfg-if", + "libc", ] [[package]] -name = "mime" -version = "0.3.17" +name = "no-std-compat" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" [[package]] -name = "mime_guess" -version = "2.0.5" +name = "no-std-net" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] +checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "nohash-hasher" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] -name = "miniz_oxide" -version = "0.8.0" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "adler2", + "memchr", + "minimal-lexical", ] [[package]] -name = "minstant" -version = "0.1.7" +name = "nonzero_ext" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb9b5c752f145ac5046bccc3c4f62892e3c950c1d1eab80c5949cd68a2078db" -dependencies = [ - "ctor", - "web-time", -] +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] -name = "mio" -version = "1.0.3" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "overload", + "winapi", ] [[package]] -name = "multer" -version = "2.1.0" +name = "num" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http 0.2.12", - "httparse", - "log", - "memchr", - "mime", - "spin 0.9.8", - "version_check", + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] -name = "multiaddr" -version = "0.18.2" +name = "num-bigint" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash 0.19.2", - "percent-encoding", + "arbitrary", + "num-integer", + "num-traits", + "quickcheck", "serde", - "static_assertions", - "unsigned-varint 0.8.0", - "url", ] [[package]] -name = "multibase" -version = "0.9.1" +name = "num-bigint-dig" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "smallvec", + "zeroize", ] [[package]] -name = "multihash" -version = "0.18.1" +name = "num-complex" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "arbitrary", - "blake2b_simd", - "blake3", - "core2", - "digest 0.10.7", - "multihash-derive", - "quickcheck", - "rand", - "ripemd", + "num-traits", "serde", - "serde-big-array", - "sha2 0.10.8", - "sha3", - "unsigned-varint 0.7.2", ] [[package]] -name = "multihash" -version = "0.19.2" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "core2", - "serde", - "unsigned-varint 0.8.0", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "multihash-derive" -version = "0.8.1" +name = "num-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro-crate 1.1.3", - "proc-macro-error 1.0.4", "proc-macro2", "quote", - "syn 1.0.109", - "synstructure 0.12.6", + "syn 2.0.98", ] [[package]] -name = "multimap" -version = "0.8.3" +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] [[package]] -name = "multistream-select" -version = "0.13.0" +name = "num-iter" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "nanorand" -version = "0.7.0" +name = "num-rational" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "getrandom 0.2.15", + "num-bigint", + "num-integer", + "num-traits", + "serde", ] [[package]] -name = "native-tls" -version = "0.2.12" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ + "hermit-abi 0.3.9", "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", ] [[package]] -name = "neptune" -version = "11.0.0" +name = "num_enum" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eaa7f90368545907dce7d5652a78f96a77d1e97019b230edbf54ce2440d5698" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "bellpepper", - "bellpepper-core", - "blake2s_simd 0.5.11", - "blstrs 0.7.1", - "byteorder", - "ff 0.13.0", - "generic-array 0.14.7", - "itertools 0.8.2", - "log", - "pasta_curves", - "serde", - "trait-set", + "num_enum_derive", ] [[package]] -name = "nested_enum_utils" -version = "0.1.0" +name = "num_enum_derive" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] -name = "netdev" -version = "0.30.0" +name = "object" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ - "dlopen2", - "libc", - "memalloc", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", - "once_cell", - "system-configuration 0.6.1", - "windows-sys 0.52.0", + "crc32fast", + "hashbrown 0.14.5", + "indexmap 2.7.0", + "memchr", ] [[package]] -name = "netlink-packet-core" -version = "0.7.0" +name = "object" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ - "anyhow", - "byteorder", - "netlink-packet-utils", + "memchr", ] [[package]] -name = "netlink-packet-route" -version = "0.17.1" +name = "oid-registry" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" +checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" dependencies = [ - "anyhow", - "bitflags 1.3.2", - "byteorder", - "libc", - "netlink-packet-core", - "netlink-packet-utils", + "asn1-rs", ] [[package]] -name = "netlink-packet-utils" -version = "0.5.2" +name = "once_cell" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "oneshot" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ - "anyhow", - "byteorder", - "paste", - "thiserror 1.0.69", + "arrayvec 0.7.6", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", ] [[package]] -name = "netlink-proto" -version = "0.11.3" +name = "open-fastrlp-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b33524dc0968bfad349684447bfce6db937a9ac3332a1fe60c0c5a5ce63f21" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "futures", - "log", - "netlink-packet-core", - "netlink-sys", - "thiserror 1.0.69", - "tokio", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "netlink-sys" -version = "0.8.6" +name = "openssl" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "async-io 1.13.0", - "bytes", - "futures", + "bitflags 2.6.0", + "cfg-if", + "foreign-types", "libc", - "log", - "tokio", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "netwatch" -version = "0.1.0" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "anyhow", - "bytes", - "derive_more", - "futures-lite 2.5.0", - "futures-sink", - "futures-util", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", - "once_cell", - "rtnetlink", - "serde", - "socket2 0.5.8", - "thiserror 1.0.69", - "time", - "tokio", - "tracing", - "windows 0.51.1", - "wmi", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "new_debug_unreachable" -version = "1.0.6" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "nix" -version = "0.26.4" +name = "openssl-src" +version = "300.4.1+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", + "cc", ] [[package]] -name = "no-std-compat" -version = "0.4.1" +name = "openssl-sys" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] [[package]] -name = "no-std-net" -version = "0.6.0" +name = "option-ext" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] -name = "nohash-hasher" -version = "0.2.0" +name = "ordered-multimap" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" +checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +dependencies = [ + "dlv-list", + "hashbrown 0.12.3", +] [[package]] -name = "nom" -version = "7.1.3" +name = "os_pipe" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" dependencies = [ - "memchr", - "minimal-lexical", + "libc", + "windows-sys 0.59.0", ] [[package]] -name = "nonzero_ext" -version = "0.3.0" +name = "overload" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "overload", - "winapi", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2 0.10.8", ] [[package]] -name = "num" -version = "0.4.3" +name = "p384" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2 0.10.8", ] [[package]] -name = "num-bigint" -version = "0.4.6" +name = "p521" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" dependencies = [ - "arbitrary", - "num-integer", - "num-traits", - "quickcheck", - "serde", + "base16ct 0.2.0", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "rand_core", + "sha2 0.10.8", ] [[package]] -name = "num-bigint-dig" -version = "0.8.4" +name = "pairing" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand", - "smallvec", - "zeroize", + "group 0.12.1", ] [[package]] -name = "num-complex" -version = "0.4.6" +name = "pairing" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" dependencies = [ - "num-traits", - "serde", + "group 0.13.0", ] [[package]] -name = "num-conv" -version = "0.1.0" +name = "parity-scale-codec" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec 0.7.6", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] [[package]] -name = "num-derive" -version = "0.3.3" +name = "parity-scale-codec-derive" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "num-derive" -version = "0.4.2" +name = "parking" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "lock_api", + "parking_lot_core", ] [[package]] -name = "num-integer" -version = "0.1.46" +name = "parking_lot_core" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ - "num-traits", + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", ] [[package]] -name = "num-iter" -version = "0.1.45" +name = "password-hash" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "base64ct", + "rand_core", + "subtle", ] [[package]] -name = "num-rational" -version = "0.4.2" +name = "password-hash" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ - "num-bigint", - "num-integer", - "num-traits", - "serde", + "base64ct", + "rand_core", + "subtle", ] [[package]] -name = "num-traits" -version = "0.2.19" +name = "pasta_curves" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" dependencies = [ - "autocfg", - "libm", + "blake2b_simd", + "ff 0.13.0", + "group 0.13.0", + "hex", + "lazy_static", + "rand", + "serde", + "static_assertions", + "subtle", ] [[package]] -name = "num_cpus" -version = "1.16.0" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "num_enum" -version = "0.7.3" +name = "path-slash" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive", -] +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] -name = "num_enum_derive" -version = "0.7.3" +name = "pathdiff" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.98", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] -name = "object" -version = "0.36.5" +name = "pbkdf2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "crc32fast", - "hashbrown 0.15.2", - "indexmap 2.7.0", - "memchr", + "digest 0.10.7", + "hmac 0.12.1", + "password-hash 0.4.2", + "sha2 0.10.8", ] [[package]] -name = "oid-registry" -version = "0.7.1" +name = "pbkdf2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "asn1-rs", + "digest 0.10.7", + "hmac 0.12.1", ] [[package]] -name = "once_cell" -version = "1.20.2" +name = "peeking_take_while" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] -name = "oneshot" -version = "0.1.8" +name = "peg" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" +checksum = "07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166a" +dependencies = [ + "peg-macros", + "peg-runtime", +] [[package]] -name = "opaque-debug" -version = "0.3.1" +name = "peg-macros" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" +dependencies = [ + "peg-runtime", + "proc-macro2", + "quote", +] [[package]] -name = "open-fastrlp" -version = "0.1.4" +name = "peg-runtime" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec 0.7.6", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] +checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" [[package]] -name = "open-fastrlp-derive" -version = "0.1.1" +name = "pem" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", + "base64 0.13.1", ] [[package]] -name = "openssl" -version = "0.10.68" +name = "pem" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", + "base64 0.22.1", + "serde", ] [[package]] -name = "openssl-macros" -version = "0.1.1" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "base64ct", ] [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "percent-encoding" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] -name = "openssl-src" -version = "300.4.1+3.4.0" +name = "pest" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ - "cc", + "memchr", + "thiserror 1.0.69", + "ucd-trie", ] [[package]] -name = "openssl-sys" -version = "0.9.104" +name = "pest_derive" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", + "pest", + "pest_generator", ] [[package]] -name = "option-ext" -version = "0.2.0" +name = "pest_generator" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.98", +] [[package]] -name = "ordered-multimap" -version = "0.4.3" +name = "pest_meta" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ - "dlv-list", - "hashbrown 0.12.3", + "once_cell", + "pest", + "sha2 0.10.8", ] [[package]] -name = "os_pipe" -version = "1.2.1" +name = "petgraph" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "libc", - "windows-sys 0.59.0", + "fixedbitset 0.4.2", + "indexmap 2.7.0", ] [[package]] -name = "overload" -version = "0.1.1" +name = "pharos" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] [[package]] -name = "p256" -version = "0.13.2" +name = "phf" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "sha2 0.10.8", + "phf_macros", + "phf_shared 0.11.2", ] [[package]] -name = "p384" -version = "0.13.0" +name = "phf_generator" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "sha2 0.10.8", + "phf_shared 0.11.2", + "rand", ] [[package]] -name = "p521" -version = "0.13.3" +name = "phf_macros" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "base16ct 0.2.0", - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "rand_core", - "sha2 0.10.8", + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "pairing" -version = "0.22.0" +name = "phf_shared" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "group 0.12.1", + "siphasher", ] [[package]] -name = "pairing" -version = "0.23.0" +name = "phf_shared" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "group 0.13.0", + "siphasher", ] [[package]] -name = "parity-scale-codec" -version = "3.6.12" +name = "pin-project" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ - "arrayvec 0.7.6", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", + "pin-project-internal", ] [[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" +name = "pin-project-internal" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ - "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] -name = "parking" -version = "2.2.1" +name = "pin-project-lite" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] -name = "parking_lot" -version = "0.12.3" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ - "lock_api", - "parking_lot_core", + "atomic-waker", + "fastrand 2.2.0", + "futures-io", ] [[package]] -name = "parking_lot_core" -version = "0.9.10" +name = "pkarr" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "7945a08031b7e14de57e8385cea3bcc7e10a88701595dc11d82551ba07bae13e" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", + "bytes", + "document-features", + "dyn-clone", + "ed25519-dalek", + "flume 0.11.1", + "futures", + "js-sys", + "lru", + "mainline", + "self_cell", + "simple-dns", + "thiserror 1.0.69", + "tracing", + "ureq", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "z32", ] [[package]] -name = "password-hash" -version = "0.4.2" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "base64ct", - "rand_core", - "subtle", + "der 0.7.9", + "pkcs8 0.10.2", + "spki 0.7.3", ] [[package]] -name = "password-hash" -version = "0.5.0" +name = "pkcs8" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "base64ct", - "rand_core", - "subtle", + "der 0.6.1", + "spki 0.6.0", ] [[package]] -name = "pasta_curves" -version = "0.5.1" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "blake2b_simd", - "ff 0.13.0", - "group 0.13.0", - "hex", - "lazy_static", - "rand", - "serde", - "static_assertions", - "subtle", + "der 0.7.9", + "spki 0.7.3", ] [[package]] -name = "paste" -version = "1.0.15" +name = "pkg-config" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] -name = "path-slash" -version = "0.2.1" +name = "pnet_base" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +checksum = "fe4cf6fb3ab38b68d01ab2aea03ed3d1132b4868fa4e06285f29f16da01c5f4c" +dependencies = [ + "no-std-net", +] [[package]] -name = "pathdiff" -version = "0.2.3" +name = "pnet_macros" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" +checksum = "688b17499eee04a0408aca0aa5cba5fc86401d7216de8a63fdf7a4c227871804" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.98", +] [[package]] -name = "pbkdf2" -version = "0.11.0" +name = "pnet_macros_support" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "eea925b72f4bd37f8eab0f221bbe4c78b63498350c983ffa9dd4bcde7e030f56" dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", - "password-hash 0.4.2", - "sha2 0.10.8", + "pnet_base", ] [[package]] -name = "pbkdf2" -version = "0.12.2" +name = "pnet_packet" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +checksum = "a9a005825396b7fe7a38a8e288dbc342d5034dac80c15212436424fef8ea90ba" dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", + "glob", + "pnet_base", + "pnet_macros", + "pnet_macros_support", ] [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "polling" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] [[package]] -name = "peg" -version = "0.7.0" +name = "polling" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166a" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ - "peg-macros", - "peg-runtime", + "cfg-if", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix 0.38.41", + "tracing", + "windows-sys 0.59.0", ] [[package]] -name = "peg-macros" -version = "0.7.0" +name = "poly1305" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "peg-runtime", - "proc-macro2", - "quote", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + +[[package]] +name = "portmapper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "derive_more 1.0.0", + "futures-lite 2.5.0", + "futures-util", + "igd-next 0.15.1", + "iroh-metrics", + "libc", + "netwatch", + "num_enum", + "rand", + "serde", + "smallvec", + "socket2 0.5.8", + "thiserror 1.0.69", + "time", + "tokio", + "tokio-util 0.7.13", + "tracing", + "url", ] [[package]] -name = "peg-runtime" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" - -[[package]] -name = "pem" -version = "1.1.1" +name = "positioned-io" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" dependencies = [ - "base64 0.13.1", + "byteorder", + "libc", + "winapi", ] [[package]] -name = "pem" -version = "3.0.4" +name = "postcard" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8" dependencies = [ - "base64 0.22.1", + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "postcard-derive", "serde", ] [[package]] -name = "pem-rfc7468" -version = "0.7.0" +name = "postcard-derive" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "0239fa9c1d225d4b7eb69925c25c5e082307a141e470573fbbe3a817ce6a7a37" dependencies = [ - "base64ct", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "percent-encoding" -version = "2.3.1" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "pest" -version = "2.7.14" +name = "ppv-lite86" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "memchr", - "thiserror 1.0.69", - "ucd-trie", + "zerocopy", ] [[package]] -name = "pest_derive" -version = "2.7.14" +name = "precis-core" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" +checksum = "25a414cabc93f5f45d53463e73b3d89d3c5c0dc4a34dbf6901f0c6358f017203" dependencies = [ - "pest", - "pest_generator", + "precis-tools", + "ucd-parse", + "unicode-normalization", ] [[package]] -name = "pest_generator" -version = "2.7.14" +name = "precis-profiles" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +checksum = "f58e2841ef58164e2626464d4fde67fa301d5e2c78a10300c1756312a03b169f" dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn 2.0.98", + "lazy_static", + "precis-core", + "precis-tools", + "unicode-normalization", ] [[package]] -name = "pest_meta" -version = "2.7.14" +name = "precis-tools" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" +checksum = "016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2" dependencies = [ - "once_cell", - "pest", - "sha2 0.10.8", + "lazy_static", + "regex", + "ucd-parse", ] [[package]] -name = "petgraph" -version = "0.6.5" +name = "precomputed-hash" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.7.0", -] +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] -name = "pharos" -version = "0.5.3" +name = "pretty_assertions" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ - "futures", - "rustc_version 0.4.1", + "diff", + "yansi 1.0.1", ] [[package]] -name = "phf" -version = "0.11.2" +name = "pretty_env_logger" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" dependencies = [ - "phf_macros", - "phf_shared 0.11.2", + "env_logger 0.7.1", + "log", ] [[package]] -name = "phf_generator" -version = "0.11.2" +name = "prettyplease" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ - "phf_shared 0.11.2", - "rand", + "proc-macro2", + "syn 2.0.98", ] [[package]] -name = "phf_macros" -version = "0.11.2" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.98", + "elliptic-curve 0.13.8", ] [[package]] -name = "phf_shared" -version = "0.10.0" +name = "primitive-types" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "siphasher", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", ] [[package]] -name = "phf_shared" -version = "0.11.2" +name = "proc-macro-crate" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "siphasher", + "thiserror 1.0.69", + "toml 0.5.11", ] [[package]] -name = "pin-project" -version = "1.1.7" +name = "proc-macro-crate" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "pin-project-internal", + "toml_edit 0.22.22", ] [[package]] -name = "pin-project-internal" -version = "1.1.7" +name = "proc-macro-error" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" dependencies = [ + "proc-macro-error-attr 0.4.12", "proc-macro2", "quote", - "syn 2.0.98", + "syn 1.0.109", + "version_check", ] [[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" +name = "proc-macro-error" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr 1.0.4", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] [[package]] -name = "piper" -version = "0.2.4" +name = "proc-macro-error-attr" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" dependencies = [ - "atomic-waker", - "fastrand 2.2.0", - "futures-io", + "proc-macro2", + "quote", + "syn 1.0.109", + "syn-mid", + "version_check", ] [[package]] -name = "pkarr" -version = "2.2.0" +name = "proc-macro-error-attr" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7945a08031b7e14de57e8385cea3bcc7e10a88701595dc11d82551ba07bae13e" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "bytes", - "document-features", - "dyn-clone", - "ed25519-dalek", - "flume 0.11.1", - "futures", - "js-sys", - "lru", - "mainline", - "self_cell", - "simple-dns", - "thiserror 1.0.69", - "tracing", - "ureq", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "z32", + "proc-macro2", + "quote", + "version_check", ] [[package]] -name = "pkcs1" -version = "0.7.5" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "der 0.7.9", - "pkcs8 0.10.2", - "spki 0.7.3", + "proc-macro2", + "quote", ] [[package]] -name = "pkcs8" -version = "0.9.0" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ - "der 0.6.1", - "spki 0.6.0", + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "pkcs8" -version = "0.10.2" +name = "proc-macro-hack" +version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ - "der 0.7.9", - "spki 0.7.3", + "unicode-ident", ] [[package]] -name = "pkg-config" -version = "0.3.31" +name = "procfs" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +dependencies = [ + "bitflags 2.6.0", + "hex", + "lazy_static", + "procfs-core", + "rustix 0.38.41", +] [[package]] -name = "pnet_base" -version = "0.34.0" +name = "procfs-core" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cf6fb3ab38b68d01ab2aea03ed3d1132b4868fa4e06285f29f16da01c5f4c" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "no-std-net", + "bitflags 2.6.0", + "hex", ] [[package]] -name = "pnet_macros" -version = "0.34.0" +name = "prometheus" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688b17499eee04a0408aca0aa5cba5fc86401d7216de8a63fdf7a4c227871804" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 2.0.98", + "cfg-if", + "fnv", + "lazy_static", + "libc", + "memchr", + "parking_lot", + "procfs", + "protobuf", + "thiserror 1.0.69", ] [[package]] -name = "pnet_macros_support" -version = "0.34.0" +name = "prometheus-client" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea925b72f4bd37f8eab0f221bbe4c78b63498350c983ffa9dd4bcde7e030f56" +checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" dependencies = [ - "pnet_base", + "dtoa", + "itoa", + "parking_lot", + "prometheus-client-derive-encode", ] [[package]] -name = "pnet_packet" -version = "0.34.0" +name = "prometheus-client-derive-encode" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a005825396b7fe7a38a8e288dbc342d5034dac80c15212436424fef8ea90ba" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "glob", - "pnet_base", - "pnet_macros", - "pnet_macros_support", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "polling" -version = "2.8.0" +name = "prometheus_exporter" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +checksum = "caf17cbebe0bfdf4f279ef84eeefe0d50468b0b7116f078acf41d456e48fe81a" dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", + "ascii", + "lazy_static", "log", - "pin-project-lite", - "windows-sys 0.48.0", + "prometheus", + "thiserror 1.0.69", + "tiny_http", ] [[package]] -name = "polling" -version = "3.7.4" +name = "proptest" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi 0.4.0", - "pin-project-lite", - "rustix 0.38.41", - "tracing", - "windows-sys 0.59.0", + "bit-set", + "bit-vec 0.6.3", + "bitflags 2.6.0", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", ] [[package]] -name = "poly1305" -version = "0.8.0" +name = "prost" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" dependencies = [ - "cpufeatures", - "opaque-debug", - "universal-hash", + "bytes", + "prost-derive 0.9.0", ] [[package]] -name = "polyval" -version = "0.6.2" +name = "prost" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", + "bytes", + "prost-derive 0.11.9", ] [[package]] -name = "portable-atomic" -version = "1.10.0" +name = "prost-build" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +dependencies = [ + "bytes", + "heck 0.3.3", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost 0.9.0", + "prost-types 0.9.0", + "regex", + "tempfile", + "which", +] [[package]] -name = "portmapper" -version = "0.1.0" +name = "prost-derive" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" dependencies = [ "anyhow", - "base64 0.22.1", - "bytes", - "derive_more", - "futures-lite 2.5.0", - "futures-util", - "igd-next 0.15.1", - "iroh-metrics", - "libc", - "netwatch", - "num_enum", - "rand", - "serde", - "smallvec", - "socket2 0.5.8", - "thiserror 1.0.69", - "time", - "tokio", - "tokio-util 0.7.13", - "tracing", - "url", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "positioned-io" -version = "0.3.3" +name = "prost-derive" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ - "byteorder", - "libc", - "winapi", + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "postcard" -version = "1.1.1" +name = "prost-types" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8" +checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" dependencies = [ - "cobs", - "embedded-io 0.4.0", - "embedded-io 0.6.1", - "postcard-derive", - "serde", + "bytes", + "prost 0.9.0", ] [[package]] -name = "postcard-derive" -version = "0.1.2" +name = "prost-types" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0239fa9c1d225d4b7eb69925c25c5e082307a141e470573fbbe3a817ce6a7a37" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "prost 0.11.9", ] [[package]] -name = "powerfmt" -version = "0.2.0" +name = "protobuf" +version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" [[package]] -name = "ppv-lite86" -version = "0.2.20" +name = "psm" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ - "zerocopy", + "cc", ] [[package]] -name = "precis-core" -version = "0.1.10" +name = "quanta" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a414cabc93f5f45d53463e73b3d89d3c5c0dc4a34dbf6901f0c6358f017203" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" dependencies = [ - "precis-tools", - "ucd-parse", - "unicode-normalization", + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.0+wasi-snapshot-preview1", + "web-sys", + "winapi", ] [[package]] -name = "precis-profiles" -version = "0.1.11" +name = "quic-rpc" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e2841ef58164e2626464d4fde67fa301d5e2c78a10300c1756312a03b169f" +checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" dependencies = [ - "lazy_static", - "precis-core", - "precis-tools", - "unicode-normalization", + "anyhow", + "bincode", + "derive_more 1.0.0", + "educe", + "flume 0.11.1", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "hex", + "iroh-quinn", + "pin-project", + "serde", + "slab", + "tokio", + "tokio-serde", + "tokio-util 0.7.13", + "tracing", ] [[package]] -name = "precis-tools" -version = "0.1.8" +name = "quic-rpc-derive" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2" +checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" dependencies = [ - "lazy_static", - "regex", - "ucd-parse", + "proc-macro2", + "quic-rpc", + "quote", + "syn 1.0.109", ] [[package]] -name = "precomputed-hash" -version = "0.1.1" +name = "quick-error" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] -name = "pretty_assertions" -version = "1.4.1" +name = "quick-protobuf" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" dependencies = [ - "diff", - "yansi 1.0.1", + "byteorder", ] [[package]] -name = "pretty_env_logger" -version = "0.4.0" +name = "quick-protobuf-codec" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" +checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" dependencies = [ - "env_logger 0.7.1", - "log", + "asynchronous-codec 0.6.2", + "bytes", + "quick-protobuf", + "thiserror 1.0.69", + "unsigned-varint 0.7.2", ] [[package]] -name = "prettyplease" -version = "0.2.29" +name = "quick-protobuf-codec" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" +checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" dependencies = [ - "proc-macro2", - "syn 2.0.98", + "asynchronous-codec 0.7.0", + "bytes", + "quick-protobuf", + "thiserror 1.0.69", + "unsigned-varint 0.8.0", ] [[package]] -name = "primeorder" -version = "0.13.6" +name = "quickcheck" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" dependencies = [ - "elliptic-curve 0.13.8", + "env_logger 0.8.4", + "log", + "rand", ] [[package]] -name = "primitive-types" -version = "0.12.2" +name = "quickcheck_async" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +checksum = "247df671941313a4e255a5015772917368f1b21bfedfbd89d68fbb27e802b2fa" dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "uint", + "quote", + "syn 1.0.109", ] [[package]] -name = "proc-macro-crate" -version = "1.1.3" +name = "quickcheck_macros" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9" dependencies = [ - "thiserror 1.0.69", - "toml 0.5.11", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "proc-macro-crate" -version = "3.2.0" +name = "quinn" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ - "toml_edit 0.22.22", + "async-io 2.4.0", + "async-std", + "bytes", + "futures-io", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.0", + "rustls 0.23.19", + "socket2 0.5.8", + "thiserror 2.0.11", + "tokio", + "tracing", ] [[package]] -name = "proc-macro-error" -version = "0.4.12" +name = "quinn-proto" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f33027081eba0a6d8aba6d1b1c3a3be58cbb12106341c2d5759fcd9b5277e7" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ - "proc-macro-error-attr 0.4.12", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", + "bytes", + "getrandom 0.2.15", + "rand", + "ring 0.17.8", + "rustc-hash 2.1.0", + "rustls 0.23.19", + "rustls-pki-types", + "slab", + "thiserror 2.0.11", + "tinyvec", + "tracing", + "web-time", ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "quinn-udp" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" dependencies = [ - "proc-macro-error-attr 1.0.4", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.5.8", + "tracing", + "windows-sys 0.59.0", ] [[package]] -name = "proc-macro-error-attr" -version = "0.4.12" +name = "quote" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5b4b77fdb63c1eca72173d68d24501c54ab1269409f6b672c85deb18af69de" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", - "quote", - "syn 1.0.109", - "syn-mid", - "version_check", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "quoted-string-parser" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "0dc75379cdb451d001f1cb667a9f74e8b355e9df84cc5193513cbe62b96fc5e9" dependencies = [ - "proc-macro2", - "quote", - "version_check", + "pest", + "pest_derive", ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "radium" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "rand" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.98", + "libc", + "rand_chacha", + "rand_core", + "serde", ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] [[package]] -name = "proc-macro2" -version = "1.0.93" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "unicode-ident", + "getrandom 0.2.15", ] [[package]] -name = "procfs" -version = "0.16.0" +name = "rand_xorshift" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "bitflags 2.6.0", - "hex", - "lazy_static", - "procfs-core", - "rustix 0.38.41", + "rand_core", ] [[package]] -name = "procfs-core" -version = "0.16.0" +name = "rand_xoshiro" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ - "bitflags 2.6.0", - "hex", + "rand_core", ] [[package]] -name = "prometheus" -version = "0.13.4" +name = "range-collections" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" dependencies = [ - "cfg-if", - "fnv", - "lazy_static", - "libc", - "memchr", - "parking_lot", - "procfs", - "protobuf", - "thiserror 1.0.69", + "binary-merge", + "inplace-vec-builder", + "ref-cast", + "smallvec", ] [[package]] -name = "prometheus-client" -version = "0.22.3" +name = "raw-cpuid" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ - "dtoa", - "itoa", - "parking_lot", - "prometheus-client-derive-encode", + "bitflags 2.6.0", ] [[package]] -name = "prometheus-client-derive-encode" -version = "0.4.2" +name = "rayon" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "either", + "rayon-core", ] [[package]] -name = "prometheus_exporter" -version = "0.8.5" +name = "rayon-core" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf17cbebe0bfdf4f279ef84eeefe0d50468b0b7116f078acf41d456e48fe81a" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "ascii", - "lazy_static", - "log", - "prometheus", - "thiserror 1.0.69", - "tiny_http", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] -name = "proptest" -version = "1.5.0" +name = "rcgen" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" dependencies = [ - "bit-set", - "bit-vec 0.6.3", - "bitflags 2.6.0", - "lazy_static", - "num-traits", - "rand", - "rand_chacha", - "rand_xorshift", - "regex-syntax 0.8.5", - "rusty-fork", - "tempfile", - "unarray", + "pem 3.0.4", + "ring 0.16.20", + "time", + "yasna", ] [[package]] -name = "prost" -version = "0.9.0" +name = "rcgen" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" dependencies = [ - "bytes", - "prost-derive 0.9.0", + "pem 3.0.4", + "ring 0.17.8", + "time", + "yasna", ] [[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +name = "recall_actor_sdk" +version = "0.1.2" dependencies = [ - "bytes", - "prost-derive 0.11.9", + "anyhow", + "fvm_ipld_encoding", + "fvm_sdk", + "fvm_shared", + "num-traits", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_sol_facade 0.1.2", + "serde", ] [[package]] -name = "prost-build" -version = "0.9.0" +name = "recall_entangler" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "12a7d792aa05d6c9e0518b0c5c4ab88765ef758fba24fe7905f92517cdb3a05c" dependencies = [ + "anyhow", + "async-trait", "bytes", - "heck 0.3.3", - "itertools 0.10.5", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.9.0", - "prost-types 0.9.0", - "regex", - "tempfile", - "which", + "cid", + "futures", + "iroh", + "recall_entangler_storage", + "serde", + "serde_json", + "thiserror 2.0.11", + "tokio", ] [[package]] -name = "prost-derive" -version = "0.9.0" +name = "recall_entangler_storage" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "dab3cfcdadb43d99bdb4dd54852a8ae628422bc8bab51efbbe59224c2d4354ae" dependencies = [ "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", + "async-trait", + "bytes", + "cid", + "futures", + "futures-lite 2.5.0", + "iroh", + "serde", + "serde_json", + "thiserror 2.0.11", + "tokio", + "uuid 1.15.1", ] [[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +name = "recall_executor" +version = "0.1.2" dependencies = [ "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", + "cid", + "fvm", + "fvm_ipld_encoding", + "fvm_shared", + "num-traits", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_vm_actor_interface", + "replace_with", + "tracing", ] [[package]] -name = "prost-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +name = "recall_fendermint_actor_activity_tracker" +version = "0.1.2" dependencies = [ - "bytes", - "prost 0.9.0", + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "serde", + "serde_tuple", ] [[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +name = "recall_fendermint_actor_blob_reader" +version = "0.1.2" dependencies = [ - "prost 0.11.9", + "anyhow", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "iroh-base", + "log", + "num-derive 0.3.3", + "num-traits", + "rand", + "recall_actor_sdk", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_machine", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "recall_ipld", + "recall_sol_facade 0.1.2", + "serde", ] [[package]] -name = "protobuf" -version = "2.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +name = "recall_fendermint_actor_blobs" +version = "0.1.2" +dependencies = [ + "anyhow", + "fendermint_actor_blobs_testing", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "log", + "num-traits", + "rand", + "recall_actor_sdk", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_machine", + "recall_fendermint_actor_recall_config_shared", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_ipld", + "recall_sol_facade 0.1.2", + "serde", +] [[package]] -name = "psm" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" +name = "recall_fendermint_actor_blobs_shared" +version = "0.1.2" dependencies = [ - "cc", + "anyhow", + "data-encoding", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "num-derive 0.3.3", + "num-traits", + "recall_actor_sdk", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "recall_ipld", + "serde", ] [[package]] -name = "quanta" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +name = "recall_fendermint_actor_bucket" +version = "0.1.2" dependencies = [ - "crossbeam-utils", - "libc", - "once_cell", - "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", - "web-sys", - "winapi", + "anyhow", + "blake3", + "cid", + "fendermint_actor_blobs_testing", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "num-derive 0.3.3", + "num-traits", + "quickcheck", + "quickcheck_macros", + "recall_actor_sdk", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_machine", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "recall_ipld", + "recall_sol_facade 0.1.2", + "serde", ] [[package]] -name = "quic-rpc" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" +name = "recall_fendermint_actor_chainmetadata" +version = "0.1.2" dependencies = [ "anyhow", - "bincode", - "derive_more", - "educe", - "flume 0.11.1", - "futures-lite 2.5.0", - "futures-sink", - "futures-util", - "hex", - "iroh-quinn", - "pin-project", + "cid", + "fvm_ipld_amt", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", "serde", - "slab", - "tokio", - "tokio-serde", - "tokio-util 0.7.13", - "tracing", + "serde_tuple", ] [[package]] -name = "quic-rpc-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" +name = "recall_fendermint_actor_eam" +version = "0.1.2" dependencies = [ - "proc-macro2", - "quic-rpc", - "quote", - "syn 1.0.109", + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actor_eam", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "serde", ] [[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +name = "recall_fendermint_actor_gas_market_eip1559" +version = "0.1.2" +dependencies = [ + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fendermint_actors_api", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "serde", +] [[package]] -name = "quick-protobuf" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +name = "recall_fendermint_actor_machine" +version = "0.1.2" dependencies = [ - "byteorder", + "anyhow", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "recall_actor_sdk", + "recall_fil_actor_adm", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "recall_sol_facade 0.1.2", + "serde", ] [[package]] -name = "quick-protobuf-codec" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" +name = "recall_fendermint_actor_recall_config" +version = "0.1.2" dependencies = [ - "asynchronous-codec 0.6.2", - "bytes", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.7.2", + "anyhow", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "num-traits", + "recall_actor_sdk", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_machine", + "recall_fendermint_actor_recall_config_shared", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_sol_facade 0.1.2", + "serde", ] [[package]] -name = "quick-protobuf-codec" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" +name = "recall_fendermint_actor_recall_config_shared" +version = "0.1.2" dependencies = [ - "asynchronous-codec 0.7.0", - "bytes", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.8.0", + "fvm_ipld_encoding", + "fvm_shared", + "num-derive 0.3.3", + "num-traits", + "recall_fendermint_actor_blobs_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "serde", ] [[package]] -name = "quickcheck" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +name = "recall_fendermint_actor_timehub" +version = "0.1.2" dependencies = [ - "env_logger 0.8.4", - "log", - "rand", + "anyhow", + "cid", + "fvm_ipld_amt", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "num-derive 0.3.3", + "num-traits", + "recall_actor_sdk", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_actor_machine", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "recall_sol_facade 0.1.2", + "serde", + "tracing", ] [[package]] -name = "quickcheck_async" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247df671941313a4e255a5015772917368f1b21bfedfbd89d68fbb27e802b2fa" +name = "recall_fendermint_actors" +version = "0.1.2" dependencies = [ - "quote", - "syn 1.0.109", + "anyhow", + "cid", + "fil_actor_bundler", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "num-traits", + "recall_fendermint_actor_activity_tracker", + "recall_fendermint_actor_blob_reader", + "recall_fendermint_actor_blobs", + "recall_fendermint_actor_bucket", + "recall_fendermint_actor_chainmetadata", + "recall_fendermint_actor_eam", + "recall_fendermint_actor_gas_market_eip1559", + "recall_fendermint_actor_recall_config", + "recall_fendermint_actor_timehub", + "recall_fil_actors_runtime", + "toml 0.8.19", ] [[package]] -name = "quickcheck_macros" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9" +name = "recall_fendermint_actors_api" +version = "0.1.2" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.4.1", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "recall_frc42_dispatch", + "serde", ] [[package]] -name = "quinn" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +name = "recall_fendermint_crypto" +version = "0.1.2" dependencies = [ - "async-io 2.4.0", - "async-std", - "bytes", - "futures-io", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.1.0", - "rustls 0.23.19", - "socket2 0.5.8", - "thiserror 2.0.11", - "tokio", - "tracing", + "anyhow", + "base64 0.21.7", + "libsecp256k1", + "rand", + "zeroize", ] [[package]] -name = "quinn-proto" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +name = "recall_fendermint_eth_api" +version = "0.1.2" dependencies = [ - "bytes", - "getrandom 0.2.15", + "anyhow", + "async-trait", + "axum", + "cid", + "clap 4.5.23", + "erased-serde", + "ethers", + "ethers-contract", + "ethers-core", + "futures", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "jsonrpc-v2", + "lazy_static", + "lru_time_cache", + "paste", + "prometheus", + "quickcheck", + "quickcheck_macros", "rand", - "ring 0.17.8", - "rustc-hash 2.1.0", - "rustls 0.23.19", - "rustls-pki-types", - "slab", - "thiserror 2.0.11", - "tinyvec", + "recall_fendermint_crypto", + "recall_fendermint_rpc", + "recall_fendermint_testing", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_message", + "recall_fil_actors_evm_shared", + "regex", + "serde", + "serde_json", + "tendermint 0.31.1", + "tendermint-rpc", + "thiserror 1.0.69", + "tokio", + "tower-http", "tracing", - "web-time", + "tracing-subscriber", ] [[package]] -name = "quinn-udp" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +name = "recall_fendermint_rpc" +version = "0.1.2" dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2 0.5.8", + "anyhow", + "async-trait", + "base64 0.21.7", + "bytes", + "cid", + "clap 4.5.23", + "ethers", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "lazy_static", + "prost 0.11.9", + "recall_fendermint_actor_bucket", + "recall_fendermint_actor_machine", + "recall_fendermint_actor_timehub", + "recall_fendermint_crypto", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_genesis", + "recall_fendermint_vm_message", + "serde", + "serde_json", + "tendermint 0.31.1", + "tendermint-proto 0.31.1", + "tendermint-rpc", + "tokio", "tracing", - "windows-sys 0.59.0", + "tracing-subscriber", ] [[package]] -name = "quote" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +name = "recall_fendermint_testing" +version = "0.1.2" dependencies = [ - "proc-macro2", + "arbitrary", + "arbtest", + "cid", + "ethers", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "lazy_static", + "num-bigint", + "quickcheck", + "rand", + "recall_fendermint_testing", + "recall_ipc_api", + "serde", + "serde_json", + "serde_yaml", + "toml 0.8.19", ] [[package]] -name = "quoted-string-parser" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc75379cdb451d001f1cb667a9f74e8b355e9df84cc5193513cbe62b96fc5e9" +name = "recall_fendermint_vm_actor_interface" +version = "0.1.2" dependencies = [ - "pest", - "pest_derive", + "anyhow", + "cid", + "ethers", + "ethers-core", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_ipld_hamt", + "fvm_shared", + "hex", + "lazy_static", + "multihash 0.18.1", + "paste", + "quickcheck", + "quickcheck_macros", + "rand", + "recall_fendermint_actor_machine", + "recall_fendermint_crypto", + "recall_fendermint_vm_genesis", + "recall_fil_actors_evm_shared", + "recall_ipc_actors_abis", + "recall_ipc_api", + "recall_merkle_tree_rs", + "serde", + "serde_tuple", + "tracing", ] [[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +name = "recall_fendermint_vm_core" +version = "0.1.2" +dependencies = [ + "arbitrary", + "cid", + "fnv", + "fvm_shared", + "lazy_static", + "quickcheck", + "quickcheck_macros", + "regex", + "serde", + "thiserror 1.0.69", +] [[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +name = "recall_fendermint_vm_encoding" +version = "0.1.2" dependencies = [ - "libc", - "rand_chacha", - "rand_core", + "cid", + "fvm_shared", + "num-traits", + "recall_ipc_api", "serde", + "serde_with 2.3.3", ] [[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +name = "recall_fendermint_vm_genesis" +version = "0.1.2" dependencies = [ - "ppv-lite86", - "rand_core", + "anyhow", + "arbitrary", + "cid", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "multihash 0.18.1", + "num-traits", + "quickcheck", + "quickcheck_macros", + "rand", + "recall_fendermint_actor_eam", + "recall_fendermint_crypto", + "recall_fendermint_testing", + "recall_fendermint_vm_core", + "recall_fendermint_vm_encoding", + "recall_fendermint_vm_genesis", + "recall_ipc_api", + "recall_ipc_types", + "serde", + "serde_json", + "serde_with 2.3.3", + "tendermint 0.31.1", ] [[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +name = "recall_fendermint_vm_message" +version = "0.1.2" dependencies = [ - "getrandom 0.2.15", + "anyhow", + "arbitrary", + "blake2b_simd", + "cid", + "ethers", + "ethers-core", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "iroh-base", + "lazy_static", + "num-traits", + "quickcheck", + "quickcheck_macros", + "rand", + "recall_fendermint_actor_blobs_shared", + "recall_fendermint_crypto", + "recall_fendermint_testing", + "recall_fendermint_vm_actor_interface", + "recall_fendermint_vm_encoding", + "recall_fendermint_vm_message", + "recall_ipc_api", + "serde", + "serde_tuple", + "serde_with 2.3.3", + "thiserror 1.0.69", ] [[package]] -name = "rand_xorshift" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +name = "recall_fil_actor_adm" +version = "0.0.2" dependencies = [ - "rand_core", + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.3.4", + "integer-encoding", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actors_runtime", + "recall_sol_facade 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", ] [[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +name = "recall_fil_actor_eam" +version = "0.0.2" dependencies = [ - "rand_core", + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_shared", + "hex-literal 0.3.4", + "log", + "multihash 0.18.1", + "num-derive 0.3.3", + "num-traits", + "recall_fil_actors_evm_shared", + "recall_fil_actors_runtime", + "rlp", + "serde", ] [[package]] -name = "range-collections" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" +name = "recall_fil_actors_evm_shared" +version = "0.0.2" dependencies = [ - "binary-merge", - "inplace-vec-builder", - "ref-cast", - "smallvec", + "fvm_ipld_encoding", + "fvm_shared", + "hex", + "recall_fil_actors_runtime", + "serde", + "uint", ] [[package]] -name = "raw-cpuid" -version = "11.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" +name = "recall_fil_actors_runtime" +version = "0.0.2" dependencies = [ - "bitflags 2.6.0", + "anyhow", + "base64 0.21.7", + "blake2b_simd", + "byteorder", + "castaway", + "cid", + "fvm_ipld_amt", + "fvm_ipld_bitfield", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_ipld_hamt", + "fvm_sdk", + "fvm_shared", + "hex", + "integer-encoding", + "itertools 0.10.5", + "lazy_static", + "libsecp256k1", + "log", + "multihash 0.18.1", + "num", + "num-derive 0.3.3", + "num-traits", + "paste", + "pretty_env_logger", + "rand", + "recall_vm_api", + "regex", + "serde", + "serde_repr", + "sha2 0.10.8", + "thiserror 1.0.69", + "unsigned-varint 0.7.2", ] [[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +name = "recall_frc42_dispatch" +version = "0.1.2" dependencies = [ - "either", - "rayon-core", + "fvm_ipld_encoding", + "fvm_sdk", + "fvm_shared", + "recall_frc42_hasher", + "recall_frc42_macros", + "thiserror 1.0.69", ] [[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +name = "recall_frc42_hasher" +version = "0.1.2" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "fvm_sdk", + "fvm_shared", + "thiserror 1.0.69", ] [[package]] -name = "rcgen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" +name = "recall_frc42_macros" +version = "0.1.2" dependencies = [ - "pem 3.0.4", - "ring 0.16.20", - "time", - "yasna", + "blake2b_simd", + "proc-macro2", + "quote", + "recall_frc42_hasher", + "syn 1.0.109", + "trybuild", ] [[package]] -name = "rcgen" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +name = "recall_ipc_actors_abis" +version = "0.1.2" dependencies = [ - "pem 3.0.4", - "ring 0.17.8", - "time", - "yasna", + "anyhow", + "ethers", + "fvm_shared", ] [[package]] -name = "recall_actor_sdk" -version = "0.1.0" +name = "recall_ipc_api" +version = "0.1.2" dependencies = [ "anyhow", - "fil_actors_evm_shared", - "fil_actors_runtime", + "cid", + "ethers", + "fnv", + "fvm_ipld_blockstore", "fvm_ipld_encoding", - "fvm_sdk", + "fvm_ipld_hamt", "fvm_shared", + "integer-encoding", + "lazy_static", + "log", "num-traits", - "recall_sol_facade", + "num_enum", + "recall_fil_actors_runtime", + "recall_ipc_actors_abis", + "recall_ipc_types", + "recall_merkle_tree_rs", "serde", + "serde_json", + "serde_tuple", + "serde_with 2.3.3", + "strum 0.26.3", + "thiserror 1.0.69", + "tracing", ] [[package]] -name = "recall_executor" -version = "0.1.0" +name = "recall_ipc_types" +version = "0.1.2" dependencies = [ "anyhow", "cid", - "fendermint_actor_blobs_shared", - "fendermint_vm_actor_interface", - "fvm", + "fvm_ipld_amt", + "fvm_ipld_blockstore", "fvm_ipld_encoding", + "fvm_ipld_hamt", "fvm_shared", + "hex", + "indexmap 1.9.3", + "integer-encoding", + "lazy_static", + "log", + "num-derive 0.3.3", "num-traits", - "replace_with", - "tracing", + "serde", + "thiserror 1.0.69", + "uint", ] [[package]] name = "recall_ipld" -version = "0.1.0" +version = "0.1.2" dependencies = [ "anyhow", "cid", - "fil_actors_runtime", "fvm_ipld_amt", "fvm_ipld_blockstore", "fvm_ipld_encoding", @@ -10410,12 +10435,13 @@ dependencies = [ "fvm_sdk", "fvm_shared", "integer-encoding", + "recall_fil_actors_runtime", "serde", ] [[package]] name = "recall_kernel" -version = "0.1.0" +version = "0.1.2" dependencies = [ "ambassador 0.3.7", "anyhow", @@ -10428,14 +10454,52 @@ dependencies = [ [[package]] name = "recall_kernel_ops" -version = "0.1.0" +version = "0.1.2" dependencies = [ "fvm", ] +[[package]] +name = "recall_merkle_tree_rs" +version = "0.1.2" +dependencies = [ + "anyhow", + "ethers", + "render-tree", + "serde", + "serde_json", + "thiserror 1.0.69", +] + [[package]] name = "recall_sol_facade" -version = "0.1.1" +version = "0.1.2" +dependencies = [ + "alloy-primitives", + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "alloy-sol-types", + "anyhow", + "dunce", + "eyre", + "fvm_ipld_encoding", + "fvm_shared", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "serde", + "serde_json", + "syn 2.0.98", + "thiserror 2.0.11", + "walkdir", +] + +[[package]] +name = "recall_sol_facade" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa96b3cb9342fd29ffb2acd61994dd06e42eebfbefbea96d99b49cb451a2121f" dependencies = [ "alloy-primitives", "alloy-sol-macro-expander", @@ -10459,7 +10523,7 @@ dependencies = [ [[package]] name = "recall_syscalls" -version = "0.1.0" +version = "0.1.2" dependencies = [ "fvm", "fvm_shared", @@ -10471,6 +10535,23 @@ dependencies = [ "tracing", ] +[[package]] +name = "recall_vm_api" +version = "0.0.2" +dependencies = [ + "anyhow", + "cid", + "fvm_ipld_blockstore", + "fvm_ipld_encoding", + "fvm_ipld_hamt", + "fvm_shared", + "num-derive 0.3.3", + "num-traits", + "rand", + "rand_chacha", + "serde", +] + [[package]] name = "redb" version = "1.5.1" @@ -10542,13 +10623,13 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.10.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12908dbeb234370af84d0579b9f68258a0f67e201412dd9a2814e6f45b2fc0f0" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.13.2", "log", - "rustc-hash 2.1.0", + "rustc-hash 1.1.0", "slice-group-by", "smallvec", ] @@ -11203,7 +11284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", - "derive_more", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", ] @@ -12007,25 +12088,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "storage" -version = "0.1.0" -source = "git+https://github.com/recallnet/entanglement.git?rev=c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e#c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e" -dependencies = [ - "anyhow", - "async-trait", - "bytes", - "cid", - "futures", - "futures-lite 2.5.0", - "iroh", - "serde", - "serde_json", - "thiserror 2.0.11", - "tokio", - "uuid 1.15.1", -] - [[package]] name = "storage-proofs-core" version = "18.1.0" @@ -13611,23 +13673,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "vm_api" -version = "1.0.0" -dependencies = [ - "anyhow", - "cid", - "fvm_ipld_blockstore", - "fvm_ipld_encoding", - "fvm_ipld_hamt", - "fvm_shared", - "num-derive 0.3.3", - "num-traits", - "rand", - "rand_chacha", - "serde", -] - [[package]] name = "void" version = "1.0.2" @@ -13791,9 +13836,9 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.217.0" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b88b0814c9a2b323a9b46c687e726996c255ac8b64aa237dd11c81ed4854760" +checksum = "b9c7d2731df60006819b013f64ccc2019691deccf6e11a1804bc850cd6748f1a" dependencies = [ "leb128", ] @@ -13821,16 +13866,13 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.217.0" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca917a21307d3adf2b9857b94dd05ebf8496bdcff4437a9b9fb3899d3e6c74e7" +checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708" dependencies = [ - "ahash 0.8.11", "bitflags 2.6.0", - "hashbrown 0.14.5", "indexmap 2.7.0", "semver 1.0.23", - "serde", ] [[package]] @@ -13843,93 +13885,52 @@ dependencies = [ "wasmparser 0.121.2", ] -[[package]] -name = "wasmprinter" -version = "0.217.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dc568b3e0d47e8f96ea547c90790cfa783f0205160c40de894a427114185ce" -dependencies = [ - "anyhow", - "termcolor", - "wasmparser 0.217.0", -] - [[package]] name = "wasmtime" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38dbf42dc56a6fe41ccd77211ea8ec90855de05e52cd00df5a0a3bca87d6147" +checksum = "4e300c0e3f19dc9064e3b17ce661088646c70dbdde36aab46470ed68ba58db7d" dependencies = [ "anyhow", - "bitflags 2.6.0", + "bincode", "bumpalo", - "cc", "cfg-if", - "hashbrown 0.14.5", + "gimli 0.28.1", "indexmap 2.7.0", "libc", - "libm", "log", - "mach2", - "memfd", - "object", + "object 0.32.2", "once_cell", "paste", - "postcard", - "psm", "rayon", "rustix 0.38.41", "serde", "serde_derive", - "smallvec", - "sptr", + "serde_json", "target-lexicon", - "wasmparser 0.217.0", - "wasmtime-asm-macros", - "wasmtime-component-macro", + "wasmparser 0.201.0", "wasmtime-cranelift", "wasmtime-environ", "wasmtime-jit-icache-coherence", + "wasmtime-runtime", "wasmtime-slab", - "wasmtime-versioned-export-macros", "windows-sys 0.52.0", ] [[package]] name = "wasmtime-asm-macros" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e0c7f9983c2d60109a939d9ab0e0df301901085c3608e1c22c27c98390a027" +checksum = "110aa598e02a136fb095ca70fa96367fc16bab55256a131e66f9b58f16c73daf" dependencies = [ "cfg-if", ] -[[package]] -name = "wasmtime-component-macro" -version = "25.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0929ffffaca32dd8770b56848c94056036963ca05de25fb47cac644e20262168" -dependencies = [ - "anyhow", - "proc-macro2", - "quote", - "syn 2.0.98", - "wasmtime-component-util", - "wasmtime-wit-bindgen", - "wit-parser", -] - -[[package]] -name = "wasmtime-component-util" -version = "25.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc29d2b56629d66d2fd791d1b46471d0016e0d684ed2dc299e870d127082268" - [[package]] name = "wasmtime-cranelift" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c8af1197703f4de556a274384adf5db36a146f9892bc9607bad16881e75c80" +checksum = "e923262451a4b5b39fe02f69f1338d56356db470e289ea1887346b9c7f592738" dependencies = [ "anyhow", "cfg-if", @@ -13939,77 +13940,116 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli 0.29.0", + "gimli 0.28.1", "log", - "object", - "smallvec", + "object 0.32.2", "target-lexicon", "thiserror 1.0.69", - "wasmparser 0.217.0", + "wasmparser 0.201.0", + "wasmtime-cranelift-shared", "wasmtime-environ", "wasmtime-versioned-export-macros", ] +[[package]] +name = "wasmtime-cranelift-shared" +version = "19.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "508898cbbea0df81a5d29cfc1c7c72431a1bc4c9e89fd9514b4c868474c05c7a" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-control", + "cranelift-native", + "gimli 0.28.1", + "object 0.32.2", + "target-lexicon", + "wasmtime-environ", +] + [[package]] name = "wasmtime-environ" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1b5af7bac868c5bce3b78a366a10677caacf6e6467c156301297e36ed31f3e" +checksum = "d7e3f2aa72dbb64c19708646e1ff97650f34e254598b82bad5578ea9c80edd30" dependencies = [ "anyhow", - "cranelift-bitset", + "bincode", "cranelift-entity", - "gimli 0.29.0", + "gimli 0.28.1", "indexmap 2.7.0", "log", - "object", - "postcard", + "object 0.32.2", "serde", "serde_derive", "target-lexicon", - "wasm-encoder 0.217.0", - "wasmparser 0.217.0", - "wasmprinter 0.217.0", + "thiserror 1.0.69", + "wasmparser 0.201.0", "wasmtime-types", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "25.0.3" +version = "19.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22ca2ef4d87b23d400660373453e274b2251bc2d674e3102497f690135e04b0" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "wasmtime-runtime" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7314e32c624f645ad7d6b9fc3ac89eb7d2b9aa06695d6445cec087958ec27d" +checksum = "1806ee242ca4fd183309b7406e4e83ae7739b7569f395d56700de7c7ef9f5eb8" dependencies = [ "anyhow", + "cc", "cfg-if", + "indexmap 2.7.0", "libc", + "log", + "mach", + "memfd", + "memoffset", + "paste", + "psm", + "rustix 0.38.41", + "sptr", + "wasm-encoder 0.201.0", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-versioned-export-macros", + "wasmtime-wmemcheck", "windows-sys 0.52.0", ] [[package]] name = "wasmtime-slab" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75cba1a8cc327839f493cfc3036c9de3d077d59ab76296bc710ee5f95be5391" +checksum = "20c58bef9ce877fd06acb58f08d003af17cb05cc51225b455e999fbad8e584c0" [[package]] name = "wasmtime-types" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d83a7816947a4974e2380c311eacb1db009b8bad86081dc726b705603c93c7" +checksum = "cebe297aa063136d9d2e5b347c1528868aa43c2c8d0e1eb0eec144567e38fe0f" dependencies = [ - "anyhow", "cranelift-entity", "serde", "serde_derive", - "smallvec", - "wasmparser 0.217.0", + "thiserror 1.0.69", + "wasmparser 0.201.0", ] [[package]] name = "wasmtime-versioned-export-macros" -version = "25.0.3" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6879a8e168aef3fe07335343b7fbede12fa494215e83322e173d4018e124a846" +checksum = "ffaafa5c12355b1a9ee068e9295d50c4ca0a400c721950cdae4f5b54391a2da5" dependencies = [ "proc-macro2", "quote", @@ -14017,16 +14057,10 @@ dependencies = [ ] [[package]] -name = "wasmtime-wit-bindgen" -version = "25.0.3" +name = "wasmtime-wmemcheck" +version = "19.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f571f63ac1d532e986eb3973bbef3a45e4ae83de521a8d573b0fe0594dc9608" -dependencies = [ - "anyhow", - "heck 0.4.1", - "indexmap 2.7.0", - "wit-parser", -] +checksum = "c9a8c62e9df8322b2166d2a6f096fbec195ddb093748fd74170dcf25ef596769" [[package]] name = "watchable" @@ -14144,7 +14178,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -14488,24 +14522,6 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "wit-parser" -version = "0.217.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb893dcd6d370cfdf19a0d9adfcd403efb8e544e1a0ea3a8b81a21fe392eaa78" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.7.0", - "log", - "semver 1.0.23", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser 0.217.0", -] - [[package]] name = "wmi" version = "0.13.4" diff --git a/Cargo.toml b/Cargo.toml index 2b40756cd..a66ec615f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,68 +57,127 @@ members = [ exclude = ["builtin-actors"] [workspace.package] -authors = ["Protocol Labs"] +authors = ["Protocol Labs", "Textile"] edition = "2021" license = "MIT OR Apache-2.0" license-file = "LICENSE-APACHE" +repository = "https://github.com/recallnet/ipc" +version = "0.1.2" [workspace.dependencies] -ambassador = "0.3.5" +# packages in this repo that we do NOT publish +recall_fendermint_actor_activity_tracker = { path = "fendermint/actors/activity-tracker" } +recall_fendermint_actor_blob_reader = { path = "fendermint/actors/blob_reader" } +recall_fendermint_actor_blobs = { path = "fendermint/actors/blobs" } +recall_fendermint_actor_recall_config = { path = "fendermint/actors/recall_config" } +recall_fendermint_actors_api = { path = "fendermint/actors/api" } + +# packages we publish +# NOTE: you need to change these versions as needed, i.e. they are not automatically changed by the `workspace.package.version` +# value above. If there is a way to avoid the need to keep this value synched in multiple places that would be better. +recall_actor_sdk = { path = "recall/actor_sdk", version = "=0.1.2" } +recall_ipc_actors_abis = { path = "contracts/binding", version = "=0.1.2" } +recall_ipc_api = { path = "ipc/api", version = "=0.1.2" } +recall_ipc_types = { path = "ipc/types", version = "=0.1.2" } +recall_ipld = { path = "recall/ipld", version = "=0.1.2" } +recall_fendermint_actor_blobs_shared = { path = "fendermint/actors/blobs/shared", version = "=0.1.2" } +recall_fendermint_actor_bucket = { path = "fendermint/actors/bucket", version = "=0.1.2" } +recall_fendermint_actor_eam = { path = "fendermint/actors/eam", version = "=0.1.2" } +recall_fendermint_actor_machine = { path = "fendermint/actors/machine", version = "=0.1.2" } +recall_fendermint_actor_recall_config_shared = { path = "fendermint/actors/recall_config/shared", version = "=0.1.2" } +recall_fendermint_actor_timehub = { path = "fendermint/actors/timehub", version = "=0.1.2" } +recall_fendermint_crypto = { path = "fendermint/crypto", version = "=0.1.2" } +recall_fendermint_testing = { path = "fendermint/testing", version = "=0.1.2" } +recall_fendermint_rpc = { path = "fendermint/rpc", version = "=0.1.2" } +recall_fendermint_vm_actor_interface = { path = "fendermint/vm/actor_interface", version = "=0.1.2" } +recall_fendermint_vm_core = { path = "fendermint/vm/core", version = "=0.1.2" } +recall_fendermint_vm_encoding = { path = "fendermint/vm/encoding", version = "=0.1.2" } +recall_fendermint_vm_genesis = { path = "fendermint/vm/genesis", version = "=0.1.2" } +recall_fendermint_vm_message = { path = "fendermint/vm/message", version = "=0.1.2" } + +recall_frc42_dispatch = { path = "ext/frc42_dispatch", version = "=0.1.2" } +recall_frc42_hasher = { path = "ext/frc42_dispatch/hasher", version = "=0.1.2" } +recall_frc42_macros = { path="ext/frc42_dispatch/macros", version = "=0.1.2" } +recall_merkle_tree_rs = { path = "ext/merkle-tree-rs", version = "=0.1.2" } + +# Submodule pacakges we publish from different repositories and use via crates + +# We are using the bundle for the builtin-actors dependency, and repeating DTO classes on our side, +# to cut down the time it takes to compile everything. However, some projects have a "shared" part, +# and this copy-paste is clunky, so at least for those that have it, we should use it. +# Keep the version here in sync with the Makefile! +# +# The original IPC build fetches a pre-built builtin-actors CAR bundle from a GH release. +# For ADM, we can do the same at some point, but for now I've included the repo as a submodule. + +# https://github.com/recallnet/builtin-actors +recall_fil_actors_evm_shared = { version = "=0.0.2", path = "builtin-actors/actors/evm/shared" } +recall_fil_actor_eam = { version = "=0.0.2", path = "builtin-actors/actors/eam" } +recall_fil_actor_adm = { version = "=0.0.2", path = "builtin-actors/actors/adm" } +recall_fil_actors_runtime = { version = "=0.0.2", path = "builtin-actors/runtime" } + +# https://github.com/recallnet/contracts +recall_sol_facade = { version = "=0.1.2", path = "recall-contracts/crates/facade" } + +# https://github.com/recallnet/entanglement +recall_entangler = "=0.1.0" +recall_entangler_storage = "=0.1.0" + + +# external packages available via crates +ambassador = "~0.3.5" anyhow = "1" arbitrary = { version = "1", features = ["derive"] } -arbtest = "0.2" +arbtest = "~0.2" async-recursion = "1" -async-stm = "0.4" -async-tempfile = "0.6.0" -async-trait = "0.1" +async-stm = "~0.4" +async-tempfile = "~0.6.0" +async-trait = "~0.1" async-channel = "1.8.0" -axum = { version = "0.6", features = ["ws"] } -base64 = "0.21" -bollard = "0.15" +axum = { version = "~0.6", features = ["ws"] } +base64 = "~0.21" +bollard = "~0.15" blake2b_simd = "1.0" blake3 = "1.5.4" -bloom = "0.3" +bloom = "~0.3" byteorder = "1.5.0" bytes = "1.4" -cid = { version = "0.10.1", default-features = false, features = [ +cid = { version = "~0.10.1", default-features = false, features = [ "serde-codec", "std", ] } clap = { version = "4.1", features = ["derive", "env", "string"] } -config = "0.13" +config = "~0.13" data-encoding = { version = "2.3.3" } dirs = "5.0" -dircpy = "0.3.19" +dircpy = "~0.3.19" either = "1.10" -entangler = { git = "https://github.com/recallnet/entanglement.git", rev = "c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e" } -entangler_storage = { package = "storage", git = "https://github.com/recallnet/entanglement.git", rev = "c13e1a5c17ecfae2ac5f8953e5d7ac7f8793cc3e" } -env_logger = "0.10" -erased-serde = "0.3" +env_logger = "~0.10" +erased-serde = "~0.3" ethers = { version = "2.0.13", features = ["abigen", "ws"] } ethers-core = { version = "2.0.13" } ethers-contract = "2.0.13" fnv = "1.0" -frc42_dispatch = { path = "./ext/frc42_dispatch" } -futures = "0.3" -futures-core = "0.3" -futures-util = "0.3" -gcra = "0.6.0" -hex = "0.4" -hex-literal = "0.4.1" -http = "0.2.12" +futures = "~0.3" +futures-core = "~0.3" +futures-util = "~0.3" +gcra = "~0.6.0" +hex = "~0.4" +hex-literal = "~0.4.1" +http = "~0.2.12" im = "15.1.0" integer-encoding = { version = "3.0.3", default-features = false } -iroh = "0.28.1" -iroh-base = "0.28.0" -jsonrpc-v2 = { version = "0.11", default-features = false, features = [ +iroh = "~0.28.1" +iroh-base = "~0.28.0" +jsonrpc-v2 = { version = "~0.11", default-features = false, features = [ "bytes-v10", ] } -k256 = "0.11" # Same as tendermint-rs +k256 = "~0.11" # Same as tendermint-rs lazy_static = "1.4" -libipld = { version = "0.16", default-features = false, features = [ +libipld = { version = "~0.16", default-features = false, features = [ "dag-cbor", ] } -libp2p = { version = "0.53", default-features = false, features = [ +libp2p = { version = "~0.53", default-features = false, features = [ "gossipsub", "kad", "identify", @@ -135,47 +194,47 @@ libp2p = { version = "0.53", default-features = false, features = [ "secp256k1", "plaintext", ] } -libp2p-mplex = { version = "0.41" } +libp2p-mplex = { version = "~0.41" } libp2p-bitswap = { path = "ext/libp2p-bitswap" } -libsecp256k1 = "0.7" -literally = "0.1.3" -log = "0.4" -lru_time_cache = "0.11" +libsecp256k1 = "~0.7" +literally = "~0.1.3" +log = "~0.4" +lru_time_cache = "~0.11" mime_guess = { version = "2" , features = ["rev-mappings"]} -multiaddr = "0.18" -multihash = { version = "0.18.1", default-features = false, features = [ +multiaddr = "~0.18" +multihash = { version = "~0.18.1", default-features = false, features = [ "sha2", "sha3", "blake3", ] } -num-bigint = "0.4" -num-derive = "0.3" -num-traits = "0.2" -num_enum = "0.7.2" +num-bigint = "~0.4" +num-derive = "~0.3" +num-traits = "~0.2" +num_enum = "~0.7.2" once_cell = "1.19.0" paste = "1" pin-project = "1.1.2" -prometheus = { version = "0.13", features = ["process"] } -prometheus_exporter = "0.8" -prost = { version = "0.11" } +prometheus = { version = "~0.13", features = ["process"] } +prometheus_exporter = "~0.8" +prost = { version = "~0.11" } quickcheck = "1" -quickcheck_async = "0.1" +quickcheck_async = "~0.1" quickcheck_macros = "1" -rand = "0.8" -rand_chacha = "0.3" +rand = "~0.8" +rand_chacha = "~0.3" regex = "1" -replace_with = "0.1.7" -reqwest = { version = "0.11.13", features = ["json"] } -sha2 = "0.10" +replace_with = "~0.1.7" +reqwest = { version = "~0.11.13", features = ["json"] } +sha2 = "~0.10" serde = { version = "1", features = ["derive"] } -serde_bytes = "0.11" +serde_bytes = "~0.11" serde_json = { version = "1", features = ["raw_value"] } -serde_yaml = { version = "0.9" } -serde_tuple = "0.5" +serde_yaml = { version = "~0.9" } +serde_tuple = "~0.5" serde_with = "2.3" serial_test = "3.0" snap = "1.1.0" -strum = { version = "0.26.1", features = ["derive"] } +strum = { version = "~0.26.1", features = ["derive"] } tempfile = "3.7" thiserror = "1" tokio = { version = "1", features = [ @@ -186,91 +245,69 @@ tokio = { version = "1", features = [ "io-std", "sync", ] } -tokio-stream = "0.1.14" -tokio-util = { version = "0.7.8", features = ["compat"] } -tokio-tungstenite = { version = "0.18.0", features = ["native-tls"] } -toml = "0.8" -tower-http = { version = "0.4.0", features = ["cors"] } -tracing = "0.1" -tracing-subscriber = { version = "0.3", features = [ +tokio-stream = "~0.1.14" +tokio-util = { version = "~0.7.8", features = ["compat"] } +tokio-tungstenite = { version = "~0.18.0", features = ["native-tls"] } +toml = "~0.8" +tower-http = { version = "~0.4.0", features = ["cors"] } +tracing = "~0.1" +tracing-subscriber = { version = "~0.3", features = [ "env-filter", "json", "registry", ] } -tracing-appender = "0.2.3" +tracing-appender = "~0.2.3" uuid = { version = "1.15.1", features = ["v4"] } url = { version = "2.4.1", features = ["serde"] } -warp = "0.3.7" +warp = "~0.3.7" zeroize = "1.6" # Workspace deps -ipc-api = { path = "ipc/api" } ipc-provider = { path = "ipc/provider" } ipc-wallet = { path = "ipc/wallet", features = ["with-ethers"] } ipc_ipld_resolver = { path = "ipld/resolver" } -ipc-types = { path = "ipc/types" } + ipc-observability = { path = "ipc/observability" } -ipc_actors_abis = { path = "contracts/binding" } -fendermint_actors_api = { path = "fendermint/actors/api" } # Vendored for cross-compilation, see https://github.com/cross-rs/cross/wiki/Recipes#openssl # Make sure every top level build target actually imports this dependency, and don't end up # depending on the same _without_ the "vendored" feature, because then the Docker build for # for ARM64 on AMD64 will fail, it won't find the OpenSSL installation. -openssl = { version = "0.10", features = ["vendored"] } +openssl = { version = "~0.10", features = ["vendored"] } # NOTE: When upgrading the FVM it may cause our fendermint/actors/build.rs to fail as it can # pull in crates as transitive dependencies that do not support Wasm architector. If this # happens, try removing "crypto" feature from fvm_shared dependency in contracts/binding/Cargo.toml # and run `cargo build`. Then add the "crypto" feature back and run `cargo build` again. -fvm = { version = "4.4.0", features = [ +fvm = { version = "~4.3.0", features = [ "verify-signature", ], default-features = false } # no opencl feature or it fails on CI -fvm_shared = { version = "4.4.0" } -fvm_sdk = { version = "4.4.0" } -fvm_ipld_blockstore = "0.2.0" -fvm_ipld_car = "0.7.1" -fvm_ipld_encoding = "0.4.0" -fvm_ipld_hamt = "0.9.0" -fvm_ipld_amt = "0.6.2" - -# We are using the bundle for the builtin-actors dependency, and repeating DTO classes on our side, -# to cut down the time it takes to compile everything. However, some projects have a "shared" part, -# and this copy-paste is clunky, so at least for those that have it, we should use it. -# Keep the version here in sync with the Makefile! -# -# The original IPC build fetches a pre-built builtin-actors CAR bundle from a GH release. -# For ADM, we can do the same at some point, but for now I've included the repo as a submodule. -fil_actors_evm_shared = { path = "builtin-actors/actors/evm/shared" } -fil_actor_eam = { path = "builtin-actors/actors/eam" } -fil_actor_adm = { path = "builtin-actors/actors/adm" } -fil_actors_runtime = { path = "builtin-actors/runtime" } - -# Recall Solidity bindings -recall_sol_facade = { git = "https://github.com/recallnet/contracts", package = "recall_sol_facade" } +fvm_shared = { version = "~4.3.0" } +fvm_sdk = { version = "~4.3.0" } +fvm_ipld_blockstore = "~0.2.1" +fvm_ipld_car = "~0.7.1" +fvm_ipld_encoding = "~0.4.0" +fvm_ipld_hamt = "~0.9.0" +fvm_ipld_amt = "~0.6.2" # Using the same tendermint-rs dependency as tower-abci. From both we are interested in v037 modules. -tower-abci = { version = "0.7" } -tower = { version = "0.4" } -tendermint = { version = "0.31", features = ["secp256k1"] } -tendermint-config = "0.33.0" -tendermint-rpc = { version = "0.31", features = [ +tower-abci = { version = "~0.7" } +tower = { version = "~0.4" } +tendermint = { version = "~0.31", features = ["secp256k1"] } +tendermint-config = "~0.33.0" +tendermint-rpc = { version = "~0.31", features = [ "secp256k1", "http-client", "websocket-client", ] } -tendermint-proto = { version = "0.31" } +tendermint-proto = { version = "~0.31" } [patch.crates-io] # Use below when working locally on entanglement and this repo simultaneously. # Assumes the entanglement checkout is in a sibling directory with the same name. # [patch."https://github.com/recallnet/entanglement.git"] -# entangler = { path = "../entanglement/entangler" } -# entangler_storage = { package = "storage", path = "../entanglement/storage" } - -[patch."https://github.com/recallnet/contracts"] -# Use local submodule for a workplace -recall_sol_facade = { path = "recall-contracts/crates/facade" } +# recall_entangler = { path = "../entanglement/entangler" } +# recall_entangler_storage = { package = "storage", path = "../entanglement/storage" } [profile.wasm] inherits = "release" diff --git a/builtin-actors b/builtin-actors index 1872ab042..fb822ad05 160000 --- a/builtin-actors +++ b/builtin-actors @@ -1 +1 @@ -Subproject commit 1872ab0427bb00f80f505846f6b39fca81b92bc7 +Subproject commit fb822ad05a3bcdccb1040be84147e282cde2b820 diff --git a/contracts/Makefile b/contracts/Makefile index f67440541..1f6d59f3f 100644 --- a/contracts/Makefile +++ b/contracts/Makefile @@ -49,7 +49,7 @@ compile-abi: node_modules | forge ./ops/compile-abi.sh $(OUTPUT) rust-binding: - OUTPUT=$(OUTPUT) cargo build --locked --release --manifest-path ./binding/Cargo.toml -p ipc_actors_abis + OUTPUT=$(OUTPUT) cargo build --locked --release --manifest-path ./binding/Cargo.toml -p recall_ipc_actors_abis # ============================================================================== # Running security checks within the local computer diff --git a/contracts/binding/Cargo.toml b/contracts/binding/Cargo.toml index e3a27d90d..ef47bb317 100644 --- a/contracts/binding/Cargo.toml +++ b/contracts/binding/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "ipc_actors_abis" +name = "recall_ipc_actors_abis" description = "Rust bindings for the IPC Solidity Actors" -version = "0.1.0" authors = ["Protocol Labs"] edition = "2021" license = "MIT OR Apache-2.0" +version.workspace = true [dependencies] ethers = { workspace = true, features = ["abigen", "ws"] } diff --git a/docs-gitbook/developer-guides/upgrades/upgrade-wasm-actor.md b/docs-gitbook/developer-guides/upgrades/upgrade-wasm-actor.md index e94735cd4..8cbd19d47 100644 --- a/docs-gitbook/developer-guides/upgrades/upgrade-wasm-actor.md +++ b/docs-gitbook/developer-guides/upgrades/upgrade-wasm-actor.md @@ -4,7 +4,7 @@ In this example, we show how you can write an upgrade migration which upgrades t More specifically, in this example we want to replace the code of the `chainmetadata` actor which was deployed at genesis. This actor is used to store blockhashes of the previous blocks on chain. For instance, suppose we intend to enhance this actor to store additional information beyond block hashes. The specifics of the new version's functionality are irrelevant; we focus solely on replacing the actor's code. -Inside the migration function, we first must have access to the WASM binary of the new actor. Here, we simply copied the source code of the `chainmetadata` actor to a new location, made relevant changes to the source code of that new actor and compiled it to the `fendermint_actor_chainmetadata_v2.wasm` target. +Inside the migration function, we first must have access to the WASM binary of the new actor. Here, we simply copied the source code of the `chainmetadata` actor to a new location, made relevant changes to the source code of that new actor and compiled it to the `recall_fendermint_actor_chainmetadata_v2.wasm` target. To replace the existing `chainmetadata` actor that we deployed at genesis with this new v2 version, we need store the new WASM code in the blockstore, then update `code` of the actor state associated with the `chainmetadata` actor with `code_cid` of the new WASM actor. @@ -13,7 +13,7 @@ Our migration function is defined as follows: ```rust // The WASM binary of the new version of the chainmetadata actor. -static WASM_BIN: &[u8] = include_bytes!("../output/fendermint_actor_chainmetadata_v2.wasm"); +static WASM_BIN: &[u8] = include_bytes!("../output/recall_fendermint_actor_chainmetadata_v2.wasm"); pub fn upgrade_wasm_actor_func( state: &mut FvmExecState, diff --git a/docs/fendermint/demos/milestone-1/fendermint-demo.sh b/docs/fendermint/demos/milestone-1/fendermint-demo.sh index 824430fea..4da8e19fc 100644 --- a/docs/fendermint/demos/milestone-1/fendermint-demo.sh +++ b/docs/fendermint/demos/milestone-1/fendermint-demo.sh @@ -112,6 +112,6 @@ fendermint \ --method f8b2cb4f --method-args 000000000000000000000000ff00000000000000000000000000000000000064 #26 -cargo run -p fendermint_rpc --release \ +cargo run -p recall_fendermint_rpc --release \ --example simplecoin -- \ --secret-key test-network/keys/alice.sk --verbose diff --git a/docs/fendermint/running.md b/docs/fendermint/running.md index eabcb2e0a..9602d85d9 100644 --- a/docs/fendermint/running.md +++ b/docs/fendermint/running.md @@ -723,8 +723,8 @@ To avoid having to come up with ABI encoded arguments in hexadecimal format, we Here's an [example](../fendermint/rpc/examples/simplecoin.rs) of doing that with the [SimpleCoin](https://github.com/filecoin-project/builtin-actors/blob/v10.0.0/actors/evm/tests/contracts/simplecoin.sol) contract. ```console -$ cargo run -p fendermint_rpc --release --example simplecoin -- --secret-key test-network/keys/alice.sk --verbose -2023-05-19T10:18:47.234878Z DEBUG fendermint_rpc::client: Using HTTP client to submit request to: http://127.0.0.1:26657/ +$ cargo run -p recall_fendermint_rpc --release --example simplecoin -- --secret-key test-network/keys/alice.sk --verbose +2023-05-19T10:18:47.234878Z DEBUG recall_fendermint_rpc::client: Using HTTP client to submit request to: http://127.0.0.1:26657/ ... 2023-05-19T10:18:47.727563Z INFO simplecoin: contract deployed contract_address="f410fvbmxiqdn6svyo5oubfbzxsorkvydcb5ecmlbwma" actor_id=107 ... diff --git a/ext/frc42_dispatch/Cargo.toml b/ext/frc42_dispatch/Cargo.toml index 0bc489d79..3fd92bdc0 100644 --- a/ext/frc42_dispatch/Cargo.toml +++ b/ext/frc42_dispatch/Cargo.toml @@ -1,19 +1,18 @@ [package] -name = "frc42_dispatch" +name = "recall_frc42_dispatch" description = "Filecoin FRC-0042 calling convention/dispatch support library" -version = "8.0.0" license = "MIT OR Apache-2.0" -keywords = ["filecoin", "dispatch", "frc-0042"] -repository = "https://github.com/helix-onchain/filecoin/" +keywords = ["recall", "filecoin", "dispatch", "frc-0042"] +repository = "https://github.com/recallnet/ipc/" edition = "2021" - +version.workspace = true [dependencies] fvm_ipld_encoding = { workspace = true } fvm_sdk = { workspace = true, optional = true } fvm_shared = { workspace = true } -frc42_hasher = { version = "6.0.0", path = "hasher" } -frc42_macros = { version = "6.0.0", path = "macros" } +recall_frc42_hasher = { version = "0.1.0", path = "hasher" } +recall_frc42_macros = { workspace = true } thiserror = { version = "1.0.31" } [features] diff --git a/ext/frc42_dispatch/hasher/Cargo.toml b/ext/frc42_dispatch/hasher/Cargo.toml index 1409d4c6b..3b5f1402e 100644 --- a/ext/frc42_dispatch/hasher/Cargo.toml +++ b/ext/frc42_dispatch/hasher/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "frc42_hasher" -version = "6.0.0" +name = "recall_frc42_hasher" +version.workspace = true license = "MIT OR Apache-2.0" description = "Filecoin FRC-0042 calling convention method hashing" repository = "https://github.com/helix-onchain/filecoin/" diff --git a/ext/frc42_dispatch/macros/Cargo.toml b/ext/frc42_dispatch/macros/Cargo.toml index ed4ea03f8..1648b35e1 100644 --- a/ext/frc42_dispatch/macros/Cargo.toml +++ b/ext/frc42_dispatch/macros/Cargo.toml @@ -1,17 +1,17 @@ [package] -name = "frc42_macros" -version = "6.0.0" +name = "recall_frc42_macros" license = "MIT OR Apache-2.0" description = "Filecoin FRC-0042 calling convention procedural macros" repository = "https://github.com/helix-onchain/filecoin/" edition = "2021" +version.workspace = true [lib] proc-macro = true [dependencies] blake2b_simd = { version = "1.0.0" } -frc42_hasher = { version = "6.0.0", path = "../hasher", default-features = false } +recall_frc42_hasher = { version = "0.1.0", path = "../hasher", default-features = false } proc-macro2 = "1.0" quote = "1.0" syn = { version = "1.0", features = ["full"] } diff --git a/ext/frc42_dispatch/macros/example/Cargo.toml b/ext/frc42_dispatch/macros/example/Cargo.toml index b5000fb6c..b0b0080bb 100644 --- a/ext/frc42_dispatch/macros/example/Cargo.toml +++ b/ext/frc42_dispatch/macros/example/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "example" -version = "0.1.0" +version.workspace = true edition = "2021" publish = false [dependencies] -frc42_macros = { version = "6.0.0", path = ".." } +recall_frc42_macros = { workspace = true } diff --git a/ext/frc42_dispatch/macros/example/src/main.rs b/ext/frc42_dispatch/macros/example/src/main.rs index a7869540e..0b223b905 100644 --- a/ext/frc42_dispatch/macros/example/src/main.rs +++ b/ext/frc42_dispatch/macros/example/src/main.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { let str_hash = method_hash!("Method"); diff --git a/ext/frc42_dispatch/macros/src/hash.rs b/ext/frc42_dispatch/macros/src/hash.rs index 990e07b7a..f8e1bff62 100644 --- a/ext/frc42_dispatch/macros/src/hash.rs +++ b/ext/frc42_dispatch/macros/src/hash.rs @@ -6,7 +6,7 @@ // // License headers added post-fork. use blake2b_simd::blake2b; -use frc42_hasher::hash::Hasher; +use recall_frc42_hasher::hash::Hasher; pub struct Blake2bHasher {} impl Hasher for Blake2bHasher { diff --git a/ext/frc42_dispatch/macros/src/lib.rs b/ext/frc42_dispatch/macros/src/lib.rs index 90bc74af5..be6470a89 100644 --- a/ext/frc42_dispatch/macros/src/lib.rs +++ b/ext/frc42_dispatch/macros/src/lib.rs @@ -5,9 +5,9 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_hasher::hash::MethodResolver; use proc_macro::TokenStream; use quote::quote; +use recall_frc42_hasher::hash::MethodResolver; use syn::parse::{Parse, ParseStream}; use syn::{parse_macro_input, LitStr, Result}; diff --git a/ext/frc42_dispatch/macros/tests/build-success.rs b/ext/frc42_dispatch/macros/tests/build-success.rs index d4b465253..5ad8e8b92 100644 --- a/ext/frc42_dispatch/macros/tests/build-success.rs +++ b/ext/frc42_dispatch/macros/tests/build-success.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { assert_eq!(method_hash!("Method"), 0xa20642fc); diff --git a/ext/frc42_dispatch/macros/tests/naming/empty-name-string.rs b/ext/frc42_dispatch/macros/tests/naming/empty-name-string.rs index 5cee201a2..640e24963 100644 --- a/ext/frc42_dispatch/macros/tests/naming/empty-name-string.rs +++ b/ext/frc42_dispatch/macros/tests/naming/empty-name-string.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { // this should panic due to empty string diff --git a/ext/frc42_dispatch/macros/tests/naming/illegal-chars.rs b/ext/frc42_dispatch/macros/tests/naming/illegal-chars.rs index 177763635..a04eefd8c 100644 --- a/ext/frc42_dispatch/macros/tests/naming/illegal-chars.rs +++ b/ext/frc42_dispatch/macros/tests/naming/illegal-chars.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { // should panic because the name contains illegal chars diff --git a/ext/frc42_dispatch/macros/tests/naming/missing-name.rs b/ext/frc42_dispatch/macros/tests/naming/missing-name.rs index c761611a4..e8da8396e 100644 --- a/ext/frc42_dispatch/macros/tests/naming/missing-name.rs +++ b/ext/frc42_dispatch/macros/tests/naming/missing-name.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { // should panic because no string or identifier provided diff --git a/ext/frc42_dispatch/macros/tests/naming/non-capital-start.rs b/ext/frc42_dispatch/macros/tests/naming/non-capital-start.rs index 5a3e6431d..149101947 100644 --- a/ext/frc42_dispatch/macros/tests/naming/non-capital-start.rs +++ b/ext/frc42_dispatch/macros/tests/naming/non-capital-start.rs @@ -5,7 +5,7 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -use frc42_macros::method_hash; +use recall_frc42_macros::method_hash; fn main() { // should panic because the name starts with non-capital letter diff --git a/ext/frc42_dispatch/src/lib.rs b/ext/frc42_dispatch/src/lib.rs index 24869e91f..8dff1f0cb 100644 --- a/ext/frc42_dispatch/src/lib.rs +++ b/ext/frc42_dispatch/src/lib.rs @@ -5,9 +5,9 @@ // as per Cargo.toml: https://github.com/filecoin-project/actors-utils/blob/7628cd8d39dafcc6035f28e350cdb0cccbea5ab4/frc42_dispatch/Cargo.toml#L5 // // License headers added post-fork. -pub use frc42_hasher as hasher; -pub use frc42_hasher::hash; -pub use frc42_macros::method_hash; +pub use recall_frc42_hasher as hasher; +pub use recall_frc42_hasher::hash; +pub use recall_frc42_macros::method_hash; pub mod match_method; pub mod message; diff --git a/ext/merkle-tree-rs/Cargo.toml b/ext/merkle-tree-rs/Cargo.toml index c6a1a55eb..289821034 100644 --- a/ext/merkle-tree-rs/Cargo.toml +++ b/ext/merkle-tree-rs/Cargo.toml @@ -1,13 +1,13 @@ [package] -name = "merkle-tree-rs" -version = "0.1.0" +name = "recall_merkle_tree_rs" edition = "2021" license = "MIT" rust-version = "1.65.0" -authors = ["Ahiara Ikechukwu Marvellous "] +authors = ["Ahiara Ikechukwu Marvellous ", "Textile"] readme = "README.md" repository = "https://github.com/literallymarvellous/merkle-tree-rs" -description = "A Rust library to generate merkle trees and merkle proofs." +description = "A Recall clone of `literallymarvellous` Rust library to generate merkle trees and merkle proofs." +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/ext/merkle-tree-rs/README.md b/ext/merkle-tree-rs/README.md index 0e50f9a71..903542137 100644 --- a/ext/merkle-tree-rs/README.md +++ b/ext/merkle-tree-rs/README.md @@ -13,7 +13,7 @@ Add merkle-tree-rs to your repository, also serde and serde_json for json. ``` [dependencies] -merkle-tree-rs = "0.1.0" +recall_merkle_tree_rs = "0.1.0" serde = "1.0.147" serde_json = "1.0" ``` @@ -21,7 +21,7 @@ serde_json = "1.0" ### Building a Tree ```rust -use merkle_tree_rs::standard::StandardMerkleTree; +use recall_merkle_tree_rs::standard::StandardMerkleTree; use std::fs; fn main() { @@ -58,7 +58,7 @@ fn main() { Assume we're looking to generate a proof for the entry that corresponds to address `0x11...11`. ```rust - use merkle_tree_rs::standard::StandardMerkleTree; + use recall_merkle_tree_rs::standard::StandardMerkleTree; use std::fs; fn main() { @@ -111,7 +111,7 @@ This is an opinionated design that we believe will offer the best out of the box ### `StandardMerkleTree` ```rust -use merkle_tree_rs::standard::StandardMerkleTree, +use recall_merkle_tree_rs::standard::StandardMerkleTree, ``` ### `StandardMerkleTree.of` diff --git a/fendermint/Makefile b/fendermint/Makefile index 8f0943a98..03fd5db9f 100644 --- a/fendermint/Makefile +++ b/fendermint/Makefile @@ -117,7 +117,7 @@ $(BUILTIN_ACTORS_BUNDLE): # Build a bundle CAR for the custom actors in this repo. $(CUSTOM_ACTORS_BUNDLE): - cargo build --locked --release -p fendermint_actors + cargo build --locked --release -p recall_recall_fendermint_actors # Regenerate the ABI artifacts if we don't have them already, or they changed. $(IPC_ACTORS_GEN): $(IPC_ACTORS_CODE) diff --git a/fendermint/abci/Cargo.toml b/fendermint/abci/Cargo.toml index e3388d04b..cc8babeee 100644 --- a/fendermint/abci/Cargo.toml +++ b/fendermint/abci/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_abci" description = "ABCI++ adapter using tendermint-rs and tower-abci" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/actors/Cargo.toml b/fendermint/actors/Cargo.toml index 7ca5a8cf9..638d4e45e 100644 --- a/fendermint/actors/Cargo.toml +++ b/fendermint/actors/Cargo.toml @@ -1,38 +1,38 @@ [package] -name = "fendermint_actors" -version = "0.1.0" +name = "recall_fendermint_actors" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] -fendermint_actor_activity_tracker = { path = "activity-tracker", features = ["fil-actor"] } -fendermint_actor_blobs = { path = "blobs", features = ["fil-actor"] } -fendermint_actor_blob_reader = { path = "blob_reader", features = ["fil-actor"] } -fendermint_actor_bucket = { path = "bucket", features = ["fil-actor"] } -fendermint_actor_chainmetadata = { path = "chainmetadata", features = ["fil-actor"] } -fendermint_actor_eam = { path = "eam", features = ["fil-actor"] } -fendermint_actor_gas_market_eip1559 = { path = "gas_market/eip1559", features = ["fil-actor"] } -fendermint_actor_recall_config = { path = "recall_config", features = ["fil-actor"] } -fendermint_actor_timehub = { path = "timehub", features = ["fil-actor"] } +recall_fendermint_actor_activity_tracker = { path = "activity-tracker", features = ["fil-actor"] } +recall_fendermint_actor_blobs = { path = "blobs", features = ["fil-actor"] } +recall_fendermint_actor_blob_reader = { path = "blob_reader", features = ["fil-actor"] } +recall_fendermint_actor_bucket = { path = "bucket", features = ["fil-actor"] } +recall_fendermint_actor_chainmetadata = { path = "chainmetadata", features = ["fil-actor"] } +recall_fendermint_actor_eam = { path = "eam", features = ["fil-actor"] } +recall_fendermint_actor_gas_market_eip1559 = { path = "gas_market/eip1559", features = ["fil-actor"] } +recall_fendermint_actor_recall_config = { path = "recall_config", features = ["fil-actor"] } +recall_fendermint_actor_timehub = { path = "timehub", features = ["fil-actor"] } [dependencies] cid = { workspace = true } anyhow = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } -fendermint_actor_blobs = { path = "blobs" } -fendermint_actor_blob_reader = { path = "blob_reader" } -fendermint_actor_bucket = { path = "bucket" } -fendermint_actor_chainmetadata = { path = "chainmetadata" } -fendermint_actor_eam = { path = "eam" } -fendermint_actor_gas_market_eip1559 = { path = "gas_market/eip1559" } -fendermint_actor_recall_config = { path = "recall_config" } -fendermint_actor_timehub = { path = "timehub" } +recall_fendermint_actor_blobs = { path = "blobs" } +recall_fendermint_actor_blob_reader = { path = "blob_reader" } +recall_fendermint_actor_bucket = { path = "bucket" } +recall_fendermint_actor_chainmetadata = { path = "chainmetadata" } +recall_fendermint_actor_eam = { path = "eam" } +recall_fendermint_actor_gas_market_eip1559 = { path = "gas_market/eip1559" } +recall_fendermint_actor_recall_config = { path = "recall_config" } +recall_fendermint_actor_timehub = { path = "timehub" } [build-dependencies] anyhow = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } fil_actor_bundler = "6.1.0" num-traits = { workspace = true } toml = { workspace = true } diff --git a/fendermint/actors/activity-tracker/Cargo.toml b/fendermint/actors/activity-tracker/Cargo.toml index 0c06eaa25..2cb3fb8c4 100644 --- a/fendermint/actors/activity-tracker/Cargo.toml +++ b/fendermint/actors/activity-tracker/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_activity_tracker" +name = "recall_fendermint_actor_activity_tracker" description = "Tracks subnet activity and generates rollups to submit to the parent in checkpoints" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,7 +14,7 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -25,11 +25,11 @@ num-traits = { workspace = true } serde = { workspace = true } serde_tuple = { workspace = true } hex-literal = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/activity-tracker/src/lib.rs b/fendermint/actors/activity-tracker/src/lib.rs index f8f84faa9..227fc1598 100644 --- a/fendermint/actors/activity-tracker/src/lib.rs +++ b/fendermint/actors/activity-tracker/src/lib.rs @@ -4,19 +4,19 @@ use crate::state::ConsensusData; pub use crate::state::State; use crate::types::FullActivityRollup; -use fil_actors_runtime::builtin::singletons::SYSTEM_ACTOR_ADDR; -use fil_actors_runtime::runtime::{ActorCode, Runtime}; -use fil_actors_runtime::{actor_dispatch, ActorError, EAM_ACTOR_ID}; -use fil_actors_runtime::{actor_error, DEFAULT_HAMT_CONFIG}; use fvm_shared::address::{Address, Payload}; use fvm_shared::METHOD_CONSTRUCTOR; use num_derive::FromPrimitive; +use recall_fil_actors_runtime::builtin::singletons::SYSTEM_ACTOR_ADDR; +use recall_fil_actors_runtime::runtime::{ActorCode, Runtime}; +use recall_fil_actors_runtime::{actor_dispatch, ActorError, EAM_ACTOR_ID}; +use recall_fil_actors_runtime::{actor_error, DEFAULT_HAMT_CONFIG}; mod state; pub mod types; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(ActivityTrackerActor); +recall_fil_actors_runtime::wasm_trampoline!(ActivityTrackerActor); pub const IPC_ACTIVITY_TRACKER_ACTOR_NAME: &str = "activity_tracker"; @@ -26,9 +26,9 @@ pub struct ActivityTrackerActor; #[repr(u64)] pub enum Method { Constructor = METHOD_CONSTRUCTOR, - RecordBlockCommitted = frc42_dispatch::method_hash!("RecordBlockCommitted"), - CommitActivity = frc42_dispatch::method_hash!("CommitActivity"), - PendingActivity = frc42_dispatch::method_hash!("PendingActivity"), + RecordBlockCommitted = recall_frc42_dispatch::method_hash!("RecordBlockCommitted"), + CommitActivity = recall_frc42_dispatch::method_hash!("CommitActivity"), + PendingActivity = recall_frc42_dispatch::method_hash!("PendingActivity"), } trait ActivityTracker { diff --git a/fendermint/actors/activity-tracker/src/state.rs b/fendermint/actors/activity-tracker/src/state.rs index b7ae7b88b..62072add8 100644 --- a/fendermint/actors/activity-tracker/src/state.rs +++ b/fendermint/actors/activity-tracker/src/state.rs @@ -3,11 +3,11 @@ use crate::types::{FullActivityRollup, ValidatorStats}; use cid::Cid; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{ActorError, Map2, DEFAULT_HAMT_CONFIG}; use fvm_ipld_blockstore::Blockstore; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{ActorError, Map2, DEFAULT_HAMT_CONFIG}; use serde::{Deserialize, Serialize}; #[derive(Deserialize, Serialize, Debug, Clone)] diff --git a/fendermint/actors/api/Cargo.toml b/fendermint/actors/api/Cargo.toml index 19ba4fcc8..cb4327f3f 100644 --- a/fendermint/actors/api/Cargo.toml +++ b/fendermint/actors/api/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actors_api" +name = "recall_fendermint_actors_api" description = "API and interface types for pluggable actors." license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,7 +14,7 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -24,11 +24,11 @@ num-derive = { workspace = true } num-traits = { workspace = true } serde = { workspace = true } hex-literal = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/api/src/gas_market.rs b/fendermint/actors/api/src/gas_market.rs index 7f55f4433..c4063a8a9 100644 --- a/fendermint/actors/api/src/gas_market.rs +++ b/fendermint/actors/api/src/gas_market.rs @@ -1,11 +1,11 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::ActorError; use fvm_ipld_encoding::tuple::*; use fvm_shared::econ::TokenAmount; use num_derive::FromPrimitive; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::ActorError; pub type Gas = u64; @@ -29,8 +29,8 @@ pub struct Utilization { #[derive(FromPrimitive)] #[repr(u64)] pub enum Method { - CurrentReading = frc42_dispatch::method_hash!("CurrentReading"), - UpdateUtilization = frc42_dispatch::method_hash!("UpdateUtilization"), + CurrentReading = recall_frc42_dispatch::method_hash!("CurrentReading"), + UpdateUtilization = recall_frc42_dispatch::method_hash!("UpdateUtilization"), } /// The trait to be implemented by a gas market actor, provided here for convenience, diff --git a/fendermint/actors/blob_reader/Cargo.toml b/fendermint/actors/blob_reader/Cargo.toml index 188880971..91c9e0b4b 100644 --- a/fendermint/actors/blob_reader/Cargo.toml +++ b/fendermint/actors/blob_reader/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_blob_reader" +name = "recall_fendermint_actor_blob_reader" description = "Singleton actor for reading blob bytes" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -12,30 +12,30 @@ version = "0.1.0" crate-type = ["cdylib", "lib"] [dependencies] -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } log = { workspace = true, features = ["std"] } num-traits = { workspace = true } num-derive = { workspace = true } recall_sol_facade = { workspace = true, features = ["blob-reader"] } serde = { workspace = true, features = ["derive"] } -fendermint_actor_blobs_shared = { path = "../blobs/shared" } -fendermint_actor_machine = { path = "../machine" } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } -recall_ipld = { path = "../../../recall/ipld" } +recall_actor_sdk = { workspace = true } +recall_ipld = { workspace = true } anyhow = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } hex-literal = { workspace = true } iroh-base = { workspace = true, features = ["key"] } rand = { workspace = true } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/blob_reader/src/actor.rs b/fendermint/actors/blob_reader/src/actor.rs index b71229fdd..becb76b03 100644 --- a/fendermint/actors/blob_reader/src/actor.rs +++ b/fendermint/actors/blob_reader/src/actor.rs @@ -2,15 +2,15 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::Hash; -use fil_actors_runtime::{ +use fvm_ipld_encoding::ipld_block::IpldBlock; +use fvm_shared::MethodNum; +use recall_actor_sdk::emit_evm_event; +use recall_fendermint_actor_blobs_shared::state::Hash; +use recall_fil_actors_runtime::{ actor_dispatch, actor_error, runtime::{ActorCode, Runtime}, ActorError, FIRST_EXPORTED_METHOD_NUMBER, SYSTEM_ACTOR_ADDR, }; -use fvm_ipld_encoding::ipld_block::IpldBlock; -use fvm_shared::MethodNum; -use recall_actor_sdk::emit_evm_event; use crate::shared::{ CloseReadRequestParams, GetOpenReadRequestsParams, GetPendingReadRequestsParams, @@ -20,7 +20,7 @@ use crate::shared::{ use crate::sol_facade::{ReadRequestClosed, ReadRequestOpened, ReadRequestPending}; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(ReadReqActor); +recall_fil_actors_runtime::wasm_trampoline!(ReadReqActor); pub struct ReadReqActor; @@ -161,14 +161,14 @@ mod tests { use super::*; use crate::sol_facade::ReadRequestClosed; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::test_utils::{ - expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, SYSTEM_ACTOR_CODE_ID, - }; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_shared::address::Address; use rand::RngCore; use recall_actor_sdk::to_actor_event; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::test_utils::{ + expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, SYSTEM_ACTOR_CODE_ID, + }; pub fn new_hash(size: usize) -> (Hash, u64) { let mut rng = rand::thread_rng(); diff --git a/fendermint/actors/blob_reader/src/shared.rs b/fendermint/actors/blob_reader/src/shared.rs index 23b9f4afb..807d920b1 100644 --- a/fendermint/actors/blob_reader/src/shared.rs +++ b/fendermint/actors/blob_reader/src/shared.rs @@ -4,10 +4,10 @@ use std::fmt; -use fendermint_actor_blobs_shared::state::Hash; use fvm_ipld_encoding::tuple::*; use fvm_shared::{address::Address, ActorID, MethodNum, METHOD_CONSTRUCTOR}; use num_derive::FromPrimitive; +use recall_fendermint_actor_blobs_shared::state::Hash; use serde::{Deserialize, Serialize}; pub use crate::state::State; @@ -58,14 +58,14 @@ pub enum Method { Constructor = METHOD_CONSTRUCTOR, // User methods - OpenReadRequest = frc42_dispatch::method_hash!("OpenReadRequest"), + OpenReadRequest = recall_frc42_dispatch::method_hash!("OpenReadRequest"), // System methods - GetReadRequestStatus = frc42_dispatch::method_hash!("GetReadRequestStatus"), - GetOpenReadRequests = frc42_dispatch::method_hash!("GetOpenReadRequests"), - GetPendingReadRequests = frc42_dispatch::method_hash!("GetPendingReadRequests"), - SetReadRequestPending = frc42_dispatch::method_hash!("SetReadRequestPending"), - CloseReadRequest = frc42_dispatch::method_hash!("CloseReadRequest"), + GetReadRequestStatus = recall_frc42_dispatch::method_hash!("GetReadRequestStatus"), + CloseReadRequest = recall_frc42_dispatch::method_hash!("CloseReadRequest"), + GetOpenReadRequests = recall_frc42_dispatch::method_hash!("GetOpenReadRequests"), + GetPendingReadRequests = recall_frc42_dispatch::method_hash!("GetPendingReadRequests"), + SetReadRequestPending = recall_frc42_dispatch::method_hash!("SetReadRequestPending"), } /// Params for adding a read request. diff --git a/fendermint/actors/blob_reader/src/sol_facade.rs b/fendermint/actors/blob_reader/src/sol_facade.rs index 32b5da890..af2e464a2 100644 --- a/fendermint/actors/blob_reader/src/sol_facade.rs +++ b/fendermint/actors/blob_reader/src/sol_facade.rs @@ -2,10 +2,10 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::Hash; use fvm_shared::address::Address; use fvm_shared::MethodNum; use recall_actor_sdk::TryIntoEVMEvent; +use recall_fendermint_actor_blobs_shared::state::Hash; use recall_sol_facade::blob_reader as sol; use recall_sol_facade::primitives::U256; use recall_sol_facade::types::H160; diff --git a/fendermint/actors/blob_reader/src/state.rs b/fendermint/actors/blob_reader/src/state.rs index b47ca8a57..403d43668 100644 --- a/fendermint/actors/blob_reader/src/state.rs +++ b/fendermint/actors/blob_reader/src/state.rs @@ -2,12 +2,12 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::Hash; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use log::info; +use recall_fendermint_actor_blobs_shared::state::Hash; +use recall_fil_actors_runtime::ActorError; use crate::shared::{ReadRequest, ReadRequestStatus, ReadRequestTuple}; use recall_ipld::hamt; diff --git a/fendermint/actors/blobs/Cargo.toml b/fendermint/actors/blobs/Cargo.toml index c9d2861b2..a18fc2415 100644 --- a/fendermint/actors/blobs/Cargo.toml +++ b/fendermint/actors/blobs/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_blobs" +name = "recall_fendermint_actor_blobs" description = "Singleton actor for blob management" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -13,7 +13,7 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -22,20 +22,20 @@ num-traits = { workspace = true } recall_sol_facade = { workspace = true, features = ["blobs", "credit", "gas"] } serde = { workspace = true, features = ["derive"] } -fendermint_actor_recall_config_shared = { path = "../recall_config/shared" } -fendermint_actor_blobs_shared = { path = "./shared" } -fendermint_actor_machine = { path = "../machine" } +recall_fendermint_actor_recall_config_shared = { workspace = true } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } -recall_ipld = { path = "../../../recall/ipld" } +recall_actor_sdk = { workspace = true } +recall_ipld = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } hex-literal = { workspace = true } rand = { workspace = true } -fendermint_actor_blobs_testing = { path = "./testing" } +fendermint_actor_blobs_testing = { path = "./testing", version = "0.1.0" } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/blobs/shared/Cargo.toml b/fendermint/actors/blobs/shared/Cargo.toml index 23aa7bb77..ecddab6fb 100644 --- a/fendermint/actors/blobs/shared/Cargo.toml +++ b/fendermint/actors/blobs/shared/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_blobs_shared" +name = "recall_fendermint_actor_blobs_shared" description = "Shared resources for blobs" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,8 +14,8 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } data-encoding = { workspace = true } -fil_actors_runtime = { workspace = true } -frc42_dispatch = { workspace = true } +recall_fil_actors_runtime = { workspace = true } +recall_frc42_dispatch = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -23,8 +23,8 @@ num-derive = { workspace = true } num-traits = { workspace = true } serde = { workspace = true, features = ["derive"] } -recall_actor_sdk = { path = "../../../../recall/actor_sdk" } -recall_ipld = { path = "../../../../recall/ipld" } +recall_actor_sdk = { workspace = true } +recall_ipld = { workspace = true } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/blobs/shared/src/lib.rs b/fendermint/actors/blobs/shared/src/lib.rs index 6089d3152..353a7093c 100644 --- a/fendermint/actors/blobs/shared/src/lib.rs +++ b/fendermint/actors/blobs/shared/src/lib.rs @@ -4,8 +4,6 @@ use std::collections::HashSet; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{deserialize_block, extract_send_result, ActorError}; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; @@ -13,6 +11,8 @@ use fvm_shared::econ::TokenAmount; use fvm_shared::sys::SendFlags; use fvm_shared::{ActorID, MethodNum, METHOD_CONSTRUCTOR}; use num_derive::FromPrimitive; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{deserialize_block, extract_send_result, ActorError}; use crate::state::{Account, Credit, CreditApproval, Subscription}; @@ -28,35 +28,35 @@ pub enum Method { Constructor = METHOD_CONSTRUCTOR, // User methods - BuyCredit = frc42_dispatch::method_hash!("BuyCredit"), - ApproveCredit = frc42_dispatch::method_hash!("ApproveCredit"), - RevokeCredit = frc42_dispatch::method_hash!("RevokeCredit"), - SetAccountSponsor = frc42_dispatch::method_hash!("SetAccountSponsor"), - GetAccount = frc42_dispatch::method_hash!("GetAccount"), - GetCreditApproval = frc42_dispatch::method_hash!("GetCreditApproval"), - AddBlob = frc42_dispatch::method_hash!("AddBlob"), - GetBlob = frc42_dispatch::method_hash!("GetBlob"), - DeleteBlob = frc42_dispatch::method_hash!("DeleteBlob"), - OverwriteBlob = frc42_dispatch::method_hash!("OverwriteBlob"), + BuyCredit = recall_frc42_dispatch::method_hash!("BuyCredit"), + ApproveCredit = recall_frc42_dispatch::method_hash!("ApproveCredit"), + RevokeCredit = recall_frc42_dispatch::method_hash!("RevokeCredit"), + SetAccountSponsor = recall_frc42_dispatch::method_hash!("SetAccountSponsor"), + GetAccount = recall_frc42_dispatch::method_hash!("GetAccount"), + GetCreditApproval = recall_frc42_dispatch::method_hash!("GetCreditApproval"), + AddBlob = recall_frc42_dispatch::method_hash!("AddBlob"), + GetBlob = recall_frc42_dispatch::method_hash!("GetBlob"), + DeleteBlob = recall_frc42_dispatch::method_hash!("DeleteBlob"), + OverwriteBlob = recall_frc42_dispatch::method_hash!("OverwriteBlob"), // System methods - GetGasAllowance = frc42_dispatch::method_hash!("GetGasAllowance"), - UpdateGasAllowance = frc42_dispatch::method_hash!("UpdateGasAllowance"), - GetBlobStatus = frc42_dispatch::method_hash!("GetBlobStatus"), - GetAddedBlobs = frc42_dispatch::method_hash!("GetAddedBlobs"), - GetPendingBlobs = frc42_dispatch::method_hash!("GetPendingBlobs"), - SetBlobPending = frc42_dispatch::method_hash!("SetBlobPending"), - FinalizeBlob = frc42_dispatch::method_hash!("FinalizeBlob"), - DebitAccounts = frc42_dispatch::method_hash!("DebitAccounts"), + GetGasAllowance = recall_frc42_dispatch::method_hash!("GetGasAllowance"), + UpdateGasAllowance = recall_frc42_dispatch::method_hash!("UpdateGasAllowance"), + GetBlobStatus = recall_frc42_dispatch::method_hash!("GetBlobStatus"), + GetAddedBlobs = recall_frc42_dispatch::method_hash!("GetAddedBlobs"), + GetPendingBlobs = recall_frc42_dispatch::method_hash!("GetPendingBlobs"), + SetBlobPending = recall_frc42_dispatch::method_hash!("SetBlobPending"), + FinalizeBlob = recall_frc42_dispatch::method_hash!("FinalizeBlob"), + DebitAccounts = recall_frc42_dispatch::method_hash!("DebitAccounts"), // Admin methods - SetAccountStatus = frc42_dispatch::method_hash!("SetAccountStatus"), - TrimBlobExpiries = frc42_dispatch::method_hash!("TrimBlobExpiries"), + SetAccountStatus = recall_frc42_dispatch::method_hash!("SetAccountStatus"), + TrimBlobExpiries = recall_frc42_dispatch::method_hash!("TrimBlobExpiries"), // Metrics methods - GetStats = frc42_dispatch::method_hash!("GetStats"), + GetStats = recall_frc42_dispatch::method_hash!("GetStats"), // EVM Interop - InvokeContract = frc42_dispatch::method_hash!("InvokeEVM"), + InvokeContract = recall_frc42_dispatch::method_hash!("InvokeEVM"), } pub fn buy_credit(rt: &impl Runtime, to: Address) -> Result { diff --git a/fendermint/actors/blobs/shared/src/state.rs b/fendermint/actors/blobs/shared/src/state.rs index 58b0f5f54..c23dda7e4 100644 --- a/fendermint/actors/blobs/shared/src/state.rs +++ b/fendermint/actors/blobs/shared/src/state.rs @@ -3,8 +3,6 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::anyhow; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; @@ -12,6 +10,8 @@ use fvm_shared::bigint::{BigInt, BigUint}; use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; use recall_actor_sdk::to_delegated_address; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::ActorError; use recall_ipld::{hamt, hamt::map::TrackedFlushResult, hamt::MapKey}; use serde::{Deserialize, Serialize}; use std::collections::{HashMap, HashSet}; diff --git a/fendermint/actors/blobs/src/actor.rs b/fendermint/actors/blobs/src/actor.rs index 9a76ea6f1..781c4867c 100644 --- a/fendermint/actors/blobs/src/actor.rs +++ b/fendermint/actors/blobs/src/actor.rs @@ -2,30 +2,31 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::params::{ +use fvm_ipld_encoding::ipld_block::IpldBlock; +use fvm_shared::{econ::TokenAmount, error::ExitCode, MethodNum, METHOD_SEND}; +use num_traits::Zero; +use recall_actor_sdk::{ + emit_evm_event, require_addr_is_origin_or_caller, to_delegated_address, to_id_address, + to_id_and_delegated_address, InputData, InvokeContractParams, InvokeContractReturn, +}; +use recall_fendermint_actor_blobs_shared::params::{ AddBlobParams, ApproveCreditParams, BuyCreditParams, DeleteBlobParams, FinalizeBlobParams, GetAccountParams, GetAddedBlobsParams, GetBlobParams, GetBlobStatusParams, GetCreditApprovalParams, GetGasAllowanceParams, GetPendingBlobsParams, GetStatsReturn, OverwriteBlobParams, RevokeCreditParams, SetAccountStatusParams, SetBlobPendingParams, SetSponsorParams, TrimBlobExpiriesParams, UpdateGasAllowanceParams, }; -use fendermint_actor_blobs_shared::state::{ - BlobInfo, BlobRequest, BlobStatus, Credit, CreditApproval, GasAllowance, Hash, Subscription, +use recall_fendermint_actor_blobs_shared::state::{ + AccountInfo, BlobInfo, BlobRequest, BlobStatus, Credit, CreditApproval, GasAllowance, Hash, + Subscription, }; -use fendermint_actor_blobs_shared::{state::AccountInfo, Method}; -use fendermint_actor_recall_config_shared::{get_config, require_caller_is_admin}; -use fil_actors_runtime::{ +use recall_fendermint_actor_blobs_shared::Method; +use recall_fendermint_actor_recall_config_shared::{get_config, require_caller_is_admin}; +use recall_fil_actors_runtime::{ actor_dispatch, actor_error, extract_send_result, runtime::{ActorCode, Runtime}, ActorError, FIRST_EXPORTED_METHOD_NUMBER, SYSTEM_ACTOR_ADDR, }; -use fvm_ipld_encoding::ipld_block::IpldBlock; -use fvm_shared::{econ::TokenAmount, error::ExitCode, MethodNum, METHOD_SEND}; -use num_traits::Zero; -use recall_actor_sdk::{ - emit_evm_event, require_addr_is_origin_or_caller, to_delegated_address, to_id_address, - to_id_and_delegated_address, InputData, InvokeContractParams, InvokeContractReturn, -}; use crate::sol_facade::credit::{CreditApproved, CreditDebited, CreditPurchased, CreditRevoked}; use crate::sol_facade::gas::{GasSponsorSet, GasSponsorUnset}; @@ -33,7 +34,7 @@ use crate::sol_facade::{blobs as sol_blobs, credit as sol_credit, AbiCall, AbiCa use crate::{State, BLOBS_ACTOR_NAME}; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(BlobsActor); +recall_fil_actors_runtime::wasm_trampoline!(BlobsActor); /// Singleton actor for managing blob storage. /// @@ -944,17 +945,17 @@ impl ActorCode for BlobsActor { mod tests { use super::*; - use fendermint_actor_blobs_shared::state::SubscriptionId; use fendermint_actor_blobs_testing::{new_hash, new_pk}; - use fendermint_actor_recall_config_shared::{RecallConfig, RECALL_CONFIG_ACTOR_ADDR}; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::test_utils::{ - expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, EVM_ACTOR_CODE_ID, - SYSTEM_ACTOR_CODE_ID, - }; use fvm_shared::address::Address; use fvm_shared::{bigint::BigInt, clock::ChainEpoch, sys::SendFlags}; use recall_actor_sdk::to_actor_event; + use recall_fendermint_actor_blobs_shared::state::SubscriptionId; + use recall_fendermint_actor_recall_config_shared::{RecallConfig, RECALL_CONFIG_ACTOR_ADDR}; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::test_utils::{ + expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, EVM_ACTOR_CODE_ID, + SYSTEM_ACTOR_CODE_ID, + }; pub fn construct_and_verify() -> MockRuntime { let rt = MockRuntime { @@ -975,7 +976,7 @@ mod tests { fn expect_get_config(rt: &MockRuntime) { rt.expect_send( RECALL_CONFIG_ACTOR_ADDR, - fendermint_actor_recall_config_shared::Method::GetConfig as MethodNum, + recall_fendermint_actor_recall_config_shared::Method::GetConfig as MethodNum, None, TokenAmount::zero(), None, diff --git a/fendermint/actors/blobs/src/sol_facade/blobs.rs b/fendermint/actors/blobs/src/sol_facade/blobs.rs index 56319121c..97f713d01 100644 --- a/fendermint/actors/blobs/src/sol_facade/blobs.rs +++ b/fendermint/actors/blobs/src/sol_facade/blobs.rs @@ -2,17 +2,19 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::params::{ - AddBlobParams, DeleteBlobParams, GetBlobParams, GetStatsReturn, OverwriteBlobParams, - TrimBlobExpiriesParams, -}; -use fendermint_actor_blobs_shared::state::{BlobInfo, BlobStatus, Hash, PublicKey, SubscriptionId}; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{actor_error, ActorError}; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; use num_traits::Zero; use recall_actor_sdk::TryIntoEVMEvent; +use recall_fendermint_actor_blobs_shared::params::{ + AddBlobParams, DeleteBlobParams, GetBlobParams, GetStatsReturn, OverwriteBlobParams, + TrimBlobExpiriesParams, +}; +use recall_fendermint_actor_blobs_shared::state::{ + BlobInfo, BlobStatus, Hash, PublicKey, SubscriptionId, +}; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{actor_error, ActorError}; use recall_sol_facade::blobs as sol; use recall_sol_facade::primitives::U256; use recall_sol_facade::types::{BigUintWrapper, SolCall, SolInterface, H160}; diff --git a/fendermint/actors/blobs/src/sol_facade/credit.rs b/fendermint/actors/blobs/src/sol_facade/credit.rs index 727f1da33..3f4a1c229 100644 --- a/fendermint/actors/blobs/src/sol_facade/credit.rs +++ b/fendermint/actors/blobs/src/sol_facade/credit.rs @@ -3,17 +3,17 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::Error; -use fendermint_actor_blobs_shared::params::{ - ApproveCreditParams, BuyCreditParams, GetAccountParams, GetCreditApprovalParams, - RevokeCreditParams, SetAccountStatusParams, SetSponsorParams, -}; -use fendermint_actor_blobs_shared::state::{AccountInfo, Credit, CreditApproval, TtlStatus}; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{actor_error, ActorError}; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; use recall_actor_sdk::{token_to_biguint, TryIntoEVMEvent}; +use recall_fendermint_actor_blobs_shared::params::{ + ApproveCreditParams, BuyCreditParams, GetAccountParams, GetCreditApprovalParams, + RevokeCreditParams, SetAccountStatusParams, SetSponsorParams, +}; +use recall_fendermint_actor_blobs_shared::state::{AccountInfo, Credit, CreditApproval, TtlStatus}; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{actor_error, ActorError}; use recall_sol_facade::credit as sol; use recall_sol_facade::primitives::U256; use recall_sol_facade::types::{BigUintWrapper, SolCall, SolInterface, H160}; diff --git a/fendermint/actors/blobs/src/state.rs b/fendermint/actors/blobs/src/state.rs index c2d8a03a7..9ebc3ce6d 100644 --- a/fendermint/actors/blobs/src/state.rs +++ b/fendermint/actors/blobs/src/state.rs @@ -7,13 +7,6 @@ use std::error::Error; use std::fmt::Display; use std::str::from_utf8; -use fendermint_actor_blobs_shared::params::GetStatsReturn; -use fendermint_actor_blobs_shared::state::{ - Account, Blob, BlobRequest, BlobStatus, BlobSubscribers, Credit, CreditApproval, GasAllowance, - Hash, PublicKey, Subscription, SubscriptionGroup, SubscriptionId, TokenCreditRate, TtlStatus, -}; -use fendermint_actor_recall_config_shared::RecallConfig; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_ipld_encoding::RawBytes; @@ -23,6 +16,13 @@ use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; use log::{debug, warn}; use num_traits::{ToPrimitive, Zero}; +use recall_fendermint_actor_blobs_shared::params::GetStatsReturn; +use recall_fendermint_actor_blobs_shared::state::{ + Account, Blob, BlobRequest, BlobStatus, BlobSubscribers, Credit, CreditApproval, GasAllowance, + Hash, PublicKey, Subscription, SubscriptionGroup, SubscriptionId, TokenCreditRate, TtlStatus, +}; +use recall_fendermint_actor_recall_config_shared::RecallConfig; +use recall_fil_actors_runtime::ActorError; use recall_ipld::hamt::{BytesKey, MapKey}; type BlobSourcesResult = anyhow::Result, ActorError>; @@ -79,12 +79,12 @@ impl Display for ExpiryKey { impl MapKey for ExpiryKey { fn from_bytes(b: &[u8]) -> Result { let raw_bytes = RawBytes::from(b.to_vec()); - fil_actors_runtime::cbor::deserialize(&raw_bytes, "ExpiryKey") + recall_fil_actors_runtime::cbor::deserialize(&raw_bytes, "ExpiryKey") .map_err(|e| format!("Failed to deserialize ExpiryKey {}", e)) } fn to_bytes(&self) -> Result, String> { - let raw_bytes = fil_actors_runtime::cbor::serialize(self, "ExpiryKey") + let raw_bytes = recall_fil_actors_runtime::cbor::serialize(self, "ExpiryKey") .map_err(|e| format!("Failed to serialize ExpiryKey {}", e))?; Ok(raw_bytes.to_vec()) } diff --git a/fendermint/actors/blobs/src/state/accounts.rs b/fendermint/actors/blobs/src/state/accounts.rs index 4b10cad7d..ef0da665f 100644 --- a/fendermint/actors/blobs/src/state/accounts.rs +++ b/fendermint/actors/blobs/src/state/accounts.rs @@ -2,11 +2,11 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::Account; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; +use recall_fendermint_actor_blobs_shared::state::Account; +use recall_fil_actors_runtime::ActorError; use recall_ipld::hamt; use recall_ipld::hamt::map::TrackedFlushResult; diff --git a/fendermint/actors/blobs/src/state/blobs.rs b/fendermint/actors/blobs/src/state/blobs.rs index 24160bfa0..ff1449a35 100644 --- a/fendermint/actors/blobs/src/state/blobs.rs +++ b/fendermint/actors/blobs/src/state/blobs.rs @@ -4,12 +4,12 @@ use std::collections::HashSet; -use fendermint_actor_blobs_shared::state::{Blob, Hash}; -use fendermint_actor_blobs_shared::state::{PublicKey, SubscriptionId}; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; +use recall_fendermint_actor_blobs_shared::state::{Blob, Hash}; +use recall_fendermint_actor_blobs_shared::state::{PublicKey, SubscriptionId}; +use recall_fil_actors_runtime::ActorError; use recall_ipld::hamt; use recall_ipld::hamt::map::TrackedFlushResult; diff --git a/fendermint/actors/blobs/src/state/expiries.rs b/fendermint/actors/blobs/src/state/expiries.rs index 297fe3995..6d0cb525b 100644 --- a/fendermint/actors/blobs/src/state/expiries.rs +++ b/fendermint/actors/blobs/src/state/expiries.rs @@ -2,13 +2,13 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::Hash; -use fendermint_actor_blobs_shared::state::SubscriptionId; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; +use recall_fendermint_actor_blobs_shared::state::Hash; +use recall_fendermint_actor_blobs_shared::state::SubscriptionId; +use recall_fil_actors_runtime::ActorError; use recall_ipld::amt::vec::TrackedFlushResult; use recall_ipld::{amt, hamt}; diff --git a/fendermint/actors/blobs/testing/Cargo.toml b/fendermint/actors/blobs/testing/Cargo.toml index 78ddea37d..667ce940c 100644 --- a/fendermint/actors/blobs/testing/Cargo.toml +++ b/fendermint/actors/blobs/testing/Cargo.toml @@ -4,7 +4,7 @@ description = "Test utils for blobs" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -17,4 +17,4 @@ tracing-subscriber = { workspace = true, features = ["env-filter"] } iroh-base = { workspace = true, features = ["key"] } fvm_shared = { workspace = true } -fendermint_actor_blobs_shared = { path = "../shared" } \ No newline at end of file +recall_fendermint_actor_blobs_shared = { path = "../shared" } \ No newline at end of file diff --git a/fendermint/actors/blobs/testing/src/lib.rs b/fendermint/actors/blobs/testing/src/lib.rs index f2732f528..63080c80f 100644 --- a/fendermint/actors/blobs/testing/src/lib.rs +++ b/fendermint/actors/blobs/testing/src/lib.rs @@ -2,10 +2,10 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::{Hash, PublicKey, SubscriptionId}; use fvm_shared::address::Address; use rand::distributions::Alphanumeric; use rand::{Rng, RngCore}; +use recall_fendermint_actor_blobs_shared::state::{Hash, PublicKey, SubscriptionId}; pub fn setup_logs() { use tracing_subscriber::layer::SubscriberExt; diff --git a/fendermint/actors/bucket/Cargo.toml b/fendermint/actors/bucket/Cargo.toml index a29e3eff8..145474f49 100644 --- a/fendermint/actors/bucket/Cargo.toml +++ b/fendermint/actors/bucket/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_bucket" +name = "recall_fendermint_actor_bucket" description = "Actor for bucket object storage" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -15,8 +15,8 @@ crate-type = ["cdylib", "lib"] anyhow = { workspace = true } blake3 = { workspace = true } cid = { workspace = true, default-features = false } -fil_actors_runtime = { workspace = true } -frc42_dispatch = { workspace = true } +recall_fil_actors_runtime = { workspace = true } +recall_frc42_dispatch = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -25,14 +25,14 @@ num-traits = { workspace = true } recall_sol_facade = { workspace = true, features = ["bucket"] } serde = { workspace = true, features = ["derive"] } -fendermint_actor_blobs_shared = { path = "../blobs/shared" } -fendermint_actor_machine = { path = "../machine" } -recall_ipld = { path = "../../../recall/ipld" } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } +recall_ipld = { workspace = true } +recall_actor_sdk = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } hex-literal = { workspace = true } quickcheck = { workspace = true } quickcheck_macros = { workspace = true } @@ -40,4 +40,4 @@ quickcheck_macros = { workspace = true } fendermint_actor_blobs_testing = { path = "../blobs/testing" } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/bucket/src/actor.rs b/fendermint/actors/bucket/src/actor.rs index 930a62f71..5bab510b4 100644 --- a/fendermint/actors/bucket/src/actor.rs +++ b/fendermint/actors/bucket/src/actor.rs @@ -4,12 +4,12 @@ use std::collections::HashMap; -use fendermint_actor_blobs_shared::{ +use recall_fendermint_actor_blobs_shared::{ add_blob, delete_blob, get_blob, has_credit_approval, overwrite_blob, state::{BlobInfo, BlobStatus, SubscriptionId}, }; -use fendermint_actor_machine::MachineActor; -use fil_actors_runtime::{ +use recall_fendermint_actor_machine::MachineActor; +use recall_fil_actors_runtime::{ actor_dispatch, actor_error, runtime::{ActorCode, Runtime}, ActorError, @@ -35,7 +35,7 @@ use crate::{ }; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(Actor); +recall_fil_actors_runtime::wasm_trampoline!(Actor); pub struct Actor; @@ -469,7 +469,13 @@ impl ActorCode for Actor { mod tests { use super::*; - use fendermint_actor_blobs_shared::{ + use fendermint_actor_blobs_testing::{new_hash, new_pk, setup_logs}; + use fvm_ipld_encoding::ipld_block::IpldBlock; + use fvm_shared::{ + clock::ChainEpoch, econ::TokenAmount, error::ExitCode, sys::SendFlags, MethodNum, + }; + use recall_actor_sdk::to_actor_event; + use recall_fendermint_actor_blobs_shared::{ params::{ AddBlobParams, DeleteBlobParams, GetBlobParams, GetCreditApprovalParams, OverwriteBlobParams, @@ -477,20 +483,14 @@ mod tests { state::{CreditApproval, Hash, Subscription}, Method as BlobMethod, BLOBS_ACTOR_ADDR, }; - use fendermint_actor_blobs_testing::{new_hash, new_pk, setup_logs}; - use fendermint_actor_machine::sol_facade::{MachineCreated, MachineInitialized}; - use fendermint_actor_machine::{ConstructorParams, InitParams, Kind}; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::runtime::Runtime; - use fil_actors_runtime::test_utils::{ + use recall_fendermint_actor_machine::sol_facade::{MachineCreated, MachineInitialized}; + use recall_fendermint_actor_machine::{ConstructorParams, InitParams, Kind}; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::runtime::Runtime; + use recall_fil_actors_runtime::test_utils::{ expect_empty, MockRuntime, ADM_ACTOR_CODE_ID, ETHACCOUNT_ACTOR_CODE_ID, INIT_ACTOR_CODE_ID, }; - use fil_actors_runtime::{ADM_ACTOR_ADDR, INIT_ACTOR_ADDR}; - use fvm_ipld_encoding::ipld_block::IpldBlock; - use fvm_shared::{ - clock::ChainEpoch, econ::TokenAmount, error::ExitCode, sys::SendFlags, MethodNum, - }; - use recall_actor_sdk::to_actor_event; + use recall_fil_actors_runtime::{ADM_ACTOR_ADDR, INIT_ACTOR_ADDR}; fn get_runtime() -> (MockRuntime, Address) { let origin_id_addr = Address::new_id(110); diff --git a/fendermint/actors/bucket/src/shared.rs b/fendermint/actors/bucket/src/shared.rs index 92ce8af45..b6a4b487b 100644 --- a/fendermint/actors/bucket/src/shared.rs +++ b/fendermint/actors/bucket/src/shared.rs @@ -4,14 +4,14 @@ use std::collections::HashMap; -use fendermint_actor_blobs_shared::state::{Hash, PublicKey}; -use fendermint_actor_machine::{ - GET_ADDRESS_METHOD, GET_METADATA_METHOD, INIT_METHOD, METHOD_CONSTRUCTOR, -}; use fvm_ipld_encoding::{strict_bytes, tuple::*}; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; use num_derive::FromPrimitive; +use recall_fendermint_actor_blobs_shared::state::{Hash, PublicKey}; +use recall_fendermint_actor_machine::{ + GET_ADDRESS_METHOD, GET_METADATA_METHOD, INIT_METHOD, METHOD_CONSTRUCTOR, +}; use serde::{Deserialize, Serialize}; pub use crate::state::{ObjectState, State}; @@ -28,13 +28,13 @@ pub enum Method { Init = INIT_METHOD, GetAddress = GET_ADDRESS_METHOD, GetMetadata = GET_METADATA_METHOD, - AddObject = frc42_dispatch::method_hash!("AddObject"), - DeleteObject = frc42_dispatch::method_hash!("DeleteObject"), - GetObject = frc42_dispatch::method_hash!("GetObject"), - ListObjects = frc42_dispatch::method_hash!("ListObjects"), - UpdateObjectMetadata = frc42_dispatch::method_hash!("UpdateObjectMetadata"), + AddObject = recall_frc42_dispatch::method_hash!("AddObject"), + DeleteObject = recall_frc42_dispatch::method_hash!("DeleteObject"), + GetObject = recall_frc42_dispatch::method_hash!("GetObject"), + ListObjects = recall_frc42_dispatch::method_hash!("ListObjects"), + UpdateObjectMetadata = recall_frc42_dispatch::method_hash!("UpdateObjectMetadata"), // EVM Interop - InvokeContract = frc42_dispatch::method_hash!("InvokeEVM"), + InvokeContract = recall_frc42_dispatch::method_hash!("InvokeEVM"), } /// Params for adding an object. diff --git a/fendermint/actors/bucket/src/sol_facade.rs b/fendermint/actors/bucket/src/sol_facade.rs index 1a35af3a8..14fe2ba60 100644 --- a/fendermint/actors/bucket/src/sol_facade.rs +++ b/fendermint/actors/bucket/src/sol_facade.rs @@ -3,12 +3,12 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::Error; -use fendermint_actor_blobs_shared::state::{Hash, PublicKey}; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{actor_error, ActorError}; use fvm_shared::clock::ChainEpoch; use num_traits::Zero; use recall_actor_sdk::{declare_abi_call, TryIntoEVMEvent}; +use recall_fendermint_actor_blobs_shared::state::{Hash, PublicKey}; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{actor_error, ActorError}; use recall_sol_facade::bucket as sol; use recall_sol_facade::types::{SolCall, SolInterface}; use std::collections::HashMap; @@ -65,7 +65,7 @@ impl<'a> ObjectMetadataUpdated<'a> { Self { key, metadata } } } -impl<'a> TryIntoEVMEvent for ObjectMetadataUpdated<'a> { +impl TryIntoEVMEvent for ObjectMetadataUpdated<'_> { type Target = sol::Events; fn try_into_evm_event(self) -> Result { let metadata = fvm_ipld_encoding::to_vec(self.metadata)?; diff --git a/fendermint/actors/bucket/src/state.rs b/fendermint/actors/bucket/src/state.rs index 3e89a54bd..ff53b3d14 100644 --- a/fendermint/actors/bucket/src/state.rs +++ b/fendermint/actors/bucket/src/state.rs @@ -7,13 +7,13 @@ use std::fmt::{Debug, Display, Formatter}; use std::string::FromUtf8Error; use cid::Cid; -use fendermint_actor_blobs_shared::state::Hash; -use fendermint_actor_machine::{Kind, MachineAddress, MachineState}; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; +use recall_fendermint_actor_blobs_shared::state::Hash; +use recall_fendermint_actor_machine::{Kind, MachineAddress, MachineState}; +use recall_fil_actors_runtime::ActorError; use recall_ipld::hamt; use recall_ipld::hamt::map::TrackedFlushResult; use recall_ipld::hamt::{BytesKey, MapKey}; diff --git a/fendermint/actors/build.rs b/fendermint/actors/build.rs index 543c1a4fe..99cd7b439 100644 --- a/fendermint/actors/build.rs +++ b/fendermint/actors/build.rs @@ -124,9 +124,11 @@ fn main() -> Result<(), Box> { let actor_name = pkg .to_owned() - .strip_prefix("fendermint_actor_") + .strip_prefix("recall_fendermint_actor_") .ok_or_else(|| { - format!("expected fendermint_actor_ prefix in actor package name; got: {pkg}") + format!( + "expected recall_fendermint_actor_ prefix in actor package name; got: {pkg}" + ) })? .to_owned(); diff --git a/fendermint/actors/chainmetadata/Cargo.toml b/fendermint/actors/chainmetadata/Cargo.toml index f339df0a1..4577b1aff 100644 --- a/fendermint/actors/chainmetadata/Cargo.toml +++ b/fendermint/actors/chainmetadata/Cargo.toml @@ -1,17 +1,17 @@ [package] -name = "fendermint_actor_chainmetadata" +name = "recall_fendermint_actor_chainmetadata" description = "Actor for storing chain metadata" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] crate-type = ["cdylib", "lib"] [dependencies] cid = { workspace = true, default-features = false } -fil_actors_runtime = { workspace = true, optional = true, features = [ +recall_fil_actors_runtime = { workspace = true, optional = true, features = [ "fil-actor", ] } fvm_shared = { workspace = true } @@ -22,9 +22,9 @@ num-derive = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_tuple = { workspace = true } num-traits = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } anyhow = { workspace = true } [features] default = [] -fil-actor = ["fil_actors_runtime"] +fil-actor = ["recall_fil_actors_runtime"] diff --git a/fendermint/actors/chainmetadata/src/actor.rs b/fendermint/actors/chainmetadata/src/actor.rs index f41f39e56..2c063980c 100644 --- a/fendermint/actors/chainmetadata/src/actor.rs +++ b/fendermint/actors/chainmetadata/src/actor.rs @@ -1,21 +1,21 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fil_actors_runtime::actor_dispatch; -use fil_actors_runtime::actor_error; -use fil_actors_runtime::builtin::singletons::SYSTEM_ACTOR_ADDR; -use fil_actors_runtime::runtime::{ActorCode, Runtime}; -use fil_actors_runtime::ActorDowncast; -use fil_actors_runtime::ActorError; -use fil_actors_runtime::Array; use fvm_shared::clock::ChainEpoch; use fvm_shared::error::ExitCode; +use recall_fil_actors_runtime::actor_dispatch; +use recall_fil_actors_runtime::actor_error; +use recall_fil_actors_runtime::builtin::singletons::SYSTEM_ACTOR_ADDR; +use recall_fil_actors_runtime::runtime::{ActorCode, Runtime}; +use recall_fil_actors_runtime::ActorDowncast; +use recall_fil_actors_runtime::ActorError; +use recall_fil_actors_runtime::Array; use crate::{ BlockHash, ConstructorParams, Method, PushBlockParams, State, CHAINMETADATA_ACTOR_NAME, }; -fil_actors_runtime::wasm_trampoline!(Actor); +recall_fil_actors_runtime::wasm_trampoline!(Actor); pub struct Actor; diff --git a/fendermint/actors/chainmetadata/src/shared.rs b/fendermint/actors/chainmetadata/src/shared.rs index d524efd06..598e31398 100644 --- a/fendermint/actors/chainmetadata/src/shared.rs +++ b/fendermint/actors/chainmetadata/src/shared.rs @@ -98,7 +98,7 @@ pub struct PushBlockParams { #[repr(u64)] pub enum Method { Constructor = METHOD_CONSTRUCTOR, - PushBlockHash = frc42_dispatch::method_hash!("PushBlockHash"), - LookbackLen = frc42_dispatch::method_hash!("LookbackLen"), - GetBlockHash = frc42_dispatch::method_hash!("GetBlockHash"), + PushBlockHash = recall_frc42_dispatch::method_hash!("PushBlockHash"), + LookbackLen = recall_frc42_dispatch::method_hash!("LookbackLen"), + GetBlockHash = recall_frc42_dispatch::method_hash!("GetBlockHash"), } diff --git a/fendermint/actors/eam/Cargo.toml b/fendermint/actors/eam/Cargo.toml index 859a87530..aa3d7a605 100644 --- a/fendermint/actors/eam/Cargo.toml +++ b/fendermint/actors/eam/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_eam" +name = "recall_fendermint_actor_eam" description = "Builtin Ethereum address manager actor for IPC" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,8 +14,8 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true } -fil_actor_eam = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actor_eam = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -25,11 +25,11 @@ num-derive = { workspace = true } num-traits = { workspace = true } serde = { workspace = true } hex-literal = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/eam/src/lib.rs b/fendermint/actors/eam/src/lib.rs index 82456dc31..324189d16 100644 --- a/fendermint/actors/eam/src/lib.rs +++ b/fendermint/actors/eam/src/lib.rs @@ -1,17 +1,17 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fil_actor_eam::{EamActor, Method}; -use fil_actors_runtime::runtime::builtins::Type; -use fil_actors_runtime::runtime::{ActorCode, Runtime}; -use fil_actors_runtime::ActorError; -use fil_actors_runtime::EAM_ACTOR_ID; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use fvm_shared::{ActorID, MethodNum}; use num_derive::FromPrimitive; +use recall_fil_actor_eam::{EamActor, Method}; +use recall_fil_actors_runtime::runtime::builtins::Type; +use recall_fil_actors_runtime::runtime::{ActorCode, Runtime}; +use recall_fil_actors_runtime::ActorError; +use recall_fil_actors_runtime::EAM_ACTOR_ID; use crate::state::PermissionMode; pub use crate::state::PermissionModeParams; @@ -20,7 +20,7 @@ pub use crate::state::State; mod state; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(IPCEamActor); +recall_fil_actors_runtime::wasm_trampoline!(IPCEamActor); pub const IPC_EAM_ACTOR_NAME: &str = "eam"; pub const IPC_EAM_ACTOR_ID: ActorID = EAM_ACTOR_ID; @@ -30,7 +30,7 @@ pub struct IPCEamActor; #[derive(FromPrimitive)] #[repr(u64)] pub enum ExtraMethods { - UpdateDeployers = frc42_dispatch::method_hash!("UpdateDeployers"), + UpdateDeployers = recall_frc42_dispatch::method_hash!("UpdateDeployers"), } impl IPCEamActor { @@ -114,9 +114,9 @@ impl ActorCode for IPCEamActor { RT::Blockstore: Blockstore + Clone, { if method == Method::Constructor as u64 { - fil_actors_runtime::dispatch(rt, method, Self::constructor, params) + recall_fil_actors_runtime::dispatch(rt, method, Self::constructor, params) } else if method == ExtraMethods::UpdateDeployers as u64 { - fil_actors_runtime::dispatch(rt, method, Self::update_deployers, params) + recall_fil_actors_runtime::dispatch(rt, method, Self::update_deployers, params) } else { Self::ensure_deployer_allowed(rt)?; EamActor::invoke_method(rt, method, params) @@ -131,23 +131,25 @@ pub struct ConstructorParams { #[cfg(test)] mod tests { - use fil_actor_eam::ext::evm::ConstructorParams; - use fil_actor_eam::ext::init::{Exec4Params, Exec4Return, EXEC4_METHOD}; - use fil_actor_eam::{compute_address_create, CreateExternalParams, CreateParams, Return}; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::runtime::builtins::Type; - use fil_actors_runtime::test_utils::{ - expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, EVM_ACTOR_CODE_ID, - SYSTEM_ACTOR_CODE_ID, - }; - use fil_actors_runtime::INIT_ACTOR_ADDR; - use fil_actors_runtime::SYSTEM_ACTOR_ADDR; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_ipld_encoding::RawBytes; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; use fvm_shared::error::ExitCode; use fvm_shared::MethodNum; + use recall_fil_actor_eam::ext::evm::ConstructorParams; + use recall_fil_actor_eam::ext::init::{Exec4Params, Exec4Return, EXEC4_METHOD}; + use recall_fil_actor_eam::{ + compute_address_create, CreateExternalParams, CreateParams, Return, + }; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::runtime::builtins::Type; + use recall_fil_actors_runtime::test_utils::{ + expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, EVM_ACTOR_CODE_ID, + SYSTEM_ACTOR_CODE_ID, + }; + use recall_fil_actors_runtime::INIT_ACTOR_ADDR; + use recall_fil_actors_runtime::SYSTEM_ACTOR_ADDR; use crate::state::PermissionModeParams; use crate::{ConstructorParams as IPCConstructorParams, ExtraMethods, IPCEamActor, Method}; diff --git a/fendermint/actors/eam/src/state.rs b/fendermint/actors/eam/src/state.rs index 9d278a208..b3db234ea 100644 --- a/fendermint/actors/eam/src/state.rs +++ b/fendermint/actors/eam/src/state.rs @@ -2,12 +2,12 @@ // SPDX-License-Identifier: Apache-2.0, MIT use cid::Cid; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{ActorError, Map2, DEFAULT_HAMT_CONFIG}; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use fvm_shared::ActorID; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{ActorError, Map2, DEFAULT_HAMT_CONFIG}; use serde::{Deserialize, Serialize}; pub type DeployerMap = Map2; diff --git a/fendermint/actors/gas_market/eip1559/Cargo.toml b/fendermint/actors/gas_market/eip1559/Cargo.toml index 12865aef3..80be56dd5 100644 --- a/fendermint/actors/gas_market/eip1559/Cargo.toml +++ b/fendermint/actors/gas_market/eip1559/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_actor_gas_market_eip1559" +name = "recall_fendermint_actor_gas_market_eip1559" description = "EIP-1559 gas market actor for IPC. Singleton actor to be deployed at ID 98." license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,8 +14,8 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true } -fendermint_actors_api = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fendermint_actors_api = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -25,11 +25,11 @@ num-derive = { workspace = true } num-traits = { workspace = true } serde = { workspace = true } hex-literal = { workspace = true } -frc42_dispatch = { workspace = true } +recall_frc42_dispatch = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/gas_market/eip1559/src/lib.rs b/fendermint/actors/gas_market/eip1559/src/lib.rs index 3f92736bc..ef553170a 100644 --- a/fendermint/actors/gas_market/eip1559/src/lib.rs +++ b/fendermint/actors/gas_market/eip1559/src/lib.rs @@ -1,19 +1,19 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actors_api::gas_market::Gas; -use fil_actors_runtime::actor_error; -use fil_actors_runtime::runtime::{ActorCode, Runtime}; -use fil_actors_runtime::SYSTEM_ACTOR_ADDR; -use fil_actors_runtime::{actor_dispatch, ActorError}; use fvm_ipld_encoding::tuple::*; use fvm_shared::econ::TokenAmount; use fvm_shared::METHOD_CONSTRUCTOR; use num_derive::FromPrimitive; +use recall_fendermint_actors_api::gas_market::Gas; +use recall_fil_actors_runtime::actor_error; +use recall_fil_actors_runtime::runtime::{ActorCode, Runtime}; +use recall_fil_actors_runtime::SYSTEM_ACTOR_ADDR; +use recall_fil_actors_runtime::{actor_dispatch, ActorError}; use std::cmp::Ordering; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(Actor); +recall_fil_actors_runtime::wasm_trampoline!(Actor); pub const ACTOR_NAME: &str = "gas_market_eip1559"; @@ -49,12 +49,12 @@ pub struct Actor {} #[repr(u64)] pub enum Method { Constructor = METHOD_CONSTRUCTOR, - GetConstants = frc42_dispatch::method_hash!("GetConstants"), - SetConstants = frc42_dispatch::method_hash!("SetConstants"), + GetConstants = recall_frc42_dispatch::method_hash!("GetConstants"), + SetConstants = recall_frc42_dispatch::method_hash!("SetConstants"), // Standard methods. - CurrentReading = fendermint_actors_api::gas_market::Method::CurrentReading as u64, - UpdateUtilization = fendermint_actors_api::gas_market::Method::UpdateUtilization as u64, + CurrentReading = recall_fendermint_actors_api::gas_market::Method::CurrentReading as u64, + UpdateUtilization = recall_fendermint_actors_api::gas_market::Method::UpdateUtilization as u64, } impl Actor { @@ -87,14 +87,14 @@ impl Actor { } } -impl fendermint_actors_api::gas_market::GasMarket for Actor { +impl recall_fendermint_actors_api::gas_market::GasMarket for Actor { fn current_reading( rt: &impl Runtime, - ) -> Result { + ) -> Result { rt.validate_immediate_caller_accept_any()?; let st = rt.state::()?; - Ok(fendermint_actors_api::gas_market::Reading { + Ok(recall_fendermint_actors_api::gas_market::Reading { block_gas_limit: st.constants.block_gas_limit, base_fee: st.base_fee, }) @@ -102,13 +102,13 @@ impl fendermint_actors_api::gas_market::GasMarket for Actor { fn update_utilization( rt: &impl Runtime, - utilization: fendermint_actors_api::gas_market::Utilization, - ) -> Result { + utilization: recall_fendermint_actors_api::gas_market::Utilization, + ) -> Result { rt.validate_immediate_caller_is(std::iter::once(&SYSTEM_ACTOR_ADDR))?; rt.transaction(|st: &mut State, _rt| { st.base_fee = st.next_base_fee(utilization.block_gas_used); - Ok(fendermint_actors_api::gas_market::Reading { + Ok(recall_fendermint_actors_api::gas_market::Reading { block_gas_limit: st.constants.block_gas_limit, base_fee: st.base_fee.clone(), }) @@ -163,7 +163,7 @@ impl State { // This import is necessary so that the actor_dispatch macro can find the methods on the GasMarket // trait, implemented by Self. -use fendermint_actors_api::gas_market::GasMarket; +use recall_fendermint_actors_api::gas_market::GasMarket; impl ActorCode for Actor { type Methods = Method; @@ -185,13 +185,13 @@ impl ActorCode for Actor { #[cfg(test)] mod tests { use crate::{Actor, Constants, ConstructorParams, Method, State}; - use fendermint_actors_api::gas_market::{Reading, Utilization}; - use fil_actors_runtime::test_utils::{expect_empty, MockRuntime, SYSTEM_ACTOR_CODE_ID}; - use fil_actors_runtime::SYSTEM_ACTOR_ADDR; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; use fvm_shared::error::ExitCode; + use recall_fendermint_actors_api::gas_market::{Reading, Utilization}; + use recall_fil_actors_runtime::test_utils::{expect_empty, MockRuntime, SYSTEM_ACTOR_CODE_ID}; + use recall_fil_actors_runtime::SYSTEM_ACTOR_ADDR; pub fn construct_and_verify() -> MockRuntime { let rt = MockRuntime { diff --git a/fendermint/actors/machine/Cargo.toml b/fendermint/actors/machine/Cargo.toml index 8ffd020af..17ee6fcca 100644 --- a/fendermint/actors/machine/Cargo.toml +++ b/fendermint/actors/machine/Cargo.toml @@ -1,28 +1,28 @@ [package] -name = "fendermint_actor_machine" +name = "recall_fendermint_actor_machine" description = "Shared types for ADM machine actors" license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } -fil_actors_runtime = { workspace = true } -fil_actor_adm = { workspace = true } -frc42_dispatch = { workspace = true } +recall_fil_actors_runtime = { workspace = true } +recall_fil_actor_adm = { workspace = true } +recall_frc42_dispatch = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } recall_sol_facade = { workspace = true, features = ["machine"] } serde = { workspace = true, features = ["derive"] } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } +recall_actor_sdk = { workspace = true } [dev-dependencies] -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/machine/src/lib.rs b/fendermint/actors/machine/src/lib.rs index 73ad46f44..808eed9be 100644 --- a/fendermint/actors/machine/src/lib.rs +++ b/fendermint/actors/machine/src/lib.rs @@ -4,11 +4,6 @@ use std::collections::HashMap; -pub use fil_actor_adm::Kind; -use fil_actors_runtime::{ - actor_error, runtime::Runtime, ActorError, ADM_ACTOR_ADDR, FIRST_EXPORTED_METHOD_NUMBER, - INIT_ACTOR_ADDR, -}; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::{ipld_block::IpldBlock, tuple::*}; pub use fvm_shared::METHOD_CONSTRUCTOR; @@ -16,6 +11,11 @@ use fvm_shared::{address::Address, MethodNum}; use recall_actor_sdk::{ emit_evm_event, to_delegated_address, to_id_address, to_id_and_delegated_address, }; +pub use recall_fil_actor_adm::Kind; +use recall_fil_actors_runtime::{ + actor_error, runtime::Runtime, ActorError, ADM_ACTOR_ADDR, FIRST_EXPORTED_METHOD_NUMBER, + INIT_ACTOR_ADDR, +}; use serde::{de::DeserializeOwned, Serialize}; use crate::sol_facade::{MachineCreated, MachineInitialized}; @@ -41,9 +41,9 @@ pub struct InitParams { /// Machine initialization method number. pub const INIT_METHOD: MethodNum = 2; /// Get machine address method number. -pub const GET_ADDRESS_METHOD: MethodNum = frc42_dispatch::method_hash!("GetAddress"); +pub const GET_ADDRESS_METHOD: MethodNum = recall_frc42_dispatch::method_hash!("GetAddress"); /// Get machine metadata method number. -pub const GET_METADATA_METHOD: MethodNum = frc42_dispatch::method_hash!("GetMetadata"); +pub const GET_METADATA_METHOD: MethodNum = recall_frc42_dispatch::method_hash!("GetMetadata"); // TODO: Add method for changing owner from ADM actor. pub trait MachineActor { diff --git a/fendermint/actors/machine/src/sol_facade.rs b/fendermint/actors/machine/src/sol_facade.rs index b335cf37b..eec75fa82 100644 --- a/fendermint/actors/machine/src/sol_facade.rs +++ b/fendermint/actors/machine/src/sol_facade.rs @@ -2,9 +2,9 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fil_actor_adm::Kind; use fvm_shared::address::Address; use recall_actor_sdk::TryIntoEVMEvent; +use recall_fil_actor_adm::Kind; use recall_sol_facade::machine as sol; use recall_sol_facade::types::H160; use std::collections::HashMap; diff --git a/fendermint/actors/recall_config/Cargo.toml b/fendermint/actors/recall_config/Cargo.toml index 8de8ea424..dcac967d9 100644 --- a/fendermint/actors/recall_config/Cargo.toml +++ b/fendermint/actors/recall_config/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_actor_recall_config" +name = "recall_fendermint_actor_recall_config" description = "Singleton actor for updateable Recall network parameters" +repository.workspace = true license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -13,22 +14,22 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } -fendermint_actor_blobs_shared = { path = "../blobs/shared" } -fil_actors_runtime = { workspace = true } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } num-traits = { workspace = true } recall_sol_facade = { workspace = true, features = ["config"] } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } +recall_actor_sdk = { workspace = true } serde = { workspace = true, features = ["derive"] } -fendermint_actor_recall_config_shared = { path = "../recall_config/shared" } -fendermint_actor_machine = { path = "../machine" } +recall_fendermint_actor_recall_config_shared = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } [dev-dependencies] -fil_actors_evm_shared = { workspace = true } -fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } hex-literal = { workspace = true } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/recall_config/shared/Cargo.toml b/fendermint/actors/recall_config/shared/Cargo.toml index cfc59c9c3..ece9a476e 100644 --- a/fendermint/actors/recall_config/shared/Cargo.toml +++ b/fendermint/actors/recall_config/shared/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_actor_recall_config_shared" +name = "recall_fendermint_actor_recall_config_shared" description = "Shared resources for the recall config" +repository.workspace = true license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -12,9 +13,9 @@ version = "0.1.0" crate-type = ["cdylib", "lib"] [dependencies] -fendermint_actor_blobs_shared = { path = "../../blobs/shared" } -fil_actors_runtime = { workspace = true } -frc42_dispatch = { workspace = true } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true } +recall_frc42_dispatch = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } num-derive = { workspace = true } @@ -22,4 +23,4 @@ num-traits = { workspace = true } serde = { workspace = true, features = ["derive"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/recall_config/shared/src/lib.rs b/fendermint/actors/recall_config/shared/src/lib.rs index 7a269404e..4abd7e067 100644 --- a/fendermint/actors/recall_config/shared/src/lib.rs +++ b/fendermint/actors/recall_config/shared/src/lib.rs @@ -2,9 +2,6 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::TokenCreditRate; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{deserialize_block, extract_send_result, ActorError}; use fvm_ipld_encoding::tuple::*; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; @@ -13,6 +10,9 @@ use fvm_shared::sys::SendFlags; use fvm_shared::{ActorID, MethodNum, METHOD_CONSTRUCTOR}; use num_derive::FromPrimitive; use num_traits::Zero; +use recall_fendermint_actor_blobs_shared::state::TokenCreditRate; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{deserialize_block, extract_send_result, ActorError}; use serde::{Deserialize, Serialize}; pub const RECALL_CONFIG_ACTOR_ID: ActorID = 70; @@ -64,10 +64,10 @@ pub type SetConfigParams = RecallConfig; #[repr(u64)] pub enum Method { Constructor = METHOD_CONSTRUCTOR, - SetAdmin = frc42_dispatch::method_hash!("SetAdmin"), - GetAdmin = frc42_dispatch::method_hash!("GetAdmin"), - SetConfig = frc42_dispatch::method_hash!("SetConfig"), - GetConfig = frc42_dispatch::method_hash!("GetConfig"), + SetAdmin = recall_frc42_dispatch::method_hash!("SetAdmin"), + GetAdmin = recall_frc42_dispatch::method_hash!("GetAdmin"), + SetConfig = recall_frc42_dispatch::method_hash!("SetConfig"), + GetConfig = recall_frc42_dispatch::method_hash!("GetConfig"), } pub fn get_admin(rt: &impl Runtime) -> Result, ActorError> { diff --git a/fendermint/actors/recall_config/src/lib.rs b/fendermint/actors/recall_config/src/lib.rs index 763659127..1e8133c63 100644 --- a/fendermint/actors/recall_config/src/lib.rs +++ b/fendermint/actors/recall_config/src/lib.rs @@ -2,27 +2,27 @@ // Copyright 2021-2023 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::TokenCreditRate; -use fendermint_actor_recall_config_shared::{ +use fvm_ipld_encoding::tuple::*; +use fvm_shared::bigint::BigUint; +use fvm_shared::{address::Address, clock::ChainEpoch}; +use num_traits::Zero; +use recall_actor_sdk::{emit_evm_event, to_delegated_address, to_id_and_delegated_address}; +use recall_fendermint_actor_blobs_shared::state::TokenCreditRate; +use recall_fendermint_actor_recall_config_shared::{ Method, RecallConfig, SetAdminParams, SetConfigParams, }; -use fil_actors_runtime::{ +use recall_fil_actors_runtime::{ actor_dispatch, actor_error, runtime::{ActorCode, Runtime}, ActorError, SYSTEM_ACTOR_ADDR, }; -use fvm_ipld_encoding::tuple::*; -use fvm_shared::bigint::BigUint; -use fvm_shared::{address::Address, clock::ChainEpoch}; -use num_traits::Zero; -use recall_actor_sdk::{emit_evm_event, to_delegated_address, to_id_and_delegated_address}; use crate::sol_facade::{ConfigAdminSet, ConfigSet}; mod sol_facade; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(Actor); +recall_fil_actors_runtime::wasm_trampoline!(Actor); pub const ACTOR_NAME: &str = "recall_config"; @@ -227,14 +227,14 @@ impl ActorCode for Actor { mod tests { use super::*; - use fendermint_actor_recall_config_shared::{RecallConfig, RECALL_CONFIG_ACTOR_ID}; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::test_utils::{ - expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, SYSTEM_ACTOR_CODE_ID, - }; use fvm_ipld_encoding::ipld_block::IpldBlock; use fvm_shared::error::ExitCode; use recall_actor_sdk::to_actor_event; + use recall_fendermint_actor_recall_config_shared::{RecallConfig, RECALL_CONFIG_ACTOR_ID}; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::test_utils::{ + expect_empty, MockRuntime, ETHACCOUNT_ACTOR_CODE_ID, SYSTEM_ACTOR_CODE_ID, + }; pub fn construct_and_verify( blob_capacity: u64, diff --git a/fendermint/actors/recall_config/src/sol_facade.rs b/fendermint/actors/recall_config/src/sol_facade.rs index 69cc74c9d..d33e7ecb8 100644 --- a/fendermint/actors/recall_config/src/sol_facade.rs +++ b/fendermint/actors/recall_config/src/sol_facade.rs @@ -2,10 +2,10 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_actor_blobs_shared::state::TokenCreditRate; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; use recall_actor_sdk::TryIntoEVMEvent; +use recall_fendermint_actor_blobs_shared::state::TokenCreditRate; use recall_sol_facade::config as sol; use recall_sol_facade::primitives::U256; use recall_sol_facade::types::{BigUintWrapper, H160}; diff --git a/fendermint/actors/src/manifest.rs b/fendermint/actors/src/manifest.rs index c43433c76..acff87576 100644 --- a/fendermint/actors/src/manifest.rs +++ b/fendermint/actors/src/manifest.rs @@ -2,16 +2,16 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::{anyhow, Context}; use cid::Cid; -use fendermint_actor_blob_reader::BLOB_READER_ACTOR_NAME; -use fendermint_actor_blobs::BLOBS_ACTOR_NAME; -use fendermint_actor_bucket::BUCKET_ACTOR_NAME; -use fendermint_actor_chainmetadata::CHAINMETADATA_ACTOR_NAME; -use fendermint_actor_eam::IPC_EAM_ACTOR_NAME; -use fendermint_actor_gas_market_eip1559::ACTOR_NAME as GAS_MARKET_EIP1559_ACTOR_NAME; -use fendermint_actor_recall_config::ACTOR_NAME as RECALL_CONFIG_ACTOR_NAME; -use fendermint_actor_timehub::TIMEHUB_ACTOR_NAME; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::CborStore; +use recall_fendermint_actor_blob_reader::BLOB_READER_ACTOR_NAME; +use recall_fendermint_actor_blobs::BLOBS_ACTOR_NAME; +use recall_fendermint_actor_bucket::BUCKET_ACTOR_NAME; +use recall_fendermint_actor_chainmetadata::CHAINMETADATA_ACTOR_NAME; +use recall_fendermint_actor_eam::IPC_EAM_ACTOR_NAME; +use recall_fendermint_actor_gas_market_eip1559::ACTOR_NAME as GAS_MARKET_EIP1559_ACTOR_NAME; +use recall_fendermint_actor_recall_config::ACTOR_NAME as RECALL_CONFIG_ACTOR_NAME; +use recall_fendermint_actor_timehub::TIMEHUB_ACTOR_NAME; use std::collections::HashMap; // array of required actors diff --git a/fendermint/actors/timehub/Cargo.toml b/fendermint/actors/timehub/Cargo.toml index b43a9d323..9c970c035 100644 --- a/fendermint/actors/timehub/Cargo.toml +++ b/fendermint/actors/timehub/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_actor_timehub" +name = "recall_fendermint_actor_timehub" description = "Actor for timestamping data hashes" +repository.workspace = true license.workspace = true edition.workspace = true authors.workspace = true -version = "0.1.0" +version.workspace = true [lib] ## lib is necessary for integration tests @@ -14,8 +15,8 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true, default-features = false } -fil_actors_runtime = { workspace = true } -frc42_dispatch = { workspace = true } +recall_fil_actors_runtime = { workspace = true } +recall_frc42_dispatch = { workspace = true } fvm_ipld_amt = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } @@ -26,15 +27,15 @@ serde = { workspace = true, features = ["derive"] } tracing = { workspace = true, features = ["log"] } recall_sol_facade = { workspace = true, features = ["timehub"] } -recall_actor_sdk = { path = "../../../recall/actor_sdk" } +recall_actor_sdk = { workspace = true } -fendermint_actor_blobs_shared = { path = "../blobs/shared" } -fendermint_actor_machine = { path = "../machine" } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } [dev-dependencies] -fil_actors_runtime = { workspace = true, features = ["test_utils"] } -fil_actors_evm_shared = { workspace = true } +recall_fil_actors_runtime = { workspace = true, features = ["test_utils"] } +recall_fil_actors_evm_shared = { workspace = true } hex-literal = { workspace = true } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] +fil-actor = ["recall_fil_actors_runtime/fil-actor"] diff --git a/fendermint/actors/timehub/src/actor.rs b/fendermint/actors/timehub/src/actor.rs index 25afefea0..a62249837 100644 --- a/fendermint/actors/timehub/src/actor.rs +++ b/fendermint/actors/timehub/src/actor.rs @@ -3,21 +3,21 @@ // SPDX-License-Identifier: Apache-2.0, MIT use cid::Cid; -use fendermint_actor_blobs_shared::has_credit_approval; -use fendermint_actor_machine::MachineActor; -use fil_actors_runtime::{ +use recall_actor_sdk::{emit_evm_event, require_addr_is_origin_or_caller, to_id_address}; +use recall_fendermint_actor_blobs_shared::has_credit_approval; +use recall_fendermint_actor_machine::MachineActor; +use recall_fil_actors_runtime::{ actor_dispatch, actor_error, runtime::{ActorCode, Runtime}, ActorError, }; -use recall_actor_sdk::{emit_evm_event, require_addr_is_origin_or_caller, to_id_address}; use tracing::debug; use crate::sol_facade::EventPushed; use crate::{Leaf, Method, PushParams, PushReturn, State, TIMEHUB_ACTOR_NAME}; #[cfg(feature = "fil-actor")] -fil_actors_runtime::wasm_trampoline!(TimehubActor); +recall_fil_actors_runtime::wasm_trampoline!(TimehubActor); pub struct TimehubActor; @@ -130,14 +130,20 @@ mod tests { use std::collections::HashMap; use std::str::FromStr; - use fendermint_actor_blobs_shared::{ + use fvm_ipld_encoding::ipld_block::IpldBlock; + use fvm_shared::{ + address::Address, clock::ChainEpoch, econ::TokenAmount, error::ExitCode, sys::SendFlags, + MethodNum, + }; + use recall_actor_sdk::to_actor_event; + use recall_fendermint_actor_blobs_shared::{ params::GetCreditApprovalParams, state::CreditApproval, Method as BlobMethod, BLOBS_ACTOR_ADDR, }; - use fendermint_actor_machine::sol_facade::{MachineCreated, MachineInitialized}; - use fendermint_actor_machine::{ConstructorParams, InitParams, Kind}; - use fil_actors_evm_shared::address::EthAddress; - use fil_actors_runtime::{ + use recall_fendermint_actor_machine::sol_facade::{MachineCreated, MachineInitialized}; + use recall_fendermint_actor_machine::{ConstructorParams, InitParams, Kind}; + use recall_fil_actors_evm_shared::address::EthAddress; + use recall_fil_actors_runtime::{ runtime::MessageInfo, test_utils::{ expect_empty, MockRuntime, ADM_ACTOR_CODE_ID, ETHACCOUNT_ACTOR_CODE_ID, @@ -145,12 +151,6 @@ mod tests { }, ADM_ACTOR_ADDR, INIT_ACTOR_ADDR, }; - use fvm_ipld_encoding::ipld_block::IpldBlock; - use fvm_shared::{ - address::Address, clock::ChainEpoch, econ::TokenAmount, error::ExitCode, sys::SendFlags, - MethodNum, - }; - use recall_actor_sdk::to_actor_event; pub fn construct_runtime(actor_address: Address, owner_id_addr: Address) -> MockRuntime { let owner_eth_addr = EthAddress(hex_literal::hex!( diff --git a/fendermint/actors/timehub/src/shared.rs b/fendermint/actors/timehub/src/shared.rs index c8c13965b..900924aff 100644 --- a/fendermint/actors/timehub/src/shared.rs +++ b/fendermint/actors/timehub/src/shared.rs @@ -6,16 +6,16 @@ use std::collections::HashMap; use cid::multihash::{Code, MultihashDigest}; use cid::Cid; -use fendermint_actor_machine::{ - Kind, MachineAddress, MachineState, GET_ADDRESS_METHOD, GET_METADATA_METHOD, INIT_METHOD, - METHOD_CONSTRUCTOR, -}; -use fil_actors_runtime::ActorError; use fvm_ipld_amt::Amt; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::{strict_bytes, to_vec, tuple::*, CborStore, DAG_CBOR}; use fvm_shared::address::Address; use num_derive::FromPrimitive; +use recall_fendermint_actor_machine::{ + Kind, MachineAddress, MachineState, GET_ADDRESS_METHOD, GET_METADATA_METHOD, INIT_METHOD, + METHOD_CONSTRUCTOR, +}; +use recall_fil_actors_runtime::ActorError; use serde::{de::DeserializeOwned, Serialize}; pub const TIMEHUB_ACTOR_NAME: &str = "timehub"; @@ -36,11 +36,11 @@ pub enum Method { Init = INIT_METHOD, GetAddress = GET_ADDRESS_METHOD, GetMetadata = GET_METADATA_METHOD, - Push = frc42_dispatch::method_hash!("Push"), - Get = frc42_dispatch::method_hash!("Get"), - Root = frc42_dispatch::method_hash!("Root"), - Peaks = frc42_dispatch::method_hash!("Peaks"), - Count = frc42_dispatch::method_hash!("Count"), + Push = recall_frc42_dispatch::method_hash!("Push"), + Get = recall_frc42_dispatch::method_hash!("Get"), + Root = recall_frc42_dispatch::method_hash!("Root"), + Peaks = recall_frc42_dispatch::method_hash!("Peaks"), + Count = recall_frc42_dispatch::method_hash!("Count"), } #[derive(Serialize_tuple, Deserialize_tuple)] diff --git a/fendermint/app/Cargo.toml b/fendermint/app/Cargo.toml index 986623cac..e7660e3f9 100644 --- a/fendermint/app/Cargo.toml +++ b/fendermint/app/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_app" description = "Tendermint ABCI++ Application to implement an IPLD+FVM enabled sidechain" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -53,47 +53,47 @@ uuid = { workspace = true } warp = { workspace = true } fendermint_abci = { path = "../abci" } -fendermint_actors_api = { path = "../actors/api" } +recall_fendermint_actors_api = { path = "../actors/api" } fendermint_app_options = { path = "./options" } fendermint_app_settings = { path = "./settings" } -fendermint_crypto = { path = "../crypto" } -fendermint_eth_api = { path = "../eth/api" } +recall_fendermint_crypto = { path = "../crypto" } +recall_fendermint_eth_api = { path = "../eth/api" } fendermint_materializer = { path = "../testing/materializer" } fendermint_rocksdb = { path = "../rocksdb" } -fendermint_rpc = { path = "../rpc" } +recall_fendermint_rpc = { path = "../rpc" } fendermint_storage = { path = "../storage" } fendermint_tracing = { path = "../tracing" } -fendermint_actor_gas_market_eip1559 = { path = "../actors/gas_market/eip1559" } -fendermint_vm_actor_interface = { path = "../vm/actor_interface" } -fendermint_vm_core = { path = "../vm/core" } -fendermint_vm_encoding = { path = "../vm/encoding" } +recall_fendermint_actor_gas_market_eip1559 = { path = "../actors/gas_market/eip1559" } +recall_fendermint_vm_actor_interface = { path = "../vm/actor_interface" } +recall_fendermint_vm_core = { path = "../vm/core" } +recall_fendermint_vm_encoding = { path = "../vm/encoding" } fendermint_vm_event = { path = "../vm/event" } -fendermint_vm_genesis = { path = "../vm/genesis" } +recall_fendermint_vm_genesis = { path = "../vm/genesis" } fendermint_vm_interpreter = { path = "../vm/interpreter", features = [ "bundle", ] } -fendermint_vm_message = { path = "../vm/message" } +recall_fendermint_vm_message = { path = "../vm/message" } fendermint_vm_resolver = { path = "../vm/resolver" } fendermint_vm_iroh_resolver = { path = "../vm/iroh_resolver" } fendermint_vm_snapshot = { path = "../vm/snapshot" } fendermint_vm_topdown = { path = "../vm/topdown" } -fendermint_actor_bucket = { path = "../actors/bucket" } -fendermint_actor_machine = { path = "../actors/machine" } -fendermint_actor_timehub = { path = "../actors/timehub" } -fendermint_actor_blobs_shared = { path = "../actors/blobs/shared" } +recall_fendermint_actor_bucket = { path = "../actors/bucket" } +recall_fendermint_actor_machine = { path = "../actors/machine" } +recall_fendermint_actor_timehub = { path = "../actors/timehub" } +recall_fendermint_actor_blobs_shared = { path = "../actors/blobs/shared" } fvm = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_car = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } ipc-provider = { workspace = true } ipc_ipld_resolver = { workspace = true } ipc-observability = { workspace = true } -entangler = { workspace = true } -entangler_storage = { workspace = true } +recall_entangler = { workspace = true } +recall_entangler_storage = { workspace = true } iroh_manager = { path = "../../recall/iroh_manager" } @@ -104,7 +104,7 @@ tracing-subscriber = { workspace = true, features = ["env-filter"] } quickcheck = { workspace = true } quickcheck_macros = { workspace = true } -fendermint_vm_genesis = { path = "../vm/genesis", features = ["arb"] } +recall_fendermint_vm_genesis = { path = "../vm/genesis", features = ["arb"] } fendermint_vm_snapshot = { path = "../vm/snapshot", features = ["arb"] } # Using a single binary to run the application as well as to execute client commands. diff --git a/fendermint/app/options/Cargo.toml b/fendermint/app/options/Cargo.toml index c49020dd1..fdfcf8fc4 100644 --- a/fendermint/app/options/Cargo.toml +++ b/fendermint/app/options/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_app_options" description = "Fendermint CLI options" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -23,11 +23,11 @@ tracing-subscriber = { workspace = true } cid = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } -ipc-api = { workspace = true } -ipc-types = { workspace = true } +recall_ipc_api = { workspace = true } +recall_ipc_types = { workspace = true } url = { workspace = true } ipc-observability = { workspace = true } -fendermint_vm_genesis = { path = "../../vm/genesis" } -fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } +recall_fendermint_vm_genesis = { path = "../../vm/genesis" } +recall_fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } fendermint_materializer = { path = "../../testing/materializer" } diff --git a/fendermint/app/options/src/debug.rs b/fendermint/app/options/src/debug.rs index c6a95f817..8869141ad 100644 --- a/fendermint/app/options/src/debug.rs +++ b/fendermint/app/options/src/debug.rs @@ -6,7 +6,7 @@ use std::path::PathBuf; use crate::parse::parse_eth_address; use clap::{Args, Subcommand}; use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; #[derive(Args, Debug)] pub struct DebugArgs { diff --git a/fendermint/app/options/src/genesis.rs b/fendermint/app/options/src/genesis.rs index f2133a049..7b6091ef8 100644 --- a/fendermint/app/options/src/genesis.rs +++ b/fendermint/app/options/src/genesis.rs @@ -4,14 +4,14 @@ use std::path::PathBuf; use clap::{Args, Subcommand, ValueEnum}; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use super::parse::{ parse_eth_address, parse_full_fil, parse_network_version, parse_percentage, parse_signer_addr, parse_token_amount, }; -use fendermint_vm_genesis::SignerAddr; use fvm_shared::{address::Address, econ::TokenAmount, version::NetworkVersion}; +use recall_fendermint_vm_genesis::SignerAddr; #[derive(Debug, Clone, ValueEnum)] pub enum AccountKind { diff --git a/fendermint/app/options/src/parse.rs b/fendermint/app/options/src/parse.rs index 84f75b66e..84e2026d0 100644 --- a/fendermint/app/options/src/parse.rs +++ b/fendermint/app/options/src/parse.rs @@ -7,13 +7,13 @@ use bytes::Bytes; use cid::Cid; use num_traits::{FromPrimitive, Num}; -use fendermint_vm_genesis::SignerAddr; use fvm_shared::{ address::{set_current_network, Address, Network}, bigint::BigInt, econ::TokenAmount, version::NetworkVersion, }; +use recall_fendermint_vm_genesis::SignerAddr; /// Decimals for filecoin in nano const FIL_AMOUNT_NANO_DIGITS: u32 = 9; @@ -103,7 +103,7 @@ pub fn parse_network(s: &str) -> Result { } pub fn parse_eth_address(s: &str) -> Result { - match ipc_types::EthAddress::from_str(s) { + match recall_ipc_types::EthAddress::from_str(s) { Ok(a) => Ok(a.into()), Err(e) => Err(format!("not a valid ethereum address: {e}")), } diff --git a/fendermint/app/settings/Cargo.toml b/fendermint/app/settings/Cargo.toml index e72a27e1f..c1c7a5843 100644 --- a/fendermint/app/settings/Cargo.toml +++ b/fendermint/app/settings/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_app_settings" description = "Fendermint configuration settings. The defaults are in fendermint/app/config/default.toml" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -26,9 +26,9 @@ tracing = { workspace = true } fvm_shared = { workspace = true } fvm_ipld_encoding = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } ipc-provider = { workspace = true } ipc-observability = { workspace = true } -fendermint_vm_encoding = { path = "../../vm/encoding" } +recall_fendermint_vm_encoding = { path = "../../vm/encoding" } fendermint_vm_topdown = { path = "../../vm/topdown" } diff --git a/fendermint/app/settings/src/lib.rs b/fendermint/app/settings/src/lib.rs index f2e330013..73103bf41 100644 --- a/fendermint/app/settings/src/lib.rs +++ b/fendermint/app/settings/src/lib.rs @@ -7,7 +7,7 @@ use fvm_shared::address::Address; use fvm_shared::bigint::Zero; use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, DurationSeconds}; use std::fmt::{Display, Formatter}; @@ -18,8 +18,8 @@ use tendermint_rpc::Url; use testing::TestingSettings; use utils::EnvInterpol; -use fendermint_vm_encoding::{human_readable_delegate, human_readable_str}; use fendermint_vm_topdown::BlockHeight; +use recall_fendermint_vm_encoding::{human_readable_delegate, human_readable_str}; use self::eth::EthSettings; use self::fvm::FvmSettings; @@ -37,7 +37,7 @@ pub mod utils; /// Marker to be used with the `#[serde_as(as = "IsHumanReadable")]` annotations. /// -/// We can't just import `fendermint_vm_encoding::IsHumanReadable` because we can't implement traits for it here, +/// We can't just import `recall_fendermint_vm_encoding::IsHumanReadable` because we can't implement traits for it here, /// however we can use the `human_readable_delegate!` macro to delegate from this to that for the types we need /// and it will look the same. struct IsHumanReadable; diff --git a/fendermint/app/settings/src/resolver.rs b/fendermint/app/settings/src/resolver.rs index eb574832c..ff3edfaca 100644 --- a/fendermint/app/settings/src/resolver.rs +++ b/fendermint/app/settings/src/resolver.rs @@ -6,8 +6,8 @@ use std::{path::PathBuf, time::Duration}; use serde::Deserialize; use serde_with::{serde_as, DurationSeconds}; -use ipc_api::subnet_id::SubnetID; use multiaddr::Multiaddr; +use recall_ipc_api::subnet_id::SubnetID; use crate::{home_relative, IsHumanReadable}; diff --git a/fendermint/app/src/app.rs b/fendermint/app/src/app.rs index be13f5309..8ccc8e67f 100644 --- a/fendermint/app/src/app.rs +++ b/fendermint/app/src/app.rs @@ -17,12 +17,9 @@ use async_trait::async_trait; use cid::Cid; use fendermint_abci::util::take_until_max_size; use fendermint_abci::{AbciResult, Application}; -use fendermint_actors_api::gas_market::Reading; -use fendermint_crypto::PublicKey; use fendermint_storage::{ Codec, Encode, KVCollection, KVRead, KVReadable, KVStore, KVWritable, KVWrite, }; -use fendermint_vm_core::Timestamp; use fendermint_vm_interpreter::bytes::{ BytesMessageApplyRes, BytesMessageCheckRes, BytesMessageQuery, BytesMessageQueryRes, }; @@ -38,7 +35,6 @@ use fendermint_vm_interpreter::signed::InvalidSignature; use fendermint_vm_interpreter::{ CheckInterpreter, ExecInterpreter, ProposalInterpreter, QueryInterpreter, }; -use fendermint_vm_message::query::FvmQueryHeight; use fendermint_vm_snapshot::{SnapshotClient, SnapshotError}; use fvm::engine::MultiEngine; use fvm_ipld_blockstore::Blockstore; @@ -48,6 +44,10 @@ use fvm_shared::econ::TokenAmount; use fvm_shared::version::NetworkVersion; use ipc_observability::{emit, serde::HexEncodableBlockHash}; use num_traits::Zero; +use recall_fendermint_actors_api::gas_market::Reading; +use recall_fendermint_crypto::PublicKey; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_message::query::FvmQueryHeight; use serde::{Deserialize, Serialize}; use tendermint::abci::request::CheckTxKind; use tendermint::abci::{request, response}; @@ -510,8 +510,8 @@ where /// Called once upon genesis. async fn init_chain(&self, request: request::InitChain) -> AbciResult { let genesis_bytes = Self::parse_genesis_app_bytes(&request.app_state_bytes)?; - let genesis_hash = - fendermint_vm_message::cid(&genesis_bytes).context("failed to compute genesis CID")?; + let genesis_hash = recall_fendermint_vm_message::cid(&genesis_bytes) + .context("failed to compute genesis CID")?; // Make it easy to spot any discrepancies between nodes. tracing::info!(genesis_hash = genesis_hash.to_string(), "genesis"); diff --git a/fendermint/app/src/cmd/eth.rs b/fendermint/app/src/cmd/eth.rs index defcd4f8a..9d5457ade 100644 --- a/fendermint/app/src/cmd/eth.rs +++ b/fendermint/app/src/cmd/eth.rs @@ -4,7 +4,7 @@ use std::time::Duration; use anyhow::Context; -use fendermint_eth_api::HybridClient; +use recall_fendermint_eth_api::HybridClient; use tracing::info; use crate::{ @@ -52,17 +52,17 @@ async fn run(settings: EthSettings, client: HybridClient) -> anyhow::Result<()> info!("metrics disabled"); } - let gas = fendermint_eth_api::GasOpt { + let gas = recall_fendermint_eth_api::GasOpt { min_gas_premium: settings.gas.min_gas_premium, num_blocks_max_prio_fee: settings.gas.num_blocks_max_prio_fee, max_fee_hist_size: settings.gas.max_fee_hist_size, }; - let cors = fendermint_eth_api::CorsOpt { + let cors = recall_fendermint_eth_api::CorsOpt { allowed_origins: settings.cors.allowed_origins, allowed_methods: settings.cors.allowed_methods, allowed_headers: settings.cors.allowed_headers, }; - fendermint_eth_api::listen( + recall_fendermint_eth_api::listen( settings.listen, client, settings.filter_timeout, diff --git a/fendermint/app/src/cmd/genesis.rs b/fendermint/app/src/cmd/genesis.rs index c062a001a..f7aca8ba3 100644 --- a/fendermint/app/src/cmd/genesis.rs +++ b/fendermint/app/src/cmd/genesis.rs @@ -2,19 +2,19 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::{anyhow, Context}; -use fendermint_crypto::PublicKey; use fvm_shared::address::Address; use ipc_provider::config::subnet::{EVMSubnet, SubnetConfig}; use ipc_provider::IpcProvider; +use recall_fendermint_crypto::PublicKey; use std::path::PathBuf; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{ +use fendermint_vm_interpreter::genesis::{GenesisAppState, GenesisBuilder}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{ ipc, Account, Actor, ActorMeta, Collateral, Genesis, Multisig, PermissionMode, SignerAddr, Validator, ValidatorKey, }; -use fendermint_vm_interpreter::genesis::{GenesisAppState, GenesisBuilder}; use crate::cmd; use crate::options::genesis::*; diff --git a/fendermint/app/src/cmd/key.rs b/fendermint/app/src/cmd/key.rs index e5891ae0f..76fdad137 100644 --- a/fendermint/app/src/cmd/key.rs +++ b/fendermint/app/src/cmd/key.rs @@ -3,10 +3,10 @@ use anyhow::{anyhow, Context}; use fendermint_app_options::key::KeyShowPeerIdArgs; -use fendermint_crypto::{from_b64, to_b64, PublicKey, SecretKey}; -use fendermint_vm_actor_interface::eam::EthAddress; use fvm_shared::address::Address; use rand_chacha::{rand_core::SeedableRng, ChaCha20Rng}; +use recall_fendermint_crypto::{from_b64, to_b64, PublicKey, SecretKey}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; use serde_json::json; use std::path::Path; use tendermint_config::NodeKey; @@ -190,8 +190,8 @@ fn export(output_dir: &Path, name: &str, ext: &str, b64: &str) -> anyhow::Result #[cfg(test)] mod tests { - use fendermint_vm_genesis::ValidatorKey; use quickcheck_macros::quickcheck; + use recall_fendermint_vm_genesis::ValidatorKey; use crate::cmd::key::b64_to_public; diff --git a/fendermint/app/src/cmd/objects.rs b/fendermint/app/src/cmd/objects.rs index 797ef9142..44bf72362 100644 --- a/fendermint/app/src/cmd/objects.rs +++ b/fendermint/app/src/cmd/objects.rs @@ -10,18 +10,12 @@ use std::{convert::Infallible, net::ToSocketAddrs, num::ParseIntError}; use anyhow::anyhow; use anyhow::Context; use bytes::Buf; -use entangler::{ChunkRange, Config, EntanglementResult, Entangler}; -use entangler_storage::iroh::IrohStorage as EntanglerIrohStorage; -use fendermint_actor_bucket::{GetParams, Object}; use fendermint_app_settings::objects::ObjectsSettings; -use fendermint_rpc::{client::FendermintClient, message::GasParams, QueryClient}; -use fendermint_vm_message::query::FvmQueryHeight; use futures_util::{StreamExt, TryStreamExt}; use fvm_shared::{ address::{Address, Error as NetworkError, Network}, econ::TokenAmount, }; -use ipc_api::ethers_address_to_fil_address; use iroh::{ blobs::{hashseq::HashSeq, util::SetTagOption, Hash}, client::blobs::BlobStatus, @@ -31,6 +25,12 @@ use iroh_manager::get_blob_hash_and_size; use lazy_static::lazy_static; use mime_guess::get_mime_extensions_str; use prometheus::{register_histogram, register_int_counter, Histogram, IntCounter}; +use recall_entangler::{ChunkRange, Config, EntanglementResult, Entangler}; +use recall_entangler_storage::iroh::IrohStorage as EntanglerIrohStorage; +use recall_fendermint_actor_bucket::{GetParams, Object}; +use recall_fendermint_rpc::{client::FendermintClient, message::GasParams, QueryClient}; +use recall_fendermint_vm_message::query::FvmQueryHeight; +use recall_ipc_api::ethers_address_to_fil_address; use serde::{Deserialize, Serialize}; use thiserror::Error; use tracing::{debug, info}; @@ -530,7 +530,7 @@ async fn tag_entangled_data( fn new_entangler( iroh: iroh::client::Iroh, -) -> Result, entangler::Error> { +) -> Result, recall_entangler::Error> { Entangler::new( EntanglerIrohStorage::from_client(iroh), Config::new(ENTANGLER_ALPHA, ENTANGLER_S, ENTANGLER_P), @@ -853,10 +853,10 @@ mod tests { use super::*; use async_trait::async_trait; use bytes::Bytes; - use fendermint_actor_blobs_shared::state::Hash as BlobHash; - use fendermint_vm_message::query::FvmQuery; use rand_chacha::rand_core::{RngCore, SeedableRng}; use rand_chacha::ChaCha8Rng; + use recall_fendermint_actor_blobs_shared::state::Hash as BlobHash; + use recall_fendermint_vm_message::query::FvmQuery; use std::collections::HashMap; use tendermint_rpc::endpoint::abci_query::AbciQuery; diff --git a/fendermint/app/src/cmd/rpc.rs b/fendermint/app/src/cmd/rpc.rs index 2b3a9932c..52d60db90 100644 --- a/fendermint/app/src/cmd/rpc.rs +++ b/fendermint/app/src/cmd/rpc.rs @@ -9,19 +9,19 @@ use anyhow::Context; use async_trait::async_trait; use bytes::Bytes; use fendermint_app_options::genesis::AccountKind; -use fendermint_crypto::{to_b64, SecretKey}; -use fendermint_rpc::client::BoundFendermintClient; -use fendermint_rpc::tx::{ - AsyncResponse, BoundClient, CallClient, CommitResponse, SyncResponse, TxAsync, TxClient, - TxCommit, TxSync, -}; -use fendermint_vm_core::chainid; -use fendermint_vm_message::chain::ChainMessage; -use fendermint_vm_message::query::FvmQueryHeight; use fvm_ipld_encoding::RawBytes; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; use fvm_shared::MethodNum; +use recall_fendermint_crypto::{to_b64, SecretKey}; +use recall_fendermint_rpc::client::BoundFendermintClient; +use recall_fendermint_rpc::tx::{ + AsyncResponse, BoundClient, CallClient, CommitResponse, SyncResponse, TxAsync, TxClient, + TxCommit, TxSync, +}; +use recall_fendermint_vm_core::chainid; +use recall_fendermint_vm_message::chain::ChainMessage; +use recall_fendermint_vm_message::query::FvmQueryHeight; use serde::Serialize; use serde_json::json; use tendermint::abci::response::DeliverTx; @@ -31,9 +31,9 @@ use tendermint_rpc::HttpClient; use crate::cmd; use crate::options::rpc::{BroadcastMode, FevmArgs, RpcFevmCommands, TransArgs}; use crate::options::rpc::{RpcArgs, RpcCommands, RpcQueryCommands}; -use fendermint_rpc::message::{GasParams, SignedMessageFactory}; -use fendermint_rpc::{client::FendermintClient, query::QueryClient}; -use fendermint_vm_actor_interface::eam::{self, CreateReturn, EthAddress}; +use recall_fendermint_rpc::message::{GasParams, SignedMessageFactory}; +use recall_fendermint_rpc::{client::FendermintClient, query::QueryClient}; +use recall_fendermint_vm_actor_interface::eam::{self, CreateReturn, EthAddress}; use super::key::read_secret_key; @@ -315,7 +315,7 @@ pub enum BroadcastResponse { pub struct BroadcastModeWrapper(BroadcastMode); -impl fendermint_rpc::tx::BroadcastMode for BroadcastModeWrapper { +impl recall_fendermint_rpc::tx::BroadcastMode for BroadcastModeWrapper { type Response = BroadcastResponse; } diff --git a/fendermint/app/src/cmd/run.rs b/fendermint/app/src/cmd/run.rs index b890b18ea..d8c2ad9bb 100644 --- a/fendermint/app/src/cmd/run.rs +++ b/fendermint/app/src/cmd/run.rs @@ -9,9 +9,7 @@ use fendermint_abci::ApplicationService; use fendermint_app::ipc::{AppParentFinalityQuery, AppVote}; use fendermint_app::{App, AppConfig, AppStore, BitswapBlockstore}; use fendermint_app_settings::AccountKind; -use fendermint_crypto::SecretKey; use fendermint_rocksdb::{blockstore::NamespaceBlockstore, namespaces, RocksDb, RocksDbConfig}; -use fendermint_vm_actor_interface::eam::EthAddress; use fendermint_vm_interpreter::chain::ChainEnv; use fendermint_vm_interpreter::fvm::observe::register_metrics as register_interpreter_metrics; use fendermint_vm_interpreter::fvm::upgrades::UpgradeScheduler; @@ -36,6 +34,8 @@ use ipc_ipld_resolver::{Event as ResolverEvent, VoteRecord}; use ipc_observability::{emit, observe::register_metrics as register_default_metrics}; use ipc_provider::config::subnet::{EVMSubnet, SubnetConfig}; use ipc_provider::IpcProvider; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_vm_actor_interface::eam::EthAddress; use tokio::sync::broadcast::error::RecvError; use tower::ServiceBuilder; use tracing::{debug, error, info, warn}; diff --git a/fendermint/app/src/ipc.rs b/fendermint/app/src/ipc.rs index 01493e0d1..a8b2a30b4 100644 --- a/fendermint/app/src/ipc.rs +++ b/fendermint/app/src/ipc.rs @@ -5,13 +5,13 @@ use crate::app::{AppState, AppStoreKey}; use crate::{App, BlockHeight}; use fendermint_storage::{Codec, Encode, KVReadable, KVStore, KVWritable}; -use fendermint_vm_genesis::{Power, Validator}; use fendermint_vm_interpreter::fvm::state::ipc::GatewayCaller; use fendermint_vm_interpreter::fvm::state::{FvmExecState, FvmStateParams}; use fendermint_vm_interpreter::fvm::store::ReadOnlyBlockstore; use fendermint_vm_topdown::sync::ParentFinalityStateQuery; use fendermint_vm_topdown::{IPCBlobFinality, IPCParentFinality, IPCReadRequestClosed}; use fvm_ipld_blockstore::Blockstore; +use recall_fendermint_vm_genesis::{Power, Validator}; use std::sync::Arc; use serde::{Deserialize, Serialize}; diff --git a/fendermint/app/src/metrics/prometheus.rs b/fendermint/app/src/metrics/prometheus.rs index 9594a012c..4547d34d9 100644 --- a/fendermint/app/src/metrics/prometheus.rs +++ b/fendermint/app/src/metrics/prometheus.rs @@ -5,7 +5,7 @@ /// Metrics emitted by the Ethereum API facade. pub mod eth { // TODO - migrate these metrics to new observability architecture - use fendermint_eth_api::apis::RPC_METHOD_CALL_LATENCY_SECONDS; + use recall_fendermint_eth_api::apis::RPC_METHOD_CALL_LATENCY_SECONDS; pub fn register_metrics(registry: &prometheus::Registry) -> anyhow::Result<()> { registry.register(Box::new(RPC_METHOD_CALL_LATENCY_SECONDS.clone()))?; diff --git a/fendermint/app/src/tmconv.rs b/fendermint/app/src/tmconv.rs index 407c9f4f9..a98f66a3a 100644 --- a/fendermint/app/src/tmconv.rs +++ b/fendermint/app/src/tmconv.rs @@ -2,16 +2,16 @@ // SPDX-License-Identifier: Apache-2.0, MIT //! Conversions to Tendermint data types. use anyhow::{anyhow, bail, Context}; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{Power, Validator}; use fendermint_vm_interpreter::fvm::{ state::{BlockHash, FvmStateParams}, FvmApplyRet, FvmCheckRet, FvmQueryRet, }; -use fendermint_vm_message::signed::DomainHash; use fendermint_vm_snapshot::{SnapshotItem, SnapshotManifest}; use fvm_shared::{address::Address, error::ExitCode, event::StampedEvent, ActorID}; use prost::Message; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{Power, Validator}; +use recall_fendermint_vm_message::signed::DomainHash; use serde::{Deserialize, Serialize}; use std::{collections::HashMap, num::NonZeroU32}; use tendermint::abci::{response, Code, Event, EventAttribute}; @@ -441,7 +441,7 @@ pub fn to_app_hash(state_params: &FvmStateParams) -> tendermint::hash::AppHash { // Create an artifical CID from the FVM state params, which include everything that // deterministically changes under consensus. let state_params_cid = - fendermint_vm_message::cid(state_params).expect("state params have a CID"); + recall_fendermint_vm_message::cid(state_params).expect("state params have a CID"); // We could reduce it to a hash to ephasize that this is not something that we can return at the moment, // but we could just as easily store the record in the Blockstore to make it retrievable. diff --git a/fendermint/app/src/validators.rs b/fendermint/app/src/validators.rs index 3987d4437..c94df1d3c 100644 --- a/fendermint/app/src/validators.rs +++ b/fendermint/app/src/validators.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::{anyhow, Ok, Result}; -use fendermint_crypto::PublicKey; use fendermint_vm_interpreter::fvm::state::ipc::GatewayCaller; use fendermint_vm_interpreter::fvm::state::FvmExecState; +use recall_fendermint_crypto::PublicKey; use std::collections::HashMap; use tendermint::account::Id as TendermintId; diff --git a/fendermint/crypto/Cargo.toml b/fendermint/crypto/Cargo.toml index 8952f3c79..cb689312c 100644 --- a/fendermint/crypto/Cargo.toml +++ b/fendermint/crypto/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_crypto" +name = "recall_fendermint_crypto" description = "Cryptographic utilities" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [dependencies] # Defined here so no other crate keeps a direct reference to it. diff --git a/fendermint/eth/api/Cargo.toml b/fendermint/eth/api/Cargo.toml index 3fa0ded06..4369f6e8d 100644 --- a/fendermint/eth/api/Cargo.toml +++ b/fendermint/eth/api/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_eth_api" +name = "recall_fendermint_eth_api" description = "Ethereum JSON-RPC facade" -version = "0.1.0" +repository.workspace = true authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [dependencies] anyhow = { workspace = true } @@ -31,14 +32,14 @@ tendermint-rpc = { workspace = true } tokio = { workspace = true } tower-http = { workspace = true } -fil_actors_evm_shared = { workspace = true } +recall_fil_actors_evm_shared = { workspace = true } fvm_shared = { workspace = true, features = ["crypto"] } fvm_ipld_encoding = { workspace = true } -fendermint_crypto = { path = "../../crypto" } -fendermint_rpc = { path = "../../rpc" } -fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } -fendermint_vm_message = { path = "../../vm/message" } +recall_fendermint_crypto = { workspace = true } +recall_fendermint_rpc = { workspace = true } +recall_fendermint_vm_actor_interface = { workspace = true } +recall_fendermint_vm_message = { workspace = true } [dev-dependencies] async-trait = { workspace = true } @@ -53,5 +54,5 @@ thiserror = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } -fendermint_testing = { path = "../../testing", features = ["arb"] } -fendermint_vm_message = { path = "../../vm/message", features = ["arb"] } +recall_fendermint_testing = { path = "../../testing", features = ["arb"] } +recall_fendermint_vm_message = { path = "../../vm/message", features = ["arb"] } diff --git a/fendermint/eth/api/examples/common/mod.rs b/fendermint/eth/api/examples/common/mod.rs index 17dc56da8..9111de3da 100644 --- a/fendermint/eth/api/examples/common/mod.rs +++ b/fendermint/eth/api/examples/common/mod.rs @@ -10,7 +10,7 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_eth_api --release --example GREETER -- +//! cargo run -p recall_fendermint_eth_api --release --example GREETER -- //! ``` use std::{fmt::Debug, fmt::Display}; @@ -29,9 +29,9 @@ use ethers_core::{ H160, }, }; -use fendermint_crypto::SecretKey; -use fendermint_rpc::message::SignedMessageFactory; -use fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_rpc::message::SignedMessageFactory; +use recall_fendermint_vm_actor_interface::eam::EthAddress; pub type TestMiddleware = SignerMiddleware, Wallet>; pub type TestContractCall = ContractCall, T>; diff --git a/fendermint/eth/api/examples/ethers.rs b/fendermint/eth/api/examples/ethers.rs index 42f0d8298..6c2a7ca77 100644 --- a/fendermint/eth/api/examples/ethers.rs +++ b/fendermint/eth/api/examples/ethers.rs @@ -10,7 +10,7 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_eth_api --release --example ethers -- +//! cargo run -p recall_fendermint_eth_api --release --example ethers -- //! ``` //! //! A method can also be called directly with `curl`: diff --git a/fendermint/eth/api/examples/greeter.rs b/fendermint/eth/api/examples/greeter.rs index 1b08f6662..e98158b6e 100644 --- a/fendermint/eth/api/examples/greeter.rs +++ b/fendermint/eth/api/examples/greeter.rs @@ -10,7 +10,7 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_eth_api --release --example GREETER -- +//! cargo run -p recall_fendermint_eth_api --release --example GREETER -- //! ``` use std::{fmt::Debug, path::PathBuf, sync::Arc}; diff --git a/fendermint/eth/api/examples/query_blockhash.rs b/fendermint/eth/api/examples/query_blockhash.rs index 5dc6e144c..2b104ff85 100644 --- a/fendermint/eth/api/examples/query_blockhash.rs +++ b/fendermint/eth/api/examples/query_blockhash.rs @@ -10,7 +10,7 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_eth_api --release --example query_blockhash -- +//! cargo run -p recall_fendermint_eth_api --release --example query_blockhash -- //! ``` use anyhow::Context; diff --git a/fendermint/eth/api/src/apis/eth.rs b/fendermint/eth/api/src/apis/eth.rs index 536f3e295..cc3819be7 100644 --- a/fendermint/eth/api/src/apis/eth.rs +++ b/fendermint/eth/api/src/apis/eth.rs @@ -12,15 +12,6 @@ use anyhow::Context; use ethers_core::types::transaction::eip2718::TypedTransaction; use ethers_core::types::{self as et, BlockNumber}; use ethers_core::utils::rlp; -use fendermint_rpc::message::SignedMessageFactory; -use fendermint_rpc::query::QueryClient; -use fendermint_rpc::response::{decode_data, decode_fevm_invoke, decode_fevm_return_data}; -use fendermint_vm_actor_interface::eam::{EthAddress, EAM_ACTOR_ADDR}; -use fendermint_vm_actor_interface::evm; -use fendermint_vm_message::chain::ChainMessage; -use fendermint_vm_message::query::FvmQueryHeight; -use fendermint_vm_message::signed::SignedMessage; -use fil_actors_evm_shared::uints; use futures::FutureExt; use fvm_ipld_encoding::RawBytes; use fvm_shared::address::Address; @@ -29,6 +20,15 @@ use fvm_shared::crypto::signature::Signature; use fvm_shared::{chainid::ChainID, error::ExitCode}; use jsonrpc_v2::Params; use rand::Rng; +use recall_fendermint_rpc::message::SignedMessageFactory; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_rpc::response::{decode_data, decode_fevm_invoke, decode_fevm_return_data}; +use recall_fendermint_vm_actor_interface::eam::{EthAddress, EAM_ACTOR_ADDR}; +use recall_fendermint_vm_actor_interface::evm; +use recall_fendermint_vm_message::chain::ChainMessage; +use recall_fendermint_vm_message::query::FvmQueryHeight; +use recall_fendermint_vm_message::signed::SignedMessage; +use recall_fil_actors_evm_shared::uints; use tendermint::block::Height; use tendermint_rpc::endpoint::{self, status}; use tendermint_rpc::SubscriptionClient; diff --git a/fendermint/eth/api/src/apis/net.rs b/fendermint/eth/api/src/apis/net.rs index 800ac94fa..2e11dc161 100644 --- a/fendermint/eth/api/src/apis/net.rs +++ b/fendermint/eth/api/src/apis/net.rs @@ -3,8 +3,8 @@ use anyhow::Context; use ethers_core::types as et; -use fendermint_rpc::query::QueryClient; -use fendermint_vm_message::query::FvmQueryHeight; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_vm_message::query::FvmQueryHeight; use tendermint_rpc::endpoint::net_info; use tendermint_rpc::Client; diff --git a/fendermint/eth/api/src/cache.rs b/fendermint/eth/api/src/cache.rs index 34efadcd0..b50e90119 100644 --- a/fendermint/eth/api/src/cache.rs +++ b/fendermint/eth/api/src/cache.rs @@ -16,9 +16,9 @@ use fvm_shared::{ ActorID, }; -use fendermint_rpc::client::FendermintClient; -use fendermint_rpc::query::QueryClient; -use fendermint_vm_message::query::FvmQueryHeight; +use recall_fendermint_rpc::client::FendermintClient; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_vm_message::query::FvmQueryHeight; use crate::state::ActorType; @@ -196,8 +196,8 @@ mod tests { use crate::cache::AddressCache; use crate::state::ActorType; use cid::Cid; - use fendermint_rpc::FendermintClient; use fvm_shared::address::Address; + use recall_fendermint_rpc::FendermintClient; use std::str::FromStr; use tendermint_rpc::MockClient; diff --git a/fendermint/eth/api/src/client.rs b/fendermint/eth/api/src/client.rs index a7ee08a9a..8497cd726 100644 --- a/fendermint/eth/api/src/client.rs +++ b/fendermint/eth/api/src/client.rs @@ -5,8 +5,8 @@ use std::{pin::Pin, time::Duration}; use anyhow::Context; use async_trait::async_trait; -use fendermint_rpc::client::{http_client, ws_client}; use futures::Future; +use recall_fendermint_rpc::client::{http_client, ws_client}; use tendermint_rpc::{ error::ErrorDetail, query::Query, Client, Error, HttpClient, SimpleRequest, Subscription, SubscriptionClient, Url, WebSocketClient, WebSocketClientDriver, WebSocketClientUrl, diff --git a/fendermint/eth/api/src/conv/from_eth.rs b/fendermint/eth/api/src/conv/from_eth.rs index df670763f..2bf0f09ca 100644 --- a/fendermint/eth/api/src/conv/from_eth.rs +++ b/fendermint/eth/api/src/conv/from_eth.rs @@ -7,9 +7,9 @@ use ethers_core::types as et; use ethers_core::types::transaction::eip2718::TypedTransaction; use ethers_core::types::{Eip1559TransactionRequest, TransactionRequest}; -pub use fendermint_vm_message::conv::from_eth::*; -use fendermint_vm_message::signed::OriginKind; use fvm_shared::{error::ExitCode, message::Message}; +pub use recall_fendermint_vm_message::conv::from_eth::*; +use recall_fendermint_vm_message::signed::OriginKind; use crate::error::error_with_revert; use crate::JsonRpcResult; @@ -108,8 +108,8 @@ mod tests { use ethers_core::types::transaction::eip2718::TypedTransaction; use ethers_core::types::Signature; use ethers_core::utils::rlp; - use fendermint_vm_message::signed::{OriginKind, SignedMessage}; use fvm_shared::chainid::ChainID; + use recall_fendermint_vm_message::signed::{OriginKind, SignedMessage}; #[test] fn test_legacy_transaction() { diff --git a/fendermint/eth/api/src/conv/from_fvm.rs b/fendermint/eth/api/src/conv/from_fvm.rs index 240d7fee8..d422f1fdd 100644 --- a/fendermint/eth/api/src/conv/from_fvm.rs +++ b/fendermint/eth/api/src/conv/from_fvm.rs @@ -3,4 +3,4 @@ //! Helper methods to convert between FVM and Ethereum data formats. -pub use fendermint_vm_message::conv::from_fvm::*; +pub use recall_fendermint_vm_message::conv::from_fvm::*; diff --git a/fendermint/eth/api/src/conv/from_tm.rs b/fendermint/eth/api/src/conv/from_tm.rs index d555abe2e..6abf017ba 100644 --- a/fendermint/eth/api/src/conv/from_tm.rs +++ b/fendermint/eth/api/src/conv/from_tm.rs @@ -8,14 +8,14 @@ use std::str::FromStr; use anyhow::{anyhow, Context}; use ethers_core::types::{self as et}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_message::conv::from_fvm::to_eth_typed_transaction; -use fendermint_vm_message::{chain::ChainMessage, signed::SignedMessage}; use fvm_shared::address::Address; use fvm_shared::bigint::Zero; use fvm_shared::chainid::ChainID; use fvm_shared::{bigint::BigInt, econ::TokenAmount}; use lazy_static::lazy_static; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_message::conv::from_fvm::to_eth_typed_transaction; +use recall_fendermint_vm_message::{chain::ChainMessage, signed::SignedMessage}; use tendermint::abci::response::DeliverTx; use tendermint::abci::{self, Event, EventAttribute}; use tendermint::crypto::sha256::Sha256; @@ -66,7 +66,7 @@ fn block_zero() -> tendermint::Block { signatures: Vec::new(), }; - let empty_cid = fendermint_vm_message::cid(&[0u8; 0]).unwrap(); + let empty_cid = recall_fendermint_vm_message::cid(&[0u8; 0]).unwrap(); let header = tendermint::block::Header { version: tendermint::block::header::Version { block: 0, app: 0 }, @@ -404,7 +404,7 @@ fn app_hash_to_root(app_hash: &tendermint::AppHash) -> anyhow::Result } fn maybe_contract_address(deliver_tx: &DeliverTx) -> Option { - fendermint_rpc::response::decode_fevm_create(deliver_tx) + recall_fendermint_rpc::response::decode_fevm_create(deliver_tx) .ok() .map(|cr| { // We can return either `cr.actor_id` as a masked address, diff --git a/fendermint/eth/api/src/error.rs b/fendermint/eth/api/src/error.rs index 3645ba5ea..0f4a48f7b 100644 --- a/fendermint/eth/api/src/error.rs +++ b/fendermint/eth/api/src/error.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0, MIT use ethers_contract::{ContractRevert, EthError}; -use fendermint_vm_actor_interface::ipc::subnet::SubnetActorErrors; use fvm_shared::error::ExitCode; use lazy_static::lazy_static; +use recall_fendermint_vm_actor_interface::ipc::subnet::SubnetActorErrors; use regex::Regex; use serde::Serialize; diff --git a/fendermint/eth/api/src/filters.rs b/fendermint/eth/api/src/filters.rs index d4934c1f4..95712c3aa 100644 --- a/fendermint/eth/api/src/filters.rs +++ b/fendermint/eth/api/src/filters.rs @@ -10,12 +10,14 @@ use std::{ use anyhow::{anyhow, Context}; use ethers_core::types as et; -use fendermint_rpc::{client::FendermintClient, query::QueryClient}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_message::{chain::ChainMessage, query::FvmQueryHeight, signed::DomainHash}; use futures::{Future, StreamExt}; use fvm_shared::{address::Address, chainid::ChainID, error::ExitCode}; use lru_time_cache::LruCache; +use recall_fendermint_rpc::{client::FendermintClient, query::QueryClient}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_message::{ + chain::ChainMessage, query::FvmQueryHeight, signed::DomainHash, +}; use serde::Serialize; use tendermint_rpc::{ event::{Event, EventData}, diff --git a/fendermint/eth/api/src/mpool.rs b/fendermint/eth/api/src/mpool.rs index da40507bd..df5d0de08 100644 --- a/fendermint/eth/api/src/mpool.rs +++ b/fendermint/eth/api/src/mpool.rs @@ -5,12 +5,14 @@ use std::{collections::BTreeMap, time::Duration}; use ethers_core::types as et; use ethers_core::types::transaction::eip2718::TypedTransaction; -use fendermint_rpc::{ - client::TendermintClient, message::SignedMessageFactory, FendermintClient, QueryClient, -}; -use fendermint_vm_message::{chain::ChainMessage, query::FvmQueryHeight, signed::DomainHash}; use futures::StreamExt; use fvm_shared::{address::Address, chainid::ChainID}; +use recall_fendermint_rpc::{ + client::TendermintClient, message::SignedMessageFactory, FendermintClient, QueryClient, +}; +use recall_fendermint_vm_message::{ + chain::ChainMessage, query::FvmQueryHeight, signed::DomainHash, +}; use tendermint::Block; use tendermint_rpc::{ event::EventData, diff --git a/fendermint/eth/api/src/state.rs b/fendermint/eth/api/src/state.rs index 00374aa19..15ad28a80 100644 --- a/fendermint/eth/api/src/state.rs +++ b/fendermint/eth/api/src/state.rs @@ -11,15 +11,15 @@ use std::time::Duration; use anyhow::{anyhow, Context}; use cid::Cid; use ethers_core::types::{self as et}; -use fendermint_rpc::client::{FendermintClient, TendermintClient}; -use fendermint_rpc::query::QueryClient; -use fendermint_vm_actor_interface::{evm, system}; -use fendermint_vm_message::query::{ActorState, FvmQueryHeight}; -use fendermint_vm_message::signed::DomainHash; -use fendermint_vm_message::{chain::ChainMessage, conv::from_eth::to_fvm_address}; use fvm_ipld_encoding::{de::DeserializeOwned, RawBytes}; use fvm_shared::{chainid::ChainID, econ::TokenAmount, error::ExitCode, message::Message}; use rand::Rng; +use recall_fendermint_rpc::client::{FendermintClient, TendermintClient}; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_vm_actor_interface::{evm, system}; +use recall_fendermint_vm_message::query::{ActorState, FvmQueryHeight}; +use recall_fendermint_vm_message::signed::DomainHash; +use recall_fendermint_vm_message::{chain::ChainMessage, conv::from_eth::to_fvm_address}; use tendermint::block::Height; use tendermint_rpc::query::Query; use tendermint_rpc::{ @@ -56,7 +56,7 @@ pub type Nonce = u64; // Made generic in the client type so we can mock it if we want to test API // methods without having to spin up a server. In those tests the methods // below would not be used, so those aren't generic; we'd directly invoke -// e.g. `fendermint_eth_api::apis::eth::accounts` with some mock client. +// e.g. `recall_fendermint_eth_api::apis::eth::accounts` with some mock client. pub struct JsonRpcState { pub client: FendermintClient, pub addr_cache: AddressCache, @@ -446,7 +446,7 @@ where tracing::debug!(addr = ?address, method_num, data = hex::encode(&result.value.data), "evm actor response"); - let data = fendermint_rpc::response::decode_bytes(&result.value) + let data = recall_fendermint_rpc::response::decode_bytes(&result.value) .context("failed to decode data as bytes")?; if data.is_empty() { diff --git a/fendermint/eth/hardhat/Cargo.toml b/fendermint/eth/hardhat/Cargo.toml index 1c22962c4..a272b3640 100644 --- a/fendermint/eth/hardhat/Cargo.toml +++ b/fendermint/eth/hardhat/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_eth_hardhat" description = "Utilities to deal with Hardhat build artifacts" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/rocksdb/Cargo.toml b/fendermint/rocksdb/Cargo.toml index 26ff63dde..f9181e3f8 100644 --- a/fendermint/rocksdb/Cargo.toml +++ b/fendermint/rocksdb/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_rocksdb" description = "Implement the KVStore abstraction for RocksDB" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/rocksdb/src/kvstore.rs b/fendermint/rocksdb/src/kvstore.rs index 254d51f4c..5de71707a 100644 --- a/fendermint/rocksdb/src/kvstore.rs +++ b/fendermint/rocksdb/src/kvstore.rs @@ -208,7 +208,7 @@ where } } -impl<'a, S> KVWrite for RocksDbWriteTx<'a> +impl KVWrite for RocksDbWriteTx<'_> where S: KVStore>, S::Namespace: AsRef, @@ -243,7 +243,7 @@ where } } -impl<'a> KVTransaction for RocksDbWriteTx<'a> { +impl KVTransaction for RocksDbWriteTx<'_> { fn commit(self) -> KVResult<()> { let tx = self.take_tx(); tx.commit().map_err(to_kv_error) @@ -255,7 +255,7 @@ impl<'a> KVTransaction for RocksDbWriteTx<'a> { } } -impl<'a> Drop for RocksDbWriteTx<'a> { +impl Drop for RocksDbWriteTx<'_> { fn drop(&mut self) { if !thread::panicking() { panic!("Transaction prematurely dropped. Must call `.commit()` or `.rollback()`."); diff --git a/fendermint/rpc/Cargo.toml b/fendermint/rpc/Cargo.toml index 21861b0a8..0309cf803 100644 --- a/fendermint/rpc/Cargo.toml +++ b/fendermint/rpc/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_rpc" +name = "recall_fendermint_rpc" description = "Utilities working with the tendermint_rpc library to provide an API facade for Fendermint" -version = "0.1.0" +repository.workspace = true authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [dependencies] anyhow = { workspace = true } @@ -23,12 +24,12 @@ cid = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } -fendermint_crypto = { path = "../crypto" } -fendermint_vm_actor_interface = { path = "../vm/actor_interface" } -fendermint_vm_message = { path = "../vm/message" } -fendermint_actor_bucket = { path = "../actors/bucket" } -fendermint_actor_machine = { path = "../actors/machine" } -fendermint_actor_timehub = { path = "../actors/timehub" } +recall_fendermint_crypto = { workspace = true } +recall_fendermint_vm_actor_interface = { workspace = true } +recall_fendermint_vm_message = { workspace = true } +recall_fendermint_actor_bucket = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } +recall_fendermint_actor_timehub = { workspace = true } [dev-dependencies] clap = { workspace = true } @@ -40,4 +41,4 @@ tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } -fendermint_vm_genesis = { path = "../vm/genesis" } +recall_fendermint_vm_genesis = { path = "../vm/genesis" } diff --git a/fendermint/rpc/examples/simplecoin.rs b/fendermint/rpc/examples/simplecoin.rs index c8ec09066..af8b28123 100644 --- a/fendermint/rpc/examples/simplecoin.rs +++ b/fendermint/rpc/examples/simplecoin.rs @@ -9,7 +9,7 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_rpc --release --example simplecoin -- --secret-key test-network/keys/alice.sk --verbose +//! cargo run -p recall_fendermint_rpc --release --example simplecoin -- --secret-key test-network/keys/alice.sk --verbose //! ``` use std::path::PathBuf; @@ -20,21 +20,21 @@ use clap::Parser; use ethers::abi::Tokenizable; use ethers::prelude::{abigen, decode_function_data}; use ethers::types::{H160, U256}; -use fendermint_crypto::SecretKey; -use fendermint_rpc::query::QueryClient; -use fendermint_vm_actor_interface::eam::{self, CreateReturn, EthAddress}; -use fendermint_vm_message::query::FvmQueryHeight; use fvm_shared::address::Address; use fvm_shared::chainid::ChainID; use lazy_static::lazy_static; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_vm_actor_interface::eam::{self, CreateReturn, EthAddress}; +use recall_fendermint_vm_message::query::FvmQueryHeight; use tendermint_rpc::Url; use tracing::Level; use fvm_shared::econ::TokenAmount; -use fendermint_rpc::client::FendermintClient; -use fendermint_rpc::message::{GasParams, SignedMessageFactory}; -use fendermint_rpc::tx::{CallClient, TxClient, TxCommit}; +use recall_fendermint_rpc::client::FendermintClient; +use recall_fendermint_rpc::message::{GasParams, SignedMessageFactory}; +use recall_fendermint_rpc::tx::{CallClient, TxClient, TxCommit}; type MockProvider = ethers::providers::Provider; type MockContractCall = ethers::prelude::ContractCall; diff --git a/fendermint/rpc/examples/transfer.rs b/fendermint/rpc/examples/transfer.rs index c5d59572d..4c09e9e76 100644 --- a/fendermint/rpc/examples/transfer.rs +++ b/fendermint/rpc/examples/transfer.rs @@ -8,27 +8,27 @@ //! //! # Usage //! ```text -//! cargo run -p fendermint_rpc --release --example transfer -- --secret-key test-network/keys/eric.sk --verbose +//! cargo run -p recall_fendermint_rpc --release --example transfer -- --secret-key test-network/keys/eric.sk --verbose //! ``` use std::path::PathBuf; use anyhow::{anyhow, Context}; use clap::Parser; -use fendermint_rpc::query::QueryClient; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_message::query::FvmQueryHeight; use fvm_shared::address::Address; use fvm_shared::chainid::ChainID; use lazy_static::lazy_static; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_message::query::FvmQueryHeight; use tendermint_rpc::Url; use tracing::Level; use fvm_shared::econ::TokenAmount; -use fendermint_rpc::client::FendermintClient; -use fendermint_rpc::message::{GasParams, SignedMessageFactory}; -use fendermint_rpc::tx::{TxClient, TxCommit}; +use recall_fendermint_rpc::client::FendermintClient; +use recall_fendermint_rpc::message::{GasParams, SignedMessageFactory}; +use recall_fendermint_rpc::tx::{TxClient, TxCommit}; lazy_static! { /// Default gas params based on the testkit. diff --git a/fendermint/rpc/src/client.rs b/fendermint/rpc/src/client.rs index cca674c83..4f9dce243 100644 --- a/fendermint/rpc/src/client.rs +++ b/fendermint/rpc/src/client.rs @@ -6,13 +6,13 @@ use std::marker::PhantomData; use anyhow::{anyhow, Context}; use async_trait::async_trait; -use fendermint_vm_message::chain::ChainMessage; +use recall_fendermint_vm_message::chain::ChainMessage; use tendermint::abci::response::DeliverTx; use tendermint::block::Height; use tendermint_rpc::{endpoint::abci_query::AbciQuery, Client, HttpClient, Scheme, Url}; use tendermint_rpc::{WebSocketClient, WebSocketClientDriver, WebSocketClientUrl}; -use fendermint_vm_message::query::{FvmQuery, FvmQueryHeight}; +use recall_fendermint_vm_message::query::{FvmQuery, FvmQueryHeight}; use crate::message::SignedMessageFactory; use crate::query::QueryClient; diff --git a/fendermint/rpc/src/message.rs b/fendermint/rpc/src/message.rs index 79c085aa4..89c7a9414 100644 --- a/fendermint/rpc/src/message.rs +++ b/fendermint/rpc/src/message.rs @@ -6,14 +6,14 @@ use std::path::Path; use anyhow::Context; use base64::Engine; use bytes::Bytes; -use fendermint_actor_bucket::{GetParams, Method::GetObject}; -use fendermint_crypto::SecretKey; -use fendermint_vm_actor_interface::{eam, evm}; -use fendermint_vm_message::{chain::ChainMessage, signed::SignedMessage}; use fvm_ipld_encoding::{BytesSer, RawBytes}; use fvm_shared::{ address::Address, chainid::ChainID, econ::TokenAmount, message::Message, MethodNum, METHOD_SEND, }; +use recall_fendermint_actor_bucket::{GetParams, Method::GetObject}; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_vm_actor_interface::{eam, evm}; +use recall_fendermint_vm_message::{chain::ChainMessage, signed::SignedMessage}; use crate::B64_ENGINE; diff --git a/fendermint/rpc/src/query.rs b/fendermint/rpc/src/query.rs index e4ae6784d..a923da299 100644 --- a/fendermint/rpc/src/query.rs +++ b/fendermint/rpc/src/query.rs @@ -3,12 +3,12 @@ use anyhow::{anyhow, Context}; use async_trait::async_trait; -use fendermint_actor_bucket::{GetParams, Object}; -use fendermint_vm_actor_interface::system::SYSTEM_ACTOR_ADDR; use fvm_ipld_encoding::serde::Serialize; use fvm_shared::econ::TokenAmount; use fvm_shared::message::Message; use prost::Message as ProstMessage; +use recall_fendermint_actor_bucket::{GetParams, Object}; +use recall_fendermint_vm_actor_interface::system::SYSTEM_ACTOR_ADDR; use tendermint::abci::response::DeliverTx; use tendermint::block::Height; use tendermint::v0_37::abci::response; @@ -18,7 +18,7 @@ use cid::Cid; use fvm_shared::ActorID; use fvm_shared::{address::Address, error::ExitCode}; -use fendermint_vm_message::query::{ +use recall_fendermint_vm_message::query::{ ActorState, BuiltinActors, FvmQuery, FvmQueryHeight, GasEstimate, StateParams, }; diff --git a/fendermint/rpc/src/response.rs b/fendermint/rpc/src/response.rs index e56412141..4b7eadca9 100644 --- a/fendermint/rpc/src/response.rs +++ b/fendermint/rpc/src/response.rs @@ -3,9 +3,9 @@ use anyhow::{anyhow, Context}; use base64::Engine; use bytes::Bytes; -use fendermint_actor_bucket::Object; -use fendermint_vm_actor_interface::eam; use fvm_ipld_encoding::{BytesDe, RawBytes}; +use recall_fendermint_actor_bucket::Object; +use recall_fendermint_vm_actor_interface::eam; use tendermint::abci::response::DeliverTx; /// Parse what Tendermint returns in the `data` field of [`DeliverTx`] into bytes. diff --git a/fendermint/rpc/src/tx.rs b/fendermint/rpc/src/tx.rs index 480f6d751..97caaf19e 100644 --- a/fendermint/rpc/src/tx.rs +++ b/fendermint/rpc/src/tx.rs @@ -6,7 +6,7 @@ use std::marker::PhantomData; use anyhow::Context; use async_trait::async_trait; use bytes::Bytes; -use fendermint_vm_message::query::{FvmQueryHeight, GasEstimate}; +use recall_fendermint_vm_message::query::{FvmQueryHeight, GasEstimate}; use tendermint::abci::response::DeliverTx; use tendermint_rpc::endpoint::broadcast::{tx_async, tx_commit, tx_sync}; @@ -15,8 +15,8 @@ use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; use fvm_shared::MethodNum; -use fendermint_vm_actor_interface::eam; -use fendermint_vm_message::chain::ChainMessage; +use recall_fendermint_vm_actor_interface::eam; +use recall_fendermint_vm_message::chain::ChainMessage; use crate::message::{GasParams, SignedMessageFactory}; use crate::query::{QueryClient, QueryResponse}; diff --git a/fendermint/storage/Cargo.toml b/fendermint/storage/Cargo.toml index 91b883484..f956d412f 100644 --- a/fendermint/storage/Cargo.toml +++ b/fendermint/storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_storage" description = "KV store abstraction for non-blockstore use." -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/storage/src/im.rs b/fendermint/storage/src/im.rs index 94da2d785..2bf83740c 100644 --- a/fendermint/storage/src/im.rs +++ b/fendermint/storage/src/im.rs @@ -120,7 +120,7 @@ pub struct Transaction<'a, S: KVStore, M> { _mode: M, } -impl<'a, S: KVStore> KVTransaction for Transaction<'a, S, Write> { +impl KVTransaction for Transaction<'_, S, Write> { // An exclusive lock has already been taken. fn commit(mut self) -> KVResult<()> { let mut guard = self.backend.data.lock().unwrap(); @@ -135,7 +135,7 @@ impl<'a, S: KVStore> KVTransaction for Transaction<'a, S, Write> { } } -impl<'a, S: KVStore, M> Drop for Transaction<'a, S, M> { +impl Drop for Transaction<'_, S, M> { fn drop(&mut self) { if self.token.is_some() && !thread::panicking() { panic!("Transaction prematurely dropped. Must call `.commit()` or `.rollback()`."); @@ -177,7 +177,7 @@ where } } -impl<'a, S: KVStore> KVWrite for Transaction<'a, S, Write> +impl KVWrite for Transaction<'_, S, Write> where S::Repr: Hash + Eq, { @@ -231,7 +231,7 @@ where } } -impl<'a, S, K, V> Iterator for KVIter<'a, S, K, V> +impl Iterator for KVIter<'_, S, K, V> where S: KVStore + Decode + Decode, { diff --git a/fendermint/testing/Cargo.toml b/fendermint/testing/Cargo.toml index 6f86e0001..91dc2bd05 100644 --- a/fendermint/testing/Cargo.toml +++ b/fendermint/testing/Cargo.toml @@ -1,10 +1,11 @@ [package] -name = "fendermint_testing" +name = "recall_fendermint_testing" description = "Testing utilities" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +repository.workspace = true +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -25,12 +26,12 @@ rand = { workspace = true, optional = true } cid = { workspace = true, optional = true } fvm_ipld_encoding = { workspace = true, optional = true } fvm_shared = { workspace = true, optional = true, features = ["arb"] } -ipc-api = { workspace = true, optional = true } +recall_ipc_api = { workspace = true, optional = true } [dev-dependencies] arbitrary = { workspace = true } -fendermint_testing = { path = ".", features = ["smt"] } +recall_fendermint_testing = { path = ".", features = ["smt"] } [features] default = [] @@ -50,7 +51,7 @@ arb = [ "rand", "cid", "fvm_shared", - "ipc-api", + "recall_ipc_api", "arbitrary", "num-bigint/arbitrary", "ethers", diff --git a/fendermint/testing/contract-test/Cargo.toml b/fendermint/testing/contract-test/Cargo.toml index 60f82f8a7..63e002fc8 100644 --- a/fendermint/testing/contract-test/Cargo.toml +++ b/fendermint/testing/contract-test/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_contract_test" description = "Model based testing for smart contracts" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -21,16 +21,16 @@ tendermint-rpc = { workspace = true } tokio = { workspace = true } byteorder = { workspace = true } -ipc-api = { workspace = true } -ipc_actors_abis = { workspace = true } +recall_ipc_api = { workspace = true } +recall_ipc_actors_abis = { workspace = true } -fendermint_actors_api = { workspace = true } -fendermint_testing = { path = "..", features = ["smt", "arb"] } -fendermint_crypto = { path = "../../crypto" } -fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } -fendermint_vm_core = { path = "../../vm/core" } -fendermint_vm_genesis = { path = "../../vm/genesis" } -fendermint_vm_message = { path = "../../vm/message" } +recall_fendermint_actors_api = { workspace = true } +recall_fendermint_testing = { version = "0.1.0", path = "..", features = ["smt", "arb"] } +recall_fendermint_crypto = { path = "../../crypto" } +recall_fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } +recall_fendermint_vm_core = { path = "../../vm/core" } +recall_fendermint_vm_genesis = { path = "../../vm/genesis" } +recall_fendermint_vm_message = { path = "../../vm/message" } fendermint_vm_interpreter = { path = "../../vm/interpreter", features = [ "bundle", "test-util" ] } @@ -40,10 +40,10 @@ arbitrary = { workspace = true } arbtest = { workspace = true } async-trait = { workspace = true } rand = { workspace = true } -fendermint_rpc = { path = "../../rpc" } +recall_fendermint_rpc = { path = "../../rpc" } lazy_static = { workspace = true } bytes = { workspace = true } fvm_ipld_encoding = { workspace = true } multihash = { workspace = true } fvm = { workspace = true, features = ["testing"] } -fendermint_actor_gas_market_eip1559 = { path = "../../actors/gas_market/eip1559" } \ No newline at end of file +recall_fendermint_actor_gas_market_eip1559 = { path = "../../actors/gas_market/eip1559" } \ No newline at end of file diff --git a/fendermint/testing/contract-test/src/ipc/registry.rs b/fendermint/testing/contract-test/src/ipc/registry.rs index ffa54b000..81dd9a309 100644 --- a/fendermint/testing/contract-test/src/ipc/registry.rs +++ b/fendermint/testing/contract-test/src/ipc/registry.rs @@ -2,16 +2,16 @@ // SPDX-License-Identifier: Apache-2.0, MIT use anyhow::Context; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::init::builtin_actor_eth_addr; -use fendermint_vm_actor_interface::ipc::SUBNETREGISTRY_ACTOR_ID; use fendermint_vm_interpreter::fvm::state::fevm::{ContractCaller, MockProvider}; use fendermint_vm_interpreter::fvm::state::FvmExecState; use fvm_ipld_blockstore::Blockstore; use fvm_shared::ActorID; -use ipc_actors_abis::subnet_registry_diamond::SubnetRegistryDiamondErrors; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::init::builtin_actor_eth_addr; +use recall_fendermint_vm_actor_interface::ipc::SUBNETREGISTRY_ACTOR_ID; +use recall_ipc_actors_abis::subnet_registry_diamond::SubnetRegistryDiamondErrors; -pub use ipc_actors_abis::register_subnet_facet::{ +pub use recall_ipc_actors_abis::register_subnet_facet::{ ConstructorParams as SubnetConstructorParams, RegisterSubnetFacet, }; diff --git a/fendermint/testing/contract-test/src/ipc/subnet.rs b/fendermint/testing/contract-test/src/ipc/subnet.rs index 1b7c9e905..a07b2181e 100644 --- a/fendermint/testing/contract-test/src/ipc/subnet.rs +++ b/fendermint/testing/contract-test/src/ipc/subnet.rs @@ -1,25 +1,25 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::ipc::subnet::SubnetActorErrors; -use fendermint_vm_genesis::{Collateral, Validator}; use fendermint_vm_interpreter::fvm::state::fevm::{ ContractCaller, ContractResult, MockProvider, NoRevert, }; use fendermint_vm_interpreter::fvm::state::FvmExecState; -use fendermint_vm_message::conv::{from_eth, from_fvm}; use fvm_ipld_blockstore::Blockstore; use fvm_shared::crypto::signature::SECP_SIG_LEN; use fvm_shared::econ::TokenAmount; -use ipc_actors_abis::subnet_actor_checkpointing_facet::{ +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::ipc::subnet::SubnetActorErrors; +use recall_fendermint_vm_genesis::{Collateral, Validator}; +use recall_fendermint_vm_message::conv::{from_eth, from_fvm}; +use recall_ipc_actors_abis::subnet_actor_checkpointing_facet::{ self as checkpointer, SubnetActorCheckpointingFacet, }; -use ipc_actors_abis::subnet_actor_getter_facet::{self as getter, SubnetActorGetterFacet}; -use ipc_actors_abis::subnet_actor_manager_facet::SubnetActorManagerFacet; +use recall_ipc_actors_abis::subnet_actor_getter_facet::{self as getter, SubnetActorGetterFacet}; +use recall_ipc_actors_abis::subnet_actor_manager_facet::SubnetActorManagerFacet; -pub use ipc_actors_abis::register_subnet_facet::ConstructorParams as SubnetConstructorParams; -use ipc_actors_abis::subnet_actor_reward_facet::SubnetActorRewardFacet; +pub use recall_ipc_actors_abis::register_subnet_facet::ConstructorParams as SubnetConstructorParams; +use recall_ipc_actors_abis::subnet_actor_reward_facet::SubnetActorRewardFacet; #[derive(Clone)] pub struct SubnetCaller { diff --git a/fendermint/testing/contract-test/src/lib.rs b/fendermint/testing/contract-test/src/lib.rs index 071ae6677..732866c92 100644 --- a/fendermint/testing/contract-test/src/lib.rs +++ b/fendermint/testing/contract-test/src/lib.rs @@ -3,12 +3,10 @@ use anyhow::{anyhow, Context, Result}; use byteorder::{BigEndian, WriteBytesExt}; -use fendermint_vm_core::Timestamp; use fvm_shared::clock::ChainEpoch; +use recall_fendermint_vm_core::Timestamp; use std::{future::Future, sync::Arc}; -use fendermint_crypto::PublicKey; -use fendermint_vm_genesis::Genesis; use fendermint_vm_interpreter::fvm::EndBlockOutput; use fendermint_vm_interpreter::genesis::{create_test_genesis_state, GenesisOutput}; use fendermint_vm_interpreter::{ @@ -21,6 +19,8 @@ use fendermint_vm_interpreter::{ ExecInterpreter, }; use fvm::engine::MultiEngine; +use recall_fendermint_crypto::PublicKey; +use recall_fendermint_vm_genesis::Genesis; pub mod ipc; diff --git a/fendermint/testing/contract-test/tests/gas_market.rs b/fendermint/testing/contract-test/tests/gas_market.rs index bf7beb6e4..b04678c6b 100644 --- a/fendermint/testing/contract-test/tests/gas_market.rs +++ b/fendermint/testing/contract-test/tests/gas_market.rs @@ -4,14 +4,7 @@ mod staking; use async_trait::async_trait; -use fendermint_actor_gas_market_eip1559::Constants; use fendermint_contract_test::Tester; -use fendermint_crypto::{PublicKey, SecretKey}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::gas_market::GAS_MARKET_ACTOR_ADDR; -use fendermint_vm_actor_interface::system::SYSTEM_ACTOR_ADDR; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{Account, Actor, ActorMeta, Genesis, PermissionMode, SignerAddr}; use fendermint_vm_interpreter::fvm::store::memory::MemoryBlockstore; use fendermint_vm_interpreter::fvm::upgrades::{Upgrade, UpgradeScheduler}; use fendermint_vm_interpreter::fvm::FvmMessageInterpreter; @@ -25,6 +18,15 @@ use fvm_shared::version::NetworkVersion; use lazy_static::lazy_static; use rand::rngs::StdRng; use rand::SeedableRng; +use recall_fendermint_actor_gas_market_eip1559::Constants; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::gas_market::GAS_MARKET_ACTOR_ADDR; +use recall_fendermint_vm_actor_interface::system::SYSTEM_ACTOR_ADDR; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{ + Account, Actor, ActorMeta, Genesis, PermissionMode, SignerAddr, +}; use tendermint_rpc::Client; lazy_static! { @@ -295,7 +297,7 @@ async fn test_gas_market_upgrade() { } fn custom_gas_limit(block_gas_limit: u64) -> Message { - let gas_constants = fendermint_actor_gas_market_eip1559::SetConstants { + let gas_constants = recall_fendermint_actor_gas_market_eip1559::SetConstants { block_gas_limit, ..Default::default() }; @@ -306,7 +308,7 @@ fn custom_gas_limit(block_gas_limit: u64) -> Message { to: GAS_MARKET_ACTOR_ADDR, sequence: 0, value: Default::default(), - method_num: fendermint_actor_gas_market_eip1559::Method::SetConstants as u64, + method_num: recall_fendermint_actor_gas_market_eip1559::Method::SetConstants as u64, params: RawBytes::serialize(&gas_constants).unwrap(), gas_limit: 10000000, gas_fee_cap: Default::default(), diff --git a/fendermint/testing/contract-test/tests/run_upgrades.rs b/fendermint/testing/contract-test/tests/run_upgrades.rs index 0d339946e..2c238a856 100644 --- a/fendermint/testing/contract-test/tests/run_upgrades.rs +++ b/fendermint/testing/contract-test/tests/run_upgrades.rs @@ -7,9 +7,9 @@ use anyhow::{Context, Ok}; use async_trait::async_trait; use ethers::types::U256; use fendermint_contract_test::Tester; -use fendermint_rpc::response::decode_fevm_return_data; use rand::rngs::StdRng; use rand::SeedableRng; +use recall_fendermint_rpc::response::decode_fevm_return_data; use std::str::FromStr; use ethers::contract::abigen; @@ -19,14 +19,16 @@ use fvm_shared::econ::TokenAmount; use fvm_shared::version::NetworkVersion; use tendermint_rpc::Client; -use fendermint_crypto::SecretKey; -use fendermint_vm_actor_interface::eam; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{Account, Actor, ActorMeta, Genesis, PermissionMode, SignerAddr}; use fendermint_vm_interpreter::fvm::store::memory::MemoryBlockstore; use fendermint_vm_interpreter::fvm::upgrades::{Upgrade, UpgradeScheduler}; use fendermint_vm_interpreter::fvm::FvmMessageInterpreter; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_vm_actor_interface::eam; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{ + Account, Actor, ActorMeta, Genesis, PermissionMode, SignerAddr, +}; // returns a seeded secret key which is guaranteed to be the same every time fn my_secret_key() -> SecretKey { @@ -37,8 +39,8 @@ fn my_secret_key() -> SecretKey { #[tokio::test] async fn test_applying_upgrades() { use bytes::Bytes; - use fendermint_rpc::message::{GasParams, MessageFactory}; use lazy_static::lazy_static; + use recall_fendermint_rpc::message::{GasParams, MessageFactory}; lazy_static! { /// Default gas params based on the testkit. diff --git a/fendermint/testing/contract-test/tests/smt_staking.rs b/fendermint/testing/contract-test/tests/smt_staking.rs index 5b25892be..078337afb 100644 --- a/fendermint/testing/contract-test/tests/smt_staking.rs +++ b/fendermint/testing/contract-test/tests/smt_staking.rs @@ -12,13 +12,13 @@ //! ```text //! cargo test --release -p fendermint_contract_test --test smt_staking //! ``` -use fendermint_testing::{arb::ArbTokenAmount, smt::StateMachine, state_machine_test}; +use recall_fendermint_testing::{arb::ArbTokenAmount, smt::StateMachine, state_machine_test}; mod staking; -use fendermint_vm_actor_interface::ipc::{abi_hash, AbiHash}; -use fendermint_vm_message::conv::from_fvm; -use ipc_actors_abis::subnet_actor_getter_facet; +use recall_fendermint_vm_actor_interface::ipc::{abi_hash, AbiHash}; +use recall_fendermint_vm_message::conv::from_fvm; +use recall_ipc_actors_abis::subnet_actor_getter_facet; use staking::machine::StakingMachine; state_machine_test!(staking, 30000 ms, 65512 bytes, 100 steps, StakingMachine::default()); @@ -34,7 +34,7 @@ fn prop_cross_msgs_hash() { // We need an FVM execution state to interact with the contracts. let machine = StakingMachine::default(); - fendermint_testing::smt::fixed_size_builder(1024 * 1024) + recall_fendermint_testing::smt::fixed_size_builder(1024 * 1024) .budget_ms(10000) // Need to set a budget otherwise the default is used up by setup. .run(|u| { let state = machine.gen_state(u)?; @@ -78,7 +78,7 @@ fn prop_cross_msgs_hash() { } // Check so we know we did not generate zero length messages all the time. - fendermint_testing::smt::ensure_has_randomness(u)?; + recall_fendermint_testing::smt::ensure_has_randomness(u)?; // It doesn't seem to actually matter whether we pass these as tuples or arrays. let cross_msgs_hash = cross_msgs.clone().abi_hash(); diff --git a/fendermint/testing/contract-test/tests/staking/machine.rs b/fendermint/testing/contract-test/tests/staking/machine.rs index b950dd339..512194d5d 100644 --- a/fendermint/testing/contract-test/tests/staking/machine.rs +++ b/fendermint/testing/contract-test/tests/staking/machine.rs @@ -4,27 +4,27 @@ use std::{cell::RefCell, collections::HashSet}; use arbitrary::{Arbitrary, Unstructured}; use fendermint_contract_test::ipc::{registry::RegistryCaller, subnet::SubnetCaller}; -use fendermint_crypto::{PublicKey, SecretKey}; -use fendermint_testing::smt::StateMachine; -use fendermint_vm_actor_interface::{ - eam::EthAddress, - ipc::{subnet::SubnetActorErrors, subnet_id_to_eth, AbiHash}, -}; -use fendermint_vm_genesis::{Collateral, Validator, ValidatorKey}; use fendermint_vm_interpreter::fvm::{ state::{fevm::ContractResult, ipc::GatewayCaller, FvmExecState}, store::memory::MemoryBlockstore, }; -use fendermint_vm_message::{ - conv::from_fvm::{self, to_eth_tokens}, - signed::sign_secp256k1, -}; use fvm_ipld_blockstore::Blockstore; use fvm_shared::bigint::Integer; use fvm_shared::econ::TokenAmount; use fvm_shared::{address::Address, bigint::BigInt}; -use ipc_actors_abis::subnet_actor_checkpointing_facet as checkpointer; -use ipc_api::subnet_id::SubnetID; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +use recall_fendermint_testing::smt::StateMachine; +use recall_fendermint_vm_actor_interface::{ + eam::EthAddress, + ipc::{subnet::SubnetActorErrors, subnet_id_to_eth, AbiHash}, +}; +use recall_fendermint_vm_genesis::{Collateral, Validator, ValidatorKey}; +use recall_fendermint_vm_message::{ + conv::from_fvm::{self, to_eth_tokens}, + signed::sign_secp256k1, +}; +use recall_ipc_actors_abis::subnet_actor_checkpointing_facet as checkpointer; +use recall_ipc_api::subnet_id::SubnetID; use super::{ choose_amount, @@ -101,7 +101,7 @@ impl StateMachine for StakingMachine { // TODO: Need to add field to specify release queue lock time. let params = SubnetConstructorParams { - parent_id: ipc_actors_abis::register_subnet_facet::SubnetID { root, route }, + parent_id: recall_ipc_actors_abis::register_subnet_facet::SubnetID { root, route }, ipc_gateway_addr: gateway.addr().into(), consensus: 0, // TODO: What are the options? bottom_up_check_period: child_ipc.gateway.bottom_up_check_period, @@ -111,11 +111,11 @@ impl StateMachine for StakingMachine { min_activation_collateral: to_eth_tokens(&state.min_collateral()).unwrap(), min_validators: state.min_validators() as u64, permission_mode: 0, // collateral based - supply_source: ipc_actors_abis::register_subnet_facet::Asset { + supply_source: recall_ipc_actors_abis::register_subnet_facet::Asset { kind: 0, // native token token_address: ethers::types::Address::zero(), }, - collateral_source: ipc_actors_abis::register_subnet_facet::Asset { + collateral_source: recall_ipc_actors_abis::register_subnet_facet::Asset { kind: 0, // native token token_address: ethers::types::Address::zero(), }, diff --git a/fendermint/testing/contract-test/tests/staking/mod.rs b/fendermint/testing/contract-test/tests/staking/mod.rs index 13d6aad26..78be790e6 100644 --- a/fendermint/testing/contract-test/tests/staking/mod.rs +++ b/fendermint/testing/contract-test/tests/staking/mod.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: Apache-2.0, MIT use arbitrary::{Arbitrary, Unstructured}; -use fendermint_testing::arb::ArbTokenAmount; use fvm_shared::{bigint::Integer, econ::TokenAmount}; +use recall_fendermint_testing::arb::ArbTokenAmount; pub mod machine; pub mod state; diff --git a/fendermint/testing/contract-test/tests/staking/state.rs b/fendermint/testing/contract-test/tests/staking/state.rs index 9d574d625..b4ac420f3 100644 --- a/fendermint/testing/contract-test/tests/staking/state.rs +++ b/fendermint/testing/contract-test/tests/staking/state.rs @@ -4,22 +4,22 @@ use std::collections::{BTreeMap, VecDeque}; use arbitrary::Unstructured; -use fendermint_crypto::{PublicKey, SecretKey}; -use fendermint_testing::arb::{ArbSubnetAddress, ArbSubnetID, ArbTokenAmount}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::ipc::{GatewayParams, IpcParams}; -use fendermint_vm_genesis::{ - Account, Actor, ActorMeta, Collateral, Genesis, PermissionMode, SignerAddr, Validator, - ValidatorKey, -}; use fvm_shared::address::Address; use fvm_shared::bigint::BigInt; use fvm_shared::bigint::Integer; use fvm_shared::{econ::TokenAmount, version::NetworkVersion}; -use ipc_api::subnet_id::SubnetID; use rand::rngs::StdRng; use rand::SeedableRng; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +use recall_fendermint_testing::arb::{ArbSubnetAddress, ArbSubnetID, ArbTokenAmount}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::ipc::{GatewayParams, IpcParams}; +use recall_fendermint_vm_genesis::{ + Account, Actor, ActorMeta, Collateral, Genesis, PermissionMode, SignerAddr, Validator, + ValidatorKey, +}; +use recall_ipc_api::subnet_id::SubnetID; use super::choose_amount; diff --git a/fendermint/testing/graph-test/Cargo.toml b/fendermint/testing/graph-test/Cargo.toml index 1d9a436c4..35a43a9b9 100644 --- a/fendermint/testing/graph-test/Cargo.toml +++ b/fendermint/testing/graph-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fendermint_graph_test" -version = "0.1.0" +version.workspace = true edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/fendermint/testing/graph-test/Makefile.toml b/fendermint/testing/graph-test/Makefile.toml index 0966d5e0a..ce5d51c8d 100644 --- a/fendermint/testing/graph-test/Makefile.toml +++ b/fendermint/testing/graph-test/Makefile.toml @@ -30,7 +30,7 @@ run_task = { name = [ [tasks.greeter-example] script = """ cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/fendermint -cargo run --profile ${PROFILE} -p fendermint_eth_api --example greeter -- \ +cargo run --profile ${PROFILE} -p recall_fendermint_eth_api --example greeter -- \ --secret-key testing/graph-test/test-data/keys/veronica.sk \ --out ${TEST_DATA_DIR}/greeter.json \ ${VERBOSITY} diff --git a/fendermint/testing/materializer/Cargo.toml b/fendermint/testing/materializer/Cargo.toml index fabce48d2..db72bb870 100644 --- a/fendermint/testing/materializer/Cargo.toml +++ b/fendermint/testing/materializer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_materializer" description = "Toolkit to instantiate testnets" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -34,18 +34,18 @@ url = { workspace = true } arbitrary = { workspace = true, optional = true } quickcheck = { workspace = true, optional = true } -ipc-api = { path = "../../../ipc/api" } +recall_ipc_api = { path = "../../../ipc/api" } ipc-provider = { path = "../../../ipc/provider" } -ipc_actors_abis = { path = "../../../contracts/binding" } +recall_ipc_actors_abis = { path = "../../../contracts/binding" } -fendermint_crypto = { path = "../../crypto" } -fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } -fendermint_vm_core = { path = "../../vm/core" } -fendermint_vm_genesis = { path = "../../vm/genesis" } -fendermint_vm_encoding = { path = "../../vm/encoding" } -fendermint_vm_message = { path = "../../vm/message" } +recall_fendermint_crypto = { path = "../../crypto" } +recall_fendermint_vm_actor_interface = { path = "../../vm/actor_interface" } +recall_fendermint_vm_core = { path = "../../vm/core" } +recall_fendermint_vm_genesis = { path = "../../vm/genesis" } +recall_fendermint_vm_encoding = { path = "../../vm/encoding" } +recall_fendermint_vm_message = { path = "../../vm/message" } fendermint_vm_interpreter = { path = "../../vm/interpreter" } -fendermint_testing = { path = "..", optional = true } +recall_fendermint_testing = { version = "0.1.0", path = "..", optional = true } [dev-dependencies] @@ -62,7 +62,7 @@ tokio = { workspace = true } # Enable arb on self for tests. fendermint_materializer = { path = ".", features = ["arb"] } -fendermint_testing = { path = "..", features = ["golden"] } +recall_fendermint_testing = { version = "0.1.0", path = "..", features = ["golden"] } [features] default = [] @@ -70,6 +70,6 @@ arb = [ "arbitrary", "quickcheck", "fvm_shared/arb", - "fendermint_testing/arb", - "fendermint_vm_genesis/arb", + "recall_fendermint_testing/arb", + "recall_fendermint_vm_genesis/arb", ] diff --git a/fendermint/testing/materializer/src/arb.rs b/fendermint/testing/materializer/src/arb.rs index 157de8bc2..66a5f37dc 100644 --- a/fendermint/testing/materializer/src/arb.rs +++ b/fendermint/testing/materializer/src/arb.rs @@ -5,8 +5,8 @@ use ethers::{ core::rand::{rngs::StdRng, SeedableRng}, types::H160, }; -use fendermint_vm_core::chainid; use lazy_static::lazy_static; +use recall_fendermint_vm_core::chainid; use std::{ cmp::min, collections::BTreeMap, @@ -14,12 +14,12 @@ use std::{ }; use url::Url; -use fendermint_vm_genesis::Collateral; use fvm_shared::{ bigint::{BigInt, Integer, Zero}, econ::TokenAmount, }; use quickcheck::{Arbitrary, Gen}; +use recall_fendermint_vm_genesis::Collateral; use crate::{ manifest::{ diff --git a/fendermint/testing/materializer/src/docker/mod.rs b/fendermint/testing/materializer/src/docker/mod.rs index 6926fd60d..38c588121 100644 --- a/fendermint/testing/materializer/src/docker/mod.rs +++ b/fendermint/testing/materializer/src/docker/mod.rs @@ -14,19 +14,19 @@ use ethers::{ core::rand::{rngs::StdRng, SeedableRng}, types::H160, }; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_core::{chainid, Timestamp}; -use fendermint_vm_genesis::{ - ipc::{GatewayParams, IpcParams}, - Account, Actor, ActorMeta, Collateral, Genesis, SignerAddr, Validator, ValidatorKey, -}; use fvm_shared::{bigint::Zero, chainid::ChainID, econ::TokenAmount, version::NetworkVersion}; -use ipc_api::subnet_id::SubnetID; use ipc_provider::config::subnet::{ EVMSubnet, Subnet as IpcCliSubnet, SubnetConfig as IpcCliSubnetConfig, }; use ipc_provider::config::Config as IpcCliConfig; use lazy_static::lazy_static; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_core::{chainid, Timestamp}; +use recall_fendermint_vm_genesis::{ + ipc::{GatewayParams, IpcParams}, + Account, Actor, ActorMeta, Collateral, Genesis, SignerAddr, Validator, ValidatorKey, +}; +use recall_ipc_api::subnet_id::SubnetID; use regex::Regex; use serde::{Deserialize, Serialize}; use std::{ @@ -687,7 +687,7 @@ impl Materializer for DockerMaterializer { balance: b.0, }) .collect(), - eam_permission_mode: fendermint_vm_genesis::PermissionMode::Unrestricted, + eam_permission_mode: recall_fendermint_vm_genesis::PermissionMode::Unrestricted, ipc: Some(IpcParams { gateway: GatewayParams { subnet_id: SubnetID::new_root(chain_id.into()), @@ -887,7 +887,7 @@ impl Materializer for DockerMaterializer { parent_submit_config: &SubmitConfig<'a, DockerMaterials>, account: &'a DefaultAccount, subnet: &'a DefaultSubnet, - collateral: fendermint_vm_genesis::Collateral, + collateral: recall_fendermint_vm_genesis::Collateral, balance: Balance, reference: Option, ) -> anyhow::Result<()> @@ -1024,7 +1024,7 @@ impl Materializer for DockerMaterializer { } /// The `ipc-cli` puts the output in a human readable log instead of printing JSON. -fn find_subnet_id(log: impl AsRef) -> Option> { +fn find_subnet_id(log: impl AsRef) -> Option> { lazy_static! { static ref SUBNET_ID_RE: Regex = Regex::new(r"(/r\d+(/[tf]410[0-9a-z]{40})+)").expect("subnet regex parses"); @@ -1052,13 +1052,13 @@ fn user_id(path: impl AsRef) -> anyhow::Result { #[cfg(test)] mod tests { - use fendermint_vm_actor_interface::ipc; use fvm_shared::address::Address; - use ipc_api::subnet_id::SubnetID; use ipc_provider::config::subnet::{ EVMSubnet, Subnet as IpcCliSubnet, SubnetConfig as IpcCliSubnetConfig, }; use ipc_provider::config::Config as IpcCliConfig; + use recall_fendermint_vm_actor_interface::ipc; + use recall_ipc_api::subnet_id::SubnetID; use std::str::FromStr; use std::time::Duration; diff --git a/fendermint/testing/materializer/src/logging.rs b/fendermint/testing/materializer/src/logging.rs index 6280bf744..3eb80bc45 100644 --- a/fendermint/testing/materializer/src/logging.rs +++ b/fendermint/testing/materializer/src/logging.rs @@ -3,8 +3,8 @@ use async_trait::async_trait; use either::Either; use ethers::types::H160; -use fendermint_vm_genesis::Collateral; use fvm_shared::{chainid::ChainID, econ::TokenAmount}; +use recall_fendermint_vm_genesis::Collateral; use std::{collections::BTreeMap, fmt::Display}; use url::Url; diff --git a/fendermint/testing/materializer/src/manifest.rs b/fendermint/testing/materializer/src/manifest.rs index 836148f34..41c0c031d 100644 --- a/fendermint/testing/materializer/src/manifest.rs +++ b/fendermint/testing/materializer/src/manifest.rs @@ -10,8 +10,8 @@ use serde_with::serde_as; use std::{collections::BTreeMap, path::Path}; use url::Url; -use fendermint_vm_encoding::IsHumanReadable; -use fendermint_vm_genesis::Collateral; +use recall_fendermint_vm_encoding::IsHumanReadable; +use recall_fendermint_vm_genesis::Collateral; use crate::{validation::validate_manifest, AccountId, NodeId, RelayerId, SubnetId, TestnetName}; diff --git a/fendermint/testing/materializer/src/materializer.rs b/fendermint/testing/materializer/src/materializer.rs index 194c15ac8..2c6aec062 100644 --- a/fendermint/testing/materializer/src/materializer.rs +++ b/fendermint/testing/materializer/src/materializer.rs @@ -7,7 +7,7 @@ use fvm_shared::{chainid::ChainID, econ::TokenAmount}; use std::collections::BTreeMap; use url::Url; -use fendermint_vm_genesis::Collateral; +use recall_fendermint_vm_genesis::Collateral; use crate::{ manifest::{Balance, CheckpointConfig, EnvMap}, @@ -269,7 +269,7 @@ pub enum TargetConfig<'a, M: Materials> { Internal(&'a M::Node), } -impl<'a, M: Materials> SubmitConfig<'a, M> { +impl SubmitConfig<'_, M> { /// Map over the internal and external target configurations to find a first non-empty result. pub fn find_node(&self, f: F, g: G) -> Option where diff --git a/fendermint/testing/materializer/src/materials/defaults.rs b/fendermint/testing/materializer/src/materials/defaults.rs index bfa60ef7e..7cd56883c 100644 --- a/fendermint/testing/materializer/src/materials/defaults.rs +++ b/fendermint/testing/materializer/src/materials/defaults.rs @@ -8,11 +8,11 @@ use std::{ use anyhow::Context; use ethers::core::rand::Rng; -use fendermint_crypto::{to_b64, PublicKey, SecretKey}; -use fendermint_vm_actor_interface::{eam::EthAddress, init::builtin_actor_eth_addr, ipc}; -use fendermint_vm_genesis::Genesis; use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; +use recall_fendermint_crypto::{to_b64, PublicKey, SecretKey}; +use recall_fendermint_vm_actor_interface::{eam::EthAddress, init::builtin_actor_eth_addr, ipc}; +use recall_fendermint_vm_genesis::Genesis; +use recall_ipc_api::subnet_id::SubnetID; use super::export; use crate::{AccountId, AccountName, SubnetName}; diff --git a/fendermint/testing/materializer/src/validation.rs b/fendermint/testing/materializer/src/validation.rs index 5d9440c64..c095f9637 100644 --- a/fendermint/testing/materializer/src/validation.rs +++ b/fendermint/testing/materializer/src/validation.rs @@ -4,8 +4,8 @@ use anyhow::{anyhow, bail, Ok}; use async_trait::async_trait; use either::Either; use ethers::types::H160; -use fendermint_vm_genesis::Collateral; use fvm_shared::{chainid::ChainID, econ::TokenAmount}; +use recall_fendermint_vm_genesis::Collateral; use std::{ collections::{BTreeMap, HashSet}, fmt::Debug, @@ -371,7 +371,7 @@ mod tests { // /// Run the tests with `RUST_LOG=info` to see the logs, for example: // /// // /// ```text - // /// RUST_LOG=info cargo test -p fendermint_testing_materializer prop_validation -- --nocapture + // /// RUST_LOG=info cargo test -p recall_fendermint_testing_materializer prop_validation -- --nocapture // /// ``` // fn init_log() { // let _ = env_logger::builder().is_test(true).try_init(); diff --git a/fendermint/testing/materializer/tests/docker_tests/layer2.rs b/fendermint/testing/materializer/tests/docker_tests/layer2.rs index acba9d2c2..295adf68d 100644 --- a/fendermint/testing/materializer/tests/docker_tests/layer2.rs +++ b/fendermint/testing/materializer/tests/docker_tests/layer2.rs @@ -8,11 +8,11 @@ use std::sync::Arc; use std::time::Duration; use fendermint_materializer::{HasEthApi, ResourceId}; -use fendermint_vm_actor_interface::init::builtin_actor_eth_addr; -use fendermint_vm_actor_interface::ipc; -use fendermint_vm_message::conv::from_fvm::to_eth_address; -use ipc_actors_abis::gateway_getter_facet::{GatewayGetterFacet, ParentFinality}; -use ipc_actors_abis::subnet_actor_getter_facet::SubnetActorGetterFacet; +use recall_fendermint_vm_actor_interface::init::builtin_actor_eth_addr; +use recall_fendermint_vm_actor_interface::ipc; +use recall_fendermint_vm_message::conv::from_fvm::to_eth_address; +use recall_ipc_actors_abis::gateway_getter_facet::{GatewayGetterFacet, ParentFinality}; +use recall_ipc_actors_abis::subnet_actor_getter_facet::SubnetActorGetterFacet; use crate::with_testnet; diff --git a/fendermint/testing/materializer/tests/golden.rs b/fendermint/testing/materializer/tests/golden.rs index 28aee25cc..841fef6e7 100644 --- a/fendermint/testing/materializer/tests/golden.rs +++ b/fendermint/testing/materializer/tests/golden.rs @@ -3,21 +3,21 @@ mod json { use fendermint_materializer::manifest::Manifest; - use fendermint_testing::golden_json; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_json; golden_json! { "manifest/json", manifest, Manifest::arbitrary } } mod yaml { use fendermint_materializer::manifest::Manifest; - use fendermint_testing::golden_yaml; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_yaml; golden_yaml! { "manifest/yaml", manifest, Manifest::arbitrary } } mod toml { use fendermint_materializer::manifest::Manifest; - use fendermint_testing::golden_toml; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_toml; golden_toml! { "manifest/toml", manifest, Manifest::arbitrary } } diff --git a/fendermint/testing/smoke-test/Cargo.toml b/fendermint/testing/smoke-test/Cargo.toml index 7da75698a..8c897a9f3 100644 --- a/fendermint/testing/smoke-test/Cargo.toml +++ b/fendermint/testing/smoke-test/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_smoke_test" description = "Provides some end-to-end integration testing between Fendermint and a full Tendermint node." -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/testing/smoke-test/Makefile.toml b/fendermint/testing/smoke-test/Makefile.toml index b5cc31a88..5d39748db 100644 --- a/fendermint/testing/smoke-test/Makefile.toml +++ b/fendermint/testing/smoke-test/Makefile.toml @@ -40,7 +40,7 @@ dependencies = [ [tasks.simplecoin-example] script = """ cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/fendermint -cargo run --profile ${PROFILE} -p fendermint_rpc --example simplecoin -- \ +cargo run --profile ${PROFILE} -p recall_fendermint_rpc --example simplecoin -- \ --secret-key testing/smoke-test/test-data/keys/alice.sk \ ${VERBOSITY} """ @@ -48,7 +48,7 @@ cargo run --profile ${PROFILE} -p fendermint_rpc --example simplecoin -- \ [tasks.transfer-example] script = """ cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/fendermint -cargo run --profile ${PROFILE} -p fendermint_rpc --example transfer -- \ +cargo run --profile ${PROFILE} -p recall_fendermint_rpc --example transfer -- \ --secret-key testing/smoke-test/test-data/keys/eric.sk \ ${VERBOSITY} """ @@ -56,7 +56,7 @@ cargo run --profile ${PROFILE} -p fendermint_rpc --example transfer -- \ [tasks.ethers-example] script = """ cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/fendermint -cargo run --profile ${PROFILE} -p fendermint_eth_api --example ethers -- \ +cargo run --profile ${PROFILE} -p recall_fendermint_eth_api --example ethers -- \ --secret-key-from testing/smoke-test/test-data/keys/emily.sk \ --secret-key-to testing/smoke-test/test-data/keys/eric.sk """ @@ -64,7 +64,7 @@ cargo run --profile ${PROFILE} -p fendermint_eth_api --example ethers -- \ [tasks.query-blockhash-example] script = """ cd ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/fendermint -cargo run --profile ${PROFILE} -p fendermint_eth_api --example query_blockhash -- \ +cargo run --profile ${PROFILE} -p recall_fendermint_eth_api --example query_blockhash -- \ --secret-key testing/smoke-test/test-data/keys/emily.sk \ ${VERBOSITY} """ diff --git a/fendermint/testing/snapshot-test/Cargo.toml b/fendermint/testing/snapshot-test/Cargo.toml index 01ccf1883..99f08ea26 100644 --- a/fendermint/testing/snapshot-test/Cargo.toml +++ b/fendermint/testing/snapshot-test/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_snapshot_test" description = "End-to-end integration testing multiple nodes exercising snapshots and state sync" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/testing/src/arb/subnetid.rs b/fendermint/testing/src/arb/subnetid.rs index e57aa5b6c..95603d4d0 100644 --- a/fendermint/testing/src/arb/subnetid.rs +++ b/fendermint/testing/src/arb/subnetid.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; #[derive(Debug, Clone)] pub struct ArbSubnetAddress(pub Address); diff --git a/fendermint/tracing/Cargo.toml b/fendermint/tracing/Cargo.toml index 1323837df..5349b5189 100644 --- a/fendermint/tracing/Cargo.toml +++ b/fendermint/tracing/Cargo.toml @@ -1,11 +1,10 @@ [package] name = "fendermint_tracing" description = "Abstractions for emitting traces" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true - [dependencies] tracing = { workspace = true } diff --git a/fendermint/vm/actor_interface/Cargo.toml b/fendermint/vm/actor_interface/Cargo.toml index 39a97919c..2347a3b9d 100644 --- a/fendermint/vm/actor_interface/Cargo.toml +++ b/fendermint/vm/actor_interface/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_vm_actor_interface" +name = "recall_fendermint_vm_actor_interface" description = "Re-export interfaces of built-in actors, either copied versions or from direct project reference." -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -25,20 +25,20 @@ fvm_ipld_encoding = { workspace = true } fvm_ipld_hamt = { workspace = true } fvm_ipld_blockstore = { workspace = true } -fil_actors_evm_shared = { workspace = true } -ipc_actors_abis = { workspace = true } -ipc-api = { workspace = true } +recall_fil_actors_evm_shared = { workspace = true } +recall_ipc_actors_abis = { workspace = true } +recall_ipc_api = { workspace = true } # The following is disabled so its dependency on an earlier version of fvm_shared doesn't # stop us from using the latest version of the FVM. It can be re-enabled if there are more # hardcoded method hashes than what we care to maintain, but currently there is only one. -# frc42_dispatch = { workspace = true } +# recall_frc42_dispatch = { workspace = true } -merkle-tree-rs = { path = "../../../ext/merkle-tree-rs" } +recall_merkle_tree_rs = { workspace = true } -fendermint_vm_genesis = { path = "../genesis" } -fendermint_crypto = { path = "../../crypto" } -fendermint_actor_machine = { path = "../../actors/machine" } +recall_fendermint_vm_genesis = { workspace = true } +recall_fendermint_crypto = { workspace = true } +recall_fendermint_actor_machine = { workspace = true } [dev-dependencies] ethers-core = { workspace = true } @@ -46,7 +46,7 @@ quickcheck = { workspace = true } quickcheck_macros = { workspace = true } rand = { workspace = true } -fendermint_vm_genesis = { path = "../genesis", features = ["arb"] } +recall_fendermint_vm_genesis = { path = "../genesis", features = ["arb"] } [features] m2-native = [] diff --git a/fendermint/vm/actor_interface/src/eam.rs b/fendermint/vm/actor_interface/src/eam.rs index c83ddd766..db91bd604 100644 --- a/fendermint/vm/actor_interface/src/eam.rs +++ b/fendermint/vm/actor_interface/src/eam.rs @@ -4,7 +4,6 @@ use std::fmt::{Debug, Display}; use cid::multihash::MultihashDigest; -use fendermint_crypto::PublicKey; use fvm_ipld_encoding::{ strict_bytes, tuple::{Deserialize_tuple, Serialize_tuple}, @@ -13,6 +12,7 @@ use fvm_shared::{ address::{Address, Error, SECP_PUB_LEN}, ActorID, METHOD_CONSTRUCTOR, }; +use recall_fendermint_crypto::PublicKey; define_singleton!(EAM { id: 10, @@ -138,10 +138,10 @@ impl CreateReturn { #[cfg(test)] mod tests { use ethers_core::k256::ecdsa::SigningKey; - use fendermint_crypto::SecretKey; use quickcheck_macros::quickcheck; use rand::rngs::StdRng; use rand::SeedableRng; + use recall_fendermint_crypto::SecretKey; use super::EthAddress; diff --git a/fendermint/vm/actor_interface/src/evm.rs b/fendermint/vm/actor_interface/src/evm.rs index 84985793d..33ce3a70e 100644 --- a/fendermint/vm/actor_interface/src/evm.rs +++ b/fendermint/vm/actor_interface/src/evm.rs @@ -6,7 +6,7 @@ use fvm_ipld_encoding::RawBytes; use fvm_shared::METHOD_CONSTRUCTOR; use serde_tuple::{Deserialize_tuple, Serialize_tuple}; -pub use fil_actors_evm_shared::uints; +pub use recall_fil_actors_evm_shared::uints; use crate::eam::EthAddress; @@ -21,13 +21,13 @@ pub enum Method { GetStorageAt = 5, InvokeContractDelegate = 6, // This hardcoded value is taken from https://github.com/filecoin-project/ref-fvm/blob/f4f3f340ba29b3800cd8272e34023606def23855/testing/integration/src/testkit/fevm.rs#L88-L89 - // where it's used because of a ciruclar dependency (frc42_dispatch needs fvm_shared). + // where it's used because of a ciruclar dependency (recall_frc42_dispatch needs fvm_shared). // Here we can use it if we want, however the release cycle is a bit lagging, preventing us from using the latest ref-fvm at the moment. - //InvokeContract = frc42_dispatch::method_hash!("InvokeEVM"), + //InvokeContract = recall_frc42_dispatch::method_hash!("InvokeEVM"), InvokeContract = 3844450837, } -// XXX: I don't know why the following arent' part of `fil_actors_evm_shared` :( +// XXX: I don't know why the following arent' part of `recall_fil_actors_evm_shared` :( #[derive(Serialize_tuple, Deserialize_tuple)] #[serde(transparent)] diff --git a/fendermint/vm/actor_interface/src/init.rs b/fendermint/vm/actor_interface/src/init.rs index d41e5b7f3..0bfc01e67 100644 --- a/fendermint/vm/actor_interface/src/init.rs +++ b/fendermint/vm/actor_interface/src/init.rs @@ -5,11 +5,11 @@ use std::collections::{BTreeMap, BTreeSet}; use anyhow::Context; use cid::multihash::MultihashDigest; use cid::Cid; -use fendermint_vm_genesis::{Actor, ActorMeta}; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_ipld_hamt::Hamt; use fvm_shared::{address::Address, ActorID, HAMT_BIT_WIDTH}; +use recall_fendermint_vm_genesis::{Actor, ActorMeta}; use crate::{eam::EthAddress, system}; diff --git a/fendermint/vm/actor_interface/src/ipc.rs b/fendermint/vm/actor_interface/src/ipc.rs index d3f4c18d7..f3d32cddb 100644 --- a/fendermint/vm/actor_interface/src/ipc.rs +++ b/fendermint/vm/actor_interface/src/ipc.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -// The IPC actors have bindings in `ipc_actors_abis`. +// The IPC actors have bindings in `recall_ipc_actors_abis`. // Here we define stable IDs for them, so we can deploy the // Solidity contracts during genesis. @@ -9,14 +9,14 @@ use anyhow::Context; use ethers::core::abi::Tokenize; use ethers::core::types as et; use ethers::core::utils::keccak256; -use fendermint_vm_genesis::{Power, Validator}; use fvm_shared::address::Error as AddressError; use fvm_shared::address::Payload; -use ipc_actors_abis as ia; -pub use ipc_actors_abis::checkpointing_facet::BottomUpCheckpoint; -use ipc_api::subnet_id::SubnetID; use lazy_static::lazy_static; -use merkle_tree_rs::{ +use recall_fendermint_vm_genesis::{Power, Validator}; +use recall_ipc_actors_abis as ia; +pub use recall_ipc_actors_abis::checkpointing_facet::BottomUpCheckpoint; +use recall_ipc_api::subnet_id::SubnetID; +use recall_merkle_tree_rs::{ core::{process_proof, Hash}, format::Raw, standard::{standard_leaf_hash, LeafType, StandardMerkleTree}, @@ -317,23 +317,23 @@ macro_rules! abi_hash { }; } -abi_hash!(struct ipc_actors_abis::checkpointing_facet::BottomUpCheckpoint); -abi_hash!(struct ipc_actors_abis::subnet_actor_checkpointing_facet::BottomUpCheckpoint); -abi_hash!(Vec); -abi_hash!(Vec); -abi_hash!(Vec); +abi_hash!(struct recall_ipc_actors_abis::checkpointing_facet::BottomUpCheckpoint); +abi_hash!(struct recall_ipc_actors_abis::subnet_actor_checkpointing_facet::BottomUpCheckpoint); +abi_hash!(Vec); +abi_hash!(Vec); +abi_hash!(Vec); pub mod gateway { use super::subnet_id_to_eth; use ethers::contract::{EthAbiCodec, EthAbiType}; use ethers::core::types::{Bytes, H160, U256}; - use fendermint_vm_genesis::ipc::GatewayParams; - use fendermint_vm_genesis::{Collateral, Validator}; use fvm_shared::address::Error as AddressError; use fvm_shared::econ::TokenAmount; + use recall_fendermint_vm_genesis::ipc::GatewayParams; + use recall_fendermint_vm_genesis::{Collateral, Validator}; - use ipc_actors_abis::gateway_diamond::SubnetID as GatewaySubnetID; - pub use ipc_actors_abis::gateway_getter_facet::Validator as GatewayValidator; + use recall_ipc_actors_abis::gateway_diamond::SubnetID as GatewaySubnetID; + pub use recall_ipc_actors_abis::gateway_getter_facet::Validator as GatewayValidator; use crate::eam::EthAddress; @@ -400,8 +400,8 @@ pub mod gateway { types::{Bytes, H160}, }; use fvm_shared::{bigint::BigInt, econ::TokenAmount}; - use ipc_actors_abis::gateway_diamond::SubnetID as GatewaySubnetID; - use ipc_actors_abis::gateway_getter_facet::Validator as GatewayValidator; + use recall_ipc_actors_abis::gateway_diamond::SubnetID as GatewaySubnetID; + use recall_ipc_actors_abis::gateway_getter_facet::Validator as GatewayValidator; use std::str::FromStr; use crate::ipc::tests::{check_param_types, constructor_param_types}; @@ -431,7 +431,7 @@ pub mod gateway { let tokens = cp.into_tokens(); - let cons = ipc_actors_abis::gateway_diamond::GATEWAYDIAMOND_ABI + let cons = recall_ipc_actors_abis::gateway_diamond::GATEWAYDIAMOND_ABI .constructor() .expect("Gateway has a constructor"); @@ -492,13 +492,13 @@ pub mod registry { pub mod subnet { use crate::revert_errors; - use ipc_actors_abis::checkpointing_facet::CheckpointingFacetErrors; - use ipc_actors_abis::gateway_manager_facet::GatewayManagerFacetErrors; - use ipc_actors_abis::subnet_actor_checkpointing_facet::SubnetActorCheckpointingFacetErrors; - use ipc_actors_abis::subnet_actor_manager_facet::SubnetActorManagerFacetErrors; - use ipc_actors_abis::subnet_actor_pause_facet::SubnetActorPauseFacetErrors; - use ipc_actors_abis::subnet_actor_reward_facet::SubnetActorRewardFacetErrors; - use ipc_actors_abis::top_down_finality_facet::TopDownFinalityFacetErrors; + use recall_ipc_actors_abis::checkpointing_facet::CheckpointingFacetErrors; + use recall_ipc_actors_abis::gateway_manager_facet::GatewayManagerFacetErrors; + use recall_ipc_actors_abis::subnet_actor_checkpointing_facet::SubnetActorCheckpointingFacetErrors; + use recall_ipc_actors_abis::subnet_actor_manager_facet::SubnetActorManagerFacetErrors; + use recall_ipc_actors_abis::subnet_actor_pause_facet::SubnetActorPauseFacetErrors; + use recall_ipc_actors_abis::subnet_actor_reward_facet::SubnetActorRewardFacetErrors; + use recall_ipc_actors_abis::top_down_finality_facet::TopDownFinalityFacetErrors; pub const CONTRACT_NAME: &str = "SubnetActorDiamond"; @@ -519,7 +519,9 @@ pub mod subnet { mod tests { use ethers::abi::{AbiType, Tokenize}; use ethers::core::types::Bytes; - use ipc_actors_abis::subnet_actor_checkpointing_facet::{BottomUpCheckpoint, SubnetID}; + use recall_ipc_actors_abis::subnet_actor_checkpointing_facet::{ + BottomUpCheckpoint, SubnetID, + }; #[test] fn checkpoint_abi() { @@ -568,8 +570,8 @@ pub mod subnet { mod tests { use anyhow::bail; use ethers_core::abi::{Constructor, ParamType, Token}; - use fendermint_vm_genesis::{Power, Validator}; use quickcheck_macros::quickcheck; + use recall_fendermint_vm_genesis::{Power, Validator}; use super::ValidatorMerkleTree; diff --git a/fendermint/vm/core/Cargo.toml b/fendermint/vm/core/Cargo.toml index 80bf020da..53e9d6b7c 100644 --- a/fendermint/vm/core/Cargo.toml +++ b/fendermint/vm/core/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_vm_core" +name = "recall_fendermint_vm_core" description = "Core data structures shared between genesis and messages" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [dependencies] fnv = { workspace = true } diff --git a/fendermint/vm/encoding/Cargo.toml b/fendermint/vm/encoding/Cargo.toml index baf50f957..4667c3fc0 100644 --- a/fendermint/vm/encoding/Cargo.toml +++ b/fendermint/vm/encoding/Cargo.toml @@ -1,11 +1,10 @@ [package] -name = "fendermint_vm_encoding" +name = "recall_fendermint_vm_encoding" description = "Utilities for encoding some of the primitive FVM types with serde" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true - +version.workspace = true [dependencies] serde = { workspace = true } @@ -14,4 +13,4 @@ num-traits = { workspace = true } cid = { workspace = true } fvm_shared = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } diff --git a/fendermint/vm/encoding/src/lib.rs b/fendermint/vm/encoding/src/lib.rs index 1b41f3881..ac4c368e3 100644 --- a/fendermint/vm/encoding/src/lib.rs +++ b/fendermint/vm/encoding/src/lib.rs @@ -3,8 +3,8 @@ use fvm_shared::address::Address; use fvm_shared::bigint::BigInt; use fvm_shared::econ::TokenAmount; -use ipc_api::subnet_id::SubnetID; use num_traits::Num; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::{DeserializeOwned, Error}; use serde::{de, Deserialize, Serialize, Serializer}; use serde_with::{DeserializeAs, SerializeAs}; @@ -121,7 +121,7 @@ macro_rules! human_readable_str { /// human_readable_delegate!(Address); /// /// // Or in full form: -/// human_readable_delegate!(Address: IsHumanReadable => fendermint_vm_encoding::IsHumanReadable); +/// human_readable_delegate!(Address: IsHumanReadable => recall_fendermint_vm_encoding::IsHumanReadable); /// /// #[serde_as] /// #[derive(Serialize, Deserialize)] diff --git a/fendermint/vm/event/Cargo.toml b/fendermint/vm/event/Cargo.toml index 8d62cbc00..13d5d72ef 100644 --- a/fendermint/vm/event/Cargo.toml +++ b/fendermint/vm/event/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_vm_event" description = "Defines the event type emitted in fendermint" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/fendermint/vm/genesis/Cargo.toml b/fendermint/vm/genesis/Cargo.toml index d3710f83d..5a0cb4885 100644 --- a/fendermint/vm/genesis/Cargo.toml +++ b/fendermint/vm/genesis/Cargo.toml @@ -1,17 +1,18 @@ [package] -name = "fendermint_vm_genesis" +name = "recall_fendermint_vm_genesis" description = "Genesis data used to initialize the FVM state when the chain is created" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +repository.workspace = true +version.workspace = true [dependencies] anyhow = { workspace = true } arbitrary = { workspace = true, optional = true } cid = { workspace = true, optional = true } fvm_shared = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } multihash = { workspace = true, optional = true } num-traits = { workspace = true } quickcheck = { workspace = true, optional = true } @@ -20,11 +21,11 @@ serde = { workspace = true } serde_with = { workspace = true } tendermint = { workspace = true } -fendermint_actor_eam = { path = "../../actors/eam" } -fendermint_crypto = { path = "../../crypto" } -fendermint_testing = { path = "../../testing", optional = true } -fendermint_vm_core = { path = "../core" } -fendermint_vm_encoding = { path = "../encoding" } +recall_fendermint_actor_eam = { workspace = true } +recall_fendermint_crypto = { workspace = true } +recall_fendermint_testing = { workspace = true, features = ["golden"] } +recall_fendermint_vm_core = { workspace = true } +recall_fendermint_vm_encoding = { workspace = true } [dev-dependencies] hex = { workspace = true } @@ -33,11 +34,10 @@ multihash = { workspace = true } quickcheck = { workspace = true } quickcheck_macros = { workspace = true } serde_json = { workspace = true } -ipc-types = {workspace = true} +recall_ipc_types = {workspace = true} # Enable arb on self for tests. -fendermint_vm_genesis = { path = ".", features = ["arb"] } -fendermint_testing = { path = "../../testing", features = ["golden"] } +recall_fendermint_vm_genesis = { path = ".", features = ["arb"] } [features] default = [] @@ -45,7 +45,7 @@ arb = [ "arbitrary", "quickcheck", "fvm_shared/arb", - "fendermint_testing/arb", + "recall_fendermint_testing/arb", "rand", "cid", "multihash", diff --git a/fendermint/vm/genesis/src/arb.rs b/fendermint/vm/genesis/src/arb.rs index 71862b15f..b54f82353 100644 --- a/fendermint/vm/genesis/src/arb.rs +++ b/fendermint/vm/genesis/src/arb.rs @@ -5,12 +5,12 @@ use crate::{ SignerAddr, Validator, ValidatorKey, }; use cid::multihash::MultihashDigest; -use fendermint_crypto::SecretKey; -use fendermint_testing::arb::{ArbSubnetID, ArbTokenAmount}; -use fendermint_vm_core::Timestamp; use fvm_shared::{address::Address, version::NetworkVersion}; use quickcheck::{Arbitrary, Gen}; use rand::{rngs::StdRng, SeedableRng}; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_testing::arb::{ArbSubnetID, ArbTokenAmount}; +use recall_fendermint_vm_core::Timestamp; impl Arbitrary for ActorMeta { fn arbitrary(g: &mut Gen) -> Self { diff --git a/fendermint/vm/genesis/src/lib.rs b/fendermint/vm/genesis/src/lib.rs index b01e19e62..a8fbec8ab 100644 --- a/fendermint/vm/genesis/src/lib.rs +++ b/fendermint/vm/genesis/src/lib.rs @@ -8,14 +8,14 @@ use fvm_shared::bigint::{BigInt, Integer}; use serde::{Deserialize, Serialize}; use serde_with::serde_as; -use fendermint_actor_eam::PermissionModeParams; use fvm_shared::chainid::ChainID; use fvm_shared::version::NetworkVersion; use fvm_shared::{address::Address, econ::TokenAmount}; +use recall_fendermint_actor_eam::PermissionModeParams; -use fendermint_crypto::{normalize_public_key, PublicKey}; -use fendermint_vm_core::{chainid, Timestamp}; -use fendermint_vm_encoding::IsHumanReadable; +use recall_fendermint_crypto::{normalize_public_key, PublicKey}; +use recall_fendermint_vm_core::{chainid, Timestamp}; +use recall_fendermint_vm_encoding::IsHumanReadable; #[cfg(feature = "arb")] mod arb; @@ -237,8 +237,8 @@ impl From for PermissionModeParams { /// IPC related data structures. pub mod ipc { - use fendermint_vm_encoding::IsHumanReadable; - use ipc_api::subnet_id::SubnetID; + use recall_fendermint_vm_encoding::IsHumanReadable; + use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use serde_with::serde_as; diff --git a/fendermint/vm/genesis/tests/golden.rs b/fendermint/vm/genesis/tests/golden.rs index dfd734207..302edf051 100644 --- a/fendermint/vm/genesis/tests/golden.rs +++ b/fendermint/vm/genesis/tests/golden.rs @@ -3,16 +3,16 @@ /// JSON based test so we can parse data from the disk where it's nice to be human readable. mod json { - use fendermint_testing::golden_json; - use fendermint_vm_genesis::Genesis; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_json; + use recall_fendermint_vm_genesis::Genesis; golden_json! { "genesis/json", genesis, Genesis::arbitrary } } /// CBOR based tests to make sure we can parse data in network format. mod cbor { - use fendermint_testing::golden_cbor; - use fendermint_vm_genesis::Genesis; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_cbor; + use recall_fendermint_vm_genesis::Genesis; golden_cbor! { "genesis/cbor", genesis, Genesis::arbitrary } } diff --git a/fendermint/vm/interpreter/Cargo.toml b/fendermint/vm/interpreter/Cargo.toml index 75278da64..4d58be170 100644 --- a/fendermint/vm/interpreter/Cargo.toml +++ b/fendermint/vm/interpreter/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_vm_interpreter" description = "Execute messages using the FVM" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -14,7 +14,7 @@ async-trait = { workspace = true } base64 = { workspace = true } cid = { workspace = true } ethers = { workspace = true } -fil_actor_adm = { workspace = true } +recall_fil_actor_adm = { workspace = true } futures-core = { workspace = true } futures-util = { workspace = true } fvm = { workspace = true } @@ -23,8 +23,8 @@ fvm_ipld_car = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } hex = { workspace = true } -ipc-api = { workspace = true } -ipc_actors_abis = { workspace = true } +recall_ipc_api = { workspace = true } +recall_ipc_actors_abis = { workspace = true } ipc-observability = { workspace = true } iroh = { workspace = true } iroh-base = { workspace = true } @@ -47,37 +47,37 @@ tokio-stream = { workspace = true } tokio-util = { workspace = true } tracing = { workspace = true } -fendermint_actors_api = { workspace = true } -fendermint_actor_activity_tracker = { path = "../../actors/activity-tracker" } -fendermint_actor_blobs = { path = "../../actors/blobs" } -fendermint_actor_blob_reader = { path = "../../actors/blob_reader" } -fendermint_actor_blobs_shared = { path = "../../actors/blobs/shared" } -fendermint_actor_bucket = { path = "../../actors/bucket" } -fendermint_actor_chainmetadata = { path = "../../actors/chainmetadata" } -fendermint_actor_eam = { path = "../../actors/eam" } -fendermint_actor_gas_market_eip1559 = { path = "../../actors/gas_market/eip1559" } -fendermint_actor_recall_config = { path = "../../actors/recall_config" } -fendermint_actor_recall_config_shared = { path = "../../actors/recall_config/shared" } -fendermint_actor_timehub = { path = "../../actors/timehub" } -fendermint_actors = { path = "../../actors" } -fendermint_crypto = { path = "../../crypto" } +recall_fendermint_actors_api = { workspace = true } +recall_fendermint_actor_activity_tracker = { workspace = true } +recall_fendermint_actor_blobs = { workspace = true } +recall_fendermint_actor_blob_reader = { workspace = true } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_actor_bucket = { workspace = true } +recall_fendermint_actor_chainmetadata = { path = "../../actors/chainmetadata" } +recall_fendermint_actor_eam = { workspace = true } +recall_fendermint_actor_gas_market_eip1559 = { path = "../../actors/gas_market/eip1559" } +recall_fendermint_actor_recall_config = { workspace = true } +recall_fendermint_actor_recall_config_shared = { workspace = true } +recall_fendermint_actor_timehub = { workspace = true } +recall_fendermint_actors = { path = "../../actors" } +recall_fendermint_crypto = { workspace = true } fendermint_eth_hardhat = { path = "../../eth/hardhat" } -fendermint_rpc = { path = "../../rpc" } -fendermint_testing = { path = "../../testing", optional = true } +recall_fendermint_rpc = { workspace = true } +recall_fendermint_testing = { workspace = true, optional = true } fendermint_tracing = { path = "../../tracing" } -fendermint_vm_actor_interface = { path = "../actor_interface" } -fendermint_vm_core = { path = "../core" } -fendermint_vm_encoding = { path = "../encoding" } +recall_fendermint_vm_actor_interface = { path = "../actor_interface" } +recall_fendermint_vm_core = { path = "../core" } +recall_fendermint_vm_encoding = { path = "../encoding" } fendermint_vm_event = { path = "../event" } -fendermint_vm_genesis = { path = "../genesis" } +recall_fendermint_vm_genesis = { path = "../genesis" } fendermint_vm_iroh_resolver = { path = "../iroh_resolver" } -fendermint_vm_message = { path = "../message" } +recall_fendermint_vm_message = { workspace = true } fendermint_vm_resolver = { path = "../resolver" } fendermint_vm_topdown = { path = "../topdown" } recall_executor = { path = "../../../recall/executor" } recall_kernel = { path = "../../../recall/kernel" } -merkle-tree-rs = { path = "../../../ext/merkle-tree-rs" } +recall_merkle_tree_rs = { workspace = true } [dev-dependencies] fvm = { workspace = true, features = ["arb", "testing"] } @@ -87,10 +87,10 @@ quickcheck = { workspace = true } quickcheck_macros = { workspace = true } tempfile = { workspace = true } -fendermint_testing = { path = "../../testing", features = ["golden"] } -fendermint_vm_genesis = { path = "../genesis", features = ["arb"] } +recall_fendermint_testing = { path = "../../testing", features = ["golden"] } +recall_fendermint_vm_genesis = { path = "../genesis", features = ["arb"] } fendermint_vm_interpreter = { path = ".", features = ["arb"] } -fendermint_vm_message = { path = "../message", features = ["arb"] } +recall_fendermint_vm_message = { path = "../message", features = ["arb"] } [features] default = [] @@ -99,7 +99,7 @@ arb = [ "arbitrary", "quickcheck", "fvm_shared/arb", - "fendermint_testing/arb", + "recall_fendermint_testing/arb", "rand", ] test-util = [] diff --git a/fendermint/vm/interpreter/src/arb.rs b/fendermint/vm/interpreter/src/arb.rs index 4ae411946..a169f46bb 100644 --- a/fendermint/vm/interpreter/src/arb.rs +++ b/fendermint/vm/interpreter/src/arb.rs @@ -1,10 +1,10 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fendermint_testing::arb::{ArbCid, ArbTokenAmount}; -use fendermint_vm_core::{chainid, Timestamp}; use fvm_shared::version::NetworkVersion; use quickcheck::{Arbitrary, Gen}; +use recall_fendermint_testing::arb::{ArbCid, ArbTokenAmount}; +use recall_fendermint_vm_core::{chainid, Timestamp}; use crate::fvm::state::FvmStateParams; diff --git a/fendermint/vm/interpreter/src/bytes.rs b/fendermint/vm/interpreter/src/bytes.rs index ca5b54909..74e0705cf 100644 --- a/fendermint/vm/interpreter/src/bytes.rs +++ b/fendermint/vm/interpreter/src/bytes.rs @@ -3,8 +3,8 @@ use anyhow::Context; use async_trait::async_trait; use cid::Cid; -use fendermint_vm_message::chain::ChainMessage; use fvm_ipld_encoding::Error as IpldError; +use recall_fendermint_vm_message::chain::ChainMessage; use crate::{ chain::{ChainMessageApplyRet, ChainMessageCheckRes}, diff --git a/fendermint/vm/interpreter/src/chain.rs b/fendermint/vm/interpreter/src/chain.rs index 031eb7176..96578c798 100644 --- a/fendermint/vm/interpreter/src/chain.rs +++ b/fendermint/vm/interpreter/src/chain.rs @@ -7,7 +7,30 @@ use std::sync::Arc; use anyhow::{anyhow, bail, Context}; use async_stm::atomically; use async_trait::async_trait; -use fendermint_actor_blob_reader::{ +use fendermint_tracing::emit; +use fendermint_vm_event::ParentFinalityMissingQuorum; +use fendermint_vm_iroh_resolver::observe::{ + BlobsFinalityAddedBlobs, BlobsFinalityAddedBytes, BlobsFinalityPendingBlobs, + BlobsFinalityPendingBytes, +}; +use fendermint_vm_iroh_resolver::pool::{ + ResolveKey as IrohResolveKey, ResolvePool as IrohResolvePool, + ResolveSource as IrohResolveSource, TaskType as IrohTaskType, +}; +use fendermint_vm_resolver::pool::{ResolveKey, ResolvePool}; +use fendermint_vm_topdown::{ + proxy::IPCProviderProxyWithLatency, + voting::{ValidatorKey, VoteTally}, + CachedFinalityProvider, IPCParentFinality, ParentFinalityProvider, ParentViewProvider, Toggle, +}; +use fvm_ipld_blockstore::Blockstore; +use fvm_ipld_encoding::RawBytes; +use fvm_shared::{ + address::Address, clock::ChainEpoch, econ::TokenAmount, message::Message, MethodNum, +}; +use iroh::{base::key::PublicKey, blobs::Hash, net::NodeId}; +use num_traits::Zero; +use recall_fendermint_actor_blob_reader::{ CloseReadRequestParams, GetOpenReadRequestsParams, GetPendingReadRequestsParams, GetReadRequestStatusParams, Method::{ @@ -16,7 +39,7 @@ use fendermint_actor_blob_reader::{ }, ReadRequestStatus, SetReadRequestPendingParams, BLOB_READER_ACTOR_ADDR, }; -use fendermint_actor_blobs_shared::{ +use recall_fendermint_actor_blobs_shared::{ params::{ FinalizeBlobParams, GetAddedBlobsParams, GetBlobStatusParams, GetPendingBlobsParams, GetStatsReturn, SetBlobPendingParams, @@ -27,37 +50,14 @@ use fendermint_actor_blobs_shared::{ SetBlobPending, }, }; -use fendermint_tracing::emit; -use fendermint_vm_actor_interface::{blob_reader, blobs, ipc, system}; -use fendermint_vm_event::ParentFinalityMissingQuorum; -use fendermint_vm_iroh_resolver::observe::{ - BlobsFinalityAddedBlobs, BlobsFinalityAddedBytes, BlobsFinalityPendingBlobs, - BlobsFinalityPendingBytes, -}; -use fendermint_vm_iroh_resolver::pool::{ - ResolveKey as IrohResolveKey, ResolvePool as IrohResolvePool, - ResolveSource as IrohResolveSource, TaskType as IrohTaskType, -}; -use fendermint_vm_message::{ +use recall_fendermint_vm_actor_interface::{blob_reader, blobs, ipc, system}; +use recall_fendermint_vm_message::{ chain::ChainMessage, ipc::{ BottomUpCheckpoint, CertifiedMessage, ClosedReadRequest, FinalizedBlob, IpcMessage, ParentFinality, PendingBlob, PendingReadRequest, SignedRelayedMessage, }, }; -use fendermint_vm_resolver::pool::{ResolveKey, ResolvePool}; -use fendermint_vm_topdown::{ - proxy::IPCProviderProxyWithLatency, - voting::{ValidatorKey, VoteTally}, - CachedFinalityProvider, IPCParentFinality, ParentFinalityProvider, ParentViewProvider, Toggle, -}; -use fvm_ipld_blockstore::Blockstore; -use fvm_ipld_encoding::RawBytes; -use fvm_shared::{ - address::Address, clock::ChainEpoch, econ::TokenAmount, message::Message, MethodNum, -}; -use iroh::{base::key::PublicKey, blobs::Hash, net::NodeId}; -use num_traits::Zero; use tokio_util::bytes; use crate::{ @@ -998,9 +998,11 @@ where let to = blobs::BLOBS_ACTOR_ADDR; let method_num = SetBlobPending as u64; let gas_limit = env.blob_queue_gas_limit; - let source = - fendermint_actor_blobs_shared::state::PublicKey(*blob.source.as_bytes()); - let hash = fendermint_actor_blobs_shared::state::Hash(*blob.hash.as_bytes()); + let source = recall_fendermint_actor_blobs_shared::state::PublicKey( + *blob.source.as_bytes(), + ); + let hash = + recall_fendermint_actor_blobs_shared::state::Hash(*blob.hash.as_bytes()); let params = SetBlobPendingParams { source, subscriber: blob.subscriber, @@ -1045,7 +1047,8 @@ where let to = blobs::BLOBS_ACTOR_ADDR; let method_num = FinalizeBlob as u64; let gas_limit = env.blob_queue_gas_limit; - let hash = fendermint_actor_blobs_shared::state::Hash(*blob.hash.as_bytes()); + let hash = + recall_fendermint_actor_blobs_shared::state::Hash(*blob.hash.as_bytes()); let status = if blob.succeeded { BlobStatus::Resolved } else { @@ -1374,7 +1377,7 @@ fn get_blob_status( where DB: Blockstore + Clone + 'static + Send + Sync, { - let hash = fendermint_actor_blobs_shared::state::Hash(*hash.as_bytes()); + let hash = recall_fendermint_actor_blobs_shared::state::Hash(*hash.as_bytes()); let params = GetBlobStatusParams { subscriber, hash, @@ -1502,7 +1505,7 @@ fn get_read_request_status( where DB: Blockstore + Clone + 'static + Send + Sync, { - let request_id = fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()); + let request_id = recall_fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()); let params = RawBytes::serialize(GetReadRequestStatusParams(request_id))?; let msg = create_implicit_message( blob_reader::BLOB_READER_ACTOR_ADDR, @@ -1526,7 +1529,7 @@ where DB: Blockstore + Clone + 'static + Send + Sync, { let params = RawBytes::serialize(SetReadRequestPendingParams( - fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()), + recall_fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()), ))?; let gas_limit = fvm_shared::BLOCK_GAS_LIMIT; let msg = create_implicit_message( @@ -1604,7 +1607,7 @@ where DB: Blockstore + Clone + 'static + Send + Sync, { let params = RawBytes::serialize(CloseReadRequestParams( - fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()), + recall_fendermint_actor_blobs_shared::state::Hash(*id.as_bytes()), ))?; let gas_limit = fvm_shared::BLOCK_GAS_LIMIT; let msg = create_implicit_message( diff --git a/fendermint/vm/interpreter/src/fvm/activity/actor.rs b/fendermint/vm/interpreter/src/fvm/activity/actor.rs index 289cd534c..b2c2c5d9d 100644 --- a/fendermint/vm/interpreter/src/fvm/activity/actor.rs +++ b/fendermint/vm/interpreter/src/fvm/activity/actor.rs @@ -5,21 +5,19 @@ use crate::fvm::activity::{FullActivity, ValidatorActivityTracker}; use crate::fvm::state::FvmExecState; use crate::fvm::FvmMessage; use anyhow::Context; -use fendermint_actor_activity_tracker::types::FullActivityRollup; -use fendermint_crypto::PublicKey; -use fendermint_vm_actor_interface::activity::ACTIVITY_TRACKER_ACTOR_ADDR; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::system; use fvm_ipld_blockstore::Blockstore; use fvm_shared::address::Address; +use recall_fendermint_actor_activity_tracker::types::FullActivityRollup; +use recall_fendermint_crypto::PublicKey; +use recall_fendermint_vm_actor_interface::activity::ACTIVITY_TRACKER_ACTOR_ADDR; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::system; pub struct ActorActivityTracker<'a, DB: Blockstore + Clone + 'static> { pub(crate) executor: &'a mut FvmExecState, } -impl<'a, DB: Blockstore + Clone + 'static> ValidatorActivityTracker - for ActorActivityTracker<'a, DB> -{ +impl ValidatorActivityTracker for ActorActivityTracker<'_, DB> { fn record_block_committed(&mut self, validator: PublicKey) -> anyhow::Result<()> { let address: Address = EthAddress::from(validator).into(); @@ -28,7 +26,8 @@ impl<'a, DB: Blockstore + Clone + 'static> ValidatorActivityTracker to: ACTIVITY_TRACKER_ACTOR_ADDR, sequence: 0, // irrelevant gas_limit: i64::MAX as u64, // exclude this from gas restriction - method_num: fendermint_actor_activity_tracker::Method::RecordBlockCommitted as u64, + method_num: recall_fendermint_actor_activity_tracker::Method::RecordBlockCommitted + as u64, params: fvm_ipld_encoding::RawBytes::serialize(address)?, value: Default::default(), version: Default::default(), @@ -46,7 +45,7 @@ impl<'a, DB: Blockstore + Clone + 'static> ValidatorActivityTracker to: ACTIVITY_TRACKER_ACTOR_ADDR, sequence: 0, // irrelevant gas_limit: i64::MAX as u64, // exclude this from gas restriction - method_num: fendermint_actor_activity_tracker::Method::CommitActivity as u64, + method_num: recall_fendermint_actor_activity_tracker::Method::CommitActivity as u64, params: fvm_ipld_encoding::RawBytes::default(), value: Default::default(), version: Default::default(), diff --git a/fendermint/vm/interpreter/src/fvm/activity/mod.rs b/fendermint/vm/interpreter/src/fvm/activity/mod.rs index 0aa4113c8..df7b9094f 100644 --- a/fendermint/vm/interpreter/src/fvm/activity/mod.rs +++ b/fendermint/vm/interpreter/src/fvm/activity/mod.rs @@ -6,14 +6,14 @@ pub mod actor; -use fendermint_crypto::PublicKey; -use ipc_actors_abis::checkpointing_facet::{ +use recall_fendermint_crypto::PublicKey; +use recall_ipc_actors_abis::checkpointing_facet::{ AggregatedStats, CompressedActivityRollup, CompressedSummary, FullActivityRollup, FullSummary, ValidatorData, }; -use ipc_api::checkpoint::VALIDATOR_REWARD_FIELDS; -use ipc_api::evm::payload_to_evm_address; -use ipc_api::merkle::MerkleGen; +use recall_ipc_api::checkpoint::VALIDATOR_REWARD_FIELDS; +use recall_ipc_api::evm::payload_to_evm_address; +use recall_ipc_api::merkle::MerkleGen; /// Wrapper for FullActivityRollup with some utility functions pub struct FullActivity(FullActivityRollup); @@ -27,11 +27,11 @@ pub trait ValidatorActivityTracker { fn commit_activity(&mut self) -> anyhow::Result; } -impl TryFrom for FullActivity { +impl TryFrom for FullActivity { type Error = anyhow::Error; fn try_from( - value: fendermint_actor_activity_tracker::types::FullActivityRollup, + value: recall_fendermint_actor_activity_tracker::types::FullActivityRollup, ) -> Result { let stats = AggregatedStats { total_active_validators: value.consensus.stats.total_active_validators, @@ -91,11 +91,11 @@ impl FullActivity { #[cfg(test)] mod tests { use crate::fvm::activity::FullActivity; - use ipc_actors_abis::checkpointing_facet::{ - AggregatedStats, FullActivityRollup, FullSummary, ValidatorData, - }; use rand::prelude::SliceRandom; use rand::thread_rng; + use recall_ipc_actors_abis::checkpointing_facet::{ + AggregatedStats, FullActivityRollup, FullSummary, ValidatorData, + }; use std::str::FromStr; #[test] diff --git a/fendermint/vm/interpreter/src/fvm/broadcast.rs b/fendermint/vm/interpreter/src/fvm/broadcast.rs index 5b3ae2147..2ff9fb2c7 100644 --- a/fendermint/vm/interpreter/src/fvm/broadcast.rs +++ b/fendermint/vm/interpreter/src/fvm/broadcast.rs @@ -5,19 +5,19 @@ use std::time::Duration; use anyhow::{anyhow, bail, Context}; use ethers::types as et; -use fendermint_rpc::response::decode_fevm_return_data; use fvm_ipld_encoding::RawBytes; use fvm_shared::error::ExitCode; use fvm_shared::{address::Address, chainid::ChainID, econ::TokenAmount, BLOCK_GAS_LIMIT}; use num_traits::Zero; +use recall_fendermint_rpc::response::decode_fevm_return_data; use tendermint_rpc::Client; -use fendermint_crypto::SecretKey; -use fendermint_rpc::message::GasParams; -use fendermint_rpc::query::QueryClient; -use fendermint_rpc::tx::{CallClient, TxClient, TxSync}; -use fendermint_rpc::{client::FendermintClient, message::SignedMessageFactory}; -use fendermint_vm_message::query::FvmQueryHeight; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_rpc::message::GasParams; +use recall_fendermint_rpc::query::QueryClient; +use recall_fendermint_rpc::tx::{CallClient, TxClient, TxSync}; +use recall_fendermint_rpc::{client::FendermintClient, message::SignedMessageFactory}; +use recall_fendermint_vm_message::query::FvmQueryHeight; macro_rules! retry { ($max_retries:expr, $retry_delay:expr, $block:expr) => {{ diff --git a/fendermint/vm/interpreter/src/fvm/checkpoint.rs b/fendermint/vm/interpreter/src/fvm/checkpoint.rs index cbe1cf5a9..b5f137da8 100644 --- a/fendermint/vm/interpreter/src/fvm/checkpoint.rs +++ b/fendermint/vm/interpreter/src/fvm/checkpoint.rs @@ -14,17 +14,17 @@ use crate::fvm::activity::ValidatorActivityTracker; use crate::fvm::exec::BlockEndEvents; use anyhow::{anyhow, Context}; use ethers::abi::Tokenizable; -use fendermint_crypto::PublicKey; -use fendermint_crypto::SecretKey; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::ipc::BottomUpCheckpoint; -use fendermint_vm_genesis::{Power, Validator, ValidatorKey}; use fvm_ipld_blockstore::Blockstore; use fvm_shared::{address::Address, chainid::ChainID}; -use ipc_actors_abis::checkpointing_facet as checkpoint; -use ipc_actors_abis::gateway_getter_facet as getter; -use ipc_api::staking::ConfigurationNumber; use ipc_observability::{emit, serde::HexEncodableBlockHash}; +use recall_fendermint_crypto::PublicKey; +use recall_fendermint_crypto::SecretKey; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::ipc::BottomUpCheckpoint; +use recall_fendermint_vm_genesis::{Power, Validator, ValidatorKey}; +use recall_ipc_actors_abis::checkpointing_facet as checkpoint; +use recall_ipc_actors_abis::gateway_getter_facet as getter; +use recall_ipc_api::staking::ConfigurationNumber; use std::collections::HashMap; use std::time::Duration; use tendermint::block::Height; @@ -490,8 +490,8 @@ fn into_power_map(value: PowerTable) -> HashMap<[u8; 65], Validator> { #[cfg(test)] mod tests { - use fendermint_vm_genesis::{Power, Validator}; use quickcheck_macros::quickcheck; + use recall_fendermint_vm_genesis::{Power, Validator}; use crate::fvm::checkpoint::{into_power_map, power_diff}; diff --git a/fendermint/vm/interpreter/src/fvm/exec.rs b/fendermint/vm/interpreter/src/fvm/exec.rs index e123e106a..febd78874 100644 --- a/fendermint/vm/interpreter/src/fvm/exec.rs +++ b/fendermint/vm/interpreter/src/fvm/exec.rs @@ -11,13 +11,13 @@ use crate::fvm::activity::ValidatorActivityTracker; use crate::ExecInterpreter; use anyhow::Context; use async_trait::async_trait; -use fendermint_actors_api::gas_market::Reading; -use fendermint_vm_actor_interface::{chainmetadata, cron, system}; use fvm::executor::ApplyRet; use fvm_ipld_blockstore::Blockstore; use fvm_shared::event::StampedEvent; use fvm_shared::{address::Address, ActorID, MethodNum, BLOCK_GAS_LIMIT}; use ipc_observability::{emit, measure_time, observe::TracingError, Traceable}; +use recall_fendermint_actors_api::gas_market::Reading; +use recall_fendermint_vm_actor_interface::{chainmetadata, cron, system}; use std::collections::HashMap; use tendermint_rpc::Client; @@ -117,7 +117,7 @@ where if self.push_chain_meta { if let Some(block_hash) = state.block_hash() { let params = fvm_ipld_encoding::RawBytes::serialize( - fendermint_actor_chainmetadata::PushBlockParams { + recall_fendermint_actor_chainmetadata::PushBlockParams { epoch: height, block: block_hash, }, @@ -128,7 +128,7 @@ where to: chainmetadata::CHAINMETADATA_ACTOR_ADDR, sequence: height as u64, gas_limit, - method_num: fendermint_actor_chainmetadata::Method::PushBlockHash as u64, + method_num: recall_fendermint_actor_chainmetadata::Method::PushBlockHash as u64, params, value: Default::default(), version: Default::default(), diff --git a/fendermint/vm/interpreter/src/fvm/externs.rs b/fendermint/vm/interpreter/src/fvm/externs.rs index f17e03f68..0d6835eef 100644 --- a/fendermint/vm/interpreter/src/fvm/externs.rs +++ b/fendermint/vm/interpreter/src/fvm/externs.rs @@ -5,7 +5,6 @@ use cid::{ multihash::{Code, MultihashDigest}, Cid, }; -use fendermint_vm_actor_interface::chainmetadata::CHAINMETADATA_ACTOR_ID; use fvm::{ externs::{Chain, Consensus, Externs, Rand}, state_tree::StateTree, @@ -13,6 +12,7 @@ use fvm::{ use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::{CborStore, DAG_CBOR}; use fvm_shared::clock::ChainEpoch; +use recall_fendermint_vm_actor_interface::chainmetadata::CHAINMETADATA_ACTOR_ID; use super::store::ReadOnlyBlockstore; @@ -93,7 +93,7 @@ where }; // get the chain metadata actor state from the blockstore - let actor_state: fendermint_actor_chainmetadata::State = + let actor_state: recall_fendermint_actor_chainmetadata::State = match state_tree.store().get_cbor(&actor_state_cid) { Ok(Some(v)) => v, Ok(None) => { diff --git a/fendermint/vm/interpreter/src/fvm/gas.rs b/fendermint/vm/interpreter/src/fvm/gas.rs index 6b59f42d6..8f3b83ad2 100644 --- a/fendermint/vm/interpreter/src/fvm/gas.rs +++ b/fendermint/vm/interpreter/src/fvm/gas.rs @@ -4,14 +4,14 @@ use crate::fvm::FvmMessage; use anyhow::{bail, Context}; -use fendermint_actors_api::gas_market::{Gas, Reading, Utilization}; -use fendermint_vm_actor_interface::gas_market::GAS_MARKET_ACTOR_ADDR; -use fendermint_vm_actor_interface::{reward, system}; use fvm::executor::{ApplyKind, ApplyRet, Executor}; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; use fvm_shared::METHOD_SEND; use num_traits::Zero; +use recall_fendermint_actors_api::gas_market::{Gas, Reading, Utilization}; +use recall_fendermint_vm_actor_interface::gas_market::GAS_MARKET_ACTOR_ADDR; +use recall_fendermint_vm_actor_interface::{reward, system}; #[derive(Debug, Clone)] pub struct BlockGasTracker { @@ -88,7 +88,7 @@ impl BlockGasTracker { to: GAS_MARKET_ACTOR_ADDR, sequence: 0, // irrelevant for implicit executions. gas_limit: i64::MAX as u64, - method_num: fendermint_actors_api::gas_market::Method::CurrentReading as u64, + method_num: recall_fendermint_actors_api::gas_market::Method::CurrentReading as u64, params: fvm_ipld_encoding::RawBytes::default(), value: Default::default(), version: Default::default(), @@ -116,7 +116,7 @@ impl BlockGasTracker { to: GAS_MARKET_ACTOR_ADDR, sequence: 0, // irrelevant for implicit executions. gas_limit: i64::MAX as u64, - method_num: fendermint_actors_api::gas_market::Method::UpdateUtilization as u64, + method_num: recall_fendermint_actors_api::gas_market::Method::UpdateUtilization as u64, params, value: Default::default(), version: Default::default(), diff --git a/fendermint/vm/interpreter/src/fvm/mod.rs b/fendermint/vm/interpreter/src/fvm/mod.rs index 0d4fcef54..b4c6f3366 100644 --- a/fendermint/vm/interpreter/src/fvm/mod.rs +++ b/fendermint/vm/interpreter/src/fvm/mod.rs @@ -23,11 +23,11 @@ pub(crate) mod topdown; pub use check::FvmCheckRet; pub use checkpoint::PowerUpdates; pub use exec::{EndBlockOutput, FvmApplyRet}; -use fendermint_crypto::{PublicKey, SecretKey}; -pub use fendermint_vm_message::query::FvmQuery; use fvm_ipld_blockstore::Blockstore; use fvm_shared::address::Address; pub use query::FvmQueryRet; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +pub use recall_fendermint_vm_message::query::FvmQuery; use tendermint_rpc::Client; pub use self::broadcast::Broadcaster; diff --git a/fendermint/vm/interpreter/src/fvm/query.rs b/fendermint/vm/interpreter/src/fvm/query.rs index 17743603c..1c49e81b7 100644 --- a/fendermint/vm/interpreter/src/fvm/query.rs +++ b/fendermint/vm/interpreter/src/fvm/query.rs @@ -4,7 +4,6 @@ use std::time::Instant; use async_trait::async_trait; use cid::Cid; -use fendermint_vm_message::query::{ActorState, FvmQuery, GasEstimate, StateParams}; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::RawBytes; use fvm_shared::{ @@ -12,6 +11,7 @@ use fvm_shared::{ }; use ipc_observability::emit; use num_traits::Zero; +use recall_fendermint_vm_message::query::{ActorState, FvmQuery, GasEstimate, StateParams}; use super::observe::{MsgExec, MsgExecPurpose}; use crate::QueryInterpreter; diff --git a/fendermint/vm/interpreter/src/fvm/recall_config.rs b/fendermint/vm/interpreter/src/fvm/recall_config.rs index fa38e8819..8542b5cec 100644 --- a/fendermint/vm/interpreter/src/fvm/recall_config.rs +++ b/fendermint/vm/interpreter/src/fvm/recall_config.rs @@ -4,14 +4,14 @@ use crate::fvm::FvmMessage; use anyhow::{bail, Context}; -use fendermint_actor_blobs_shared::state::TokenCreditRate; -use fendermint_actor_recall_config_shared::Method::GetConfig; -use fendermint_actor_recall_config_shared::RecallConfig; -use fendermint_vm_actor_interface::recall_config::RECALL_CONFIG_ACTOR_ADDR; -use fendermint_vm_actor_interface::system; use fvm::executor::{ApplyKind, ApplyRet, Executor}; use fvm_shared::clock::ChainEpoch; use num_traits::Zero; +use recall_fendermint_actor_blobs_shared::state::TokenCreditRate; +use recall_fendermint_actor_recall_config_shared::Method::GetConfig; +use recall_fendermint_actor_recall_config_shared::RecallConfig; +use recall_fendermint_vm_actor_interface::recall_config::RECALL_CONFIG_ACTOR_ADDR; +use recall_fendermint_vm_actor_interface::system; /// Makes the current Recall network configuration available to execution state. #[derive(Debug, Clone)] diff --git a/fendermint/vm/interpreter/src/fvm/state/check.rs b/fendermint/vm/interpreter/src/fvm/state/check.rs index 10ecfa639..166aac46d 100644 --- a/fendermint/vm/interpreter/src/fvm/state/check.rs +++ b/fendermint/vm/interpreter/src/fvm/state/check.rs @@ -4,10 +4,10 @@ use anyhow::{anyhow, Context}; use cid::Cid; -use fendermint_vm_core::chainid::HasChainID; use fvm::state_tree::StateTree; use fvm_ipld_blockstore::Blockstore; use fvm_shared::chainid::ChainID; +use recall_fendermint_vm_core::chainid::HasChainID; use crate::fvm::store::ReadOnlyBlockstore; diff --git a/fendermint/vm/interpreter/src/fvm/state/exec.rs b/fendermint/vm/interpreter/src/fvm/state/exec.rs index 8d45b93fa..d55c29602 100644 --- a/fendermint/vm/interpreter/src/fvm/state/exec.rs +++ b/fendermint/vm/interpreter/src/fvm/state/exec.rs @@ -10,12 +10,6 @@ use crate::fvm::recall_config::RecallConfigTracker; use crate::fvm::state::priority::TxnPriorityCalculator; use anyhow::Ok; use cid::Cid; -use fendermint_actors_api::gas_market::Reading; -use fendermint_crypto::PublicKey; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_core::{chainid::HasChainID, Timestamp}; -use fendermint_vm_encoding::IsHumanReadable; -use fendermint_vm_genesis::PowerScale; use fvm::{ call_manager::DefaultCallManager, engine::MultiEngine, @@ -30,6 +24,12 @@ use fvm_shared::{ message::Message, receipt::Receipt, version::NetworkVersion, ActorID, }; use recall_executor::RecallExecutor; +use recall_fendermint_actors_api::gas_market::Reading; +use recall_fendermint_crypto::PublicKey; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_core::{chainid::HasChainID, Timestamp}; +use recall_fendermint_vm_encoding::IsHumanReadable; +use recall_fendermint_vm_genesis::PowerScale; use recall_kernel::RecallKernel; use serde::{Deserialize, Serialize}; use serde_with::serde_as; diff --git a/fendermint/vm/interpreter/src/fvm/state/fevm.rs b/fendermint/vm/interpreter/src/fvm/state/fevm.rs index 51f265dcc..13d1df0b8 100644 --- a/fendermint/vm/interpreter/src/fvm/state/fevm.rs +++ b/fendermint/vm/interpreter/src/fvm/state/fevm.rs @@ -11,12 +11,12 @@ use ethers::abi::{AbiDecode, AbiEncode, Detokenize}; use ethers::core::types as et; use ethers::prelude::{decode_function_data, ContractRevert}; use ethers::providers as ep; -use fendermint_vm_actor_interface::{eam::EthAddress, evm, system}; -use fendermint_vm_message::conv::from_eth; use fvm::executor::ApplyFailure; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::{BytesDe, BytesSer, RawBytes}; use fvm_shared::{address::Address, econ::TokenAmount, error::ExitCode, message::Message}; +use recall_fendermint_vm_actor_interface::{eam::EthAddress, evm, system}; +use recall_fendermint_vm_message::conv::from_eth; use super::FvmExecState; @@ -117,8 +117,8 @@ impl std::fmt::Debug for NoRevert { /// /// Example: /// ```no_run -/// use fendermint_vm_actor_interface::{eam::EthAddress, ipc::GATEWAY_ACTOR_ID}; -/// use ipc_actors_abis::gateway_getter_facet::GatewayGetterFacet; +/// use recall_fendermint_vm_actor_interface::{eam::EthAddress, ipc::GATEWAY_ACTOR_ID}; +/// use recall_ipc_actors_abis::gateway_getter_facet::GatewayGetterFacet; /// # use fendermint_vm_interpreter::fvm::state::fevm::{ContractCaller, NoRevert}; /// # use fendermint_vm_interpreter::fvm::state::FvmExecState; /// # use fendermint_vm_interpreter::fvm::store::memory::MemoryBlockstore as DB; @@ -329,7 +329,9 @@ fn decode_revert(data: &[u8]) -> Option { #[cfg(test)] mod tests { use ethers::{contract::ContractRevert, types::Bytes}; - use ipc_actors_abis::gateway_manager_facet::{GatewayManagerFacetErrors, InsufficientFunds}; + use recall_ipc_actors_abis::gateway_manager_facet::{ + GatewayManagerFacetErrors, InsufficientFunds, + }; use crate::fvm::state::fevm::decode_revert; diff --git a/fendermint/vm/interpreter/src/fvm/state/genesis.rs b/fendermint/vm/interpreter/src/fvm/state/genesis.rs index 5f5f0f7c0..2b3f54cfb 100644 --- a/fendermint/vm/interpreter/src/fvm/state/genesis.rs +++ b/fendermint/vm/interpreter/src/fvm/state/genesis.rs @@ -6,18 +6,6 @@ use std::sync::Arc; use anyhow::{anyhow, bail, Context}; use cid::{multihash::Code, Cid}; use ethers::{abi::Tokenize, core::abi::Abi}; -use fendermint_actors::Manifest as CustomActorManifest; -use fendermint_vm_actor_interface::{ - account::{self, ACCOUNT_ACTOR_CODE_ID}, - eam::{self, EthAddress}, - ethaccount::ETHACCOUNT_ACTOR_CODE_ID, - evm, - init::{self, builtin_actor_eth_addr}, - multisig::{self, MULTISIG_ACTOR_CODE_ID}, - system, EMPTY_ARR, -}; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{Account, Multisig, PowerScale}; use fvm::{ engine::MultiEngine, machine::Manifest, @@ -36,6 +24,18 @@ use fvm_shared::{ ActorID, BLOCK_GAS_LIMIT, METHOD_CONSTRUCTOR, }; use num_traits::Zero; +use recall_fendermint_actors::Manifest as CustomActorManifest; +use recall_fendermint_vm_actor_interface::{ + account::{self, ACCOUNT_ACTOR_CODE_ID}, + eam::{self, EthAddress}, + ethaccount::ETHACCOUNT_ACTOR_CODE_ID, + evm, + init::{self, builtin_actor_eth_addr}, + multisig::{self, MULTISIG_ACTOR_CODE_ID}, + system, EMPTY_ARR, +}; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{Account, Multisig, PowerScale}; use serde::{de, Serialize}; use super::{exec::MachineBlockstore, FvmExecState, FvmStateParams}; diff --git a/fendermint/vm/interpreter/src/fvm/state/ipc.rs b/fendermint/vm/interpreter/src/fvm/state/ipc.rs index 9a91429b3..23734fce8 100644 --- a/fendermint/vm/interpreter/src/fvm/state/ipc.rs +++ b/fendermint/vm/interpreter/src/fvm/state/ipc.rs @@ -8,26 +8,26 @@ use fvm_ipld_blockstore::Blockstore; use fvm_shared::econ::TokenAmount; use fvm_shared::ActorID; -use fendermint_crypto::{PublicKey, SecretKey}; -use fendermint_vm_actor_interface::ipc; -use fendermint_vm_actor_interface::{ +use fendermint_vm_topdown::IPCParentFinality; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +use recall_fendermint_vm_actor_interface::ipc; +use recall_fendermint_vm_actor_interface::{ eam::EthAddress, init::builtin_actor_eth_addr, ipc::{AbiHash, ValidatorMerkleTree, GATEWAY_ACTOR_ID}, }; -use fendermint_vm_genesis::{Collateral, Power, PowerScale, Validator, ValidatorKey}; -use fendermint_vm_message::conv::{from_eth, from_fvm}; -use fendermint_vm_message::signed::sign_secp256k1; -use fendermint_vm_topdown::IPCParentFinality; - -use ipc_actors_abis::checkpointing_facet::CheckpointingFacet; -use ipc_actors_abis::gateway_getter_facet::GatewayGetterFacet; -use ipc_actors_abis::gateway_getter_facet::{self as getter, gateway_getter_facet}; -use ipc_actors_abis::top_down_finality_facet::TopDownFinalityFacet; -use ipc_actors_abis::xnet_messaging_facet::XnetMessagingFacet; -use ipc_actors_abis::{checkpointing_facet, top_down_finality_facet, xnet_messaging_facet}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::{ConfigurationNumber, StakingChangeRequest}; +use recall_fendermint_vm_genesis::{Collateral, Power, PowerScale, Validator, ValidatorKey}; +use recall_fendermint_vm_message::conv::{from_eth, from_fvm}; +use recall_fendermint_vm_message::signed::sign_secp256k1; + +use recall_ipc_actors_abis::checkpointing_facet::CheckpointingFacet; +use recall_ipc_actors_abis::gateway_getter_facet::GatewayGetterFacet; +use recall_ipc_actors_abis::gateway_getter_facet::{self as getter, gateway_getter_facet}; +use recall_ipc_actors_abis::top_down_finality_facet::TopDownFinalityFacet; +use recall_ipc_actors_abis::xnet_messaging_facet::XnetMessagingFacet; +use recall_ipc_actors_abis::{checkpointing_facet, top_down_finality_facet, xnet_messaging_facet}; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::{ConfigurationNumber, StakingChangeRequest}; use super::{ fevm::{ContractCaller, MockProvider, NoRevert}, @@ -321,7 +321,7 @@ impl GatewayCaller { } /// Total amount of tokens to mint as a result of top-down messages arriving at the subnet. -pub fn tokens_to_mint(msgs: &[ipc_api::cross::IpcEnvelope]) -> TokenAmount { +pub fn tokens_to_mint(msgs: &[recall_ipc_api::cross::IpcEnvelope]) -> TokenAmount { msgs.iter() .fold(TokenAmount::from_atto(0), |mut total, msg| { // Both fees and value are considered to enter the ciruculating supply of the subnet. diff --git a/fendermint/vm/interpreter/src/fvm/state/query.rs b/fendermint/vm/interpreter/src/fvm/state/query.rs index 4950fa44c..6bbdc072a 100644 --- a/fendermint/vm/interpreter/src/fvm/state/query.rs +++ b/fendermint/vm/interpreter/src/fvm/state/query.rs @@ -7,11 +7,6 @@ use std::{cell::RefCell, sync::Arc}; use anyhow::{anyhow, Context}; use cid::Cid; -use fendermint_vm_actor_interface::system::{ - is_system_addr, State as SystemState, SYSTEM_ACTOR_ADDR, -}; -use fendermint_vm_core::chainid::HasChainID; -use fendermint_vm_message::query::ActorState; use fvm::engine::MultiEngine; use fvm::executor::ApplyRet; use fvm::state_tree::StateTree; @@ -19,6 +14,11 @@ use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::CborStore; use fvm_shared::{address::Address, chainid::ChainID, clock::ChainEpoch, ActorID}; use num_traits::Zero; +use recall_fendermint_vm_actor_interface::system::{ + is_system_addr, State as SystemState, SYSTEM_ACTOR_ADDR, +}; +use recall_fendermint_vm_core::chainid::HasChainID; +use recall_fendermint_vm_message::query::ActorState; use crate::fvm::{store::ReadOnlyBlockstore, FvmMessage}; diff --git a/fendermint/vm/interpreter/src/fvm/state/snapshot.rs b/fendermint/vm/interpreter/src/fvm/state/snapshot.rs index a375a7c96..4c2865432 100644 --- a/fendermint/vm/interpreter/src/fvm/state/snapshot.rs +++ b/fendermint/vm/interpreter/src/fvm/state/snapshot.rs @@ -299,13 +299,13 @@ mod tests { use crate::fvm::store::memory::MemoryBlockstore; use crate::fvm::store::ReadOnlyBlockstore; use cid::Cid; - use fendermint_vm_core::Timestamp; use futures_util::StreamExt; use fvm::state_tree::{ActorState, StateTree}; use fvm_ipld_blockstore::Blockstore; use fvm_shared::state::StateTreeVersion; use fvm_shared::version::NetworkVersion; use quickcheck::{Arbitrary, Gen}; + use recall_fendermint_vm_core::Timestamp; use std::collections::VecDeque; fn prepare_state_tree(items: u64) -> (Cid, StateTree) { diff --git a/fendermint/vm/interpreter/src/fvm/topdown.rs b/fendermint/vm/interpreter/src/fvm/topdown.rs index 8c9e77b3b..2e7bca649 100644 --- a/fendermint/vm/interpreter/src/fvm/topdown.rs +++ b/fendermint/vm/interpreter/src/fvm/topdown.rs @@ -9,7 +9,7 @@ use crate::fvm::FvmApplyRet; use anyhow::Context; use fendermint_vm_topdown::{BlockHeight, IPCParentFinality, ParentViewProvider}; use fvm_ipld_blockstore::Blockstore; -use ipc_api::cross::IpcEnvelope; +use recall_ipc_api::cross::IpcEnvelope; use super::state::ipc::tokens_to_mint; diff --git a/fendermint/vm/interpreter/src/fvm/upgrades.rs b/fendermint/vm/interpreter/src/fvm/upgrades.rs index 60fdfccea..9f71b5bad 100644 --- a/fendermint/vm/interpreter/src/fvm/upgrades.rs +++ b/fendermint/vm/interpreter/src/fvm/upgrades.rs @@ -4,9 +4,9 @@ use std::collections::BTreeMap; use anyhow::bail; -use fendermint_vm_core::chainid; use fvm_ipld_blockstore::Blockstore; use fvm_shared::chainid::ChainID; +use recall_fendermint_vm_core::chainid; use std::collections::btree_map::Entry::{Occupied, Vacant}; use super::state::{snapshot::BlockHeight, FvmExecState}; diff --git a/fendermint/vm/interpreter/src/genesis.rs b/fendermint/vm/interpreter/src/genesis.rs index a27b83142..91dbab65e 100644 --- a/fendermint/vm/interpreter/src/genesis.rs +++ b/fendermint/vm/interpreter/src/genesis.rs @@ -14,17 +14,7 @@ use base64::Engine; use cid::Cid; use ethers::abi::Tokenize; use ethers::core::types as et; -use fendermint_actor_eam::PermissionModeParams; use fendermint_eth_hardhat::{ContractSourceAndName, Hardhat, FQN}; -use fendermint_vm_actor_interface::diamond::{EthContract, EthContractMap}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::ipc::IPC_CONTRACTS; -use fendermint_vm_actor_interface::{ - account, activity, adm, blob_reader, blobs, burntfunds, chainmetadata, cron, eam, gas_market, - init, ipc, recall_config, reward, system, EMPTY_ARR, -}; -use fendermint_vm_core::Timestamp; -use fendermint_vm_genesis::{ActorMeta, Collateral, Genesis, Power, PowerScale, Validator}; use futures_util::io::Cursor; use fvm::engine::MultiEngine; use fvm_ipld_blockstore::Blockstore; @@ -33,13 +23,23 @@ use fvm_ipld_encoding::CborStore; use fvm_shared::chainid::ChainID; use fvm_shared::econ::TokenAmount; use fvm_shared::version::NetworkVersion; -use ipc_actors_abis::i_diamond::FacetCut; use num_traits::Zero; +use recall_fendermint_actor_eam::PermissionModeParams; +use recall_fendermint_vm_actor_interface::diamond::{EthContract, EthContractMap}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::ipc::IPC_CONTRACTS; +use recall_fendermint_vm_actor_interface::{ + account, activity, adm, blob_reader, blobs, burntfunds, chainmetadata, cron, eam, gas_market, + init, ipc, recall_config, reward, system, EMPTY_ARR, +}; +use recall_fendermint_vm_core::Timestamp; +use recall_fendermint_vm_genesis::{ActorMeta, Collateral, Genesis, Power, PowerScale, Validator}; +use recall_ipc_actors_abis::i_diamond::FacetCut; use crate::fvm::state::snapshot::{derive_cid, StateTreeStreamer}; use crate::fvm::state::{FvmGenesisState, FvmStateParams}; use crate::fvm::store::memory::MemoryBlockstore; -use fendermint_vm_genesis::ipc::{GatewayParams, IpcParams}; +use recall_fendermint_vm_genesis::ipc::{GatewayParams, IpcParams}; use serde::{Deserialize, Serialize}; use serde_with::serde_as; use tokio_stream::StreamExt; @@ -387,16 +387,17 @@ impl GenesisBuilder { .iter() .map(|(name, cid)| { ( - fil_actor_adm::Kind::from_str(name).expect("failed to parse adm machine name"), + recall_fil_actor_adm::Kind::from_str(name) + .expect("failed to parse adm machine name"), cid.to_owned(), ) }) .collect(); - let adm_state = fil_actor_adm::State::new( + let adm_state = recall_fil_actor_adm::State::new( &state.store(), machine_codes, // TODO: Wire this into the genesis file so it can be set and updated - fil_actor_adm::PermissionModeParams::Unrestricted, + recall_fil_actor_adm::PermissionModeParams::Unrestricted, )?; state .create_builtin_actor( @@ -412,13 +413,13 @@ impl GenesisBuilder { // Initialize the chain metadata actor which handles saving metadata about the chain // (e.g. block hashes) which we can query. - let chainmetadata_state = fendermint_actor_chainmetadata::State::new( + let chainmetadata_state = recall_fendermint_actor_chainmetadata::State::new( &state.store(), - fendermint_actor_chainmetadata::DEFAULT_LOOKBACK_LEN, + recall_fendermint_actor_chainmetadata::DEFAULT_LOOKBACK_LEN, )?; state .create_custom_actor( - fendermint_actor_chainmetadata::CHAINMETADATA_ACTOR_NAME, + recall_fendermint_actor_chainmetadata::CHAINMETADATA_ACTOR_NAME, chainmetadata::CHAINMETADATA_ACTOR_ID, &chainmetadata_state, TokenAmount::zero(), @@ -427,13 +428,13 @@ impl GenesisBuilder { .context("failed to create chainmetadata actor")?; // Initialize the recall config actor. - let recall_config_state = fendermint_actor_recall_config::State { + let recall_config_state = recall_fendermint_actor_recall_config::State { admin: None, - config: fendermint_actor_recall_config_shared::RecallConfig::default(), + config: recall_fendermint_actor_recall_config_shared::RecallConfig::default(), }; state .create_custom_actor( - fendermint_actor_recall_config::ACTOR_NAME, + recall_fendermint_actor_recall_config::ACTOR_NAME, recall_config::RECALL_CONFIG_ACTOR_ID, &recall_config_state, TokenAmount::zero(), @@ -442,10 +443,10 @@ impl GenesisBuilder { .context("failed to create recall config actor")?; // Initialize the blob actor. - let blobs_state = fendermint_actor_blobs::State::new(&state.store())?; + let blobs_state = recall_fendermint_actor_blobs::State::new(&state.store())?; state .create_custom_actor( - fendermint_actor_blobs::BLOBS_ACTOR_NAME, + recall_fendermint_actor_blobs::BLOBS_ACTOR_NAME, blobs::BLOBS_ACTOR_ID, &blobs_state, TokenAmount::zero(), @@ -456,15 +457,15 @@ impl GenesisBuilder { // Initialize the blob reader actor. state .create_custom_actor( - fendermint_actor_blob_reader::BLOB_READER_ACTOR_NAME, + recall_fendermint_actor_blob_reader::BLOB_READER_ACTOR_NAME, blob_reader::BLOB_READER_ACTOR_ID, - &fendermint_actor_blob_reader::State::new(&state.store())?, + &recall_fendermint_actor_blob_reader::State::new(&state.store())?, TokenAmount::zero(), None, ) .context("failed to create blob reader actor")?; - let eam_state = fendermint_actor_eam::State::new( + let eam_state = recall_fendermint_actor_eam::State::new( state.store(), PermissionModeParams::from(genesis.eam_permission_mode), )?; @@ -472,7 +473,7 @@ impl GenesisBuilder { .replace_builtin_actor( eam::EAM_ACTOR_NAME, eam::EAM_ACTOR_ID, - fendermint_actor_eam::IPC_EAM_ACTOR_NAME, + recall_fendermint_actor_eam::IPC_EAM_ACTOR_NAME, &eam_state, TokenAmount::zero(), None, @@ -486,14 +487,14 @@ impl GenesisBuilder { let initial_base_fee = TokenAmount::from_atto(100); // We construct the actor state here for simplicity, but for better decoupling we should // be invoking the constructor instead. - let gas_market_state = fendermint_actor_gas_market_eip1559::State { + let gas_market_state = recall_fendermint_actor_gas_market_eip1559::State { base_fee: initial_base_fee, // If you need to customize the gas market constants, you can do so here. - constants: fendermint_actor_gas_market_eip1559::Constants::default(), + constants: recall_fendermint_actor_gas_market_eip1559::Constants::default(), }; state .create_custom_actor( - fendermint_actor_gas_market_eip1559::ACTOR_NAME, + recall_fendermint_actor_gas_market_eip1559::ACTOR_NAME, gas_market::GAS_MARKET_ACTOR_ID, &gas_market_state, TokenAmount::zero(), @@ -501,10 +502,10 @@ impl GenesisBuilder { ) .context("failed to create default eip1559 gas market actor")?; - let tracker_state = fendermint_actor_activity_tracker::State::new(state.store())?; + let tracker_state = recall_fendermint_actor_activity_tracker::State::new(state.store())?; state .create_custom_actor( - fendermint_actor_activity_tracker::IPC_ACTIVITY_TRACKER_ACTOR_NAME, + recall_fendermint_actor_activity_tracker::IPC_ACTIVITY_TRACKER_ACTOR_NAME, activity::ACTIVITY_TRACKER_ACTOR_ID, &tracker_state, TokenAmount::zero(), @@ -624,7 +625,7 @@ fn deploy_contracts( // IPC Gateway actor. let gateway_addr = { use ipc::gateway::ConstructorParameters; - use ipc_api::subnet_id::SubnetID; + use recall_ipc_api::subnet_id::SubnetID; let ipc_params = if let Some(p) = config.ipc_params { p.gateway.clone() diff --git a/fendermint/vm/interpreter/src/selector.rs b/fendermint/vm/interpreter/src/selector.rs index e9282140f..57e7436a1 100644 --- a/fendermint/vm/interpreter/src/selector.rs +++ b/fendermint/vm/interpreter/src/selector.rs @@ -4,8 +4,8 @@ //! Gas related message selection use crate::fvm::state::FvmExecState; -use fendermint_vm_message::signed::SignedMessage; use fvm_ipld_blockstore::Blockstore; +use recall_fendermint_vm_message::signed::SignedMessage; /// Implement this trait to perform message selection pub trait MessageSelector { @@ -24,7 +24,7 @@ impl MessageSelector for GasLimitSelector { state: &FvmExecState, mut msgs: Vec, ) -> Vec { - let total_gas_limit = state.block_gas_tracker().available(); + let total_gas_limit: u64 = state.block_gas_tracker().available(); // Sort by gas limit descending msgs.sort_by(|a, b| b.message.gas_limit.cmp(&a.message.gas_limit)); diff --git a/fendermint/vm/interpreter/src/signed.rs b/fendermint/vm/interpreter/src/signed.rs index 0998fb27e..19e34da0a 100644 --- a/fendermint/vm/interpreter/src/signed.rs +++ b/fendermint/vm/interpreter/src/signed.rs @@ -3,13 +3,13 @@ use anyhow::{anyhow, Context}; use async_trait::async_trait; -use fendermint_vm_core::chainid::HasChainID; -use fendermint_vm_message::{ +use fvm_ipld_encoding::Error as IpldError; +use fvm_shared::{chainid::ChainID, crypto::signature::Signature}; +use recall_fendermint_vm_core::chainid::HasChainID; +use recall_fendermint_vm_message::{ query::FvmQuery, signed::{chain_id_bytes, DomainHash, SignedMessage, SignedMessageError}, }; -use fvm_ipld_encoding::Error as IpldError; -use fvm_shared::{chainid::ChainID, crypto::signature::Signature}; use serde::Serialize; use crate::{ @@ -86,7 +86,7 @@ impl SyntheticMessage { orig: &T, signature: Signature, ) -> Result { - let orig_cid = fendermint_vm_message::cid(orig)?; + let orig_cid = recall_fendermint_vm_message::cid(orig)?; Ok(Self { message, orig_cid, diff --git a/fendermint/vm/interpreter/tests/golden.rs b/fendermint/vm/interpreter/tests/golden.rs index 898213c76..26ad3d4a1 100644 --- a/fendermint/vm/interpreter/tests/golden.rs +++ b/fendermint/vm/interpreter/tests/golden.rs @@ -3,16 +3,16 @@ /// JSON based test in case we want to configure the FvmStateParams by hand. mod json { - use fendermint_testing::golden_json; use fendermint_vm_interpreter::fvm::state::FvmStateParams; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_json; golden_json! { "fvmstateparams/json", fvmstateparams, FvmStateParams::arbitrary } } /// CBOR based tests in case we have to grab FvmStateParams from on-chain storage. mod cbor { - use fendermint_testing::golden_cbor; use fendermint_vm_interpreter::fvm::state::FvmStateParams; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_cbor; golden_cbor! { "fvmstateparams/cbor", fvmstateparams, FvmStateParams::arbitrary } } diff --git a/fendermint/vm/iroh_resolver/Cargo.toml b/fendermint/vm/iroh_resolver/Cargo.toml index afc2d2248..1a4397991 100644 --- a/fendermint/vm/iroh_resolver/Cargo.toml +++ b/fendermint/vm/iroh_resolver/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_vm_iroh_resolver" description = "Resolve iroh content in messages" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -18,7 +18,7 @@ serde = { workspace = true } tracing = { workspace = true } tokio = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } ipc_ipld_resolver = { workspace = true } ipc-observability = { workspace = true } diff --git a/fendermint/vm/iroh_resolver/src/iroh.rs b/fendermint/vm/iroh_resolver/src/iroh.rs index 1a5cf31f4..bf12cf8b2 100644 --- a/fendermint/vm/iroh_resolver/src/iroh.rs +++ b/fendermint/vm/iroh_resolver/src/iroh.rs @@ -9,9 +9,9 @@ use crate::observe::{ }; use async_stm::{atomically, atomically_or_err, queues::TQueueLike}; use fendermint_vm_topdown::voting::VoteTally; -use ipc_api::subnet_id::SubnetID; use ipc_ipld_resolver::{Client, ResolverIroh, ResolverIrohReadRequest, ValidatorKey, VoteRecord}; use ipc_observability::emit; +use recall_ipc_api::subnet_id::SubnetID; use iroh::blobs::Hash; use libp2p::identity::Keypair; diff --git a/fendermint/vm/message/Cargo.toml b/fendermint/vm/message/Cargo.toml index 34a694b9b..d3d735809 100644 --- a/fendermint/vm/message/Cargo.toml +++ b/fendermint/vm/message/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "fendermint_vm_message" +name = "recall_fendermint_vm_message" description = "Messages (transactions) received on chain and passed on to the FVM" -version = "0.1.0" authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [dependencies] anyhow = { workspace = true } @@ -24,13 +24,13 @@ thiserror = { workspace = true } fvm_shared = { workspace = true, features = ["crypto"] } fvm_ipld_encoding = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } -fendermint_actor_blobs_shared = { path = "../../actors/blobs/shared" } -fendermint_crypto = { path = "../../crypto" } -fendermint_vm_encoding = { path = "../encoding" } -fendermint_vm_actor_interface = { path = "../actor_interface" } -fendermint_testing = { path = "../../testing", optional = true } +recall_fendermint_actor_blobs_shared = { workspace = true } +recall_fendermint_crypto = { workspace = true } +recall_fendermint_vm_encoding = { workspace = true } +recall_fendermint_vm_actor_interface = { workspace = true } +recall_fendermint_testing = { workspace = true, optional = true } [dev-dependencies] ethers = { workspace = true } @@ -42,8 +42,13 @@ quickcheck_macros = { workspace = true } # Ideally we could do this with `#[cfg(any(test, feature = "arb"))]`, # however in that case all the extra dependencies would not kick in, # and we'd have to repeat all those dependencies. -fendermint_vm_message = { path = ".", features = ["arb"] } -fendermint_testing = { path = "../../testing", features = ["golden"] } +recall_fendermint_vm_message = { path = ".", features = ["arb"] } +# `recall_fendermint_testing` is used by `recall_fendermint_vm_message`, +# but only if the "arb" feature is enabled (which is only for tests). As +# mentioned above, this means we have to have `recall_fendermint_testing` +# as a dev-dep and dep, _and_ we have to have `recall_fendermint_vm_message` +# as a dev-dep of itself... TODO: this seems hacky +recall_fendermint_testing = { path = "../../testing", features = ["golden"] } [features] arb = [ @@ -52,5 +57,5 @@ arb = [ "fvm_shared/arb", "cid/arb", "rand", - "fendermint_testing/arb", + "recall_fendermint_testing/arb", ] diff --git a/fendermint/vm/message/src/conv/from_eth.rs b/fendermint/vm/message/src/conv/from_eth.rs index 0a6f0db80..ab9a0f49b 100644 --- a/fendermint/vm/message/src/conv/from_eth.rs +++ b/fendermint/vm/message/src/conv/from_eth.rs @@ -6,10 +6,6 @@ use ethers_core::types::{ Eip1559TransactionRequest, NameOrAddress, Signature, TransactionRequest, H160, U256, }; -use fendermint_vm_actor_interface::{ - eam::{self, EthAddress}, - evm, -}; use fvm_ipld_encoding::{BytesSer, RawBytes}; use fvm_shared::{ address::Address, @@ -18,6 +14,10 @@ use fvm_shared::{ econ::TokenAmount, message::Message, }; +use recall_fendermint_vm_actor_interface::{ + eam::{self, EthAddress}, + evm, +}; use crate::signed::{OriginKind, SignedMessage}; @@ -153,12 +153,12 @@ mod tests { types::{transaction::eip2718::TypedTransaction, Bytes, TxHash}, utils::rlp, }; - use fendermint_testing::arb::ArbTokenAmount; - use fendermint_vm_actor_interface::eam::EthAddress; use fvm_shared::{ address::Address, chainid::ChainID, crypto::signature::Signature as FvmSignature, }; use quickcheck_macros::quickcheck; + use recall_fendermint_testing::arb::ArbTokenAmount; + use recall_fendermint_vm_actor_interface::eam::EthAddress; use crate::signed::OriginKind; use crate::{ diff --git a/fendermint/vm/message/src/conv/from_fvm.rs b/fendermint/vm/message/src/conv/from_fvm.rs index ff28dd975..c7fc42c51 100644 --- a/fendermint/vm/message/src/conv/from_fvm.rs +++ b/fendermint/vm/message/src/conv/from_fvm.rs @@ -10,8 +10,6 @@ use anyhow::anyhow; use anyhow::bail; use ethers_core::types as et; use ethers_core::types::transaction::eip2718::TypedTransaction; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::eam::EAM_ACTOR_ID; use fvm_ipld_encoding::BytesDe; use fvm_shared::address::Address; use fvm_shared::bigint::BigInt; @@ -21,6 +19,8 @@ use fvm_shared::crypto::signature::SignatureType; use fvm_shared::message::Message; use fvm_shared::{address::Payload, econ::TokenAmount}; use lazy_static::lazy_static; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::eam::EAM_ACTOR_ID; lazy_static! { pub static ref MAX_U256: BigInt = BigInt::from_str(&et::U256::MAX.to_string()).unwrap(); @@ -197,13 +197,13 @@ pub mod tests { use ethers::signers::{Signer, Wallet}; use ethers_core::utils::rlp; use ethers_core::{k256::ecdsa::SigningKey, types::transaction::eip2718::TypedTransaction}; - use fendermint_crypto::SecretKey; - use fendermint_testing::arb::ArbTokenAmount; - use fendermint_vm_message::signed::{OriginKind, SignedMessage}; use fvm_shared::crypto::signature::Signature; use fvm_shared::{bigint::BigInt, chainid::ChainID, econ::TokenAmount}; use quickcheck_macros::quickcheck; use rand::{rngs::StdRng, SeedableRng}; + use recall_fendermint_crypto::SecretKey; + use recall_fendermint_testing::arb::ArbTokenAmount; + use recall_fendermint_vm_message::signed::{OriginKind, SignedMessage}; use crate::conv::{ from_eth::fvm_message_from_eip1559, diff --git a/fendermint/vm/message/src/conv/mod.rs b/fendermint/vm/message/src/conv/mod.rs index ee6295cf7..755532784 100644 --- a/fendermint/vm/message/src/conv/mod.rs +++ b/fendermint/vm/message/src/conv/mod.rs @@ -6,15 +6,15 @@ pub mod from_fvm; #[cfg(test)] pub mod tests { - use fendermint_crypto::{PublicKey, SecretKey}; - use fendermint_testing::arb::{ArbMessage, ArbTokenAmount}; - use fendermint_vm_actor_interface::{ - eam::{self, EthAddress}, - evm, - }; use fvm_ipld_encoding::{BytesSer, RawBytes}; use fvm_shared::{address::Address, bigint::Integer, econ::TokenAmount, message::Message}; use rand::{rngs::StdRng, SeedableRng}; + use recall_fendermint_crypto::{PublicKey, SecretKey}; + use recall_fendermint_testing::arb::{ArbMessage, ArbTokenAmount}; + use recall_fendermint_vm_actor_interface::{ + eam::{self, EthAddress}, + evm, + }; use super::from_fvm::MAX_U256; diff --git a/fendermint/vm/message/src/ipc.rs b/fendermint/vm/message/src/ipc.rs index b6d42bc32..4d1426bf2 100644 --- a/fendermint/vm/message/src/ipc.rs +++ b/fendermint/vm/message/src/ipc.rs @@ -2,13 +2,13 @@ // SPDX-License-Identifier: Apache-2.0, MIT use cid::Cid; -use fendermint_actor_blobs_shared::state::SubscriptionId; use fvm_shared::{ address::Address, clock::ChainEpoch, crypto::signature::Signature, econ::TokenAmount, MethodNum, }; -use ipc_api::subnet_id::SubnetID; use iroh_base::hash::Hash; use iroh_base::key::NodeId; +use recall_fendermint_actor_blobs_shared::state::SubscriptionId; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; /// Messages involved in InterPlanetary Consensus. @@ -188,9 +188,9 @@ pub struct PendingReadRequest { #[cfg(feature = "arb")] mod arb { use crate::ipc::ParentFinality; - use fendermint_testing::arb::{ArbAddress, ArbCid, ArbSubnetID, ArbTokenAmount}; use fvm_shared::crypto::signature::Signature; use quickcheck::{Arbitrary, Gen}; + use recall_fendermint_testing::arb::{ArbAddress, ArbCid, ArbSubnetID, ArbTokenAmount}; use super::{ BottomUpCheckpoint, CertifiedMessage, IpcMessage, MultiSig, RelayedMessage, diff --git a/fendermint/vm/message/src/query.rs b/fendermint/vm/message/src/query.rs index b9ae0aefb..e739db95a 100644 --- a/fendermint/vm/message/src/query.rs +++ b/fendermint/vm/message/src/query.rs @@ -10,7 +10,7 @@ use fvm_shared::{ use serde::{Deserialize, Serialize}; use serde_with::serde_as; -use fendermint_vm_encoding::IsHumanReadable; +use recall_fendermint_vm_encoding::IsHumanReadable; /// Height at which to run a query. #[derive(Debug, Clone, PartialEq, Eq, Copy, Default)] @@ -153,7 +153,7 @@ pub struct BuiltinActors { #[cfg(feature = "arb")] mod arb { - use fendermint_testing::arb::{ArbAddress, ArbCid, ArbTokenAmount}; + use recall_fendermint_testing::arb::{ArbAddress, ArbCid, ArbTokenAmount}; use crate::signed::SignedMessage; diff --git a/fendermint/vm/message/src/signed.rs b/fendermint/vm/message/src/signed.rs index 0a963bee7..be2e66644 100644 --- a/fendermint/vm/message/src/signed.rs +++ b/fendermint/vm/message/src/signed.rs @@ -6,15 +6,15 @@ use anyhow::anyhow; use cid::Cid; use ethers_core::types as et; use ethers_core::types::transaction::eip2718::TypedTransaction; -use fendermint_crypto::{PublicKey, SecretKey}; -use fendermint_vm_actor_interface::eam::EthAddress; -use fendermint_vm_actor_interface::{eam, evm}; use fvm_ipld_encoding::tuple::{Deserialize_tuple, Serialize_tuple}; use fvm_shared::address::{Address, Payload}; use fvm_shared::chainid::ChainID; use fvm_shared::crypto::signature::ops::recover_secp_public_key; use fvm_shared::crypto::signature::{Signature, SignatureType, SECP_SIG_LEN}; use fvm_shared::message::Message; +use recall_fendermint_crypto::{PublicKey, SecretKey}; +use recall_fendermint_vm_actor_interface::eam::EthAddress; +use recall_fendermint_vm_actor_interface::{eam, evm}; use serde::{Deserialize, Serialize}; use thiserror::Error; @@ -450,8 +450,8 @@ fn recover_secp256k1(signature: &Signature, data: &[u8]) -> Result) -> anyhow::Result> { #[cfg(feature = "arb")] mod arb { - use fendermint_testing::arb::{ArbCid, ArbTokenAmount}; - use fendermint_vm_core::{chainid, Timestamp}; use fendermint_vm_interpreter::fvm::state::FvmStateParams; use fvm_shared::version::NetworkVersion; use quickcheck::Arbitrary; + use recall_fendermint_testing::arb::{ArbCid, ArbTokenAmount}; + use recall_fendermint_vm_core::{chainid, Timestamp}; use super::SnapshotManifest; diff --git a/fendermint/vm/snapshot/tests/golden.rs b/fendermint/vm/snapshot/tests/golden.rs index ff79465d8..acadab0a9 100644 --- a/fendermint/vm/snapshot/tests/golden.rs +++ b/fendermint/vm/snapshot/tests/golden.rs @@ -3,16 +3,16 @@ /// JSON based test so we can parse data from the disk where it's nice to be human readable. mod json { - use fendermint_testing::golden_json; use fendermint_vm_snapshot::SnapshotManifest; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_json; golden_json! { "manifest/json", manifest, SnapshotManifest::arbitrary } } /// CBOR based test to make sure we can parse data in network format and we also cover the state params. mod cbor { - use fendermint_testing::golden_cbor; use fendermint_vm_snapshot::SnapshotManifest; use quickcheck::Arbitrary; + use recall_fendermint_testing::golden_cbor; golden_cbor! { "manifest/cbor", manifest, SnapshotManifest::arbitrary } } diff --git a/fendermint/vm/topdown/Cargo.toml b/fendermint/vm/topdown/Cargo.toml index 231b93485..d742c85d3 100644 --- a/fendermint/vm/topdown/Cargo.toml +++ b/fendermint/vm/topdown/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fendermint_vm_topdown" description = "The top down checkpoint mechanism for ipc protocol integration" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -16,9 +16,9 @@ fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } hex = { workspace = true } im = { workspace = true } -ipc_actors_abis = { workspace = true } +recall_ipc_actors_abis = { workspace = true } ipc_ipld_resolver = { workspace = true } -ipc-api = { workspace = true } +recall_ipc_api = { workspace = true } ipc-provider = { workspace = true } iroh-base = { workspace = true } libp2p = { workspace = true } @@ -31,7 +31,7 @@ tokio = { workspace = true } tracing = { workspace = true } prometheus = { workspace = true } -fendermint_vm_genesis = { path = "../genesis" } +recall_fendermint_vm_genesis = { path = "../genesis" } fendermint_vm_event = { path = "../event" } fendermint_tracing = { path = "../../tracing" } @@ -43,5 +43,5 @@ clap = { workspace = true } rand = { workspace = true } tracing-subscriber = { workspace = true } -fendermint_crypto = { path = "../../crypto" } -fendermint_testing = { path = "../../testing", features = ["smt"] } +recall_fendermint_crypto = { path = "../../crypto" } +recall_fendermint_testing = { version = "0.1.0", path = "../../testing", features = ["smt"] } diff --git a/fendermint/vm/topdown/src/convert.rs b/fendermint/vm/topdown/src/convert.rs index 09ec76958..74fe6e4be 100644 --- a/fendermint/vm/topdown/src/convert.rs +++ b/fendermint/vm/topdown/src/convert.rs @@ -5,7 +5,7 @@ use crate::IPCParentFinality; use anyhow::anyhow; use ethers::types::U256; -use ipc_actors_abis::{gateway_getter_facet, top_down_finality_facet}; +use recall_ipc_actors_abis::{gateway_getter_facet, top_down_finality_facet}; impl TryFrom for top_down_finality_facet::ParentFinality { type Error = anyhow::Error; diff --git a/fendermint/vm/topdown/src/finality/fetch.rs b/fendermint/vm/topdown/src/finality/fetch.rs index b49bf8f09..f9e90435d 100644 --- a/fendermint/vm/topdown/src/finality/fetch.rs +++ b/fendermint/vm/topdown/src/finality/fetch.rs @@ -9,8 +9,8 @@ use crate::{ ParentFinalityProvider, ParentViewProvider, }; use async_stm::{Stm, StmResult}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; use std::sync::Arc; /// The finality provider that performs io to the parent if not found in cache @@ -251,10 +251,10 @@ mod tests { use async_trait::async_trait; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; - use ipc_api::cross::IpcEnvelope; - use ipc_api::staking::{StakingChange, StakingChangeRequest, StakingOperation}; - use ipc_api::subnet_id::SubnetID; use ipc_provider::manager::{GetBlockHashResult, TopDownQueryPayload}; + use recall_ipc_api::cross::IpcEnvelope; + use recall_ipc_api::staking::{StakingChange, StakingChangeRequest, StakingOperation}; + use recall_ipc_api::subnet_id::SubnetID; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::Arc; use std::time::Duration; diff --git a/fendermint/vm/topdown/src/finality/mod.rs b/fendermint/vm/topdown/src/finality/mod.rs index c6cd2dc3d..bdf09759d 100644 --- a/fendermint/vm/topdown/src/finality/mod.rs +++ b/fendermint/vm/topdown/src/finality/mod.rs @@ -7,8 +7,8 @@ mod null; use crate::error::Error; use crate::BlockHash; use async_stm::{abort, StmResult}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; pub use fetch::CachedFinalityProvider; @@ -47,9 +47,9 @@ mod tests { }; use async_stm::atomically_or_err; use async_trait::async_trait; - use ipc_api::cross::IpcEnvelope; - use ipc_api::staking::StakingChangeRequest; use ipc_provider::manager::{GetBlockHashResult, TopDownQueryPayload}; + use recall_ipc_api::cross::IpcEnvelope; + use recall_ipc_api::staking::StakingChangeRequest; use std::sync::Arc; use tokio::time::Duration; diff --git a/fendermint/vm/topdown/src/finality/null.rs b/fendermint/vm/topdown/src/finality/null.rs index 755a3fd45..8b2682b0b 100644 --- a/fendermint/vm/topdown/src/finality/null.rs +++ b/fendermint/vm/topdown/src/finality/null.rs @@ -6,8 +6,8 @@ use crate::finality::{ }; use crate::{BlockHash, BlockHeight, Config, Error, IPCParentFinality, SequentialKeyCache}; use async_stm::{abort, atomically, Stm, StmResult, TVar}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; use std::cmp::min; use fendermint_tracing::emit; diff --git a/fendermint/vm/topdown/src/lib.rs b/fendermint/vm/topdown/src/lib.rs index 13176ec8d..e7b22fb48 100644 --- a/fendermint/vm/topdown/src/lib.rs +++ b/fendermint/vm/topdown/src/lib.rs @@ -17,9 +17,9 @@ use async_stm::Stm; use async_trait::async_trait; use ethers::utils::hex; use fvm_shared::clock::ChainEpoch; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; use iroh_base::hash::Hash; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; use serde::{Deserialize, Serialize}; use std::fmt::{Display, Formatter}; use std::time::Duration; diff --git a/fendermint/vm/topdown/src/proxy.rs b/fendermint/vm/topdown/src/proxy.rs index 303b0e15c..98bca6ee2 100644 --- a/fendermint/vm/topdown/src/proxy.rs +++ b/fendermint/vm/topdown/src/proxy.rs @@ -7,12 +7,12 @@ use anyhow::anyhow; use anyhow::Result; use async_trait::async_trait; use fvm_shared::clock::ChainEpoch; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; -use ipc_api::subnet_id::SubnetID; use ipc_observability::emit; use ipc_provider::manager::{GetBlockHashResult, TopDownQueryPayload}; use ipc_provider::IpcProvider; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; +use recall_ipc_api::subnet_id::SubnetID; use std::time::Instant; use tracing::instrument; diff --git a/fendermint/vm/topdown/src/sync/mod.rs b/fendermint/vm/topdown/src/sync/mod.rs index 2cfe2a0f9..a9e027c95 100644 --- a/fendermint/vm/topdown/src/sync/mod.rs +++ b/fendermint/vm/topdown/src/sync/mod.rs @@ -17,7 +17,7 @@ use ipc_ipld_resolver::ValidatorKey; use std::sync::Arc; use std::time::Duration; -use fendermint_vm_genesis::{Power, Validator}; +use recall_fendermint_vm_genesis::{Power, Validator}; pub use syncer::fetch_topdown_events; diff --git a/fendermint/vm/topdown/src/sync/syncer.rs b/fendermint/vm/topdown/src/sync/syncer.rs index ee4748058..3e532fa13 100644 --- a/fendermint/vm/topdown/src/sync/syncer.rs +++ b/fendermint/vm/topdown/src/sync/syncer.rs @@ -405,10 +405,10 @@ mod tests { use anyhow::anyhow; use async_stm::atomically; use async_trait::async_trait; - use fendermint_vm_genesis::{Power, Validator}; - use ipc_api::cross::IpcEnvelope; - use ipc_api::staking::StakingChangeRequest; use ipc_provider::manager::{GetBlockHashResult, TopDownQueryPayload}; + use recall_fendermint_vm_genesis::{Power, Validator}; + use recall_ipc_api::cross::IpcEnvelope; + use recall_ipc_api::staking::StakingChangeRequest; use std::sync::Arc; /// How far behind the tip of the chain do we consider blocks final in the tests. diff --git a/fendermint/vm/topdown/src/toggle.rs b/fendermint/vm/topdown/src/toggle.rs index c7dd10065..82226c1c2 100644 --- a/fendermint/vm/topdown/src/toggle.rs +++ b/fendermint/vm/topdown/src/toggle.rs @@ -8,8 +8,8 @@ use crate::{ }; use anyhow::anyhow; use async_stm::{Stm, StmResult}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::StakingChangeRequest; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::StakingChangeRequest; /// The parent finality provider could have all functionalities disabled. #[derive(Clone)] diff --git a/fendermint/vm/topdown/src/voting.rs b/fendermint/vm/topdown/src/voting.rs index 711e0cd12..e8479a4e1 100644 --- a/fendermint/vm/topdown/src/voting.rs +++ b/fendermint/vm/topdown/src/voting.rs @@ -511,7 +511,7 @@ pub async fn publish_vote_loop( // Publish a vote after a timeout even if it's the same as before. vote_timeout: Duration, key: libp2p::identity::Keypair, - subnet_id: ipc_api::subnet_id::SubnetID, + subnet_id: recall_ipc_api::subnet_id::SubnetID, client: ipc_ipld_resolver::Client, to_vote: F, ) where diff --git a/fendermint/vm/topdown/tests/smt_voting.rs b/fendermint/vm/topdown/tests/smt_voting.rs index b605a79a1..b8b0b7616 100644 --- a/fendermint/vm/topdown/tests/smt_voting.rs +++ b/fendermint/vm/topdown/tests/smt_voting.rs @@ -22,12 +22,12 @@ use std::{ use arbitrary::Unstructured; use async_stm::{atomically, atomically_or_err, Stm, StmResult}; -use fendermint_testing::{smt, state_machine_test}; use fendermint_vm_topdown::{ voting::{self, VoteTally, Weight}, BlockHash, BlockHeight, }; use im::HashSet; +use recall_fendermint_testing::{smt, state_machine_test}; //use rand::{rngs::StdRng, SeedableRng}; /// Size of window of voting relative to the last cast vote. @@ -242,7 +242,7 @@ impl smt::StateMachine for VotingMachine { let weight = u.int_in_range(min_weight..=100)?; // A VotingKey is has a lot of wrapping... - // let secret_key = fendermint_crypto::SecretKey::random(&mut rng); + // let secret_key = recall_fendermint_crypto::SecretKey::random(&mut rng); // let public_key = secret_key.public_key(); // let public_key = libp2p::identity::secp256k1::PublicKey::try_from_bytes( // &public_key.serialize_compressed(), diff --git a/ipc/Cargo.lock b/ipc/Cargo.lock index e2ce0581c..9130ffa3c 100644 --- a/ipc/Cargo.lock +++ b/ipc/Cargo.lock @@ -1648,7 +1648,7 @@ dependencies = [ ] [[package]] -name = "fil_actors_runtime" +name = "recall_fil_actors_runtime" version = "0.0.1" source = "git+https://github.com/consensus-shipyard/fvm-utils#368ad258a82204d0004b7321f1015373fb4d17b9" dependencies = [ @@ -2581,7 +2581,7 @@ dependencies = [ "env_logger 0.10.1", "ethers", "ethers-contract", - "fil_actors_runtime", + "recall_fil_actors_runtime", "futures-util", "fvm_ipld_encoding 0.3.3", "fvm_shared", @@ -2651,7 +2651,7 @@ dependencies = [ "dirs", "ethers", "ethers-contract", - "fil_actors_runtime", + "recall_fil_actors_runtime", "futures-util", "fvm_ipld_encoding 0.3.3", "fvm_shared", @@ -2686,7 +2686,7 @@ dependencies = [ "anyhow", "cid", "ethers", - "fil_actors_runtime", + "recall_fil_actors_runtime", "fnv", "fvm_ipld_blockstore", "fvm_ipld_encoding 0.3.3", @@ -3659,7 +3659,7 @@ source = "git+https://github.com/consensus-shipyard/fvm-utils#368ad258a82204d000 dependencies = [ "anyhow", "cid", - "fil_actors_runtime", + "recall_fil_actors_runtime", "fvm_ipld_blockstore", "fvm_ipld_encoding 0.3.3", "fvm_ipld_hamt 0.5.1", diff --git a/ipc/Makefile b/ipc/Makefile index 891d9e4a4..50bcf5b18 100644 --- a/ipc/Makefile +++ b/ipc/Makefile @@ -1,6 +1,6 @@ .PHONY: all build install test lint license check-fmt check-clippy diagrams -CRATE := ipc-cli ipc-wallet ipc-provider ipc-api ipc-types +CRATE := ipc-cli ipc-wallet ipc-provider recall_ipc_api recall_ipc_types PACKAGE := $(patsubst %, --package %, $(CRATE)) all: test build diff --git a/ipc/api/Cargo.toml b/ipc/api/Cargo.toml index df2c6bacb..466c19aba 100644 --- a/ipc/api/Cargo.toml +++ b/ipc/api/Cargo.toml @@ -1,15 +1,15 @@ [package] -name = "ipc-api" +name = "recall_ipc_api" description = "IPC common types and utils" -version = "0.1.0" edition.workspace = true license-file.workspace = true +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] anyhow = { workspace = true } -fil_actors_runtime = { workspace = true, optional = true } +recall_fil_actors_runtime = { workspace = true, optional = true } fnv = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } @@ -29,14 +29,14 @@ ethers = { workspace = true } tracing = { workspace = true } serde_with = { workspace = true, features = ["hex"] } -ipc_actors_abis = { workspace = true } -ipc-types = { workspace = true } -merkle-tree-rs = { path = "../../ext/merkle-tree-rs" } +recall_ipc_actors_abis = { workspace = true } +recall_ipc_types = { workspace = true } +recall_merkle_tree_rs = { workspace = true } [dev-dependencies] serde_json = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } [features] default = [] -fil-actor = ["fil_actors_runtime"] +fil-actor = ["recall_fil_actors_runtime"] diff --git a/ipc/api/src/address.rs b/ipc/api/src/address.rs index 7985d13bc..f4b0201d4 100644 --- a/ipc/api/src/address.rs +++ b/ipc/api/src/address.rs @@ -38,12 +38,12 @@ impl IPCAddress { /// Returns encoded bytes of Address #[cfg(feature = "fil-actor")] pub fn to_bytes(&self) -> Result, Error> { - Ok(fil_actors_runtime::cbor::serialize(self, "ipc-address")?.to_vec()) + Ok(recall_fil_actors_runtime::cbor::serialize(self, "ipc-address")?.to_vec()) } #[cfg(feature = "fil-actor")] pub fn from_bytes(bz: &[u8]) -> Result { - let i: Self = fil_actors_runtime::cbor::deserialize( + let i: Self = recall_fil_actors_runtime::cbor::deserialize( &fvm_ipld_encoding::RawBytes::new(bz.to_vec()), "ipc-address", )?; diff --git a/ipc/api/src/cross.rs b/ipc/api/src/cross.rs index d69d8ac94..3c7860a0c 100644 --- a/ipc/api/src/cross.rs +++ b/ipc/api/src/cross.rs @@ -176,9 +176,9 @@ impl CrossMsgs { impl IpcEnvelope { pub fn send( self, - rt: &impl fil_actors_runtime::runtime::Runtime, + rt: &impl recall_fil_actors_runtime::runtime::Runtime, rto: &Address, - ) -> Result { + ) -> Result { let blk = if !self.wrapped { let msg = self.msg; rt.send(rto, msg.method, msg.params.into(), msg.value)? diff --git a/ipc/api/src/error.rs b/ipc/api/src/error.rs index 1cc92fed3..3911c9d08 100644 --- a/ipc/api/src/error.rs +++ b/ipc/api/src/error.rs @@ -13,12 +13,12 @@ pub enum Error { #[cfg(feature = "fil-actor")] #[error("actor error")] - Actor(fil_actors_runtime::ActorError), + Actor(recall_fil_actors_runtime::ActorError), } #[cfg(feature = "fil-actor")] -impl From for Error { - fn from(e: fil_actors_runtime::ActorError) -> Self { +impl From for Error { + fn from(e: recall_fil_actors_runtime::ActorError) -> Self { Self::Actor(e) } } diff --git a/ipc/api/src/evm.rs b/ipc/api/src/evm.rs index ae721459f..e4fc5889f 100644 --- a/ipc/api/src/evm.rs +++ b/ipc/api/src/evm.rs @@ -17,7 +17,7 @@ use ethers::types::U256; use fvm_shared::address::{Address, Payload}; use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; -use ipc_actors_abis::{ +use recall_ipc_actors_abis::{ checkpointing_facet, gateway_getter_facet, gateway_manager_facet, gateway_messenger_facet, lib_gateway, register_subnet_facet, subnet_actor_activity_facet, subnet_actor_checkpointing_facet, subnet_actor_diamond, subnet_actor_getter_facet, @@ -385,7 +385,7 @@ mod tests { use crate::evm::subnet_id_to_evm_addresses; use crate::subnet_id::SubnetID; use fvm_shared::address::Address; - use ipc_types::EthAddress; + use recall_ipc_types::EthAddress; use std::str::FromStr; #[test] diff --git a/ipc/api/src/lib.rs b/ipc/api/src/lib.rs index 9dd45bef3..6fad5b491 100644 --- a/ipc/api/src/lib.rs +++ b/ipc/api/src/lib.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT use ethers::utils::hex; use fvm_shared::{address::Address, econ::TokenAmount}; -use ipc_types::EthAddress; +use recall_ipc_types::EthAddress; use serde::de::Error as SerdeError; use serde::{Deserialize, Serialize, Serializer}; use std::str::FromStr; diff --git a/ipc/api/src/merkle.rs b/ipc/api/src/merkle.rs index c631db02a..309083a49 100644 --- a/ipc/api/src/merkle.rs +++ b/ipc/api/src/merkle.rs @@ -4,8 +4,8 @@ //! This is a util handles the merkle tree root and proof generation. use anyhow::Context; -use merkle_tree_rs::format::Raw; -use merkle_tree_rs::standard::{LeafType, StandardMerkleTree}; +use recall_merkle_tree_rs::format::Raw; +use recall_merkle_tree_rs::standard::{LeafType, StandardMerkleTree}; use std::marker::PhantomData; pub type Hash = ethers::types::H256; diff --git a/ipc/api/src/runtime.rs b/ipc/api/src/runtime.rs index 091f8ed6d..5ac703b4a 100644 --- a/ipc/api/src/runtime.rs +++ b/ipc/api/src/runtime.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: MIT use crate::checkpoint::{BottomUpCheckpoint, Validators}; -use fil_actors_runtime::runtime::Runtime; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; +use recall_fil_actors_runtime::runtime::Runtime; impl BottomUpCheckpoint { /// Agents may set the source of a checkpoint using f2-based subnetIDs, \ diff --git a/ipc/api/src/staking.rs b/ipc/api/src/staking.rs index 723a10a76..8fce1c172 100644 --- a/ipc/api/src/staking.rs +++ b/ipc/api/src/staking.rs @@ -7,7 +7,7 @@ use crate::{eth_to_fil_amount, ethers_address_to_fil_address}; use ethers::utils::hex; use fvm_shared::address::Address; use fvm_shared::econ::TokenAmount; -use ipc_actors_abis::{lib_staking_change_log, subnet_actor_getter_facet}; +use recall_ipc_actors_abis::{lib_staking_change_log, subnet_actor_getter_facet}; use serde::{Deserialize, Serialize}; use std::fmt::{Display, Formatter}; diff --git a/ipc/api/src/subnet_id.rs b/ipc/api/src/subnet_id.rs index 0aa758649..8bb37e53b 100644 --- a/ipc/api/src/subnet_id.rs +++ b/ipc/api/src/subnet_id.rs @@ -59,7 +59,7 @@ impl SubnetID { /// as-is. We only have information to translate from f2 to f0 for the /// last subnet actor in the root. #[cfg(feature = "fil-actor")] - pub fn f0_id(&self, rt: &impl fil_actors_runtime::runtime::Runtime) -> SubnetID { + pub fn f0_id(&self, rt: &impl recall_fil_actors_runtime::runtime::Runtime) -> SubnetID { let mut children = self.children(); // replace the resolved child (if any) @@ -114,7 +114,7 @@ impl SubnetID { /// Returns the serialized version of the subnet id #[cfg(feature = "fil-actor")] pub fn to_bytes(&self) -> Vec { - fil_actors_runtime::cbor::serialize(self, "subnetID") + recall_fil_actors_runtime::cbor::serialize(self, "subnetID") .unwrap() .into() } diff --git a/ipc/api/src/validator.rs b/ipc/api/src/validator.rs index d81ed44a6..e09b4d289 100644 --- a/ipc/api/src/validator.rs +++ b/ipc/api/src/validator.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MIT use fvm_shared::{address::Address, econ::TokenAmount}; -use ipc_actors_abis::subnet_actor_getter_facet; +use recall_ipc_actors_abis::subnet_actor_getter_facet; use crate::{ eth_to_fil_amount, ethers_address_to_fil_address, diff --git a/ipc/cli/Cargo.toml b/ipc/cli/Cargo.toml index 493a0d420..e520904b1 100644 --- a/ipc/cli/Cargo.toml +++ b/ipc/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ipc-cli" -version = "0.1.0" +version.workspace = true edition.workspace = true license-file.workspace = true @@ -18,7 +18,7 @@ clap_complete = "4.2.1" env_logger = "0.10.0" ethers = { workspace = true } ethers-contract = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } futures-util = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } @@ -46,6 +46,6 @@ prometheus_exporter = { workspace = true } ipc-wallet = { workspace = true } ipc-provider = { workspace = true } -ipc-api = { workspace = true } -ipc-types = { workspace = true } +recall_ipc_api = { workspace = true } +recall_ipc_types = { workspace = true } tracing-subscriber.workspace = true diff --git a/ipc/cli/src/commands/checkpoint/bottomup_bundles.rs b/ipc/cli/src/commands/checkpoint/bottomup_bundles.rs index b9212fc55..c2dd92927 100644 --- a/ipc/cli/src/commands/checkpoint/bottomup_bundles.rs +++ b/ipc/cli/src/commands/checkpoint/bottomup_bundles.rs @@ -8,7 +8,7 @@ use std::str::FromStr; use async_trait::async_trait; use clap::Args; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::{CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/checkpoint/bottomup_height.rs b/ipc/cli/src/commands/checkpoint/bottomup_height.rs index 38766d68a..5688aef99 100644 --- a/ipc/cli/src/commands/checkpoint/bottomup_height.rs +++ b/ipc/cli/src/commands/checkpoint/bottomup_height.rs @@ -6,7 +6,7 @@ use std::str::FromStr; use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::{CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/checkpoint/list_validator_changes.rs b/ipc/cli/src/commands/checkpoint/list_validator_changes.rs index 349c5c5f9..20c9fb4b1 100644 --- a/ipc/cli/src/commands/checkpoint/list_validator_changes.rs +++ b/ipc/cli/src/commands/checkpoint/list_validator_changes.rs @@ -8,7 +8,7 @@ use std::str::FromStr; use async_trait::async_trait; use clap::Args; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::{CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/checkpoint/quorum_reached.rs b/ipc/cli/src/commands/checkpoint/quorum_reached.rs index ef9cf04c1..e6db00152 100644 --- a/ipc/cli/src/commands/checkpoint/quorum_reached.rs +++ b/ipc/cli/src/commands/checkpoint/quorum_reached.rs @@ -8,7 +8,7 @@ use std::str::FromStr; use async_trait::async_trait; use clap::Args; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::{CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/checkpoint/relayer.rs b/ipc/cli/src/commands/checkpoint/relayer.rs index 12a121880..062ba5d4f 100644 --- a/ipc/cli/src/commands/checkpoint/relayer.rs +++ b/ipc/cli/src/commands/checkpoint/relayer.rs @@ -9,12 +9,12 @@ use async_trait::async_trait; use clap::Args; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; use ipc_provider::checkpoint::BottomUpCheckpointManager; use ipc_provider::config::Config; use ipc_provider::new_evm_keystore_from_config; use ipc_provider::observe::register_metrics as register_checkpoint_metrics; use ipc_wallet::EvmKeyStore; +use recall_ipc_api::subnet_id::SubnetID; use std::net::SocketAddr; use std::str::FromStr; use std::sync::{Arc, RwLock}; diff --git a/ipc/cli/src/commands/crossmsg/fund.rs b/ipc/cli/src/commands/crossmsg/fund.rs index ec91fb90e..496c0d7e6 100644 --- a/ipc/cli/src/commands/crossmsg/fund.rs +++ b/ipc/cli/src/commands/crossmsg/fund.rs @@ -6,8 +6,8 @@ use async_trait::async_trait; use clap::Args; use fvm_shared::bigint::BigInt; use fvm_shared::econ::TokenAmount; -use ipc_api::subnet_id::SubnetID; use num_traits::Num; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{ diff --git a/ipc/cli/src/commands/crossmsg/release.rs b/ipc/cli/src/commands/crossmsg/release.rs index dde1ffe09..13c6e1cd5 100644 --- a/ipc/cli/src/commands/crossmsg/release.rs +++ b/ipc/cli/src/commands/crossmsg/release.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{ diff --git a/ipc/cli/src/commands/crossmsg/topdown_cross.rs b/ipc/cli/src/commands/crossmsg/topdown_cross.rs index 78d5c583e..da6ad0cf2 100644 --- a/ipc/cli/src/commands/crossmsg/topdown_cross.rs +++ b/ipc/cli/src/commands/crossmsg/topdown_cross.rs @@ -8,7 +8,7 @@ use std::str::FromStr; use async_trait::async_trait; use clap::Args; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::{CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/mod.rs b/ipc/cli/src/commands/mod.rs index 54c803fa2..d06144294 100644 --- a/ipc/cli/src/commands/mod.rs +++ b/ipc/cli/src/commands/mod.rs @@ -20,11 +20,11 @@ use anyhow::{anyhow, Context, Result}; use clap::{Command, CommandFactory, Parser, Subcommand}; use clap_complete::{generate, Generator, Shell}; use fvm_shared::econ::TokenAmount; -use ipc_api::ethers_address_to_fil_address; +use recall_ipc_api::ethers_address_to_fil_address; use fvm_shared::address::set_current_network; -use ipc_api::subnet_id::SubnetID; use ipc_provider::config::{Config, Subnet}; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::io; use std::path::Path; diff --git a/ipc/cli/src/commands/subnet/bootstrap.rs b/ipc/cli/src/commands/subnet/bootstrap.rs index bfdc16da1..4862af7b6 100644 --- a/ipc/cli/src/commands/subnet/bootstrap.rs +++ b/ipc/cli/src/commands/subnet/bootstrap.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{get_ipc_provider, require_fil_addr_from_str, CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/subnet/create.rs b/ipc/cli/src/commands/subnet/create.rs index fb1769d46..b1933ce13 100644 --- a/ipc/cli/src/commands/subnet/create.rs +++ b/ipc/cli/src/commands/subnet/create.rs @@ -9,8 +9,8 @@ use async_trait::async_trait; use clap::Args; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet::{Asset, AssetKind, PermissionMode}; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet::{Asset, AssetKind, PermissionMode}; +use recall_ipc_api::subnet_id::SubnetID; use crate::commands::get_ipc_provider; use crate::commands::subnet::ZERO_ADDRESS; diff --git a/ipc/cli/src/commands/subnet/genesis_epoch.rs b/ipc/cli/src/commands/subnet/genesis_epoch.rs index 0f7ebe6f7..6cea40444 100644 --- a/ipc/cli/src/commands/subnet/genesis_epoch.rs +++ b/ipc/cli/src/commands/subnet/genesis_epoch.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/subnet/join.rs b/ipc/cli/src/commands/subnet/join.rs index f28da5e6a..1138c60ed 100644 --- a/ipc/cli/src/commands/subnet/join.rs +++ b/ipc/cli/src/commands/subnet/join.rs @@ -4,8 +4,8 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; use num_traits::Zero; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{ diff --git a/ipc/cli/src/commands/subnet/kill.rs b/ipc/cli/src/commands/subnet/kill.rs index f7ba82f98..7d1435318 100644 --- a/ipc/cli/src/commands/subnet/kill.rs +++ b/ipc/cli/src/commands/subnet/kill.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{get_ipc_provider, require_fil_addr_from_str, CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/subnet/leave.rs b/ipc/cli/src/commands/subnet/leave.rs index 03b701e19..78a7553a6 100644 --- a/ipc/cli/src/commands/subnet/leave.rs +++ b/ipc/cli/src/commands/subnet/leave.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{get_ipc_provider, require_fil_addr_from_str, CommandLineHandler, GlobalArguments}; diff --git a/ipc/cli/src/commands/subnet/list_subnets.rs b/ipc/cli/src/commands/subnet/list_subnets.rs index 2c0c68776..f06516e61 100644 --- a/ipc/cli/src/commands/subnet/list_subnets.rs +++ b/ipc/cli/src/commands/subnet/list_subnets.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/subnet/list_validators.rs b/ipc/cli/src/commands/subnet/list_validators.rs index ae7fe3495..57b4995f1 100644 --- a/ipc/cli/src/commands/subnet/list_validators.rs +++ b/ipc/cli/src/commands/subnet/list_validators.rs @@ -5,7 +5,7 @@ use crate::{get_ipc_provider, CommandLineHandler, GlobalArguments}; use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/subnet/rpc.rs b/ipc/cli/src/commands/subnet/rpc.rs index 523b6a8e4..d3654de19 100644 --- a/ipc/cli/src/commands/subnet/rpc.rs +++ b/ipc/cli/src/commands/subnet/rpc.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/subnet/send_value.rs b/ipc/cli/src/commands/subnet/send_value.rs index 1e54f2f24..9e7911a54 100644 --- a/ipc/cli/src/commands/subnet/send_value.rs +++ b/ipc/cli/src/commands/subnet/send_value.rs @@ -4,7 +4,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{ diff --git a/ipc/cli/src/commands/subnet/set_federated_power.rs b/ipc/cli/src/commands/subnet/set_federated_power.rs index ef28687f4..b76611715 100644 --- a/ipc/cli/src/commands/subnet/set_federated_power.rs +++ b/ipc/cli/src/commands/subnet/set_federated_power.rs @@ -7,7 +7,7 @@ use crate::{CommandLineHandler, GlobalArguments}; use async_trait::async_trait; use clap::Args; use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::str::FromStr; /// The command to set federated power. diff --git a/ipc/cli/src/commands/subnet/show_gateway_contract_commit_sha.rs b/ipc/cli/src/commands/subnet/show_gateway_contract_commit_sha.rs index 80e849e82..5d8759095 100644 --- a/ipc/cli/src/commands/subnet/show_gateway_contract_commit_sha.rs +++ b/ipc/cli/src/commands/subnet/show_gateway_contract_commit_sha.rs @@ -3,7 +3,7 @@ use async_trait::async_trait; use clap::Args; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::fmt::Debug; use std::str::from_utf8; use std::str::FromStr; diff --git a/ipc/cli/src/commands/subnet/validator.rs b/ipc/cli/src/commands/subnet/validator.rs index ad5b79b8d..dfc4b76f3 100644 --- a/ipc/cli/src/commands/subnet/validator.rs +++ b/ipc/cli/src/commands/subnet/validator.rs @@ -6,8 +6,8 @@ use crate::{get_ipc_provider, CommandLineHandler, GlobalArguments}; use async_trait::async_trait; use clap::Args; use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; -use ipc_types::EthAddress; +use recall_ipc_api::subnet_id::SubnetID; +use recall_ipc_types::EthAddress; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/util/eth.rs b/ipc/cli/src/commands/util/eth.rs index 0e0fa1208..91d6a6fcc 100644 --- a/ipc/cli/src/commands/util/eth.rs +++ b/ipc/cli/src/commands/util/eth.rs @@ -5,7 +5,7 @@ use async_trait::async_trait; use clap::Args; use fvm_shared::address::Address; -use ipc_api::evm::payload_to_evm_address; +use recall_ipc_api::evm::payload_to_evm_address; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/util/f4.rs b/ipc/cli/src/commands/util/f4.rs index 175371853..8fd9018e8 100644 --- a/ipc/cli/src/commands/util/f4.rs +++ b/ipc/cli/src/commands/util/f4.rs @@ -5,7 +5,7 @@ use async_trait::async_trait; use clap::Args; use fvm_shared::address::Address; -use ipc_types::EthAddress; +use recall_ipc_types::EthAddress; use std::fmt::Debug; use std::str::FromStr; diff --git a/ipc/cli/src/commands/validator/batch_claim.rs b/ipc/cli/src/commands/validator/batch_claim.rs index efc0522fa..988a09070 100644 --- a/ipc/cli/src/commands/validator/batch_claim.rs +++ b/ipc/cli/src/commands/validator/batch_claim.rs @@ -6,7 +6,7 @@ use crate::{CommandLineHandler, GlobalArguments}; use async_trait::async_trait; use clap::Args; use fvm_shared::{address::Address, clock::ChainEpoch}; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::str::FromStr; #[derive(Debug, Args)] diff --git a/ipc/cli/src/commands/validator/list.rs b/ipc/cli/src/commands/validator/list.rs index f3b666e76..3bf73531a 100644 --- a/ipc/cli/src/commands/validator/list.rs +++ b/ipc/cli/src/commands/validator/list.rs @@ -6,7 +6,7 @@ use crate::{CommandLineHandler, GlobalArguments}; use async_trait::async_trait; use clap::Args; use fvm_shared::{address::Address, clock::ChainEpoch}; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use std::str::FromStr; #[derive(Debug, Args)] diff --git a/ipc/cli/src/commands/wallet/balances.rs b/ipc/cli/src/commands/wallet/balances.rs index 1731575d5..f25e52ec8 100644 --- a/ipc/cli/src/commands/wallet/balances.rs +++ b/ipc/cli/src/commands/wallet/balances.rs @@ -6,9 +6,9 @@ use async_trait::async_trait; use clap::Args; use futures_util::future::join_all; use fvm_shared::{address::Address, econ::TokenAmount}; -use ipc_api::ethers_address_to_fil_address; -use ipc_api::subnet_id::SubnetID; use ipc_wallet::{EthKeyAddress, EvmKeyStore, WalletType}; +use recall_ipc_api::ethers_address_to_fil_address; +use recall_ipc_api::subnet_id::SubnetID; use std::{fmt::Debug, str::FromStr}; use crate::{get_ipc_provider, CommandLineHandler, GlobalArguments}; diff --git a/ipc/observability/Cargo.toml b/ipc/observability/Cargo.toml index 85ef5bc26..258a959d0 100644 --- a/ipc/observability/Cargo.toml +++ b/ipc/observability/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ipc-observability" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license-file.workspace = true diff --git a/ipc/provider/Cargo.toml b/ipc/provider/Cargo.toml index 4a9c7bbe9..7347bc0cf 100644 --- a/ipc/provider/Cargo.toml +++ b/ipc/provider/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ipc-provider" description = "The provider to interact with IPC" -version = "0.1.0" +version.workspace = true edition.workspace = true license-file.workspace = true @@ -40,16 +40,16 @@ tracing = { workspace = true } url = { workspace = true } zeroize = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true, features = ["crypto"] } -merkle-tree-rs = { path = "../../ext/merkle-tree-rs" } +recall_merkle_tree_rs = { path = "../../ext/merkle-tree-rs" } -ipc-types = { workspace = true } +recall_ipc_types = { workspace = true } ipc-wallet = { workspace = true, features = ["with-ethers"] } -ipc-api = { workspace = true } -ipc_actors_abis = { workspace = true } +recall_ipc_api = { workspace = true } +recall_ipc_actors_abis = { workspace = true } ipc-observability = { workspace = true } prometheus = { workspace = true } diff --git a/ipc/provider/src/checkpoint.rs b/ipc/provider/src/checkpoint.rs index 9a7ab54dd..f91fd7b83 100644 --- a/ipc/provider/src/checkpoint.rs +++ b/ipc/provider/src/checkpoint.rs @@ -9,9 +9,9 @@ use anyhow::{anyhow, Result}; use futures_util::future::try_join_all; use fvm_shared::address::Address; use fvm_shared::clock::ChainEpoch; -use ipc_api::checkpoint::{BottomUpCheckpointBundle, QuorumReachedEvent}; use ipc_observability::{emit, serde::HexEncodableBlockHash}; use ipc_wallet::{EthKeyAddress, PersistentKeyStore}; +use recall_ipc_api::checkpoint::{BottomUpCheckpointBundle, QuorumReachedEvent}; use std::cmp::max; use std::fmt::{Display, Formatter}; use std::sync::{Arc, RwLock}; diff --git a/ipc/provider/src/config/deserialize.rs b/ipc/provider/src/config/deserialize.rs index 6bbb84db5..effdfe0cc 100644 --- a/ipc/provider/src/config/deserialize.rs +++ b/ipc/provider/src/config/deserialize.rs @@ -6,8 +6,8 @@ use crate::config::Subnet; use anyhow::anyhow; use fvm_shared::address::Address; use http::HeaderValue; -use ipc_api::subnet_id::SubnetID; -use ipc_types::EthAddress; +use recall_ipc_api::subnet_id::SubnetID; +use recall_ipc_types::EthAddress; use serde::de::{Error, SeqAccess}; use serde::{Deserialize, Deserializer}; use std::collections::HashMap; @@ -41,7 +41,7 @@ where D: Deserializer<'de>, { struct Visitor; - impl<'de> serde::de::Visitor<'de> for Visitor { + impl serde::de::Visitor<'_> for Visitor { type Value = Address; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { @@ -66,7 +66,7 @@ where D: Deserializer<'de>, { struct Visitor; - impl<'de> serde::de::Visitor<'de> for Visitor { + impl serde::de::Visitor<'_> for Visitor { type Value = Address; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { @@ -89,7 +89,7 @@ where D: Deserializer<'de>, { struct SubnetIDVisitor; - impl<'de> serde::de::Visitor<'de> for SubnetIDVisitor { + impl serde::de::Visitor<'_> for SubnetIDVisitor { type Value = SubnetID; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { diff --git a/ipc/provider/src/config/mod.rs b/ipc/provider/src/config/mod.rs index fa304e930..d6de2a05a 100644 --- a/ipc/provider/src/config/mod.rs +++ b/ipc/provider/src/config/mod.rs @@ -18,7 +18,7 @@ use std::path::Path; use anyhow::{Context, Result}; use deserialize::deserialize_subnets_from_vec; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use serialize::serialize_subnets_to_str; pub use subnet::Subnet; diff --git a/ipc/provider/src/config/serialize.rs b/ipc/provider/src/config/serialize.rs index d1fdacb80..586e16447 100644 --- a/ipc/provider/src/config/serialize.rs +++ b/ipc/provider/src/config/serialize.rs @@ -5,8 +5,8 @@ use crate::config::Subnet; use anyhow::anyhow; use fvm_shared::address::{Address, Payload}; -use ipc_api::subnet_id::SubnetID; -use ipc_types::EthAddress; +use recall_ipc_api::subnet_id::SubnetID; +use recall_ipc_types::EthAddress; use serde::ser::{Error, SerializeSeq}; use serde::Serializer; use std::collections::HashMap; @@ -68,8 +68,8 @@ mod tests { use crate::config::subnet::{EVMSubnet, SubnetConfig}; use crate::config::{Config, Subnet}; use fvm_shared::address::Address; - use ipc_api::subnet_id::SubnetID; - use ipc_types::EthAddress; + use recall_ipc_api::subnet_id::SubnetID; + use recall_ipc_types::EthAddress; use std::str::FromStr; const STR: &str = r#" diff --git a/ipc/provider/src/config/subnet.rs b/ipc/provider/src/config/subnet.rs index 52d6009c3..93163cd1c 100644 --- a/ipc/provider/src/config/subnet.rs +++ b/ipc/provider/src/config/subnet.rs @@ -3,7 +3,7 @@ use std::time::Duration; // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: MIT use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, DurationSeconds}; use url::Url; diff --git a/ipc/provider/src/config/tests.rs b/ipc/provider/src/config/tests.rs index b80b32724..2b7de9d74 100644 --- a/ipc/provider/src/config/tests.rs +++ b/ipc/provider/src/config/tests.rs @@ -4,8 +4,8 @@ use std::str::FromStr; use fvm_shared::address::Address; use indoc::formatdoc; -use ipc_api::subnet_id::SubnetID; -use ipc_types::EthAddress; +use recall_ipc_api::subnet_id::SubnetID; +use recall_ipc_types::EthAddress; use url::Url; use crate::config::Config; diff --git a/ipc/provider/src/lib.rs b/ipc/provider/src/lib.rs index f9a34dceb..a4f63dfc7 100644 --- a/ipc/provider/src/lib.rs +++ b/ipc/provider/src/lib.rs @@ -9,21 +9,21 @@ use config::Config; use fvm_shared::{ address::Address, clock::ChainEpoch, crypto::signature::SignatureType, econ::TokenAmount, }; -use ipc_api::checkpoint::consensus::ValidatorData; -use ipc_api::checkpoint::{BottomUpCheckpointBundle, QuorumReachedEvent}; -use ipc_api::evm::payload_to_evm_address; -use ipc_api::staking::{StakingChangeRequest, ValidatorInfo}; -use ipc_api::subnet::{Asset, PermissionMode}; -use ipc_api::{ - cross::IpcEnvelope, - subnet::{ConsensusType, ConstructParams}, - subnet_id::SubnetID, -}; use ipc_wallet::{ EthKeyAddress, EvmKeyStore, KeyStore, KeyStoreConfig, PersistentKeyStore, Wallet, }; use lotus::message::wallet::WalletKeyType; use manager::{EthSubnetManager, SubnetGenesisInfo, SubnetInfo, SubnetManager}; +use recall_ipc_api::checkpoint::consensus::ValidatorData; +use recall_ipc_api::checkpoint::{BottomUpCheckpointBundle, QuorumReachedEvent}; +use recall_ipc_api::evm::payload_to_evm_address; +use recall_ipc_api::staking::{StakingChangeRequest, ValidatorInfo}; +use recall_ipc_api::subnet::{Asset, PermissionMode}; +use recall_ipc_api::{ + cross::IpcEnvelope, + subnet::{ConsensusType, ConstructParams}, + subnet_id::SubnetID, +}; use serde::{Deserialize, Serialize}; use std::{ borrow::Borrow, diff --git a/ipc/provider/src/lotus/client.rs b/ipc/provider/src/lotus/client.rs index d1ce5b072..2d66e02aa 100644 --- a/ipc/provider/src/lotus/client.rs +++ b/ipc/provider/src/lotus/client.rs @@ -16,9 +16,9 @@ use fvm_shared::bigint::BigInt; use fvm_shared::clock::ChainEpoch; use fvm_shared::crypto::signature::Signature; use fvm_shared::econ::TokenAmount; -use ipc_api::subnet_id::SubnetID; use ipc_wallet::Wallet; use num_traits::cast::ToPrimitive; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::DeserializeOwned; use serde_json::json; @@ -71,7 +71,7 @@ const STATE_WAIT_ALLOW_REPLACE: bool = true; /// ```no_run /// use ipc_provider::{lotus::LotusClient, lotus::client::LotusJsonRPCClient}; /// use ipc_provider::jsonrpc::JsonRpcClientImpl; -/// use ipc_api::subnet_id::SubnetID; +/// use recall_ipc_api::subnet_id::SubnetID; /// /// #[tokio::main] /// async fn main() { diff --git a/ipc/provider/src/lotus/message/deserialize.rs b/ipc/provider/src/lotus/message/deserialize.rs index 6a6a8a46b..8676245dd 100644 --- a/ipc/provider/src/lotus/message/deserialize.rs +++ b/ipc/provider/src/lotus/message/deserialize.rs @@ -5,8 +5,8 @@ use fvm_shared::address::Address; use fvm_shared::bigint::BigInt; use fvm_shared::econ::TokenAmount; -use ipc_api::address::IPCAddress; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::address::IPCAddress; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::{Error, MapAccess}; use serde::{Deserialize, Deserializer}; use std::fmt::Formatter; @@ -99,7 +99,7 @@ where D: Deserializer<'de>, { struct TokenAmountVisitor; - impl<'de> serde::de::Visitor<'de> for TokenAmountVisitor { + impl serde::de::Visitor<'_> for TokenAmountVisitor { type Value = TokenAmount; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { @@ -125,7 +125,7 @@ where D: Deserializer<'de>, { struct TokenAmountVisitor; - impl<'de> serde::de::Visitor<'de> for TokenAmountVisitor { + impl serde::de::Visitor<'_> for TokenAmountVisitor { type Value = Option; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { @@ -168,7 +168,7 @@ where D: Deserializer<'de>, { struct AddressVisitor; - impl<'de> serde::de::Visitor<'de> for AddressVisitor { + impl serde::de::Visitor<'_> for AddressVisitor { type Value = Address; fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result { diff --git a/ipc/provider/src/lotus/message/ipc.rs b/ipc/provider/src/lotus/message/ipc.rs index 5f8e25ee3..c562197e1 100644 --- a/ipc/provider/src/lotus/message/ipc.rs +++ b/ipc/provider/src/lotus/message/ipc.rs @@ -5,8 +5,8 @@ use fvm_ipld_encoding::RawBytes; use fvm_shared::clock::ChainEpoch; use fvm_shared::econ::TokenAmount; use fvm_shared::MethodNum; -use ipc_api::address::IPCAddress; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::address::IPCAddress; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use crate::lotus::message::deserialize::{ diff --git a/ipc/provider/src/lotus/message/serialize.rs b/ipc/provider/src/lotus/message/serialize.rs index dc0687156..e05e5b4e4 100644 --- a/ipc/provider/src/lotus/message/serialize.rs +++ b/ipc/provider/src/lotus/message/serialize.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: MIT use fvm_shared::econ::TokenAmount; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use serde::Serializer; pub fn serialize_subnet_id_to_str(id: &SubnetID, s: S) -> Result diff --git a/ipc/provider/src/lotus/message/state.rs b/ipc/provider/src/lotus/message/state.rs index 19ced4908..1f271fad4 100644 --- a/ipc/provider/src/lotus/message/state.rs +++ b/ipc/provider/src/lotus/message/state.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: MIT use anyhow::anyhow; use base64::Engine; -use fil_actors_runtime::cbor; use fvm_ipld_encoding::RawBytes; +use recall_fil_actors_runtime::cbor; use serde::de::DeserializeOwned; use serde::Deserialize; diff --git a/ipc/provider/src/lotus/message/tests.rs b/ipc/provider/src/lotus/message/tests.rs index 394a25c2d..8023d5b9c 100644 --- a/ipc/provider/src/lotus/message/tests.rs +++ b/ipc/provider/src/lotus/message/tests.rs @@ -9,8 +9,8 @@ use crate::lotus::message::deserialize::{ }; use crate::manager::SubnetInfo; use fvm_shared::econ::TokenAmount; -use ipc_api::address::IPCAddress; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::address::IPCAddress; +use recall_ipc_api::subnet_id::SubnetID; #[test] fn test_ipc_address_from_map() { diff --git a/ipc/provider/src/manager/evm/manager.rs b/ipc/provider/src/manager/evm/manager.rs index 28d180948..016d837a9 100644 --- a/ipc/provider/src/manager/evm/manager.rs +++ b/ipc/provider/src/manager/evm/manager.rs @@ -7,20 +7,20 @@ use std::sync::{Arc, RwLock}; use std::time::Duration; use ethers_contract::{ContractError, EthLogDecode, LogMeta}; -use ipc_actors_abis::{ +use recall_ipc_actors_abis::{ checkpointing_facet, gateway_getter_facet, gateway_manager_facet, lib_gateway, lib_quorum, lib_staking_change_log, register_subnet_facet, subnet_actor_activity_facet, subnet_actor_checkpointing_facet, subnet_actor_getter_facet, subnet_actor_manager_facet, subnet_actor_reward_facet, }; -use ipc_api::evm::{fil_to_eth_amount, payload_to_evm_address, subnet_id_to_evm_addresses}; -use ipc_api::validator::from_contract_validators; +use recall_ipc_api::evm::{fil_to_eth_amount, payload_to_evm_address, subnet_id_to_evm_addresses}; +use recall_ipc_api::validator::from_contract_validators; use reqwest::header::HeaderValue; use reqwest::Client; use std::net::{IpAddr, SocketAddr}; -use ipc_api::subnet::{Asset, AssetKind, PermissionMode}; -use ipc_api::{eth_to_fil_amount, ethers_address_to_fil_address}; +use recall_ipc_api::subnet::{Asset, AssetKind, PermissionMode}; +use recall_ipc_api::{eth_to_fil_amount, ethers_address_to_fil_address}; use crate::config::subnet::SubnetConfig; use crate::config::Subnet; @@ -45,19 +45,19 @@ use super::gas_estimator_middleware::Eip1559GasEstimatorMiddleware; use ethers::middleware::Middleware; use fvm_shared::clock::ChainEpoch; use fvm_shared::{address::Address, econ::TokenAmount}; -use ipc_actors_abis::subnet_actor_activity_facet::ValidatorClaim; -use ipc_api::checkpoint::{ - consensus::ValidatorData, BottomUpCheckpoint, BottomUpCheckpointBundle, QuorumReachedEvent, - Signature, VALIDATOR_REWARD_FIELDS, -}; -use ipc_api::cross::IpcEnvelope; -use ipc_api::merkle::MerkleGen; -use ipc_api::staking::{StakingChangeRequest, ValidatorInfo, ValidatorStakingInfo}; -use ipc_api::subnet::ConstructParams; -use ipc_api::subnet_id::SubnetID; use ipc_observability::lazy_static; use ipc_wallet::{EthKeyAddress, EvmKeyStore, PersistentKeyStore}; use num_traits::ToPrimitive; +use recall_ipc_actors_abis::subnet_actor_activity_facet::ValidatorClaim; +use recall_ipc_api::checkpoint::{ + consensus::ValidatorData, BottomUpCheckpoint, BottomUpCheckpointBundle, QuorumReachedEvent, + Signature, VALIDATOR_REWARD_FIELDS, +}; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::merkle::MerkleGen; +use recall_ipc_api::staking::{StakingChangeRequest, ValidatorInfo, ValidatorStakingInfo}; +use recall_ipc_api::subnet::ConstructParams; +use recall_ipc_api::subnet_id::SubnetID; use std::result; pub type SignerWithFeeEstimatorMiddleware = @@ -1604,10 +1604,10 @@ mod tests { use ethers::core::rand::prelude::SliceRandom; use ethers::core::rand::{random, thread_rng}; use fvm_shared::address::Address; - use ipc_actors_abis::checkpointing_facet::{checkpointing_facet, ValidatorData}; - use ipc_api::checkpoint::VALIDATOR_REWARD_FIELDS; - use ipc_api::merkle::MerkleGen; - use ipc_api::subnet_id::SubnetID; + use recall_ipc_actors_abis::checkpointing_facet::{checkpointing_facet, ValidatorData}; + use recall_ipc_api::checkpoint::VALIDATOR_REWARD_FIELDS; + use recall_ipc_api::merkle::MerkleGen; + use recall_ipc_api::subnet_id::SubnetID; use std::str::FromStr; #[test] diff --git a/ipc/provider/src/manager/evm/mod.rs b/ipc/provider/src/manager/evm/mod.rs index 973c34cf9..49792e151 100644 --- a/ipc/provider/src/manager/evm/mod.rs +++ b/ipc/provider/src/manager/evm/mod.rs @@ -6,12 +6,12 @@ mod manager; use async_trait::async_trait; use fvm_shared::clock::ChainEpoch; -use ipc_api::subnet_id::SubnetID; +use recall_ipc_api::subnet_id::SubnetID; use super::subnet::SubnetManager; pub use manager::EthSubnetManager; -use ipc_actors_abis::subnet_actor_checkpointing_facet; +use recall_ipc_actors_abis::subnet_actor_checkpointing_facet; #[async_trait] pub trait EthManager: SubnetManager { diff --git a/ipc/provider/src/manager/subnet.rs b/ipc/provider/src/manager/subnet.rs index d87fbe2c5..3df645541 100644 --- a/ipc/provider/src/manager/subnet.rs +++ b/ipc/provider/src/manager/subnet.rs @@ -5,16 +5,16 @@ use anyhow::Result; use async_trait::async_trait; use fvm_shared::clock::ChainEpoch; use fvm_shared::{address::Address, econ::TokenAmount}; -use ipc_actors_abis::subnet_actor_activity_facet::ValidatorClaim; -use ipc_api::checkpoint::{ +use recall_ipc_actors_abis::subnet_actor_activity_facet::ValidatorClaim; +use recall_ipc_api::checkpoint::{ consensus::ValidatorData, BottomUpCheckpoint, BottomUpCheckpointBundle, QuorumReachedEvent, Signature, }; -use ipc_api::cross::IpcEnvelope; -use ipc_api::staking::{StakingChangeRequest, ValidatorInfo}; -use ipc_api::subnet::{Asset, ConstructParams, PermissionMode}; -use ipc_api::subnet_id::SubnetID; -use ipc_api::validator::Validator; +use recall_ipc_api::cross::IpcEnvelope; +use recall_ipc_api::staking::{StakingChangeRequest, ValidatorInfo}; +use recall_ipc_api::subnet::{Asset, ConstructParams, PermissionMode}; +use recall_ipc_api::subnet_id::SubnetID; +use recall_ipc_api::validator::Validator; use std::collections::{BTreeMap, HashMap}; use crate::lotus::message::ipc::SubnetInfo; diff --git a/ipc/types/Cargo.toml b/ipc/types/Cargo.toml index 79b5f5654..361e29b46 100644 --- a/ipc/types/Cargo.toml +++ b/ipc/types/Cargo.toml @@ -1,8 +1,10 @@ [package] description = "The primitive types for fvm" edition = "2021" -name = "ipc-types" -version = "0.1.0" +name = "recall_ipc_types" +license-file.workspace = true +repository.workspace = true +version.workspace = true [dependencies] fvm_ipld_amt = { workspace = true } diff --git a/ipc/types/src/amt.rs b/ipc/types/src/amt.rs index 15caf191d..1052265e8 100644 --- a/ipc/types/src/amt.rs +++ b/ipc/types/src/amt.rs @@ -21,7 +21,7 @@ const AMT_BIT_WIDTH: u32 = 3; /// /// # Example /// ``` -/// use ipc_types::{TCid, TAmt}; +/// use recall_ipc_types::{TCid, TAmt}; /// use fvm_ipld_blockstore::MemoryBlockstore; /// use fvm_ipld_encoding::tuple::*; /// use fvm_ipld_encoding::Cbor; diff --git a/ipc/types/src/hamt.rs b/ipc/types/src/hamt.rs index 9c8739149..75a799c5d 100644 --- a/ipc/types/src/hamt.rs +++ b/ipc/types/src/hamt.rs @@ -20,7 +20,7 @@ use super::{TCid, TCidContent}; /// /// # Example /// ``` -/// use ipc_types::{TCid, THamt}; +/// use recall_ipc_types::{TCid, THamt}; /// use fvm_ipld_blockstore::MemoryBlockstore; /// use fvm_ipld_encoding::tuple::*; /// use fvm_ipld_encoding::Cbor; diff --git a/ipc/types/src/link.rs b/ipc/types/src/link.rs index a4752edb8..bece6d449 100644 --- a/ipc/types/src/link.rs +++ b/ipc/types/src/link.rs @@ -17,7 +17,7 @@ use std::ops::{Deref, DerefMut}; /// /// # Example /// ``` -/// use ipc_types::{TCid, TLink}; +/// use recall_ipc_types::{TCid, TLink}; /// use fvm_ipld_blockstore::MemoryBlockstore; /// use fvm_ipld_encoding::tuple::*; /// use fvm_ipld_encoding::Cbor; diff --git a/ipc/types/src/uints.rs b/ipc/types/src/uints.rs index 3a3f71494..7a6d5f362 100644 --- a/ipc/types/src/uints.rs +++ b/ipc/types/src/uints.rs @@ -202,7 +202,7 @@ impl<'de> Deserialize<'de> for U256 { D: serde::Deserializer<'de>, { struct Visitor; - impl<'de> serde::de::Visitor<'de> for Visitor { + impl serde::de::Visitor<'_> for Visitor { type Value = U256; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { diff --git a/ipc/wallet/Cargo.toml b/ipc/wallet/Cargo.toml index 984684d7c..e99216172 100644 --- a/ipc/wallet/Cargo.toml +++ b/ipc/wallet/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ipc-wallet" description = "IPC key management and identity" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license-file.workspace = true @@ -28,7 +28,7 @@ thiserror = { workspace = true } xsalsa20poly1305 = "0.9" zeroize = "1.6.0" -ipc-types = { workspace = true } +recall_ipc_types = { workspace = true } [dev-dependencies] tempfile = { workspace = true } diff --git a/ipc/wallet/src/evm/mod.rs b/ipc/wallet/src/evm/mod.rs index 05dd985fb..99fe953e0 100644 --- a/ipc/wallet/src/evm/mod.rs +++ b/ipc/wallet/src/evm/mod.rs @@ -107,7 +107,7 @@ impl TryFrom for fvm_shared::address::Address { fn try_from(value: EthKeyAddress) -> std::result::Result { Ok(fvm_shared::address::Address::from( - &ipc_types::EthAddress::from_str(&value.to_string())?, + &recall_ipc_types::EthAddress::from_str(&value.to_string())?, )) } } diff --git a/ipld/resolver/Cargo.toml b/ipld/resolver/Cargo.toml index 7d2eccff9..ecff3d2d1 100644 --- a/ipld/resolver/Cargo.toml +++ b/ipld/resolver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ipc_ipld_resolver" -version = "0.1.0" +version.workspace = true description = "P2P library to resolve IPLD content across IPC subnets." authors.workspace = true edition.workspace = true @@ -37,7 +37,7 @@ fvm_ipld_encoding = { workspace = true } fvm_shared = { workspace = true } fvm_ipld_blockstore = { workspace = true, optional = true } -ipc-api = { path = "../../ipc/api", default-features = false } +recall_ipc_api = { path = "../../ipc/api", default-features = false } ipc-observability = { workspace = true } iroh_manager = { path = "../../recall/iroh_manager" } diff --git a/ipld/resolver/src/arb.rs b/ipld/resolver/src/arb.rs index 77e539d39..0e91f4485 100644 --- a/ipld/resolver/src/arb.rs +++ b/ipld/resolver/src/arb.rs @@ -1,8 +1,8 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: MIT use fvm_shared::address::Address; -use ipc_api::subnet_id::SubnetID; use quickcheck::Arbitrary; +use recall_ipc_api::subnet_id::SubnetID; #[derive(Clone, Debug)] pub struct ArbSubnetID(pub SubnetID); diff --git a/ipld/resolver/src/behaviour/membership.rs b/ipld/resolver/src/behaviour/membership.rs index b1d33648e..fe8aa45eb 100644 --- a/ipld/resolver/src/behaviour/membership.rs +++ b/ipld/resolver/src/behaviour/membership.rs @@ -13,7 +13,6 @@ use crate::provider_record::{ProviderRecord, SignedProviderRecord}; use crate::vote_record::{SignedVoteRecord, VoteRecord}; use crate::Timestamp; use anyhow::anyhow; -use ipc_api::subnet_id::SubnetID; use ipc_observability::emit; use libp2p::core::Endpoint; use libp2p::gossipsub::{ @@ -28,6 +27,7 @@ use libp2p::swarm::{ }; use libp2p::{Multiaddr, PeerId}; use log::{debug, error, info, warn}; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::DeserializeOwned; use serde::Serialize; use tokio::time::{Instant, Interval}; diff --git a/ipld/resolver/src/client.rs b/ipld/resolver/src/client.rs index eb2543241..a06ebec03 100644 --- a/ipld/resolver/src/client.rs +++ b/ipld/resolver/src/client.rs @@ -2,10 +2,10 @@ // SPDX-License-Identifier: MIT use anyhow::anyhow; use async_trait::async_trait; -use ipc_api::subnet_id::SubnetID; use iroh::blobs::Hash; use iroh::net::NodeAddr; use libipld::Cid; +use recall_ipc_api::subnet_id::SubnetID; use tokio::sync::mpsc::UnboundedSender; use tokio::sync::oneshot; diff --git a/ipld/resolver/src/provider_cache.rs b/ipld/resolver/src/provider_cache.rs index dc2c9cf61..22ffe4d7c 100644 --- a/ipld/resolver/src/provider_cache.rs +++ b/ipld/resolver/src/provider_cache.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: MIT use std::collections::{HashMap, HashSet}; -use ipc_api::subnet_id::SubnetID; use libp2p::PeerId; +use recall_ipc_api::subnet_id::SubnetID; use crate::{provider_record::ProviderRecord, Timestamp}; @@ -210,10 +210,10 @@ impl SubnetProviderCache { mod tests { use std::collections::{HashMap, HashSet}; - use ipc_api::subnet_id::SubnetID; use libp2p::{identity::Keypair, PeerId}; use quickcheck::Arbitrary; use quickcheck_macros::quickcheck; + use recall_ipc_api::subnet_id::SubnetID; use crate::{arb::ArbSubnetID, provider_record::ProviderRecord, Timestamp}; diff --git a/ipld/resolver/src/provider_record.rs b/ipld/resolver/src/provider_record.rs index ac74825ea..dd43d8dc4 100644 --- a/ipld/resolver/src/provider_record.rs +++ b/ipld/resolver/src/provider_record.rs @@ -1,9 +1,9 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: MIT -use ipc_api::subnet_id::SubnetID; use libp2p::identity::Keypair; use libp2p::PeerId; +use recall_ipc_api::subnet_id::SubnetID; use serde::{Deserialize, Serialize}; use crate::{ diff --git a/ipld/resolver/src/service.rs b/ipld/resolver/src/service.rs index f5e7c727f..5416316b8 100644 --- a/ipld/resolver/src/service.rs +++ b/ipld/resolver/src/service.rs @@ -13,7 +13,6 @@ use crate::observe; use crate::vote_record::{SignedVoteRecord, VoteRecord}; use anyhow::anyhow; use bloom::{BloomFilter, ASMS}; -use ipc_api::subnet_id::SubnetID; use ipc_observability::emit; use iroh::blobs::Hash; use iroh::client::blobs::ReadAtLen; @@ -36,6 +35,7 @@ use libp2p_mplex::MplexConfig; use log::{debug, error, info, warn}; use prometheus::Registry; use rand::seq::SliceRandom; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::DeserializeOwned; use serde::Serialize; use tokio::select; diff --git a/ipld/resolver/src/vote_record.rs b/ipld/resolver/src/vote_record.rs index 3678d5e47..67409148a 100644 --- a/ipld/resolver/src/vote_record.rs +++ b/ipld/resolver/src/vote_record.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: MIT -use ipc_api::subnet_id::SubnetID; use libp2p::identity::{Keypair, PublicKey}; +use recall_ipc_api::subnet_id::SubnetID; use serde::de::{DeserializeOwned, Error}; use serde::{Deserialize, Serialize}; diff --git a/ipld/resolver/tests/smoke.rs b/ipld/resolver/tests/smoke.rs index 823587783..dd16ef78a 100644 --- a/ipld/resolver/tests/smoke.rs +++ b/ipld/resolver/tests/smoke.rs @@ -22,7 +22,6 @@ use cid::Cid; use fvm_ipld_encoding::IPLD_RAW; use fvm_ipld_hamt::Hamt; use fvm_shared::{address::Address, ActorID}; -use ipc_api::subnet_id::SubnetID; use ipc_ipld_resolver::{ Client, Config, ConnectionConfig, ContentConfig, DiscoveryConfig, Event, MembershipConfig, NetworkConfig, Resolver, Service, VoteRecord, @@ -38,6 +37,7 @@ use libp2p::{ }; use multihash::{Code, MultihashDigest}; use rand::{rngs::StdRng, Rng, SeedableRng}; +use recall_ipc_api::subnet_id::SubnetID; use std::{ sync::atomic::{AtomicU64, Ordering}, time::Duration, diff --git a/recall-contracts b/recall-contracts index 63e534290..18fcb9915 160000 --- a/recall-contracts +++ b/recall-contracts @@ -1 +1 @@ -Subproject commit 63e534290faff5db3e84fc28b030b621eb1297e1 +Subproject commit 18fcb9915a5debad2b8716159d4bf24ca7332f4a diff --git a/recall/actor_sdk/Cargo.toml b/recall/actor_sdk/Cargo.toml index cd5a47679..96260ac17 100644 --- a/recall/actor_sdk/Cargo.toml +++ b/recall/actor_sdk/Cargo.toml @@ -1,9 +1,11 @@ [package] name = "recall_actor_sdk" -version = "0.1.0" +description = "Recall network fil actor sdk" authors.workspace = true edition.workspace = true license.workspace = true +repository.workspace = true +version.workspace = true [lib] crate-type = ["cdylib", "lib"] @@ -12,9 +14,9 @@ crate-type = ["cdylib", "lib"] fvm_shared = { workspace = true } fvm_sdk = { workspace = true } num-traits = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } recall_sol_facade = { workspace = true, features = [] } anyhow = { workspace = true } fvm_ipld_encoding = { workspace = true } serde = { workspace = true } -fil_actors_evm_shared = { workspace = true } \ No newline at end of file +recall_fil_actors_evm_shared = { workspace = true } diff --git a/recall/actor_sdk/src/lib.rs b/recall/actor_sdk/src/lib.rs index a9ff6d8aa..3121b7a26 100644 --- a/recall/actor_sdk/src/lib.rs +++ b/recall/actor_sdk/src/lib.rs @@ -2,9 +2,6 @@ // Copyright 2022-2024 Protocol Labs // SPDX-License-Identifier: Apache-2.0, MIT -use fil_actors_runtime::runtime::builtins::Type; -use fil_actors_runtime::runtime::Runtime; -use fil_actors_runtime::{actor_error, ActorError}; use fvm_ipld_encoding::{strict_bytes, tuple::*}; use fvm_shared::address::Address; use fvm_shared::bigint::BigUint; @@ -12,6 +9,9 @@ use fvm_shared::econ::TokenAmount; use fvm_shared::error::ErrorNumber; use fvm_shared::event::{ActorEvent, Entry, Flags}; use fvm_shared::IPLD_RAW; +use recall_fil_actors_runtime::runtime::builtins::Type; +use recall_fil_actors_runtime::runtime::Runtime; +use recall_fil_actors_runtime::{actor_error, ActorError}; use recall_sol_facade::primitives::IntoLogData; pub fn hash_rm(hash: [u8; 32]) -> Result<(), ErrorNumber> { @@ -202,7 +202,8 @@ macro_rules! declare_abi_call { type Params; type Returns; type Output; - fn params(&self, rt: &impl fil_actors_runtime::runtime::Runtime) -> Self::Params; + fn params(&self, rt: &impl recall_fil_actors_runtime::runtime::Runtime) + -> Self::Params; fn returns(&self, returns: Self::Returns) -> Self::Output; } @@ -225,17 +226,17 @@ macro_rules! declare_abi_call { } } - impl From for AbiEncodeError { - fn from(error: fil_actors_runtime::ActorError) -> Self { + impl From for AbiEncodeError { + fn from(error: recall_fil_actors_runtime::ActorError) -> Self { Self { message: format!("{}", error), } } } - impl From for fil_actors_runtime::ActorError { + impl From for recall_fil_actors_runtime::ActorError { fn from(error: AbiEncodeError) -> Self { - fil_actors_runtime::actor_error!(serialization, error.message) + recall_fil_actors_runtime::actor_error!(serialization, error.message) } } }; diff --git a/recall/executor/Cargo.toml b/recall/executor/Cargo.toml index ce07282d0..6ed30caea 100644 --- a/recall/executor/Cargo.toml +++ b/recall/executor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "recall_executor" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true @@ -18,8 +18,8 @@ num-traits = { workspace = true } replace_with = { workspace = true } tracing = { workspace = true } -fendermint_actor_blobs_shared = { path = "../../fendermint/actors/blobs/shared" } -fendermint_vm_actor_interface = { path = "../../fendermint/vm/actor_interface" } +recall_fendermint_actor_blobs_shared = { path = "../../fendermint/actors/blobs/shared" } +recall_fendermint_vm_actor_interface = { path = "../../fendermint/vm/actor_interface" } [features] testing = [] diff --git a/recall/executor/src/lib.rs b/recall/executor/src/lib.rs index c446c0c18..5a7464d3a 100644 --- a/recall/executor/src/lib.rs +++ b/recall/executor/src/lib.rs @@ -7,13 +7,6 @@ use std::result::Result as StdResult; use anyhow::{anyhow, bail, Context, Result}; use cid::Cid; -use fendermint_actor_blobs_shared::params::{GetGasAllowanceParams, UpdateGasAllowanceParams}; -use fendermint_actor_blobs_shared::state::GasAllowance; -use fendermint_vm_actor_interface::{ - blobs::{BLOBS_ACTOR_ADDR, BLOBS_ACTOR_ID}, - eam::EAM_ACTOR_ID, - system::SYSTEM_ACTOR_ADDR, -}; use fvm::call_manager::{backtrace, Backtrace, CallManager, Entrypoint, InvocationResult}; use fvm::engine::EnginePool; use fvm::executor::{ApplyFailure, ApplyKind, ApplyRet, Executor}; @@ -32,6 +25,15 @@ use fvm_shared::{ ActorID, IPLD_RAW, METHOD_SEND, }; use num_traits::Zero; +use recall_fendermint_actor_blobs_shared::params::{ + GetGasAllowanceParams, UpdateGasAllowanceParams, +}; +use recall_fendermint_actor_blobs_shared::state::GasAllowance; +use recall_fendermint_vm_actor_interface::{ + blobs::{BLOBS_ACTOR_ADDR, BLOBS_ACTOR_ID}, + eam::EAM_ACTOR_ID, + system::SYSTEM_ACTOR_ADDR, +}; use tracing::debug; mod outputs; @@ -710,7 +712,7 @@ where to: BLOBS_ACTOR_ADDR, sequence: 0, // irrelevant for implicit executions gas_limit: i64::MAX as u64, - method_num: fendermint_actor_blobs_shared::Method::GetGasAllowance as u64, + method_num: recall_fendermint_actor_blobs_shared::Method::GetGasAllowance as u64, params, value: Default::default(), version: Default::default(), @@ -749,7 +751,7 @@ where to: BLOBS_ACTOR_ADDR, sequence: 0, // irrelevant for implicit executions gas_limit: i64::MAX as u64, - method_num: fendermint_actor_blobs_shared::Method::UpdateGasAllowance as u64, + method_num: recall_fendermint_actor_blobs_shared::Method::UpdateGasAllowance as u64, params, value: Default::default(), version: Default::default(), diff --git a/recall/ipld/Cargo.toml b/recall/ipld/Cargo.toml index 9d06cb9c4..d7173cb77 100644 --- a/recall/ipld/Cargo.toml +++ b/recall/ipld/Cargo.toml @@ -1,9 +1,11 @@ [package] name = "recall_ipld" -version = "0.1.0" +description = "Recall network ipld hamt and amt implementations" +repository.workspace = true authors.workspace = true edition.workspace = true license.workspace = true +version.workspace = true [lib] crate-type = ["cdylib", "lib"] @@ -11,7 +13,7 @@ crate-type = ["cdylib", "lib"] [dependencies] anyhow = { workspace = true } cid = { workspace = true } -fil_actors_runtime = { workspace = true } +recall_fil_actors_runtime = { workspace = true } fvm_ipld_amt = { workspace = true } fvm_ipld_blockstore = { workspace = true } fvm_ipld_encoding = { workspace = true } @@ -22,4 +24,4 @@ integer-encoding = { workspace = true } serde = { workspace = true, features = ["derive"] } [features] -fil-actor = ["fil_actors_runtime/fil-actor"] \ No newline at end of file +fil-actor = ["recall_fil_actors_runtime/fil-actor"] \ No newline at end of file diff --git a/recall/ipld/src/amt/core.rs b/recall/ipld/src/amt/core.rs index 2048d7ee3..5ed6582d0 100644 --- a/recall/ipld/src/amt/core.rs +++ b/recall/ipld/src/amt/core.rs @@ -7,10 +7,10 @@ use std::fmt::Debug; use anyhow::anyhow; use cid::Cid; -use fil_actors_runtime::{ActorError, AsActorError}; use fvm_ipld_amt as amt; use fvm_ipld_blockstore::Blockstore; use fvm_shared::error::ExitCode; +use recall_fil_actors_runtime::{ActorError, AsActorError}; use serde::de::DeserializeOwned; use serde::Serialize; diff --git a/recall/ipld/src/amt/vec.rs b/recall/ipld/src/amt/vec.rs index 496222942..6bef440d8 100644 --- a/recall/ipld/src/amt/vec.rs +++ b/recall/ipld/src/amt/vec.rs @@ -4,9 +4,9 @@ // SPDX-License-Identifier: Apache-2.0, MIT use cid::Cid; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; +use recall_fil_actors_runtime::ActorError; use serde::de::DeserializeOwned; use serde::Serialize; use std::marker::PhantomData; diff --git a/recall/ipld/src/hamt/core.rs b/recall/ipld/src/hamt/core.rs index c09029fa2..e6f643e82 100644 --- a/recall/ipld/src/hamt/core.rs +++ b/recall/ipld/src/hamt/core.rs @@ -10,13 +10,13 @@ use crate::hamt::BytesKey; use crate::Hasher; use anyhow::anyhow; use cid::Cid; -use fil_actors_runtime::{ActorError, AsActorError}; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_hamt as hamt; use fvm_ipld_hamt::Error; use fvm_shared::address::Address; use fvm_shared::error::ExitCode; use integer_encoding::VarInt; +use recall_fil_actors_runtime::{ActorError, AsActorError}; use serde::de::DeserializeOwned; use serde::Serialize; diff --git a/recall/ipld/src/hamt/map.rs b/recall/ipld/src/hamt/map.rs index 61dbf52f0..2aa95cc31 100644 --- a/recall/ipld/src/hamt/map.rs +++ b/recall/ipld/src/hamt/map.rs @@ -7,10 +7,10 @@ use std::fmt::Display; use std::marker::PhantomData; use cid::Cid; -use fil_actors_runtime::ActorError; use fvm_ipld_blockstore::Blockstore; use fvm_ipld_encoding::tuple::*; use fvm_ipld_hamt::{BytesKey, Iter}; +use recall_fil_actors_runtime::ActorError; use serde::de::DeserializeOwned; use serde::Serialize; diff --git a/recall/iroh_manager/Cargo.toml b/recall/iroh_manager/Cargo.toml index dffe2e9ba..6eaa8f118 100644 --- a/recall/iroh_manager/Cargo.toml +++ b/recall/iroh_manager/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iroh_manager" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/recall/kernel/Cargo.toml b/recall/kernel/Cargo.toml index 386962a67..031ac71c3 100644 --- a/recall/kernel/Cargo.toml +++ b/recall/kernel/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "recall_kernel" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/recall/kernel/ops/Cargo.toml b/recall/kernel/ops/Cargo.toml index cb097829f..910fcb603 100644 --- a/recall/kernel/ops/Cargo.toml +++ b/recall/kernel/ops/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "recall_kernel_ops" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/recall/syscalls/Cargo.toml b/recall/syscalls/Cargo.toml index e09776128..d81bc8072 100644 --- a/recall/syscalls/Cargo.toml +++ b/recall/syscalls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "recall_syscalls" -version = "0.1.0" +version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true diff --git a/scripts/setup.sh b/scripts/setup.sh index f518acbf3..79aee2179 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -23,7 +23,7 @@ if [[ -z ${SKIP_BUILD+x} || "$SKIP_BUILD" == "" || "$SKIP_BUILD" == "false" ]]; mkdir -p fendermint/builtin-actors/output cp builtin-actors/output/builtin-actors-mainnet.car fendermint/builtin-actors/output/bundle.car # These need to be built for release - cargo build --release -p fendermint_actors + cargo build --release -p recall_fendermint_actors fi cp fendermint/builtin-actors/output/bundle.car "$HOME/.fendermint/bundle.car" cp fendermint/actors/output/custom_actors_bundle.car "$HOME/.fendermint/custom_actors_bundle.car" diff --git a/specs/ethapi.md b/specs/ethapi.md index 5e317dd1c..661f38b50 100644 --- a/specs/ethapi.md +++ b/specs/ethapi.md @@ -16,7 +16,7 @@ It’s worth noting that CometBFT recommends deploying [sentry nodes](https://do As described above, we can interact with Fendermint through the CometBFT or the Ethereum API. -For the former we can use the [`tendermint-rs`](https://github.com/informalsystems/tendermint-rs/tree/main/rpc) library, which contains a JSON-RPC client. This client forms the basis of our own `[fendermint_rpc](https://github.com/consensus-shipyard/ipc/tree/specs/fendermint/rpc)` crate, which contains the following abstractions: +For the former we can use the [`tendermint-rs`](https://github.com/informalsystems/tendermint-rs/tree/main/rpc) library, which contains a JSON-RPC client. This client forms the basis of our own `[recall_fendermint_rpc](https://github.com/consensus-shipyard/ipc/tree/specs/fendermint/rpc)` crate, which contains the following abstractions: - `MessageFactory` and `SignedMessageFactory` to produce `ChainMessage` instances to be sent to using the following methods, bound to a particular account address and maintaining a `sequence`: - `transaction` constructs generic `Message` instances using `RawBytes` and `MethodNum` diff --git a/specs/upgrades.md b/specs/upgrades.md index 05a6b4c2a..e62070c1f 100644 --- a/specs/upgrades.md +++ b/specs/upgrades.md @@ -251,7 +251,7 @@ In this example, we show how you can write an upgrade migration which upgrades t More specifically, in this example we want to replace the code of the `chainmetadata` actor which was deployed at genesis. This actor is used to store blockhashes of the previous blocks on chain. For instance, suppose we intend to enhance this actor to store additional information beyond block hashes. The specifics of the new version's functionality are irrelevant; we focus solely on replacing the actor's code. -Inside the migration function, we first must have access to the WASM binary of the new actor. Here, we simply copied the source code of the `chainmetadata` actor to a new location, made relevant changes to the source code of that new actor and compiled it to the `fendermint_actor_chainmetadata_v2.wasm` target. +Inside the migration function, we first must have access to the WASM binary of the new actor. Here, we simply copied the source code of the `chainmetadata` actor to a new location, made relevant changes to the source code of that new actor and compiled it to the `recall_fendermint_actor_chainmetadata_v2.wasm` target. To replace the existing `chainmetadata` actor that we deployed at genesis with this new v2 version, we need store the new WASM code in the blockstore, then update `code` of the actor state associated with the `chainmetadata` actor with `code_cid` of the new WASM actor. @@ -259,7 +259,7 @@ Our migration function is defined as follows: ```rust // The WASM binary of the new version of the chainmetadata actor. -static WASM_BIN: &[u8] = include_bytes!("../output/fendermint_actor_chainmetadata_v2.wasm"); +static WASM_BIN: &[u8] = include_bytes!("../output/recall_fendermint_actor_chainmetadata_v2.wasm"); pub fn upgrade_wasm_actor_func( state: &mut FvmExecState,