content: [workspace]
  resolver = "2"
  members = [
      "subnet",
      "tests/e2e",
      "e2e-benchmark"
  ]
  
  [workspace.package]
  version = "0.1.0"
  edition = "2021"
  license = "MIT OR Apache-2.0"
  authors = ["Liam Monninger <liam@movementlabs.xyz>"]
  homepage = "https://www.movementlabs.xyz"
  publish = false
  repository = "https://github.com/movemntdev/m2"
  rust-version = "1.70"
  
  [workspace.dependencies]
  avalanche-types = {git="https://github.com/ava-labs/avalanche-rs",package="avalanche-types", rev= "eee26d756b4e39c42d68b314c08028da11435e2d", features = ["subnet", "codec_base64", "jsonrpc_client"] }
  anyhow = "1.0.62"
  futures = "0.3.28"
  rand = { version =  "0.7.3" }
  bcs = { git = "https://github.com/aptos-labs/bcs.git", rev = "d31fab9d81748e2594be5cd5cdf845786a30562d" }
  url = "2.2.2"
  
  actix-web = "4"
  async-trait = "0.1.53"
  base64 = "0.13.0"
  backoff = { version = "0.4.0", features = ["tokio"] }
  chrono = { version = "0.4.19", features = ["clock", "serde"] }
  clap = { version = "3.2.23", features = ["derive", "env", "suggestions"] }
  clap_complete = "3.2.3"
  codespan-reporting = "0.11.1"
  criterion = "0.3.5"
  criterion-cpu-time = "0.1.0"
  dirs = "4.0.0"
  hex = "0.4.3"
  hkdf = "0.10.0"
  hostname = "0.3.1"
  http = "0.2.3"
  httpmock = "0.6"
  hyper = { version = "0.14.18", features = ["full"] }
  hyper-tls = "0.5.0"
  include_dir = { version = "0.7.2", features = ["glob"] }
  indicatif = "0.15.0"
  indoc = "1.0.6"
  inferno = "0.11.14"
  ipnet = "2.5.0"
  itertools = "0.10.3"
  num_cpus = "1.13.1"
  proptest = "1.0.0"
  proptest-derive = "0.3.0"
  regex = "1.5.5"
  reqwest = { version = "0.11.11", features = ["blocking", "cookies", "json", "stream"] }
  serde = { version = "1.0.137", features = ["derive", "rc"] }
  serde_json = { version = "1.0.81", features = ["preserve_order"] }
  serde_yaml = "0.8.24"
  shadow-rs = "0.16.2"
  tempfile = "3.3.0"
  termcolor = "1.1.2"
  thiserror = "1.0.48"
  tokio = { version = "1.21.0", features = ["full"] }
  tokio-util = { version = "0.7.2", features = ["compat", "codec"] }
  toml = "0.5.9"
  walkdir = "2.3.2"
  poem-openapi = { version = "=2.0.11", features = ["swagger-ui", "url"] }
  poem-openapi-derive = "=2.0.11"
  
  jemallocator = { version = "0.3.2", features = [
      "profiling",
      "unprefixed_malloc_on_supported_platforms",
  ] }
  
  # MOVE DEPENDENCIES
  move-abigen = { path = "../vendors/aptos-core-v2/third_party/move/move-prover/move-abigen" }
  move-binary-format = { path = "../vendors/aptos-core-v2/third_party/move/move-binary-format" }
  move-bytecode-verifier = { path = "../vendors/aptos-core-v2/third_party/move/move-bytecode-verifier" }
  move-bytecode-utils = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-bytecode-utils" }
  move-cli = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-cli" }
  move-command-line-common = { path = "../vendors/aptos-core-v2/third_party/move/move-command-line-common" }
  move-coverage = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-coverage" }
  move-compiler = { path = "../vendors/aptos-core-v2/third_party/move/move-compiler" }
  move-core-types = { path = "../vendors/aptos-core-v2/third_party/move/move-core/types" }
  move-docgen = { path = "../vendors/aptos-core-v2/third_party/move/move-prover/move-docgen" }
  move-disassembler = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-disassembler" }
  move-ir-types = { path = "../vendors/aptos-core-v2/third_party/move/move-ir/types" }
  move-ir-compiler = { path = "../vendors/aptos-core-v2/third_party/move/move-ir-compiler" }
  move-bytecode-source-map = { path = "../vendors/aptos-core-v2/third_party/move/move-ir-compiler/move-bytecode-source-map" }
  move-model = { path = "../vendors/aptos-core-v2/third_party/move/move-model" }
  move-package = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-package" }
  move-prover = { path = "../vendors/aptos-core-v2/third_party/move/move-prover" }
  move-prover-boogie-backend = { path = "../vendors/aptos-core-v2/third_party/move/move-prover/boogie-backend" }
  move-stackless-bytecode = { path = "../vendors/aptos-core-v2/third_party/move/move-prover/bytecode" }
  aptos-move-stdlib = { path = "aptos-move/framework/move-stdlib" }
  move-prover-test-utils = { path = "../vendors/aptos-core-v2/third_party/move/move-prover/test-utils" }
  move-resource-viewer = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-resource-viewer" }
  move-symbol-pool = { path = "../vendors/aptos-core-v2/third_party/move/move-symbol-pool" }
  move-table-extension = { path = "../vendors/aptos-core-v2/third_party/move/extensions/move-table-extension" }
  move-transactional-test-runner = { path = "../vendors/aptos-core-v2/third_party/move/testing-infra/transactional-test-runner" }
  move-unit-test = { path = "../vendors/aptos-core-v2/third_party/move/tools/move-unit-test", features = ["table-extension"] }
  move-vm-runtime = { path = "../vendors/aptos-core-v2/third_party/move/move-vm/runtime" }
  move-vm-test-utils = { path = "../vendors/aptos-core-v2/third_party/move/move-vm/test-utils", features = ["table-extension"] }
  move-vm-types = { path = "../vendors/aptos-core-v2/third_party/move/move-vm/types" }
  read-write-set = { path = "../vendors/aptos-core-v2/third_party/move/tools/read-write-set" }
  read-write-set-dynamic = { path = "../vendors/aptos-core-v2/third_party/move/tools/read-write-set/dynamic" }
  
  # aptos
  # TODO: pleas remove unused dependencies
  aptos = { path = "../vendors/aptos-core-v2/crates/aptos" }
  aptos-accumulator = { path = "../vendors/aptos-core-v2/storage/accumulator" }
  aptos-aggregator = { path = "../vendors/aptos-core-v2/aptos-move/aptos-aggregator" }
  aptos-api = { path = "../vendors/aptos-core-v2/api" }
  aptos-api-test-context = { path = "../vendors/aptos-core-v2/api/test-context" }
  aptos-api-types = { path = "../vendors/aptos-core-v2/api/types" }
  aptos-backup-cli = { path = "../vendors/aptos-core-v2/storage/backup/backup-cli" }
  aptos-backup-service = { path = "../vendors/aptos-core-v2/storage/backup/backup-service" }
  aptos-bounded-executor = { path = "../vendors/aptos-core-v2/crates/bounded-executor" }
  aptos-block-executor = { path = "../vendors/aptos-core-v2/aptos-move/block-executor" }
  aptos-bitvec = { path = "../vendors/aptos-core-v2/crates/aptos-bitvec" }
  aptos-build-info = { path = "../vendors/aptos-core-v2/crates/aptos-build-info" }
  aptos-cached-packages = { path = "../vendors/aptos-core-v2/aptos-move/framework/cached-packages" }
  aptos-channels = { path = "../vendors/aptos-core-v2/crates/channel" }
  aptos-cli-common = { path = "../vendors/aptos-core-v2/crates/aptos-cli-common" }
  aptos-compression = { path = "../vendors/aptos-core-v2/crates/aptos-compression" }
  aptos-consensus = { path = "../vendors/aptos-core-v2/consensus" }
  aptos-consensus-notifications = { path = "../vendors/aptos-core-v2/state-sync/inter-component/consensus-notifications" }
  aptos-consensus-types = { path = "../vendors/aptos-core-v2/consensus/consensus-types" }
  aptos-config = { path = "../vendors/aptos-core-v2/config" }
  aptos-crash-handler = { path = "../vendors/aptos-core-v2/crates/crash-handler" }
  aptos-crypto = { path = "../vendors/aptos-core-v2/crates/aptos-crypto" }
  aptos-crypto-derive = { path = "../vendors/aptos-core-v2/crates/aptos-crypto-derive" }
  aptos-data-client = { path = "../vendors/aptos-core-v2/state-sync/aptos-data-client" }
  aptos-data-streaming-service = { path = "../vendors/aptos-core-v2/state-sync/state-sync-v2/data-streaming-service" }
  aptos-db = { path = "../vendors/aptos-core-v2/storage/aptosdb" }
  aptos-db-indexer = { path = "../vendors/aptos-core-v2/storage/indexer" }
  aptos-db-tool = { path = "../vendors/aptos-core-v2/storage/db-tool" }
  aptos-debugger = { path = "../vendors/aptos-core-v2/aptos-move/aptos-debugger" }
  aptos-event-notifications = { path = "../vendors/aptos-core-v2/state-sync/inter-component/event-notifications" }
  aptos-executable-store = { path = "../vendors/aptos-core-v2/storage/executable-store" }
  aptos-executor = { path = "../vendors/aptos-core-v2/execution/executor" }
  aptos-block-partitioner = { path = "../vendors/aptos-core-v2/execution/block-partitioner" }
  aptos-enum-conversion-derive = { path = "../vendors/aptos-core-v2/crates/aptos-enum-conversion-derive" }
  aptos-executor-service = { path = "../vendors/aptos-core-v2/execution/executor-service" }
  aptos-executor-test-helpers = { path = "../vendors/aptos-core-v2/execution/executor-test-helpers" }
  aptos-executor-types = { path = "../vendors/aptos-core-v2/execution/executor-types" }
  aptos-faucet-cli = { path = "../vendors/aptos-core-v2/crates/aptos-faucet/cli" }
  aptos-faucet-core = { path = "../vendors/aptos-core-v2/crates/aptos-faucet/core" }
  aptos-faucet-service = { path = "../vendors/aptos-core-v2/crates/aptos-faucet/service" }
  aptos-faucet-metrics-server = { path = "../vendors/aptos-core-v2/crates/aptos-faucet/metrics-server" }
  aptos-fallible = { path = "../vendors/aptos-core-v2/crates/fallible" }
  aptos-forge = { path = "../vendors/aptos-core-v2/testsuite/forge" }
  aptos-framework = { path = "../vendors/aptos-core-v2/aptos-move/framework" }
  aptos-fuzzer = { path = "../vendors/aptos-core-v2/testsuite/aptos-fuzzer" }
  fuzzer = { path = "../vendors/aptos-core-v2/testsuite/fuzzer" }
  aptos-gas = { path = "../vendors/aptos-core-v2/aptos-move/aptos-gas" }
  aptos-gas-algebra-ext = { path = "../vendors/aptos-core-v2/aptos-move/gas-algebra-ext" }
  aptos-gas-profiling = { path = "../vendors/aptos-core-v2/aptos-move/aptos-gas-profiling" }
  aptos-genesis = { path = "../vendors/aptos-core-v2/crates/aptos-genesis" }
  aptos-github-client = { path = "../vendors/aptos-core-v2/secure/storage/github" }
  aptos-global-constants = { path = "../vendors/aptos-core-v2/config/global-constants" }
  aptos-id-generator = { path = "../vendors/aptos-core-v2/crates/aptos-id-generator" }
  aptos-indexer = { path = "../vendors/aptos-core-v2/crates/indexer" }
  aptos-indexer-grpc-cache-worker = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-cache-worker" }
  aptos-indexer-grpc-data-service = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-data-service" }
  aptos-indexer-grpc-file-store = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-file-store" }
  aptos-indexer-grpc-post-processor = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-post-processor" }
  aptos-indexer-grpc-fullnode = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-fullnode" }
  aptos-indexer-grpc-utils = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-utils" }
  aptos-indexer-grpc-parser = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-parser" }
  aptos-indexer-grpc-server-framework = { path = "../vendors/aptos-core-v2/ecosystem/indexer-grpc/indexer-grpc-server-framework" }
  aptos-infallible = { path = "../vendors/aptos-core-v2/crates/aptos-infallible" }
  aptos-inspection-service = { path = "../vendors/aptos-core-v2/crates/aptos-inspection-service" }
  aptos-jellyfish-merkle = { path = "../vendors/aptos-core-v2/storage/jellyfish-merkle" }
  aptos-keygen = { path = "../vendors/aptos-core-v2/crates/aptos-keygen" }
  aptos-language-e2e-tests = { path = "../vendors/aptos-core-v2/aptos-move/e2e-tests" }
  aptos-ledger = { path = "../vendors/aptos-core-v2/crates/aptos-ledger" }
  aptos-log-derive = { path = "../vendors/aptos-core-v2/crates/aptos-log-derive" }
  aptos-logger = { path = "../vendors/aptos-core-v2/crates/aptos-logger" }
  aptos-memory-usage-tracker = { path = "../vendors/aptos-core-v2/aptos-move/aptos-memory-usage-tracker" }
  aptos-mempool = { path = "../vendors/aptos-core-v2/mempool" }
  aptos-mempool-notifications = { path = "../vendors/aptos-core-v2/state-sync/inter-component/mempool-notifications" }
  aptos-memsocket = { path = "../vendors/aptos-core-v2/network/memsocket" }
  aptos-metrics-core = { path = "../vendors/aptos-core-v2/crates/aptos-metrics-core" }
  aptos-move-examples = { path = "../vendors/aptos-core-v2/aptos-move/move-examples" }
  aptos-moving-average = { path = "../vendors/aptos-core-v2/crates/moving-average" }
  aptos-mvhashmap = { path = "../vendors/aptos-core-v2/aptos-move/mvhashmap" }
  aptos-netcore = { path = "../vendors/aptos-core-v2/network/netcore" }
  aptos-network = { path = "../vendors/aptos-core-v2/network" }
  aptos-network-builder = { path = "../vendors/aptos-core-v2/network/builder" }
  aptos-network-checker = { path = "../vendors/aptos-core-v2/crates/aptos-network-checker" }
  aptos-network-discovery = { path = "../vendors/aptos-core-v2/network/discovery" }
  aptos-node = { path = "../vendors/aptos-core-v2/aptos-node" }
  aptos-node-checker = { path = "../vendors/aptos-core-v2/ecosystem/node-checker" }
  aptos-node-identity = { path = "../vendors/aptos-core-v2/crates/aptos-node-identity" }
  aptos-node-resource-metrics = { path = "../vendors/aptos-core-v2/crates/node-resource-metrics" }
  aptos-num-variants = { path = "../vendors/aptos-core-v2/crates/num-variants" }
  aptos-openapi = { path = "../vendors/aptos-core-v2/crates/aptos-openapi" }
  aptos-package-builder = { path = "../vendors/aptos-core-v2/aptos-move/package-builder" }
  aptos-peer-monitoring-service-client = { path = "../vendors/aptos-core-v2/network/peer-monitoring-service/client" }
  aptos-peer-monitoring-service-server = { path = "../vendors/aptos-core-v2/network/peer-monitoring-service/server" }
  aptos-peer-monitoring-service-types = { path = "../vendors/aptos-core-v2/network/peer-monitoring-service/types" }
  aptos-proptest-helpers = { path = "../vendors/aptos-core-v2/crates/aptos-proptest-helpers" }
  aptos-protos = { path = "../vendors/aptos-core-v2/crates/aptos-protos" }
  aptos-proxy = { path = "../vendors/aptos-core-v2/crates/proxy" }
  aptos-push-metrics = { path = "../vendors/aptos-core-v2/crates/aptos-push-metrics" }
  aptos-rate-limiter = { path = "../vendors/aptos-core-v2/crates/aptos-rate-limiter" }
  aptos-release-builder = { path = "../vendors/aptos-core-v2/aptos-move/aptos-release-builder" }
  aptos-resource-viewer = { path = "../vendors/aptos-core-v2/aptos-move/aptos-resource-viewer" }
  aptos-rest-client = { path = "../vendors/aptos-core-v2/crates/aptos-rest-client" }
  aptos-retrier = { path = "../vendors/aptos-core-v2/crates/aptos-retrier" }
  aptos-rocksdb-options = { path = "../vendors/aptos-core-v2/storage/rocksdb-options" }
  aptos-rosetta = { path = "../vendors/aptos-core-v2/crates/aptos-rosetta" }
  aptos-runtimes = { path = "../vendors/aptos-core-v2/crates/aptos-runtimes" }
  aptos-safety-rules = { path = "../vendors/aptos-core-v2/consensus/safety-rules" }
  aptos-schemadb = { path = "../vendors/aptos-core-v2/storage/schemadb" }
  aptos-scratchpad = { path = "../vendors/aptos-core-v2/storage/scratchpad" }
  aptos-sdk = { path = "../vendors/aptos-core-v2/sdk" }
  aptos-sdk-builder = { path = "../vendors/aptos-core-v2/aptos-move/aptos-sdk-builder" }
  aptos-secure-net = { path = "../vendors/aptos-core-v2/secure/net" }
  aptos-secure-storage = { path = "../vendors/aptos-core-v2/secure/storage" }
  aptos-short-hex-str = { path = "../vendors/aptos-core-v2/crates/short-hex-str" }
  aptos-speculative-state-helper = { path = "../vendors/aptos-core-v2/crates/aptos-speculative-state-helper" }
  aptos-state-sync-driver = { path = "../vendors/aptos-core-v2/state-sync/state-sync-v2/state-sync-driver" }
  aptos-state-view = { path = "../vendors/aptos-core-v2/storage/state-view" }
  aptos-storage-interface = { path = "../vendors/aptos-core-v2/storage/storage-interface" }
  aptos-storage-service-client = { path = "../vendors/aptos-core-v2/state-sync/storage-service/client" }
  aptos-storage-service-notifications = { path = "../vendors/aptos-core-v2/state-sync/inter-component/storage-service-notifications" }
  aptos-storage-service-types = { path = "../vendors/aptos-core-v2/state-sync/storage-service/types" }
  aptos-storage-service-server = { path = "../vendors/aptos-core-v2/state-sync/storage-service/server" }
  aptos-telemetry = { path = "../vendors/aptos-core-v2/crates/aptos-telemetry" }
  aptos-telemetry-service = { path = "../vendors/aptos-core-v2/crates/aptos-telemetry-service" }
  aptos-temppath = { path = "../vendors/aptos-core-v2/crates/aptos-temppath" }
  aptos-testcases = { path = "../vendors/aptos-core-v2/testsuite/testcases" }
  aptos-time-service = { path = "../vendors/aptos-core-v2/crates/aptos-time-service", features = [
      "async",
  ] }
  aptos-transaction-emitter-lib = { path = "../vendors/aptos-core-v2/crates/transaction-emitter-lib" }
  aptos-transaction-generator-lib = { path = "../vendors/aptos-core-v2/crates/transaction-generator-lib" }
  aptos-transactional-test-harness = { path = "../vendors/aptos-core-v2/aptos-move/aptos-transactional-test-harness" }
  aptos-types = { path = "../vendors/aptos-core-v2/types" }
  aptos-utils = { path = "../vendors/aptos-core-v2/aptos-utils" }
  aptos-validator-interface = { path = "../vendors/aptos-core-v2/aptos-move/aptos-validator-interface" }
  aptos-vault-client = { path = "../vendors/aptos-core-v2/secure/storage/vault" }
  aptos-vm = { path = "../vendors/aptos-core-v2/aptos-move/aptos-vm" }
  aptos-vm-logging = { path = "../vendors/aptos-core-v2/aptos-move/aptos-vm-logging" }
  aptos-vm-genesis = { path = "../vendors/aptos-core-v2/aptos-move/vm-genesis" }
  aptos-vm-types = { path = "../vendors/aptos-core-v2/aptos-move/aptos-vm-types" }
  aptos-vm-validator = { path = "../vendors/aptos-core-v2/vm-validator" }
  aptos-warp-webserver = { path = "../vendors/aptos-core-v2/crates/aptos-warp-webserver" }
  aptos-writeset-generator = { path = "../vendors/aptos-core-v2/aptos-move/writeset-transaction-generator" }
  once_cell = "1.8.0"
  
  
  [patch.crates-io]
  serde-reflection = { git = "https://github.com/aptos-labs/serde-reflection", rev = "839aed62a20ddccf043c08961cfe74875741ccba" }
  merlin = { git = "https://github.com/aptos-labs/merlin" }
  x25519-dalek = { git = "https://github.com/aptos-labs/x25519-dalek", branch = "zeroize_v1" }