diff --git a/.github/workflows/docker-image.yml b/.github/workflows/build-mpc-recovery-docker-image.yml similarity index 100% rename from .github/workflows/docker-image.yml rename to .github/workflows/build-mpc-recovery-docker-image.yml diff --git a/.github/workflows/deploy-multichain-dev-contract.yml b/.github/workflows/deploy-multichain-dev-contract.yml index 341ab9382..1f115cd73 100644 --- a/.github/workflows/deploy-multichain-dev-contract.yml +++ b/.github/workflows/deploy-multichain-dev-contract.yml @@ -1,5 +1,6 @@ name: Deploy Dev Smart Contract on: + workflow_dispatch: pull_request: types: [closed] branches: diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/mpc-recovery-deploy-prod.yml similarity index 100% rename from .github/workflows/deploy-prod.yml rename to .github/workflows/mpc-recovery-deploy-prod.yml diff --git a/.github/workflows/multichain-contract.yml b/.github/workflows/multichain-contract.yml deleted file mode 100644 index f2bd8ff4f..000000000 --- a/.github/workflows/multichain-contract.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Multichain Contract - -on: - push: - branches: - - develop - pull_request: - paths: - - .github/workflows/multichain-contract.yml - - chain-signatures/contract/** - - chain-signatures/test-contracts/** - -env: - RUSTFLAGS: -D warnings -jobs: - test: - name: MPC Contract Test - strategy: - matrix: - os: [warp-ubuntu-latest-x64-4x] - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v3 - - - name: Install stable toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - target: wasm32-unknown-unknown - - - uses: Swatinem/rust-cache@v1 - - - name: Compile Contract - run: cd ./chain-signatures && cargo build -p mpc-contract --target wasm32-unknown-unknown --release - - - name: Test Contract - run: cd ./chain-signatures && cargo test -p mpc-contract --target x86_64-unknown-linux-gnu --release - env: - RUST_LOG: INFO - RUST_BACKTRACE: 1 diff --git a/.github/workflows/multichain-dev.yml b/.github/workflows/multichain-deploy-dev-nodes.yml similarity index 71% rename from .github/workflows/multichain-dev.yml rename to .github/workflows/multichain-deploy-dev-nodes.yml index 995c533a3..6101ba1ee 100644 --- a/.github/workflows/multichain-dev.yml +++ b/.github/workflows/multichain-deploy-dev-nodes.yml @@ -1,5 +1,6 @@ name: Build Image & Deploy Multichain Dev on: + workflow_dispatch: pull_request: types: [closed] branches: @@ -13,7 +14,7 @@ env: jobs: build-mpc-recovery: - if: github.event.pull_request.merged == true + if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -30,10 +31,10 @@ jobs: with: push: true file: ./Dockerfile.multichain - tags: "${{ env.IMAGE }}:${{ env.TAG }}" + tags: "${{ env.IMAGE }}:${{ env.TAG }},${{ env.IMAGE }}:latest" deploy: - if: github.event.pull_request.merged == true + if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest needs: build-mpc-recovery steps: @@ -48,6 +49,7 @@ jobs: - name: 'Set project' run: 'gcloud config set project pagoda-discovery-platform-dev' + # This is not pretty, but this step needs to be updated every time a new node is added. - name: 'Update Nodes' run: | gcloud compute instances update-container multichain-dev-0 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ @@ -57,4 +59,8 @@ jobs: gcloud compute instances update-container multichain-dev-4 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ gcloud compute instances update-container multichain-dev-5 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ gcloud compute instances update-container multichain-dev-6 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ - gcloud compute instances update-container multichain-dev-7 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} + gcloud compute instances update-container multichain-dev-7 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ + gcloud compute instances update-container multichain-dev-8 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ + gcloud compute instances update-container multichain-dev-9 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ + gcloud compute instances update-container multichain-dev-10 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ + gcloud compute instances update-container multichain-dev-11 --zone us-central1-a --container-image=${{ env.IMAGE }}:${{ env.TAG }} & \ diff --git a/.github/workflows/multichain-integration.yml b/.github/workflows/multichain-integration.yml index 5f20160c9..bceab31fa 100644 --- a/.github/workflows/multichain-integration.yml +++ b/.github/workflows/multichain-integration.yml @@ -42,7 +42,7 @@ jobs: - name: Pull Relayer & Sandbox Docker Images run: | docker pull ghcr.io/near/os-relayer:12ba6e35690df3979fce0b36a41d0ca0db9c0ab4 - docker pull ghcr.io/near/near-lake-indexer:node-1.40.0 + docker pull ghcr.io/near/near-lake-indexer:node-2.3.0 docker pull localstack/localstack:3.5.0 - name: Install stable toolchain diff --git a/.github/workflows/multichain-nightly.yml b/.github/workflows/multichain-nightly.yml index e3ccc4ee1..3eb07076f 100644 --- a/.github/workflows/multichain-nightly.yml +++ b/.github/workflows/multichain-nightly.yml @@ -53,7 +53,7 @@ jobs: - name: Pull Relayer & Sandbox Docker Images run: | docker pull ghcr.io/near/os-relayer:12ba6e35690df3979fce0b36a41d0ca0db9c0ab4 - docker pull ghcr.io/near/near-lake-indexer:node-1.40.0 + docker pull ghcr.io/near/near-lake-indexer:node-2.3.0 docker pull localstack/localstack:3.5.0 - name: Install stable toolchain diff --git a/.github/workflows/multichain-prod.yml b/.github/workflows/multichain-update-prod-nodes.yml similarity index 69% rename from .github/workflows/multichain-prod.yml rename to .github/workflows/multichain-update-prod-nodes.yml index 6391566ef..5788133c2 100644 --- a/.github/workflows/multichain-prod.yml +++ b/.github/workflows/multichain-update-prod-nodes.yml @@ -10,15 +10,12 @@ on: description: mainnet or testnet network default: testnet required: true - image: - description: Full Artifact Registry image with tag (e.g. us-east1-docker.pkg.dev/pagoda-discovery-platform-prod/multichain-public/multichain-< testnet | mainnet >) - required: true - default: us-east1-docker.pkg.dev/pagoda-discovery-platform-prod/multichain-public/multichain-testnet jobs: build-mpc-recovery: runs-on: ubuntu-latest + environment: prod steps: - uses: actions/checkout@v3 name: "Checkout mpc-recovery" @@ -28,10 +25,11 @@ jobs: env: GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_PROD }} + # Since the Mainnet and Testnet nodes are polling this image repository, only the image needs to be updated in order to trigger a deployment - name: Build Docker image and deploy partner nodes id: docker-push-tagged-partner uses: docker/build-push-action@v4 with: push: true file: ./Dockerfile.multichain - tags: "${{ github.event.inputs.image }}:latest" \ No newline at end of file + tags: "us-east1-docker.pkg.dev/pagoda-discovery-platform-prod/multichain-public/multichain-${{ github.event.inputs.network }}:latest" \ No newline at end of file diff --git a/.github/workflows/terraform-dev.yml b/.github/workflows/terraform-dev.yml deleted file mode 100644 index 405788edd..000000000 --- a/.github/workflows/terraform-dev.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: Terraform Dev - -on: - workflow_dispatch: - -jobs: - terraform_dev: - name: Checks & Plan - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} - permissions: - contents: read - issues: write - pull-requests: write - defaults: - run: - working-directory: ./infra/mpc-recovery-dev - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: 1.4.6 - - # Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc. - - name: Terraform Init - id: init - run: terraform init - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - # Checks that all Terraform configuration files adhere to a canonical format - - name: Terraform Format - id: fmt - run: terraform fmt -check -diff -recursive - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - # Validates the TF configuration files, referring only to the configuration and not accessing any remote services such as remote state. - # Runs checks that verify whether a configuration is syntactically valid and internally consistent, regardless of any provided variables or existing state. - - name: Terraform Validate - id: validate - run: terraform validate -no-color - - # Select the relevant Terraform workspace. - - name: Terraform Select Workspace - id: select - run: terraform workspace select dev - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - # Generates an execution plan for Terraform - - name: Terraform Plan - id: plan - run: | - terraform plan -input=false -no-color -lock-timeout=1h -var-file terraform-dev.tfvars \ - -var "credentials=$GOOGLE_CREDENTIALS" \ - -var docker_image=us-east1-docker.pkg.dev/pagoda-discovery-platform-dev/mpc-recovery/mpc-recovery-dev:${{ github.sha }} - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - - uses: actions/github-script@v6 - if: github.event_name == 'pull_request' - env: - PLAN: "${{ steps.plan.outputs.stdout }}" - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - // 1. Retrieve existing bot comments for the PR - const { data: comments } = await github.rest.issues.listComments({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - }) - const botComment = comments.find(comment => { - return comment.user.type === 'Bot' && comment.body.includes('Terraform Format and Style') - }) - - // 2. Prepare format of the comment - const output = `### Terraform Dev Environment - #### Terraform Format and Style 🖌\`${{ steps.fmt.outcome }}\` -
Format Check Output - - \`\`\`\n - ${{ steps.fmt.outputs.stdout }} - \`\`\` - -
- - #### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\` - #### Terraform Validation 🤖\`${{ steps.validate.outcome }}\` -
Validation Output - - \`\`\`\n - ${{ steps.validate.outputs.stdout }} - \`\`\` - -
- - #### Terraform Plan 📖\`${{ steps.plan.outcome }}\` - -
Show Plan - - \`\`\`\n - ${process.env.PLAN} - \`\`\` - -
- - *Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Working Directory: \`${{ env.tf_actions_working_dir }}\`, Workflow: \`${{ github.workflow }}\`*`; - - // 3. If we have a comment, update it, otherwise create a new one - if (botComment) { - github.rest.issues.updateComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: botComment.id, - body: output - }) - } else { - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: output - }) - } - - # On push to "develop", build or change infrastructure according to Terraform configuration files - - name: Terraform Apply - if: github.ref == 'refs/heads/develop' - run: | - terraform apply -auto-approve -input=false -lock-timeout=1h -var-file terraform-dev.tfvars \ - -var "credentials=$GOOGLE_CREDENTIALS" \ - -var docker_image=us-east1-docker.pkg.dev/pagoda-discovery-platform-dev/mpc-recovery/mpc-recovery-dev:${{ github.sha }} - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} diff --git a/.github/workflows/terraform-feature-env-destroy.yml b/.github/workflows/terraform-feature-env-destroy.yml deleted file mode 100644 index 6aa5ddd99..000000000 --- a/.github/workflows/terraform-feature-env-destroy.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: Terraform Feature Env (Destroy) - -on: - pull_request: - types: [closed] - -jobs: - terraform_destroy: - name: Destroy - runs-on: ubuntu-latest - permissions: - contents: read - issues: write - pull-requests: write - defaults: - run: - working-directory: ./infra/mpc-recovery-dev - env: - PR_NUMBER: ${{ github.event.number }} - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: 1.4.6 - - # Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc. - - name: Terraform Init - id: init - run: terraform init - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - # Select the relevant Terraform workspace. - - name: Terraform Select Workspace - id: select - run: terraform workspace select -or-create dev-$PR_NUMBER - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - PR_NUMBER: ${{ env.PR_NUMBER }} - - # Destroy Terraform configuration in the temporary environment. Wait up to 1 hour for the lock (other workflows might still be executing). - - name: Terraform Destroy - id: destroy - run: terraform destroy -auto-approve -input=false -no-color -lock-timeout=1h -var-file terraform-dev.tfvars -var "credentials=$GOOGLE_CREDENTIALS" -var "env=dev-$PR_NUMBER" - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - PR_NUMBER: ${{ env.PR_NUMBER }} - - - uses: actions/github-script@v6 - if: github.event_name == 'pull_request' - env: - DESTROY_PLAN: "${{ steps.destroy.outputs.stdout }}" - PR_NUMBER: ${{ env.PR_NUMBER }} - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - // 1. Prepare format of the comment - const output = `### Terraform Feature Environment Destroy (**dev-${process.env.PR_NUMBER}**) - #### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\` - - #### Terraform Destroy \`${{ steps.destroy.outcome }}\` - -
Show Destroy Plan - - \`\`\`\n - ${process.env.DESTROY_PLAN} - \`\`\` - -
- - *Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Working Directory: \`${{ env.tf_actions_working_dir }}\`, Workflow: \`${{ github.workflow }}\`*`; - - // 3. Create the comment - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: output - }) diff --git a/.github/workflows/terraform-feature-env.yml b/.github/workflows/terraform-feature-env.yml deleted file mode 100644 index cdb5122dc..000000000 --- a/.github/workflows/terraform-feature-env.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: Terraform Feature Env - -on: - workflow_dispatch: - -jobs: - terraform_apply: - name: Apply - runs-on: ubuntu-latest - permissions: - contents: read - issues: write - pull-requests: write - checks: read - defaults: - run: - working-directory: ./infra/mpc-recovery-dev - env: - PR_NUMBER: ${{ github.event.number }} - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: 1.4.6 - - # Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc. - - name: Terraform Init - id: init - run: terraform init - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - # Select the relevant Terraform workspace. - - name: Terraform Select Workspace - id: select - run: terraform workspace select -or-create dev-$PR_NUMBER - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - PR_NUMBER: ${{ env.PR_NUMBER }} - - - name: Wait for Docker Image to be Ready - uses: lewagon/wait-on-check-action@v1.3.1 - with: - ref: ${{ github.event.pull_request.head.sha }} - check-name: 'Build and Push' - repo-token: ${{ secrets.GITHUB_TOKEN }} - wait-interval: 10 - - # Applies Terraform configuration to the temporary environment - - name: Terraform Apply - id: apply - run: | - terraform apply -auto-approve -input=false -no-color -lock-timeout=1h -var-file terraform-dev.tfvars \ - -var "credentials=$GOOGLE_CREDENTIALS" \ - -var "env=dev-$PR_NUMBER" \ - -var docker_image=us-east1-docker.pkg.dev/pagoda-discovery-platform-dev/mpc-recovery/mpc-recovery-dev:${{ github.sha }} - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - PR_NUMBER: ${{ env.PR_NUMBER }} - - - name: Terraform Output - id: output - run: terraform output -raw leader_node - env: - GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS_DEV }} - - - uses: actions/github-script@v6 - if: github.event_name == 'pull_request' - env: - APPLY_PLAN: "${{ steps.apply.outputs.stdout }}" - LEADER_NODE: ${{ steps.output.outputs.stdout }} - PR_NUMBER: ${{ env.PR_NUMBER }} - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - // 1. Retrieve existing bot comments for the PR - const { data: comments } = await github.rest.issues.listComments({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - }) - const botComment = comments.find(comment => { - return comment.user.type === 'Bot' && comment.body.includes('Terraform Feature Environment') - }) - - // 2. Prepare format of the comment - const output = `### Terraform Feature Environment (**dev-${process.env.PR_NUMBER}**) - #### Terraform Initialization ⚙️\`${{ steps.init.outcome }}\` - - #### Terraform Apply \`${{ steps.apply.outcome }}\` - -
Show Apply Plan - - \`\`\`\n - ${process.env.APPLY_PLAN} - \`\`\` - -
- - *Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Working Directory: \`${{ env.tf_actions_working_dir }}\`, Workflow: \`${{ github.workflow }}\`* - - **URL**: \`${process.env.LEADER_NODE}\``; - - // 3. If we have a comment, update it, otherwise create a new one - if (botComment) { - github.rest.issues.updateComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: botComment.id, - body: output - }) - } else { - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: output - }) - } diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index 3fd1ea5a6..79ac2aefd 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -8,7 +8,9 @@ on: paths: - ".github/workflows/unit.yml" - "chain-signatures/**/*.rs" + - "chain-signatures/Cargo.*" - "mpc-recovery/**/*.rs" + - "mpc-recovery/Cargo.*" - "load-tests/**/*.rs" - "test-oidc-provider/**/*.rs" - "integration-tests/**/*.rs" diff --git a/chain-signatures/README.md b/API.md similarity index 91% rename from chain-signatures/README.md rename to API.md index e0f20cc50..5e88de201 100644 --- a/chain-signatures/README.md +++ b/API.md @@ -54,9 +54,5 @@ pub fn experimantal_signature_deposit(&self) -> u128 For more details check `User contract API` impl block in the [chain-signatures/contracts/src/lib.rs](./chain-signatures/contracts/src/lib.rs) file. # Environments -Currently, we have 3 environments: 1. Mainnet: `v1.signer` -2. Testnet: `v1.sigenr-prod.testnet` -3. Dev (unstable): `v1.signer-dev.testnet` - -Contracts can be changed from v1 to v2, etc. Older contracts should continue functioning. \ No newline at end of file +2. Testnet: `v1.sigenr-prod.testnet` \ No newline at end of file diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 952a9bf65..e9e9e1334 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1,15 +1,5 @@ # Architecture -This doc outlines the architecture for NEAR's Multi-Party Computation (MPC) related services which powers FastAuth and Chain Signatures. - -## FastAuth (aka mpc-recovery) - -FastAuth allows a user to store their login details for their NEAR wallet in a set amount of MPC nodes. Each node contains a share of the user's credentials. Note, this will likely change in the future as we resdesign the system to utilize chain signatures instead of having to purely rely on a standalone MPC service for NEAR accounts. - -## Chain Signatures - -Chain signature is an MPC service that facilitates the ability to sign arbitrary payloads by calling into a smart contract and eventually getting back a signature. This signature can be used for various purposes such as deriving new public keys associated to foreign chains. - There are several components that make up chain-signatures. This includes but is not limited to the following: - NEAR Smart Contract diff --git a/README.md b/README.md index 20726471c..f01be59ca 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,11 @@ -# NEAR MPC - -This repo hosts all the code for MPC related services on NEAR, which includes but is not limited to FastAuth and Chain Signatures. - - ## Chain Signatures -An MPC service that generates signatures based on a payload. These are a set of N nodes operating as a sort of L2 (maybe L0) where users (developers or clients) can talk to a smart contract on NEAR to generate a signature. This signature can then be used for multiple purposes such as managing an account located on a foreign chain (BTC, ETH, ...) - -Most of this code is located in `chain-signatures/` folder and for more information on how most of this work or its design, refer to [ARCHITECTURE.md](ARCHITECTURE.md). - -## FastAuth (aka MPC recovery) - -An MPC service that allows users to create NEAR accounts based on an identity provider. The secret key belonging to these accounts are stored partially on an MPC node, where the full key is never recreated. For more info on, look at the [mpc-recovery/README.md](mpc-recovery/README.md) +Chain signatures is an MPC service that facilitates the ability to sign arbitrary payloads by calling into a smart contract and eventually getting back a signature. This signature can be used for various purposes such as deriving new public keys associated to foreign chains (Ethereum, Bitcoin, etc.). -## Notes +### More inforamtion: +- [API](API.md) +- [Roadmap](ROADMAP.md) +- [Architecure](ARCHITECTURE.md) +- [Scaling and Security](SCALING_AND_SECURITY.md) -- Not to be confused, but FastAuth and Chain Signatures are separate services. This can change in the future but they remain separate for now. -- FastAuth also has an equivalent [UI repo](https://github.com/near/fast-auth-signer) which is used in [near.org](near.org) +If you are looking for FastAuth project, please check the [mpc-recovery](/mpc-recovery) folder. diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 000000000..205aa9ce0 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,17 @@ +## Roadmap +### Q4 2024 +- Scale system to 10 nodes (12 on testnet) +- Chain Signatures on Ethereum testnet +- Publish Triple Security Proof +- Publish ECDSA Signature Security Proof + +### Q1 2025 +- Chain Signatures on Ethereum mainnet +- Tooling for NEAR <-> Ethereum smart contract interactions +- EDDSA signatures support +- Scaling of signature production +- Formalize state and message passing w proofs + +### Q2 2025 +- Deploy Chain Signatures on 6+ networks on Testnet +- Release a tooling that allows a NEAR smart contract to call smart contracts on these networks diff --git a/SCALING_AND_SECURITY.md b/SCALING_AND_SECURITY.md new file mode 100644 index 000000000..c89382d91 --- /dev/null +++ b/SCALING_AND_SECURITY.md @@ -0,0 +1,5 @@ +## Scaling capabilities +Currently chain signatures operates using one signature genertion network and can handle up to 8 concurent requests. Average response time is 15 seconds. We are planning to improve both metrics and scale the system to multiple networks wich will allow to handle more requests and reduce response time. + +## Security properties +Chain signatures is usign cait-sith threshold ECDSA protocol. Currently our network consist of 8 nodes with treshold 5. This means that at least 5 nodes must collaborate in order to create a valid signature. \ No newline at end of file diff --git a/chain-signatures/Cargo.lock b/chain-signatures/Cargo.lock index 05289ab95..5df45e303 100644 --- a/chain-signatures/Cargo.lock +++ b/chain-signatures/Cargo.lock @@ -12,62 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "actix" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de7fa236829ba0841304542f7614c42b80fca007455315c45c785ccfa873a85b" -dependencies = [ - "actix-macros", - "actix-rt", - "actix_derive", - "bitflags 2.6.0", - "bytes", - "crossbeam-channel", - "futures-core", - "futures-sink", - "futures-task", - "futures-util", - "log", - "once_cell", - "parking_lot", - "pin-project-lite", - "smallvec", - "tokio", - "tokio-util 0.7.11", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn 2.0.72", -] - -[[package]] -name = "actix-rt" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7db3d5a9718568e4cf4a537cfd7070e6e6ff7481510d0237fb529ac850f6d3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -100,7 +44,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -112,7 +56,7 @@ checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", "aes", - "cipher 0.4.4", + "cipher", "ctr", "ghash", "subtle", @@ -124,7 +68,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", ] @@ -244,22 +188,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" -dependencies = [ - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "1.9.0" @@ -395,17 +323,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "async-signal" version = "0.2.9" @@ -469,17 +386,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auto_ops" version = "0.3.0" @@ -512,7 +418,7 @@ dependencies = [ "aws-types", "bytes", "fastrand 2.1.0", - "hex 0.4.3", + "hex", "http 0.2.12", "hyper 0.14.30", "ring", @@ -581,15 +487,15 @@ dependencies = [ "aws-types", "bytes", "fastrand 2.1.0", - "hex 0.4.3", - "hmac 0.12.1", + "hex", + "hmac", "http 0.2.12", "http-body 0.4.6", "lru 0.12.3", "once_cell", "percent-encoding 2.3.1", "regex-lite", - "sha2 0.10.8", + "sha2", "tracing", "url 2.5.2", ] @@ -675,15 +581,15 @@ dependencies = [ "bytes", "crypto-bigint 0.5.5", "form_urlencoded", - "hex 0.4.3", - "hmac 0.12.1", + "hex", + "hmac", "http 0.2.12", "http 1.1.0", "once_cell", "p256 0.11.1", "percent-encoding 2.3.1", "ring", - "sha2 0.10.8", + "sha2", "subtle", "time", "tracing", @@ -712,13 +618,13 @@ dependencies = [ "bytes", "crc32c", "crc32fast", - "hex 0.4.3", + "hex", "http 0.2.12", "http-body 0.4.6", "md-5", "pin-project-lite", "sha1", - "sha2 0.10.8", + "sha2", "tracing", ] @@ -785,7 +691,7 @@ dependencies = [ "aws-smithy-types", "bytes", "fastrand 2.1.0", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "http-body 1.0.1", @@ -840,7 +746,7 @@ dependencies = [ "serde", "time", "tokio", - "tokio-util 0.7.11", + "tokio-util", ] [[package]] @@ -963,12 +869,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -1007,7 +907,7 @@ dependencies = [ "dirs-next", "flate2", "fs2", - "hex 0.4.3", + "hex", "is_executable", "siphasher", "tar", @@ -1015,25 +915,6 @@ dependencies = [ "zip 0.6.6", ] -[[package]] -name = "bip39" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" - [[package]] name = "bitflags" version = "1.3.2" @@ -1058,33 +939,13 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "blake2" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", + "digest", ] [[package]] @@ -1096,15 +957,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - [[package]] name = "blocking" version = "1.6.1" @@ -1135,7 +987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.72", @@ -1224,16 +1076,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "c2-chacha" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" -dependencies = [ - "cipher 0.2.5", - "ppv-lite86", -] - [[package]] name = "cait-sith" version = "0.8.0" @@ -1241,13 +1083,13 @@ source = "git+https://github.com/LIT-Protocol/cait-sith.git?rev=8ad2316#8ad2316f dependencies = [ "auto_ops", "ck-meow", - "digest 0.10.7", + "digest", "ecdsa 0.16.9", "elliptic-curve 0.13.8", "event-listener 2.5.3", "k256", "magikitten", - "rand_core 0.6.4", + "rand_core", "rmp-serde", "serde", "smol", @@ -1264,39 +1106,27 @@ dependencies = [ ] [[package]] -name = "cargo-near" -version = "0.5.2" +name = "cargo-near-build" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02835fdf82de4345b21f542e9ddb61786513d05e4c9722db74871de321d8d728" +checksum = "cd00f13698319e43d9af5b1afc7045131342f3097dd78320a09bb6303bbf2d06" dependencies = [ - "atty", - "bs58 0.4.0", + "bs58 0.5.1", "camino", "cargo_metadata", - "clap", - "color-eyre", "colored", - "derive_more", "dunce", - "env_logger", - "inquire", - "interactive-clap", - "interactive-clap-derive", + "eyre", + "hex", "libloading", - "linked-hash-map", - "log", - "names", "near-abi", - "near-cli-rs", "rustc_version", "schemars", "serde_json", - "sha2 0.10.8", - "shell-words", - "strum 0.24.1", - "strum_macros 0.24.3", + "sha2", "symbolic-debuginfo", - "zstd 0.11.2+zstd.1.5.2", + "tracing", + "zstd 0.13.2", ] [[package]] @@ -1308,48 +1138,18 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a51c783163bdf4549820b80968d386c94ed45ed23819c93f59cca7ebd97fe0eb" -dependencies = [ - "anyhow", - "core-foundation", - "crypto-hash", - "filetime", - "hex 0.4.3", - "jobserver", - "libc", - "log", - "miow", - "same-file", - "shell-escape", - "tempfile", - "walkdir", - "winapi", -] - [[package]] name = "cargo_metadata" -version = "0.14.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", -] - -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher 0.4.4", + "thiserror", ] [[package]] @@ -1387,7 +1187,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -1399,7 +1199,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", - "cipher 0.4.4", + "cipher", "poly1305", "zeroize", ] @@ -1419,15 +1219,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array", -] - [[package]] name = "cipher" version = "0.4.4" @@ -1490,33 +1281,6 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" -[[package]] -name = "color-eyre" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] - [[package]] name = "colorchoice" version = "1.0.2" @@ -1533,24 +1297,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "commoncrypto" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007" -dependencies = [ - "commoncrypto-sys", -] - -[[package]] -name = "commoncrypto-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2" -dependencies = [ - "libc", -] - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1628,44 +1374,29 @@ dependencies = [ ] [[package]] -name = "crossbeam-channel" -version = "0.5.13" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ + "crossbeam-epoch", "crossbeam-utils", ] [[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.25.0" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", + "crossbeam-utils", ] [[package]] -name = "crossterm_winapi" -version = "0.9.1" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1680,7 +1411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "subtle", "zeroize", ] @@ -1692,7 +1423,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "subtle", "zeroize", ] @@ -1704,49 +1435,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "typenum", ] -[[package]] -name = "crypto-hash" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca" -dependencies = [ - "commoncrypto", - "hex 0.3.2", - "openssl", - "winapi", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "crypto-shared" version = "0.1.0" dependencies = [ "anyhow", "borsh", - "getrandom 0.2.15", + "getrandom", "k256", "near-account-id", "near-sdk", @@ -1756,61 +1455,27 @@ dependencies = [ "subtle", ] -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - [[package]] name = "ctr" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] name = "curve25519-dalek" -version = "3.2.0" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "curve25519-dalek-derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.10.7", + "digest", "fiat-crypto", - "rand_core 0.6.4", + "rand_core", "rustc_version", "subtle", "zeroize", @@ -1959,17 +1624,6 @@ dependencies = [ "serde", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_arbitrary" version = "1.3.2" @@ -2025,36 +1679,18 @@ dependencies = [ "syn 2.0.72", ] -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "const-oid", "crypto-common", "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -2065,18 +1701,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -2112,12 +1736,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" -[[package]] -name = "easy-ext" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5d6d6a8504f8caedd7de14576464383900cd3840b7033a7a3dce5ac00121ca" - [[package]] name = "ecdsa" version = "0.14.8" @@ -2137,7 +1755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der 0.7.9", - "digest 0.10.7", + "digest", "elliptic-curve 0.13.8", "rfc6979 0.4.0", "serdect", @@ -2145,15 +1763,6 @@ dependencies = [ "spki 0.7.3", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -2163,20 +1772,6 @@ dependencies = [ "signature 2.2.0", ] -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-dalek" version = "2.1.1" @@ -2184,9 +1779,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek 4.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ed25519 2.2.3", - "rand_core 0.6.4", - "sha2 0.10.8", + "ed25519", + "rand_core", + "sha2", "subtle", ] @@ -2215,12 +1810,12 @@ dependencies = [ "base16ct 0.1.1", "crypto-bigint 0.4.9", "der 0.6.1", - "digest 0.10.7", + "digest", "ff 0.12.1", "generic-array", "group 0.12.1", "pkcs8 0.9.0", - "rand_core 0.6.4", + "rand_core", "sec1 0.3.0", "subtle", "zeroize", @@ -2234,25 +1829,19 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct 0.2.0", "crypto-bigint 0.5.5", - "digest 0.10.7", + "digest", "ff 0.13.0", "generic-array", "group 0.13.0", "hkdf", "pkcs8 0.10.2", - "rand_core 0.6.4", + "rand_core", "sec1 0.7.3", "serdect", "subtle", "zeroize", ] -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - [[package]] name = "encoding_rs" version = "0.8.34" @@ -2282,40 +1871,6 @@ dependencies = [ "syn 2.0.72", ] -[[package]] -name = "enumflags2" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -2407,7 +1962,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -2417,7 +1972,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -2448,12 +2003,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" version = "1.0.30" @@ -2464,6 +2013,15 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "fnv" version = "1.0.7" @@ -2639,17 +2197,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.2.15" @@ -2658,7 +2205,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -2687,12 +2234,6 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "goblin" version = "0.5.4" @@ -2773,7 +2314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff 0.12.1", - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -2784,7 +2325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff 0.13.0", - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -2803,7 +2344,26 @@ dependencies = [ "indexmap 2.2.6", "slab", "tokio", - "tokio-util 0.7.11", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", "tracing", ] @@ -2826,15 +2386,6 @@ dependencies = [ "allocator-api2", ] -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.1" @@ -2847,15 +2398,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.9" @@ -2868,12 +2410,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" -[[package]] -name = "hex" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" - [[package]] name = "hex" version = "0.4.3" @@ -2895,17 +2431,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hmac" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" -dependencies = [ - "crypto-mac 0.9.1", - "digest 0.9.0", + "hmac", ] [[package]] @@ -2914,7 +2440,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -2936,14 +2462,14 @@ dependencies = [ "aes-gcm", "byteorder", "chacha20poly1305", - "digest 0.10.7", + "digest", "generic-array", "hkdf", - "hmac 0.12.1", + "hmac", "p256 0.13.2", - "rand_core 0.6.4", + "rand_core", "serde", - "sha2 0.10.8", + "sha2", "subtle", "x25519-dalek", "zeroize", @@ -3017,12 +2543,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.30" @@ -3033,14 +2553,14 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -3056,6 +2576,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -3117,18 +2638,6 @@ dependencies = [ "webpki-roots", ] -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper 0.14.30", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - [[package]] name = "hyper-tls" version = "0.5.0" @@ -3189,7 +2698,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -3268,26 +2777,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "block-padding", "generic-array", ] -[[package]] -name = "inquire" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33e7c1ddeb15c9abcbfef6029d8e29f69b52b6d6c891031b88ed91b5065803b" -dependencies = [ - "bitflags 1.3.2", - "crossterm", - "dyn-clone", - "lazy_static", - "newline-converter", - "thiserror", - "unicode-segmentation", - "unicode-width", -] - [[package]] name = "instant" version = "0.1.13" @@ -3297,29 +2789,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "interactive-clap" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7295a8d03a71e15612a524a8e1dec1a913459e0000e530405f20d09fb0f014f7" -dependencies = [ - "interactive-clap-derive", - "strum 0.24.1", - "strum_macros 0.24.3", -] - -[[package]] -name = "interactive-clap-derive" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a0c8d4a6b99054853778e3e9ffb0b74bcb5e8f43d99d97e5c0252c57ce67bf6" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -3337,36 +2806,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-terminal" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - [[package]] name = "is_executable" version = "0.1.2" @@ -3441,10 +2880,11 @@ dependencies = [ [[package]] name = "json-patch" -version = "1.4.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b" +checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" dependencies = [ + "jsonptr", "serde", "serde_json", "thiserror", @@ -3456,6 +2896,17 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" +[[package]] +name = "jsonptr" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6e529149475ca0b2820835d3dce8fcc41c6b943ca608d32f35b449255e4627" +dependencies = [ + "fluent-uri", + "serde", + "serde_json", +] + [[package]] name = "k256" version = "0.13.3" @@ -3467,7 +2918,7 @@ dependencies = [ "elliptic-curve 0.13.8", "once_cell", "serdect", - "sha2 0.10.8", + "sha2", "signature 2.2.0", ] @@ -3480,20 +2931,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "keyring" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" -dependencies = [ - "byteorder", - "lazy_static", - "linux-keyutils", - "secret-service", - "security-framework", - "windows-sys 0.52.0", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -3517,12 +2954,12 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if 1.0.0", - "winapi", + "windows-targets 0.48.5", ] [[package]] @@ -3535,25 +2972,6 @@ dependencies = [ "libc", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -dependencies = [ - "serde", -] - -[[package]] -name = "linux-keyutils" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" -dependencies = [ - "bitflags 2.6.0", - "libc", -] - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -3619,7 +3037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "277c454ad884bdcf0a283beaa7a22e0791fe0475791d01cf8becd1bd4549f4ba" dependencies = [ "ck-meow", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -3650,7 +3068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if 1.0.0", - "digest 0.10.7", + "digest", ] [[package]] @@ -3669,35 +3087,8 @@ dependencies = [ ] [[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memory_units" -version = "0.4.0" +name = "memory_units" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" @@ -3722,18 +3113,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.0.1" @@ -3742,34 +3121,25 @@ checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.52.0", ] -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi", -] - [[package]] name = "mpc-contract" -version = "1.0.0-rc.4" +version = "1.0.0-rc.5" dependencies = [ "anyhow", "borsh", "crypto-shared", - "digest 0.10.7", + "digest", "ecdsa 0.16.9", "k256", - "near-crypto 0.23.0", - "near-gas", + "near-crypto 0.26.0", + "near-gas 0.2.5", "near-sdk", "near-workspaces", - "rand 0.8.5", + "rand", "schemars", "serde", "serde_json", @@ -3783,15 +3153,15 @@ name = "mpc-keys" version = "0.1.0" dependencies = [ "borsh", - "hex 0.4.3", + "hex", "hpke", - "rand 0.8.5", + "rand", "serde", ] [[package]] name = "mpc-node" -version = "1.0.0-rc.4" +version = "1.0.0-rc.5" dependencies = [ "anyhow", "async-trait", @@ -3806,7 +3176,7 @@ dependencies = [ "crypto-shared", "google-datastore1", "google-secretmanager1", - "hex 0.4.3", + "hex", "highway", "hkdf", "http 1.1.0", @@ -3818,21 +3188,22 @@ dependencies = [ "mpc-contract", "mpc-keys", "near-account-id", - "near-crypto 0.23.0", + "near-crypto 0.26.0", "near-fetch", "near-lake-framework", "near-lake-primitives", - "near-primitives 0.23.0", + "near-primitives 0.26.0", "near-sdk", "once_cell", "prometheus", - "rand 0.8.5", + "rand", "reqwest 0.11.27", "semver", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "sha3", + "sysinfo", "thiserror", "tokio", "tokio-retry", @@ -3842,21 +3213,6 @@ dependencies = [ "url 2.5.2", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "names" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" -dependencies = [ - "rand 0.8.5", -] - [[package]] name = "native-tls" version = "0.2.12" @@ -3936,138 +3292,36 @@ dependencies = [ "serde", ] -[[package]] -name = "near-async" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754fd9af13f1241520e8fc4831ff5c582ee00a6b1221c0cbd8bf43d059ed6e04" -dependencies = [ - "actix", - "derive_more", - "futures", - "near-async-derive", - "near-o11y 0.23.0", - "near-performance-metrics", - "near-time", - "once_cell", - "serde", - "serde_json", - "time", - "tokio", -] - -[[package]] -name = "near-async-derive" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a47ae519ceed7636e3d9328fd7d1bcbda9a28eccee73315e0a3139e99aa1232" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "near-chain-configs" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e5a8ace81c09d7eb165dffc1742358a021b2fa761f2160943305f83216003" -dependencies = [ - "anyhow", - "bytesize", - "chrono", - "derive_more", - "near-config-utils 0.20.1", - "near-crypto 0.20.1", - "near-parameters 0.20.1", - "near-primitives 0.20.1", - "num-rational 0.3.2", - "once_cell", - "serde", - "serde_json", - "sha2 0.10.8", - "smart-default 0.6.0", - "tracing", -] - -[[package]] -name = "near-chain-configs" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75447355021100158c2e5fc151a0f6728e794b98cb411874f89fc5fb9f386cd2" +checksum = "0784e55d9dee91ca830c6199d15ad18fc628f930a5d0946bb0949956026dd64f" dependencies = [ "anyhow", "bytesize", "chrono", "derive_more", - "near-async", - "near-config-utils 0.23.0", - "near-crypto 0.23.0", - "near-parameters 0.23.0", - "near-primitives 0.23.0", - "num-rational 0.3.2", + "near-config-utils 0.26.0", + "near-crypto 0.26.0", + "near-parameters 0.26.0", + "near-primitives 0.26.0", + "near-time 0.26.0", + "num-rational", "once_cell", "serde", "serde_json", - "sha2 0.10.8", - "smart-default 0.6.0", + "sha2", + "smart-default", "time", "tracing", ] -[[package]] -name = "near-cli-rs" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94799fd728fadc895daada6934016cb1fe3fc7e7a01200e5c88708ad8076a8a6" -dependencies = [ - "bip39", - "bs58 0.5.1", - "bytesize", - "cargo-util", - "clap", - "color-eyre", - "derive_more", - "dirs", - "easy-ext 1.0.2", - "ed25519-dalek 1.0.1", - "futures", - "hex 0.4.3", - "inquire", - "interactive-clap", - "interactive-clap-derive", - "keyring", - "linked-hash-map", - "near-crypto 0.20.1", - "near-gas", - "near-jsonrpc-client 0.8.0", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "near-socialdb-client", - "near-token", - "open", - "openssl", - "prettytable", - "reqwest 0.11.27", - "serde", - "serde_json", - "shell-words", - "shellexpand", - "slip10", - "smart-default 0.7.1", - "strum 0.24.1", - "strum_macros 0.24.3", - "thiserror", - "tokio", - "toml", - "url 2.5.2", -] - [[package]] name = "near-config-utils" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ae1eaab1d545a9be7a55b6ef09f365c2017f93a03063547591d12c0c6d27e58" +checksum = "43b3db4ac2d4340caef06b6363c3fd16c0be1f70267908dfa53e2e6241649b0c" dependencies = [ "anyhow", "json_comments", @@ -4077,9 +3331,9 @@ dependencies = [ [[package]] name = "near-config-utils" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b3db4ac2d4340caef06b6363c3fd16c0be1f70267908dfa53e2e6241649b0c" +checksum = "d96c1682d13e9a8a62ea696395bf17afc4ed4b60535223251168217098c27a50" dependencies = [ "anyhow", "json_comments", @@ -4089,24 +3343,22 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2991d2912218a80ec0733ac87f84fa803accea105611eea209d4419271957667" +checksum = "b9807fb257f7dda41383bb33e14cfd4a8840ffa7932cb972db9eabff19ce3bf4" dependencies = [ - "blake2 0.9.2", + "blake2", "borsh", "bs58 0.4.0", - "c2-chacha", "curve25519-dalek 4.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more", - "ed25519-dalek 2.1.1", - "hex 0.4.3", + "ed25519-dalek", + "hex", "near-account-id", - "near-config-utils 0.20.1", - "near-stdx 0.20.1", + "near-config-utils 0.23.0", + "near-stdx 0.23.0", "once_cell", "primitive-types", - "rand 0.7.3", "secp256k1", "serde", "serde_json", @@ -4116,22 +3368,23 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9807fb257f7dda41383bb33e14cfd4a8840ffa7932cb972db9eabff19ce3bf4" +checksum = "907fdcefa3a42976cd6a8bf626fe2a87eb0d3b3ff144adc67cf32d53c9494b32" dependencies = [ - "blake2 0.10.6", + "blake2", "borsh", "bs58 0.4.0", "curve25519-dalek 4.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more", - "ed25519-dalek 2.1.1", - "hex 0.4.3", + "ed25519-dalek", + "hex", "near-account-id", - "near-config-utils 0.23.0", - "near-stdx 0.23.0", + "near-config-utils 0.26.0", + "near-stdx 0.26.0", "once_cell", "primitive-types", + "rand", "secp256k1", "serde", "serde_json", @@ -4141,18 +3394,18 @@ dependencies = [ [[package]] name = "near-fetch" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82f56751beeb2537a222f1df033c8063ed4f41cab7cf1ba89723601e5a307e9" +checksum = "af19136e92e226674e696ebb935866b91d18a4b1488ed1ac183d18ff32273361" dependencies = [ "base64 0.22.1", "near-account-id", - "near-crypto 0.23.0", - "near-gas", - "near-jsonrpc-client 0.10.1", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", - "near-token", + "near-crypto 0.26.0", + "near-gas 0.3.0", + "near-jsonrpc-client", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", + "near-token 0.3.0", "serde", "serde_json", "thiserror", @@ -4162,20 +3415,20 @@ dependencies = [ [[package]] name = "near-fmt" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d998dfc1e04001608899b2498ad5a782c7d036b73769d510de21964db99286" +checksum = "00ce363e4078b870775e2a5a5189feae22f0870ca673f6409b1974922dada0c4" dependencies = [ - "near-primitives-core 0.20.1", + "near-primitives-core 0.23.0", ] [[package]] name = "near-fmt" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ce363e4078b870775e2a5a5189feae22f0870ca673f6409b1974922dada0c4" +checksum = "7a36518bfcf2177096d4298d9158ba698ffd6944cb035ecc0938b098337b933c" dependencies = [ - "near-primitives-core 0.23.0", + "near-primitives-core 0.26.0", ] [[package]] @@ -4185,55 +3438,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14e75c875026229902d065e4435804497337b631ec69ba746b102954273e9ad1" dependencies = [ "borsh", - "interactive-clap", "schemars", "serde", ] [[package]] -name = "near-indexer-primitives" -version = "0.23.0" +name = "near-gas" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca85c74772338d1b8c8b8729ffa14dec44dacefa2ce367795f3de8846f2fdc06" +checksum = "180edcc7dc2fac41f93570d0c7b759c1b6d492f6ad093d749d644a40b4310a97" dependencies = [ - "near-primitives 0.23.0", + "borsh", + "schemars", "serde", - "serde_json", ] [[package]] -name = "near-jsonrpc-client" -version = "0.8.0" +name = "near-indexer-primitives" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18ad81e015f7aced8925d5b9ba3f369b36da9575c15812cfd0786bc1213284ca" +checksum = "6f73dc123eaef5571c4704eb7da39e9ec398bdcb501236469f3ca06d60787bac" dependencies = [ - "borsh", - "lazy_static", - "log", - "near-chain-configs 0.20.1", - "near-crypto 0.20.1", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "reqwest 0.11.27", + "near-primitives 0.26.0", "serde", "serde_json", - "thiserror", ] [[package]] name = "near-jsonrpc-client" -version = "0.10.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b40b427519fcbf71be4de4cab4f6c201aa3e3fb212a4a54976596fa44b05711" +checksum = "161fdc8f73fd9e19a97e05acb10e985ba89bd06e88543cdfd0c8dad0dac266c5" dependencies = [ "borsh", "lazy_static", "log", - "near-chain-configs 0.23.0", - "near-crypto 0.23.0", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", - "reqwest 0.12.5", + "near-chain-configs", + "near-crypto 0.26.0", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", + "reqwest 0.12.8", "serde", "serde_json", "thiserror", @@ -4241,31 +3485,15 @@ dependencies = [ [[package]] name = "near-jsonrpc-primitives" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ce745e954ae776eef05957602e638ee9581106a3675946fb43c2fe7e38ef03" -dependencies = [ - "arbitrary", - "near-chain-configs 0.20.1", - "near-crypto 0.20.1", - "near-primitives 0.20.1", - "near-rpc-error-macro 0.20.1", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "near-jsonrpc-primitives" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e30db3829a8880847d7f3f64828f11133ba9102d2df382a2d916ec1553270df" +checksum = "2b24bfd0fedef42e07daa79e463a7908e9abee4f6de3532e0e1dde45f6951657" dependencies = [ "arbitrary", - "near-chain-configs 0.23.0", - "near-crypto 0.23.0", - "near-primitives 0.23.0", - "near-rpc-error-macro 0.23.0", + "near-chain-configs", + "near-crypto 0.26.0", + "near-primitives 0.26.0", + "near-rpc-error-macro 0.26.0", "serde", "serde_json", "thiserror", @@ -4275,7 +3503,7 @@ dependencies = [ [[package]] name = "near-lake-context-derive" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "quote", "syn 2.0.72", @@ -4284,7 +3512,7 @@ dependencies = [ [[package]] name = "near-lake-framework" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "async-stream", "async-trait", @@ -4307,86 +3535,30 @@ dependencies = [ [[package]] name = "near-lake-primitives" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "anyhow", - "near-crypto 0.23.0", + "near-crypto 0.26.0", "near-indexer-primitives", - "near-primitives 0.23.0", - "near-primitives-core 0.23.0", + "near-primitives 0.26.0", + "near-primitives-core 0.26.0", "paste", "serde", "serde_json", "thiserror", ] -[[package]] -name = "near-o11y" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20762631bc8253030013bbae9b5f0542691edc1aa6722f1e8141cc9b928ae5b" -dependencies = [ - "actix", - "base64 0.21.7", - "clap", - "near-crypto 0.20.1", - "near-fmt 0.20.1", - "near-primitives-core 0.20.1", - "once_cell", - "opentelemetry 0.17.0", - "opentelemetry-otlp 0.10.0", - "opentelemetry-semantic-conventions 0.9.0", - "prometheus", - "serde", - "serde_json", - "strum 0.24.1", - "thiserror", - "tokio", - "tracing", - "tracing-appender", - "tracing-opentelemetry 0.17.4", - "tracing-subscriber", -] - -[[package]] -name = "near-o11y" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2847f81f7a4c996d583c377f8196a8d05d74ee7535678c20beef0f80304c48b1" -dependencies = [ - "actix", - "base64 0.21.7", - "clap", - "near-crypto 0.23.0", - "near-primitives-core 0.23.0", - "once_cell", - "opentelemetry 0.22.0", - "opentelemetry-otlp 0.15.0", - "opentelemetry-semantic-conventions 0.14.0", - "opentelemetry_sdk", - "prometheus", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-appender", - "tracing-opentelemetry 0.23.0", - "tracing-subscriber", -] - [[package]] name = "near-parameters" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f16a59b6c3e69b0585be951af6fe42a0ba86c0e207cb8c63badd19efd16680" +checksum = "fddf39f5f729976a791d86e0e30a71ec4d8e8dcf58117c8694e7b22fb3f50ee6" dependencies = [ - "assert_matches", "borsh", "enum-map", "near-account-id", - "near-primitives-core 0.20.1", - "num-rational 0.3.2", + "near-primitives-core 0.23.0", + "num-rational", "serde", "serde_repr", "serde_yaml", @@ -4396,15 +3568,15 @@ dependencies = [ [[package]] name = "near-parameters" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddf39f5f729976a791d86e0e30a71ec4d8e8dcf58117c8694e7b22fb3f50ee6" +checksum = "e41afea5c5e84763586bafc5f5e1b63d90ef4e5454e18406cab8df120178db8d" dependencies = [ "borsh", "enum-map", "near-account-id", - "near-primitives-core 0.23.0", - "num-rational 0.3.2", + "near-primitives-core 0.26.0", + "num-rational", "serde", "serde_repr", "serde_yaml", @@ -4412,70 +3584,53 @@ dependencies = [ "thiserror", ] -[[package]] -name = "near-performance-metrics" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42166c93c35457d16a3a6c7b9b511bea790bcb4a35a41d4c5218b1fb9a46702a" -dependencies = [ - "actix", - "bitflags 1.3.2", - "bytes", - "futures", - "libc", - "once_cell", - "tokio", - "tokio-util 0.7.11", - "tracing", -] - [[package]] name = "near-primitives" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0462b067732132babcc89d5577db3bfcb0a1bcfbaaed3f2db4c11cd033666314" +checksum = "d58c175262923db9885ed0347e96ec3bcbec57825e3b6d7de03da220f5e14ef5" dependencies = [ "arbitrary", "base64 0.21.7", "borsh", + "bytes", "bytesize", "cfg-if 1.0.0", "chrono", "derive_more", - "easy-ext 0.2.9", + "easy-ext", "enum-map", - "hex 0.4.3", - "near-crypto 0.20.1", - "near-fmt 0.20.1", - "near-o11y 0.20.1", - "near-parameters 0.20.1", - "near-primitives-core 0.20.1", - "near-rpc-error-macro 0.20.1", - "near-stdx 0.20.1", - "near-vm-runner 0.20.1", - "num-rational 0.3.2", + "hex", + "itertools 0.10.5", + "near-crypto 0.23.0", + "near-fmt 0.23.0", + "near-parameters 0.23.0", + "near-primitives-core 0.23.0", + "near-rpc-error-macro 0.23.0", + "near-stdx 0.23.0", + "near-time 0.23.0", + "num-rational", "once_cell", "primitive-types", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "reed-solomon-erasure", "serde", "serde_json", "serde_with", - "serde_yaml", "sha3", - "smart-default 0.6.0", + "smart-default", "strum 0.24.1", "thiserror", - "time", "tracing", + "zstd 0.13.2", ] [[package]] name = "near-primitives" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c175262923db9885ed0347e96ec3bcbec57825e3b6d7de03da220f5e14ef5" +checksum = "165c2dc0fc20d839cfd7948d930ef5e8a4ed2b095abe83e0076ef5d4a5df58ed" dependencies = [ "arbitrary", "base64 0.21.7", @@ -4485,28 +3640,29 @@ dependencies = [ "cfg-if 1.0.0", "chrono", "derive_more", - "easy-ext 0.2.9", + "easy-ext", "enum-map", - "hex 0.4.3", + "hex", "itertools 0.10.5", - "near-crypto 0.23.0", - "near-fmt 0.23.0", - "near-parameters 0.23.0", - "near-primitives-core 0.23.0", - "near-rpc-error-macro 0.23.0", - "near-stdx 0.23.0", - "near-time", - "num-rational 0.3.2", + "near-crypto 0.26.0", + "near-fmt 0.26.0", + "near-parameters 0.26.0", + "near-primitives-core 0.26.0", + "near-rpc-error-macro 0.26.0", + "near-stdx 0.26.0", + "near-structs-checker-lib", + "near-time 0.26.0", + "num-rational", "once_cell", + "ordered-float", "primitive-types", - "rand 0.8.5", - "rand_chacha 0.3.1", - "reed-solomon-erasure", + "rand", + "rand_chacha", "serde", "serde_json", "serde_with", "sha3", - "smart-default 0.6.0", + "smart-default", "strum 0.24.1", "thiserror", "tracing", @@ -4515,9 +3671,9 @@ dependencies = [ [[package]] name = "near-primitives-core" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8443eb718606f572c438be6321a097a8ebd69f8e48d953885b4f16601af88225" +checksum = "45de00d413f5bb890a3912f32fcd0974b2b0a975cc7874012e2c4c4fa7f28917" dependencies = [ "arbitrary", "base64 0.21.7", @@ -4526,20 +3682,18 @@ dependencies = [ "derive_more", "enum-map", "near-account-id", - "num-rational 0.3.2", + "num-rational", "serde", "serde_repr", - "serde_with", - "sha2 0.10.8", - "strum 0.24.1", + "sha2", "thiserror", ] [[package]] name = "near-primitives-core" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45de00d413f5bb890a3912f32fcd0974b2b0a975cc7874012e2c4c4fa7f28917" +checksum = "51fd53f992168589c52022dd220c84a7f2ede92251631a06a3817e4b22af5836" dependencies = [ "arbitrary", "base64 0.21.7", @@ -4548,18 +3702,19 @@ dependencies = [ "derive_more", "enum-map", "near-account-id", - "num-rational 0.3.2", + "near-structs-checker-lib", + "num-rational", "serde", "serde_repr", - "sha2 0.10.8", + "sha2", "thiserror", ] [[package]] name = "near-rpc-error-core" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80fca203c51edd9595ec14db1d13359fb9ede32314990bf296b6c5c4502f6ab7" +checksum = "cf41b149dcc1f5a35d6a96fbcd8c28c92625c05b52025a72ee7378c72bcd68ce" dependencies = [ "quote", "serde", @@ -4568,9 +3723,9 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41b149dcc1f5a35d6a96fbcd8c28c92625c05b52025a72ee7378c72bcd68ce" +checksum = "df598b0785a3e36d7e4fb73afcdf20536988b13d07cead71dfa777db4783e552" dependencies = [ "quote", "serde", @@ -4579,32 +3734,31 @@ dependencies = [ [[package]] name = "near-rpc-error-macro" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897a445de2102f6732c8a185d922f5e3bf7fd0a41243ce40854df2197237f799" +checksum = "73c7f0f12f426792dd2c9d83df43d73c3b15d80f6e99e8d0e16ff3e024d0f9ba" dependencies = [ - "fs2", - "near-rpc-error-core 0.20.1", + "near-rpc-error-core 0.23.0", "serde", "syn 2.0.72", ] [[package]] name = "near-rpc-error-macro" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c7f0f12f426792dd2c9d83df43d73c3b15d80f6e99e8d0e16ff3e024d0f9ba" +checksum = "647ef261df99ad877c08c97af2f10368c8b8cde0968250d3482a5a249e9f3926" dependencies = [ - "near-rpc-error-core 0.23.0", + "near-rpc-error-core 0.26.0", "serde", "syn 2.0.72", ] [[package]] name = "near-sandbox-utils" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecb6dd8d04afe14c5aa944218c63f3106b4dde7099c8841ce22fbbd32580ccd2" +checksum = "000a28599729f4d584eff6a7e8c5919d7938dceeb2752ea9cdaf408444309a2a" dependencies = [ "anyhow", "binary-install", @@ -4624,14 +3778,14 @@ dependencies = [ "bs58 0.5.1", "near-account-id", "near-crypto 0.23.0", - "near-gas", + "near-gas 0.2.5", "near-parameters 0.23.0", "near-primitives 0.23.0", "near-primitives-core 0.23.0", "near-sdk-macros", "near-sys", - "near-token", - "near-vm-runner 0.23.0", + "near-token 0.2.0", + "near-vm-runner", "once_cell", "serde", "serde_json", @@ -4656,33 +3810,38 @@ dependencies = [ ] [[package]] -name = "near-socialdb-client" -version = "0.2.2" +name = "near-stdx" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaf5ca57fd62d678cb67183d1d31e6bbb04b98abc45fd57b986962d97ad8c4a" -dependencies = [ - "color-eyre", - "near-crypto 0.20.1", - "near-jsonrpc-client 0.8.0", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "near-token", - "serde", - "serde_json", - "url 2.5.2", -] +checksum = "29e1897481272eb144328abd51ca9f59b5b558e7a6dc6e2177c8c9bb18fbd818" [[package]] name = "near-stdx" -version = "0.20.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "855fd5540e3b4ff6fedf12aba2db1ee4b371b36f465da1363a6d022b27cb43b8" +checksum = "6d5c43f6181873287ddaa25edcc2943d0f2d5da9588231516f2ed0549db1fbac" [[package]] -name = "near-stdx" -version = "0.23.0" +name = "near-structs-checker-core" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e1897481272eb144328abd51ca9f59b5b558e7a6dc6e2177c8c9bb18fbd818" +checksum = "7e53379bee876286de4ad31dc7f9fde8db12527c39d401d94f4d42cd021b8fce" + +[[package]] +name = "near-structs-checker-lib" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f984805f225c9b19681a124af7783078459e87ea63dde751b62e7cb404b1d6a" +dependencies = [ + "near-structs-checker-core", + "near-structs-checker-macro", +] + +[[package]] +name = "near-structs-checker-macro" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66319954983ae164fd0b714ae9d8b09edc26c74d9b3a1f51e564bb14720adb8e" [[package]] name = "near-sys" @@ -4702,6 +3861,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "near-time" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d37b864f04d9aebbc3b88ac63ba989d94f221de694bcc8af639cc284a89f64" +dependencies = [ + "once_cell", + "serde", + "time", + "tokio", +] + [[package]] name = "near-token" version = "0.2.0" @@ -4709,38 +3880,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b68f3f8a2409f72b43efdbeff8e820b81e70824c49fee8572979d789d1683fb" dependencies = [ "borsh", - "interactive-clap", "serde", ] [[package]] -name = "near-vm-runner" -version = "0.20.1" +name = "near-token" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56c80bdb1954808f59bd36a9112377197b38d424991383bf05f52d0fe2e0da5" +checksum = "cd3e60aa26a74dc514b1b6408fdd06cefe2eb0ff029020956c1c6517594048fd" dependencies = [ - "base64 0.21.7", - "borsh", - "ed25519-dalek 2.1.1", - "enum-map", - "memoffset 0.8.0", - "near-crypto 0.20.1", - "near-parameters 0.20.1", - "near-primitives-core 0.20.1", - "near-stdx 0.20.1", - "num-rational 0.3.2", - "once_cell", - "prefix-sum-vec", - "ripemd", "serde", - "serde_repr", - "serde_with", - "sha2 0.10.8", - "sha3", - "strum 0.24.1", - "thiserror", - "tracing", - "zeropool-bn", ] [[package]] @@ -4750,20 +3899,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b382e9fda99cdc6f1684d95e9f10ef0ed556c14ff972099269e96f8fde84064" dependencies = [ "borsh", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "enum-map", "lru 0.7.8", "near-crypto 0.23.0", "near-parameters 0.23.0", "near-primitives-core 0.23.0", "near-stdx 0.23.0", - "num-rational 0.3.2", + "num-rational", "once_cell", "ripemd", "rustix 0.38.34", "serde", "serde_repr", - "sha2 0.10.8", + "sha2", "sha3", "strum 0.24.1", "tempfile", @@ -4774,31 +3923,31 @@ dependencies = [ [[package]] name = "near-workspaces" -version = "0.10.0" -source = "git+https://github.com/near/near-workspaces-rs?branch=node/1.40#6c16f12f84e5c43b03f9f757ae2f11d1c6ebf32e" +version = "0.14.0" +source = "git+https://github.com/near/near-workspaces-rs?branch=phuong/tmp-node-2.3.0#2c3925b9af091062b19e3ff1c13753a077e74cbd" dependencies = [ "async-trait", - "base64 0.21.7", + "base64 0.22.1", "bs58 0.5.1", - "cargo-near", + "cargo-near-build", "chrono", "fs2", "json-patch", "libc", "near-abi-client", "near-account-id", - "near-crypto 0.23.0", - "near-gas", - "near-jsonrpc-client 0.10.1", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", + "near-crypto 0.26.0", + "near-gas 0.3.0", + "near-jsonrpc-client", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", "near-sandbox-utils", - "near-token", - "rand 0.8.5", - "reqwest 0.11.27", + "near-token 0.3.0", + "rand", + "reqwest 0.12.8", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "tempfile", "thiserror", "tokio", @@ -4860,31 +4009,10 @@ dependencies = [ ] [[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "newline-converter" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f71d09d5c87634207f894c6b31b6a2b2c64ea3bdcf71bd5599fdbbe1600c00f" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "nix" -version = "0.26.4" +name = "new_debug_unreachable" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "libc", - "memoffset 0.7.1", -] +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nom" @@ -4910,27 +4038,22 @@ dependencies = [ ] [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "ntapi" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ - "overload", "winapi", ] [[package]] -name = "num" -version = "0.4.3" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "num-bigint 0.4.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational 0.4.2", - "num-traits", + "overload", + "winapi", ] [[package]] @@ -4944,25 +4067,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - [[package]] name = "num-conv" version = "0.1.0" @@ -4978,17 +4082,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.3.2" @@ -4996,23 +4089,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" dependencies = [ "autocfg", - "num-bigint 0.3.3", + "num-bigint", "num-integer", "num-traits", "serde", ] -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint 0.4.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -5052,17 +4134,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "open" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a083c0c7e5e4a8ec4176346cf61f67ac674e8bfb059d9226e1c54a96b377c12" -dependencies = [ - "is-wsl", - "libc", - "pathdiff", -] - [[package]] name = "openssl" version = "0.10.66" @@ -5095,15 +4166,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-src" -version = "300.3.1+3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" version = "0.9.103" @@ -5112,156 +4174,20 @@ checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", - "openssl-src", "pkg-config", "vcpkg", ] -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding 2.3.1", - "pin-project", - "rand 0.8.5", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "opentelemetry" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "once_cell", - "pin-project-lite", - "thiserror", - "urlencoding", -] - -[[package]] -name = "opentelemetry-otlp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a" -dependencies = [ - "async-trait", - "futures", - "futures-util", - "http 0.2.12", - "opentelemetry 0.17.0", - "prost 0.9.0", - "thiserror", - "tokio", - "tonic 0.6.2", - "tonic-build", -] - -[[package]] -name = "opentelemetry-otlp" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" -dependencies = [ - "async-trait", - "futures-core", - "http 0.2.12", - "opentelemetry 0.22.0", - "opentelemetry-proto", - "opentelemetry-semantic-conventions 0.14.0", - "opentelemetry_sdk", - "prost 0.12.6", - "thiserror", - "tokio", - "tonic 0.11.0", -] - -[[package]] -name = "opentelemetry-proto" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4" -dependencies = [ - "opentelemetry 0.22.0", - "opentelemetry_sdk", - "prost 0.12.6", - "tonic 0.11.0", -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985cc35d832d412224b2cffe2f9194b1b89b6aa5d0bef76d080dce09d90e62bd" -dependencies = [ - "opentelemetry 0.17.0", -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" - -[[package]] -name = "opentelemetry_sdk" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "once_cell", - "opentelemetry 0.22.0", - "ordered-float", - "percent-encoding 2.3.1", - "rand 0.8.5", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "ordered-float" version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" dependencies = [ + "borsh", "num-traits", -] - -[[package]] -name = "ordered-stream" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", + "rand", + "serde", ] [[package]] @@ -5276,12 +4202,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - [[package]] name = "p256" version = "0.11.1" @@ -5290,7 +4210,7 @@ checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ "ecdsa 0.14.8", "elliptic-curve 0.12.3", - "sha2 0.10.8", + "sha2", ] [[package]] @@ -5339,7 +4259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -5349,22 +4269,16 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - [[package]] name = "pbkdf2" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", + "digest", + "hmac", "password-hash", - "sha2 0.10.8", + "sha2", ] [[package]] @@ -5390,16 +4304,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.2.6", -] - [[package]] name = "phf_shared" version = "0.10.0" @@ -5560,12 +4464,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "prefix-sum-vec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa06bd51638b6e76ac9ba9b6afb4164fa647bd2916d722f2623fbb6d1ed8bdba" - [[package]] name = "prettyplease" version = "0.1.25" @@ -5576,20 +4474,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prettytable" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46480520d1b77c9a3482d39939fcf96831537a250ec62d4fd8fbdf8e0302e781" -dependencies = [ - "csv", - "encode_unicode", - "is-terminal", - "lazy_static", - "term", - "unicode-width", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -5609,23 +4493,13 @@ dependencies = [ "uint", ] -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - [[package]] name = "proc-macro-crate" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -5637,7 +4511,6 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", "version_check", ] @@ -5668,88 +4541,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if 1.0.0", - "fnv", - "lazy_static", - "memchr", - "parking_lot", - "protobuf", - "thiserror", -] - -[[package]] -name = "prost" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" -dependencies = [ - "bytes", - "prost-derive 0.9.0", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive 0.12.6", -] - -[[package]] -name = "prost-build" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" -dependencies = [ - "bytes", - "heck 0.3.3", - "itertools 0.10.5", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.9.0", - "prost-types", - "regex", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "prost-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" -dependencies = [ - "bytes", - "prost 0.9.0", + "fnv", + "lazy_static", + "memchr", + "parking_lot", + "protobuf", + "thiserror", ] [[package]] @@ -5768,7 +4565,7 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash", + "rustc-hash 1.1.0", "rustls 0.23.12", "thiserror", "tokio", @@ -5777,14 +4574,14 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring", - "rustc-hash", + "rustc-hash 2.0.0", "rustls 0.23.12", "slab", "thiserror", @@ -5819,19 +4616,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -5839,18 +4623,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "rand_chacha", + "rand_core", + "serde", ] [[package]] @@ -5860,34 +4635,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", + "rand_core", ] [[package]] name = "rand_core" -version = "0.5.1" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.1.16", + "getrandom", + "serde", ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "rayon" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "getrandom 0.2.15", + "either", + "rayon-core", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rayon-core" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "rand_core 0.5.1", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -5914,7 +4692,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.15", + "getrandom", "libredox", "thiserror", ] @@ -5989,7 +4767,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", @@ -6007,7 +4785,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tower-service", @@ -6015,19 +4793,21 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", "futures-core", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -6051,6 +4831,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", + "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tokio-rustls 0.26.0", @@ -6060,7 +4841,7 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -6070,7 +4851,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint 0.4.9", - "hmac 0.12.1", + "hmac", "zeroize", ] @@ -6080,7 +4861,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", + "hmac", "subtle", ] @@ -6092,7 +4873,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if 1.0.0", - "getrandom 0.2.15", + "getrandom", "libc", "spin", "untrusted", @@ -6105,7 +4886,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -6142,6 +4923,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -6308,15 +5095,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "schannel" version = "0.1.23" @@ -6433,7 +5211,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "rand 0.8.5", + "rand", "secp256k1-sys", ] @@ -6446,25 +5224,6 @@ dependencies = [ "cc", ] -[[package]] -name = "secret-service" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5204d39df37f06d1944935232fd2dfe05008def7ca599bf28c0800366c8a8f9" -dependencies = [ - "aes", - "cbc", - "futures-util", - "generic-array", - "hkdf", - "num", - "once_cell", - "rand 0.8.5", - "serde", - "sha2 0.10.8", - "zbus", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -6561,15 +5320,6 @@ dependencies = [ "syn 2.0.72", ] -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -6590,7 +5340,7 @@ checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "base64 0.22.1", "chrono", - "hex 0.4.3", + "hex", "indexmap 1.9.3", "indexmap 2.2.6", "serde", @@ -6643,20 +5393,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "digest", ] [[package]] @@ -6667,7 +5404,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -6676,7 +5413,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -6689,48 +5426,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shell-escape" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", -] - [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -6746,8 +5441,8 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest", + "rand_core", ] [[package]] @@ -6756,8 +5451,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest", + "rand_core", ] [[package]] @@ -6775,17 +5470,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slip10" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28724a6e6f70b0cb115c580891483da6f3aa99e6a353598303a57f89d23aa6bc" -dependencies = [ - "ed25519-dalek 1.0.1", - "hmac 0.9.0", - "sha2 0.9.9", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -6803,17 +5487,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "smart-default" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "smol" version = "1.3.0" @@ -7049,6 +5722,23 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + +[[package]] +name = "sysinfo" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ae3f4f7d64646c46c4cae4e3f01d1c5d255c7406fdd7c7f999a94e488791" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] [[package]] name = "system-configuration" @@ -7058,7 +5748,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -7071,6 +5772,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tap" version = "1.0.1" @@ -7100,26 +5811,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.63" @@ -7207,7 +5898,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -7216,16 +5907,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.4.0" @@ -7254,7 +5935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project", - "rand 0.8.5", + "rand", "tokio", ] @@ -7301,20 +5982,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.11" @@ -7328,119 +5995,21 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] [[package]] name = "toml_edit" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tonic" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" -dependencies = [ - "async-stream", - "async-trait", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", - "percent-encoding 2.3.1", - "pin-project", - "prost 0.9.0", - "prost-derive 0.9.0", - "tokio", - "tokio-stream", - "tokio-util 0.6.10", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", -] - -[[package]] -name = "tonic" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.21.7", - "bytes", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", - "percent-encoding 2.3.1", - "pin-project", - "prost 0.12.6", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tonic-build" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "proc-macro2", - "prost-build", - "quote", - "syn 1.0.109", + "indexmap 2.2.6", + "toml_datetime", + "winnow", ] [[package]] @@ -7451,13 +6020,9 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand 0.8.5", - "slab", "tokio", - "tokio-util 0.7.11", "tower-layer", "tower-service", "tracing", @@ -7487,18 +6052,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-appender" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" -dependencies = [ - "crossbeam-channel", - "thiserror", - "time", - "tracing-subscriber", -] - [[package]] name = "tracing-attributes" version = "0.1.27" @@ -7520,37 +6073,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -7562,38 +6084,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry 0.17.0", - "tracing", - "tracing-core", - "tracing-log 0.1.4", - "tracing-subscriber", -] - -[[package]] -name = "tracing-opentelemetry" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284" -dependencies = [ - "js-sys", - "once_cell", - "opentelemetry 0.22.0", - "opentelemetry_sdk", - "smallvec", - "tracing", - "tracing-core", - "tracing-log 0.2.0", - "tracing-subscriber", - "web-time", -] - [[package]] name = "tracing-serde" version = "0.1.3" @@ -7636,7 +6126,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] @@ -7652,17 +6142,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset 0.9.1", - "tempfile", - "winapi", -] - [[package]] name = "uint" version = "0.9.5" @@ -7671,7 +6150,7 @@ checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", - "hex 0.4.3", + "hex", "static_assertions", ] @@ -7696,18 +6175,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - [[package]] name = "universal-hash" version = "0.5.1" @@ -7833,16 +6300,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -7852,12 +6309,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -7946,16 +6397,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "webpki-roots" version = "0.26.3" @@ -7977,18 +6418,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.34", -] - [[package]] name = "winapi" version = "0.3.9" @@ -8005,21 +6434,22 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -8029,6 +6459,79 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -8187,16 +6690,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if 1.0.0", - "windows-sys 0.48.0", -] - [[package]] name = "wyz" version = "0.5.1" @@ -8212,7 +6705,7 @@ version = "2.0.1" source = "git+https://github.com/dalek-cryptography/curve25519-dalek?rev=5b7082bbc8e0b2106ab0d956064f61fa0f393cdc#5b7082bbc8e0b2106ab0d956064f61fa0f393cdc" dependencies = [ "curve25519-dalek 4.1.3 (git+https://github.com/dalek-cryptography/curve25519-dalek?rev=5b7082bbc8e0b2106ab0d956064f61fa0f393cdc)", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -8226,16 +6719,6 @@ dependencies = [ "rustix 0.38.34", ] -[[package]] -name = "xdg-home" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "xml-rs" version = "0.8.20" @@ -8275,72 +6758,6 @@ dependencies = [ "url 2.5.2", ] -[[package]] -name = "zbus" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "byteorder", - "derivative", - "enumflags2", - "event-listener 2.5.3", - "futures-core", - "futures-sink", - "futures-util", - "hex 0.4.3", - "nix", - "once_cell", - "ordered-stream", - "rand 0.8.5", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "winapi", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" -dependencies = [ - "serde", - "static_assertions", - "zvariant", -] - [[package]] name = "zerocopy" version = "0.7.35" @@ -8391,7 +6808,7 @@ dependencies = [ "byteorder", "crunchy", "lazy_static", - "rand 0.8.5", + "rand", "rustc-hex", ] @@ -8420,7 +6837,7 @@ dependencies = [ "crc32fast", "crossbeam-utils", "flate2", - "hmac 0.12.1", + "hmac", "pbkdf2", "sha1", "time", @@ -8473,41 +6890,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[package]] -name = "zvariant" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" -dependencies = [ - "byteorder", - "enumflags2", - "libc", - "serde", - "static_assertions", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] diff --git a/chain-signatures/contract/Cargo.toml b/chain-signatures/contract/Cargo.toml index a4a61df0d..6a8a25557 100644 --- a/chain-signatures/contract/Cargo.toml +++ b/chain-signatures/contract/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mpc-contract" -version = "1.0.0-rc.4" +version = "1.0.0-rc.5" edition = "2021" [lib] @@ -28,5 +28,5 @@ signature = "2.2.0" digest = "0.10.7" # near dependencies -near-crypto = "0.23.0" -near-workspaces = { git = "https://github.com/near/near-workspaces-rs", branch = "node/1.40" } +near-crypto = "0.26.0" +near-workspaces = { git = "https://github.com/near/near-workspaces-rs", branch = "phuong/tmp-node-2.3.0" } diff --git a/chain-signatures/contract/tests/common.rs b/chain-signatures/contract/tests/common.rs index 6ff31b0a6..21f875dbc 100644 --- a/chain-signatures/contract/tests/common.rs +++ b/chain-signatures/contract/tests/common.rs @@ -16,9 +16,8 @@ use mpc_contract::primitives::{ CandidateInfo, ParticipantInfo, Participants, SignRequest, SignatureRequest, }; use mpc_contract::update::UpdateId; -use near_sdk::NearToken; use near_workspaces::network::Sandbox; -use near_workspaces::types::AccountId; +use near_workspaces::types::{AccountId, NearToken}; use near_workspaces::{Account, Contract, Worker}; use signature::DigestSigner; diff --git a/chain-signatures/contract/tests/sign.rs b/chain-signatures/contract/tests/sign.rs index d79567cdb..c755b1004 100644 --- a/chain-signatures/contract/tests/sign.rs +++ b/chain-signatures/contract/tests/sign.rs @@ -3,10 +3,9 @@ use common::{candidates, create_response, init, init_env, sign_and_validate}; use mpc_contract::errors; use mpc_contract::primitives::{CandidateInfo, SignRequest}; -use near_workspaces::types::AccountId; +use near_workspaces::types::{AccountId, NearToken}; use crypto_shared::SignatureResponse; -use near_sdk::NearToken; use std::collections::HashMap; #[tokio::test] diff --git a/chain-signatures/contract/tests/updates.rs b/chain-signatures/contract/tests/updates.rs index 28839804b..e9a8974b6 100644 --- a/chain-signatures/contract/tests/updates.rs +++ b/chain-signatures/contract/tests/updates.rs @@ -1,12 +1,13 @@ pub mod common; use common::{init_env, vote_update_till_completion, CONTRACT_FILE_PATH, INVALID_CONTRACT}; -use mpc_contract::errors; use std::collections::HashMap; use mpc_contract::config::{Config, ProtocolConfig}; +use mpc_contract::errors; use mpc_contract::update::{ProposeUpdateArgs, UpdateId}; -use near_sdk::NearToken; + +use near_workspaces::types::NearToken; pub fn dummy_contract() -> ProposeUpdateArgs { ProposeUpdateArgs { diff --git a/chain-signatures/contract/tests/user_views.rs b/chain-signatures/contract/tests/user_views.rs index 090d5d776..2c6b0b7d1 100644 --- a/chain-signatures/contract/tests/user_views.rs +++ b/chain-signatures/contract/tests/user_views.rs @@ -3,7 +3,8 @@ use common::{create_response, init_env}; use mpc_contract::primitives::SignRequest; -use near_sdk::{CurveType, NearToken, PublicKey}; +use near_sdk::{CurveType, PublicKey}; +use near_workspaces::types::NearToken; use serde_json::json; use std::str::FromStr; #[tokio::test] diff --git a/chain-signatures/node/Cargo.toml b/chain-signatures/node/Cargo.toml index f63fa69bf..68b91637d 100644 --- a/chain-signatures/node/Cargo.toml +++ b/chain-signatures/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mpc-node" -version = "1.0.0-rc.4" +version = "1.0.0-rc.5" edition = "2021" [[bin]] @@ -45,11 +45,11 @@ tracing-stackdriver = "0.10.0" url = { version = "2.4.0", features = ["serde"] } near-account-id = "1.0.0" -near-crypto = "0.23.0" -near-fetch = "0.5.1" -near-lake-framework = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/1.40-and-async-run" } -near-lake-primitives = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/1.40-and-async-run" } -near-primitives = "0.23.0" +near-crypto = "0.26.0" +near-fetch = "0.6.0" +near-lake-framework = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/2.3.0" } +near-lake-primitives = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/2.3.0" } +near-primitives = "0.26.0" near-sdk = { version = "5.2.1", features = ["legacy", "unit-testing"] } mpc-contract = { path = "../contract" } @@ -60,3 +60,4 @@ itertools = "0.12.0" http = "1.1.0" prometheus = { version = "0.13.3" } once_cell = "1.13.1" +sysinfo = "0.32.0" diff --git a/chain-signatures/node/src/cli.rs b/chain-signatures/node/src/cli.rs index 02768ddf3..15122674f 100644 --- a/chain-signatures/node/src/cli.rs +++ b/chain-signatures/node/src/cli.rs @@ -8,6 +8,7 @@ use local_ip_address::local_ip; use near_account_id::AccountId; use near_crypto::{InMemorySigner, SecretKey}; use std::sync::Arc; +use std::time::Duration; use tokio::sync::{mpsc, RwLock}; use tracing_stackdriver::layer as stackdriver_layer; use tracing_subscriber::{layer::SubscriberExt, EnvFilter, Registry}; @@ -135,6 +136,7 @@ fn is_running_on_gcp() -> bool { let resp = reqwest::blocking::Client::new() .get("http://metadata.google.internal/computeMetadata/v1/instance/id") .header("Metadata-Flavor", "Google") + .timeout(Duration::from_millis(200)) .send(); match resp { @@ -216,7 +218,7 @@ pub fn run(cmd: Cli) -> anyhow::Result<()> { client_headers.insert(http::header::REFERER, referer_param.parse().unwrap()); } - tracing::debug!(rpc_addr = rpc_client.rpc_addr(), "rpc client initialized"); + tracing::info!(rpc_addr = rpc_client.rpc_addr(), "rpc client initialized"); let signer = InMemorySigner::from_secret_key(account_id.clone(), account_sk); let (protocol, protocol_state) = MpcSignProtocol::init( my_address, @@ -238,18 +240,18 @@ pub fn run(cmd: Cli) -> anyhow::Result<()> { ); rt.block_on(async { - tracing::debug!("protocol initialized"); + tracing::info!("protocol initialized"); let protocol_handle = tokio::spawn(async move { protocol.run().await }); - tracing::debug!("protocol thread spawned"); + tracing::info!("protocol thread spawned"); let cipher_sk = hpke::SecretKey::try_from_bytes(&hex::decode(cipher_sk)?)?; let web_handle = tokio::spawn(async move { web::run(web_port, sender, cipher_sk, protocol_state, indexer).await }); - tracing::debug!("protocol http server spawned"); + tracing::info!("protocol http server spawned"); protocol_handle.await??; web_handle.await??; - tracing::debug!("spinning down"); + tracing::info!("spinning down"); indexer_handle.join().unwrap()?; anyhow::Ok(()) diff --git a/chain-signatures/node/src/http_client.rs b/chain-signatures/node/src/http_client.rs index ff226a028..40a80a5a9 100644 --- a/chain-signatures/node/src/http_client.rs +++ b/chain-signatures/node/src/http_client.rs @@ -169,7 +169,7 @@ impl MessageQueue { } if uncompacted > 0 { - tracing::debug!( + tracing::info!( uncompacted, compacted, "{from:?} sent messages in {:?};", diff --git a/chain-signatures/node/src/indexer.rs b/chain-signatures/node/src/indexer.rs index 2ecdb958f..9335e4bfd 100644 --- a/chain-signatures/node/src/indexer.rs +++ b/chain-signatures/node/src/indexer.rs @@ -146,7 +146,7 @@ impl Indexer { block_height: BlockHeight, gcp: &GcpService, ) -> Result<(), DatastoreStorageError> { - tracing::trace!(block_height, "update_block_height"); + tracing::debug!(block_height, "update_block_height"); *self.last_updated_timestamp.write().await = Instant::now(); self.latest_block_height .write() @@ -170,11 +170,11 @@ async fn handle_block( mut block: near_lake_primitives::block::Block, ctx: &Context, ) -> anyhow::Result<()> { - tracing::trace!(block_height = block.block_height(), "handle_block"); + tracing::debug!(block_height = block.block_height(), "handle_block"); let mut pending_requests = Vec::new(); for action in block.actions().cloned().collect::>() { if action.receiver_id() == ctx.mpc_contract_id { - tracing::trace!("got action targeting {}", ctx.mpc_contract_id); + tracing::debug!("got action targeting {}", ctx.mpc_contract_id); let Some(receipt) = block.receipt_by_id(&action.receipt_id()) else { let err = format!( "indexer unable to find block for receipt_id={}", @@ -190,7 +190,7 @@ async fn handle_block( continue; }; if function_call.method_name() == "sign" { - tracing::trace!("found `sign` function call"); + tracing::debug!("found `sign` function call"); let arguments = match serde_json::from_slice::<'_, SignArguments>(function_call.args()) { Ok(arguments) => arguments, @@ -369,7 +369,7 @@ pub fn run( let outcome = rt.block_on(async { if i > 0 { // give it some time to catch up - tracing::trace!("giving indexer some time to catch up"); + tracing::debug!("giving indexer some time to catch up"); backoff(i, 10, 300); } // while running, we will keep the task spinning, and check every so often if @@ -383,7 +383,7 @@ pub fn run( // Abort the indexer task if it's still running. if !join_handle.is_finished() { - tracing::trace!("aborting indexer task"); + tracing::debug!("aborting indexer task"); join_handle.abort(); } diff --git a/chain-signatures/node/src/metrics.rs b/chain-signatures/node/src/metrics.rs index 87b81ed27..d03fae289 100644 --- a/chain-signatures/node/src/metrics.rs +++ b/chain-signatures/node/src/metrics.rs @@ -1,8 +1,8 @@ use once_cell::sync::Lazy; pub use prometheus::{ self, core::MetricVec, core::MetricVecBuilder, exponential_buckets, linear_buckets, Counter, - Encoder, Gauge, GaugeVec, Histogram, HistogramOpts, HistogramVec, IntCounter, IntCounterVec, - IntGauge, IntGaugeVec, Opts, Result, TextEncoder, + CounterVec, Encoder, Gauge, GaugeVec, Histogram, HistogramOpts, HistogramVec, IntCounter, + IntCounterVec, IntGauge, IntGaugeVec, Opts, Result, TextEncoder, }; pub(crate) static NODE_RUNNING: Lazy = Lazy::new(|| { @@ -14,8 +14,8 @@ pub(crate) static NODE_RUNNING: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static NUM_SIGN_REQUESTS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SIGN_REQUESTS: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_sign_requests_count", "number of multichain sign requests, marked by sign requests indexed", &["node_account_id"], @@ -23,8 +23,8 @@ pub(crate) static NUM_SIGN_REQUESTS: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static NUM_SIGN_REQUESTS_MINE: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SIGN_REQUESTS_MINE: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_sign_requests_count_mine", "number of multichain sign requests, marked by sign requests indexed", &["node_account_id"], @@ -32,8 +32,8 @@ pub(crate) static NUM_SIGN_REQUESTS_MINE: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static NUM_SIGN_SUCCESS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SIGN_SUCCESS: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_sign_requests_success", "number of successful multichain sign requests, marked by publish()", &["node_account_id"], @@ -179,8 +179,8 @@ pub(crate) static NODE_VERSION: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_num_total_historical_triple_generators", "number of all triple generators historically on the node", &["node_account_id"], @@ -188,9 +188,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS: Lazy = La .unwrap() }); -pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS_SUCCESS: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS_SUCCESS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_triple_generators_success", "number of all successful triple generators historically on the node", &["node_account_id"], @@ -198,9 +198,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATORS_SUCCESS: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATIONS_MINE_SUCCESS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_triple_generations_mine_success", "number of successful triple generators that was mine historically on the node", &["node_account_id"], @@ -208,9 +208,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_TRIPLE_GENERATIONS_MINE_SUCCESS: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_presignature_generators", "number of all presignature generators historically on the node", &["node_account_id"], @@ -218,9 +218,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_SUCCESS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_presignature_generators_success", "number of all successful presignature generators historically on the node", &["node_account_id"], @@ -228,9 +228,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_SUCCESS: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_MINE: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_presignature_generators_mine", "number of mine presignature generators historically on the node", &["node_account_id"], @@ -238,9 +238,9 @@ pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_MINE: Lazy = +pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_MINE_SUCCESS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( + try_create_counter_vec( "multichain_num_total_historical_presignature_generators_mine_success", "number of mine presignature generators historically on the node", &["node_account_id"], @@ -248,8 +248,8 @@ pub(crate) static NUM_TOTAL_HISTORICAL_PRESIGNATURE_GENERATORS_MINE_SUCCESS: Laz .unwrap() }); -pub(crate) static NUM_SIGN_SUCCESS_30S: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SIGN_SUCCESS_30S: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_sign_requests_success_30s", "number of successful multichain sign requests that finished within 30s, marked by publish()", &["node_account_id"], @@ -307,8 +307,8 @@ pub(crate) static PROTOCOL_LATENCY_ITER_MESSAGE: Lazy = Lazy::new( .unwrap() }); -pub(crate) static NUM_SEND_ENCRYPTED_FAILURE: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SEND_ENCRYPTED_FAILURE: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_send_encrypted_failure", "number of successful send encrypted", &["node_account_id"], @@ -316,8 +316,8 @@ pub(crate) static NUM_SEND_ENCRYPTED_FAILURE: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static NUM_SEND_ENCRYPTED_TOTAL: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_SEND_ENCRYPTED_TOTAL: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_send_encrypted_total", "number total send encrypted", &["node_account_id"], @@ -335,8 +335,8 @@ pub(crate) static FAILED_SEND_ENCRYPTED_LATENCY: Lazy = Lazy::new( .unwrap() }); -pub(crate) static NUM_TOTAL_HISTORICAL_SIGNATURE_GENERATORS: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static NUM_TOTAL_HISTORICAL_SIGNATURE_GENERATORS: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_num_total_historical_signature_generators", "number of all signature generators historically on the node", &["node_account_id"], @@ -344,8 +344,8 @@ pub(crate) static NUM_TOTAL_HISTORICAL_SIGNATURE_GENERATORS: Lazy = .unwrap() }); -pub(crate) static TRIPLE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static TRIPLE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_triple_generator_failures", "total triple generator failures", &["node_account_id"], @@ -353,8 +353,8 @@ pub(crate) static TRIPLE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { .unwrap() }); -pub(crate) static SIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static SIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_signature_generator_failures", "total signature generator failures", &["node_account_id"], @@ -362,8 +362,8 @@ pub(crate) static SIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new(|| .unwrap() }); -pub(crate) static PRESIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static PRESIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_presignature_generator_failures", "total presignature generator failures", &["node_account_id"], @@ -371,8 +371,8 @@ pub(crate) static PRESIGNATURE_GENERATOR_FAILURES: Lazy = Lazy::new .unwrap() }); -pub(crate) static SIGNATURE_FAILURES: Lazy = Lazy::new(|| { - try_create_int_gauge_vec( +pub(crate) static SIGNATURE_FAILURES: Lazy = Lazy::new(|| { + try_create_counter_vec( "multichain_signature_failures", "total signature failures", &["node_account_id"], @@ -380,6 +380,83 @@ pub(crate) static SIGNATURE_FAILURES: Lazy = Lazy::new(|| { .unwrap() }); +pub(crate) static SIGNATURE_PUBLISH_FAILURES: Lazy = Lazy::new(|| { + try_create_counter_vec( + "multichain_signature_publish_failures", + "number of failed signature publish", + &["node_account_id"], + ) + .unwrap() +}); + +// CPU Usage Percentage Metric +pub(crate) static CPU_USAGE_PERCENTAGE: Lazy = Lazy::new(|| { + try_create_int_gauge_vec( + "multichain_cpu_usage_percentage", + "CPU Usage Percentage", + &["global", "node_account_id"], + ) + .unwrap() +}); + +// Available Memory Metric +pub(crate) static AVAILABLE_MEMORY_BYTES: Lazy = Lazy::new(|| { + try_create_int_gauge_vec( + "multichain_available_memory_bytes", + "Available Memory in Bytes", + &["available_mem", "node_account_id"], + ) + .unwrap() +}); + +// Used Memory Metric +pub(crate) static USED_MEMORY_BYTES: Lazy = Lazy::new(|| { + try_create_int_gauge_vec( + "multichain_used_memory_bytes", + "Used Memory in Bytes", + &["used", "node_account_id"], + ) + .unwrap() +}); + +// Disk Space Metric +pub(crate) static AVAILABLE_DISK_SPACE_BYTES: Lazy = Lazy::new(|| { + try_create_int_gauge_vec( + "multichain_available_disk_space_bytes", + "Available Disk Space in Bytes", + &["available_disk", "node_account_id"], + ) + .unwrap() +}); + +// Total Disk Space Metric +pub(crate) static TOTAL_DISK_SPACE_BYTES: Lazy = Lazy::new(|| { + try_create_int_gauge_vec( + "multichain_total_disk_space_bytes", + "Total Disk Space in Bytes", + &["total_disk", "node_account_id"], + ) + .unwrap() +}); + +pub(crate) static SIGNATURE_PUBLISH_RESPONSE_ERRORS: Lazy = Lazy::new(|| { + try_create_counter_vec( + "multichain_signature_publish_response_errors", + "number of respond calls with response that cannot be converted to json", + &["node_account_id"], + ) + .unwrap() +}); + +pub(crate) static PROTOCOL_ITER_CNT: Lazy = Lazy::new(|| { + try_create_counter_vec( + "multichain_protocol_iter_count", + "Count of multichain protocol iter", + &["node_account_id"], + ) + .unwrap() +}); + pub fn try_create_int_gauge_vec(name: &str, help: &str, labels: &[&str]) -> Result { check_metric_multichain_prefix(name)?; let opts = Opts::new(name, help); @@ -388,6 +465,14 @@ pub fn try_create_int_gauge_vec(name: &str, help: &str, labels: &[&str]) -> Resu Ok(gauge) } +pub fn try_create_counter_vec(name: &str, help: &str, labels: &[&str]) -> Result { + check_metric_multichain_prefix(name)?; + let opts = Opts::new(name, help); + let counter = CounterVec::new(opts, labels)?; + prometheus::register(Box::new(counter.clone()))?; + Ok(counter) +} + /// Attempts to create a `HistogramVector`, returning `Err` if the registry does not accept the counter /// (potentially due to naming conflict). pub fn try_create_histogram_vec( diff --git a/chain-signatures/node/src/protocol/consensus.rs b/chain-signatures/node/src/protocol/consensus.rs index 8b6065ea2..6d3917af4 100644 --- a/chain-signatures/node/src/protocol/consensus.rs +++ b/chain-signatures/node/src/protocol/consensus.rs @@ -255,7 +255,7 @@ impl ConsensusProtocol for GeneratingState { ) -> Result { match contract_state { ProtocolState::Initializing(_) => { - tracing::debug!("generating(initializing): continuing generation, contract state has not been finalized yet"); + tracing::info!("generating(initializing): continuing generation, contract state has not been finalized yet"); Ok(NodeState::Generating(self)) } ProtocolState::Running(contract_state) => { @@ -305,7 +305,7 @@ impl ConsensusProtocol for WaitingForConsensusState { ) -> Result { match contract_state { ProtocolState::Initializing(contract_state) => { - tracing::debug!("waiting(initializing): waiting for consensus, contract state has not been finalized yet"); + tracing::info!("waiting(initializing): waiting for consensus, contract state has not been finalized yet"); let public_key = self.public_key.into_near_public_key(); let has_voted = contract_state .pk_votes @@ -427,7 +427,7 @@ impl ConsensusProtocol for WaitingForConsensusState { } Ordering::Less => Err(ConsensusError::EpochRollback), Ordering::Equal => { - tracing::debug!( + tracing::info!( "waiting(resharing): waiting for resharing consensus, contract state has not been finalized yet" ); let has_voted = contract_state.finished_votes.contains(ctx.my_account_id()); @@ -494,7 +494,7 @@ impl ConsensusProtocol for RunningState { } Ordering::Less => Err(ConsensusError::EpochRollback), Ordering::Equal => { - tracing::trace!("running(running): continuing to run as normal"); + tracing::debug!("running(running): continuing to run as normal"); if contract_state.participants != self.participants { return Err(ConsensusError::MismatchedParticipants); } @@ -599,7 +599,7 @@ impl ConsensusProtocol for ResharingState { } Ordering::Less => Err(ConsensusError::EpochRollback), Ordering::Equal => { - tracing::debug!("resharing(resharing): continue to reshare as normal"); + tracing::info!("resharing(resharing): continue to reshare as normal"); if contract_state.old_participants != self.old_participants { return Err(ConsensusError::MismatchedParticipants); } @@ -685,7 +685,7 @@ impl ConsensusProtocol for JoiningState { tracing::info!("joining(resharing): joining as a new participant"); start_resharing(None, ctx, contract_state).await } else { - tracing::debug!("joining(resharing): network is resharing without us, waiting for them to finish"); + tracing::info!("joining(resharing): network is resharing without us, waiting for them to finish"); Ok(NodeState::Joining(self)) } } diff --git a/chain-signatures/node/src/protocol/cryptography.rs b/chain-signatures/node/src/protocol/cryptography.rs index 294a8242c..92e46da9a 100644 --- a/chain-signatures/node/src/protocol/cryptography.rs +++ b/chain-signatures/node/src/protocol/cryptography.rs @@ -90,7 +90,7 @@ impl CryptographicProtocol for GeneratingState { match action { Action::Wait => { drop(protocol); - tracing::trace!("generating: waiting"); + tracing::debug!("generating: waiting"); let failures = self .messages .write() @@ -246,7 +246,7 @@ impl CryptographicProtocol for ResharingState { match action { Action::Wait => { drop(protocol); - tracing::trace!("resharing: waiting"); + tracing::debug!("resharing: waiting"); let failures = self .messages .write() @@ -359,7 +359,7 @@ impl CryptographicProtocol for RunningState { let protocol_cfg = &ctx.cfg().protocol; let active = ctx.mesh().active_participants(); if active.len() < self.threshold { - tracing::info!( + tracing::warn!( active = ?active.keys_vec(), "running: not enough participants to progress" ); @@ -427,7 +427,7 @@ impl CryptographicProtocol for RunningState { // block height is up to date, such that they too can process signature requests. If they cannot // then they are considered unstable and should not be a part of signature generation this round. let stable = ctx.mesh().stable_participants().await; - tracing::trace!(?stable, "stable participants"); + tracing::debug!(?stable, "stable participants"); let mut sign_queue = self.sign_queue.write().await; crate::metrics::SIGN_QUEUE_SIZE diff --git a/chain-signatures/node/src/protocol/message.rs b/chain-signatures/node/src/protocol/message.rs index 77ba0b2cb..1d91071c8 100644 --- a/chain-signatures/node/src/protocol/message.rs +++ b/chain-signatures/node/src/protocol/message.rs @@ -333,7 +333,7 @@ impl MessageHandler for RunningState { ) => { // This triple has already been generated or removed from the triple manager, so we will have to bin // the entirety of the messages we received for this presignature id, and have the other nodes timeout - tracing::debug!(id, ?err, "presignature cannot be generated"); + tracing::warn!(id, ?err, "presignature cannot be generated"); queue.clear(); continue; } @@ -437,7 +437,7 @@ impl MessageHandler for RunningState { // and have the other nodes timeout in the following cases: // - If a presignature is in GC, then it was used already or failed to be produced. // - If a presignature is missing, that means our system cannot process this signature. - tracing::debug!(%receipt_id, ?err, "signature cannot be generated"); + tracing::warn!(%receipt_id, ?err, "signature cannot be generated"); queue.clear(); continue; } diff --git a/chain-signatures/node/src/protocol/mod.rs b/chain-signatures/node/src/protocol/mod.rs index 3762c9400..e8f3b00da 100644 --- a/chain-signatures/node/src/protocol/mod.rs +++ b/chain-signatures/node/src/protocol/mod.rs @@ -17,6 +17,7 @@ pub use message::MpcMessage; pub use signature::SignQueue; pub use signature::SignRequest; pub use state::NodeState; +pub use sysinfo::{Components, CpuRefreshKind, Disks, RefreshKind, System}; use self::consensus::ConsensusCtx; use self::cryptography::CryptographicCtx; @@ -34,6 +35,7 @@ use cait_sith::protocol::Participant; use near_account_id::AccountId; use near_crypto::InMemorySigner; use reqwest::IntoUrl; +use std::path::Path; use std::time::Instant; use std::{sync::Arc, time::Duration}; use tokio::sync::mpsc::{self, error::TryRecvError}; @@ -212,6 +214,7 @@ impl MpcSignProtocol { let mut queue = MpcMessageQueue::default(); let mut last_state_update = Instant::now(); let mut last_config_update = Instant::now(); + let mut last_hardware_pull = Instant::now(); let mut last_pinged = Instant::now(); // Sets the latest configurations from the contract: @@ -226,20 +229,29 @@ impl MpcSignProtocol { loop { let protocol_time = Instant::now(); - tracing::trace!("trying to advance chain signatures protocol"); + tracing::debug!("trying to advance chain signatures protocol"); + // Hardware metric refresh + if last_hardware_pull.elapsed() > Duration::from_secs(5) { + update_system_metrics(&my_account_id); + last_hardware_pull = Instant::now(); + } + + crate::metrics::PROTOCOL_ITER_CNT + .with_label_values(&[my_account_id.as_str()]) + .inc(); loop { let msg_result = self.receiver.try_recv(); match msg_result { Ok(msg) => { - tracing::trace!("received a new message"); + tracing::debug!("received a new message"); queue.push(msg); } Err(TryRecvError::Empty) => { - tracing::trace!("no new messages received"); + tracing::debug!("no new messages received"); break; } Err(TryRecvError::Disconnected) => { - tracing::debug!("communication was disconnected, no more messages will be received, spinning down"); + tracing::warn!("communication was disconnected, no more messages will be received, spinning down"); return Ok(()); } } @@ -296,7 +308,7 @@ impl MpcSignProtocol { let crypto_time = Instant::now(); let mut state = match state.progress(&mut self).await { Ok(state) => { - tracing::trace!("progress ok: {state}"); + tracing::debug!("progress ok: {state}"); state } Err(err) => { @@ -381,3 +393,56 @@ fn node_version() -> i64 { }; (rc_num + version.patch * 1000 + version.minor * 1000000 + version.major * 1000000000) as i64 } + +fn update_system_metrics(node_account_id: &str) { + let mut system = System::new_all(); + + // Refresh only the necessary components + system.refresh_all(); + + let mut s = + System::new_with_specifics(RefreshKind::new().with_cpu(CpuRefreshKind::everything())); + // Wait a bit because CPU usage is based on diff. + std::thread::sleep(sysinfo::MINIMUM_CPU_UPDATE_INTERVAL); + // Refresh CPUs again to get actual value. + s.refresh_cpu_specifics(CpuRefreshKind::everything()); + + // Update CPU usage metric + let cpu_usage = s.global_cpu_usage() as i64; + crate::metrics::CPU_USAGE_PERCENTAGE + .with_label_values(&["global", node_account_id]) + .set(cpu_usage); + + // Update available memory metric + let available_memory = system.available_memory() as i64; + crate::metrics::AVAILABLE_MEMORY_BYTES + .with_label_values(&["available_mem", node_account_id]) + .set(available_memory); + + // Update used memory metric + let used_memory = system.used_memory() as i64; + crate::metrics::USED_MEMORY_BYTES + .with_label_values(&["used", node_account_id]) + .set(used_memory); + + let root_mount_point = Path::new("/"); + // Update available disk space metric + let available_disk_space = Disks::new_with_refreshed_list() + .iter() + .find(|d| d.mount_point() == root_mount_point) + .expect("No disk found mounted at '/'") + .available_space() as i64; + crate::metrics::AVAILABLE_DISK_SPACE_BYTES + .with_label_values(&["available_disk", node_account_id]) + .set(available_disk_space); + + // Update total disk space metric + let total_disk_space = Disks::new_with_refreshed_list() + .iter() + .find(|d| d.mount_point() == root_mount_point) + .expect("No disk found mounted at '/'") + .total_space() as i64; + crate::metrics::TOTAL_DISK_SPACE_BYTES + .with_label_values(&["total_disk", node_account_id]) + .set(total_disk_space); +} diff --git a/chain-signatures/node/src/protocol/presignature.rs b/chain-signatures/node/src/protocol/presignature.rs index 0859d0228..b0158b2ed 100644 --- a/chain-signatures/node/src/protocol/presignature.rs +++ b/chain-signatures/node/src/protocol/presignature.rs @@ -234,7 +234,7 @@ impl PresignatureManager { ))); } - tracing::debug!(id, "starting protocol to generate a new presignature"); + tracing::info!(id, "starting protocol to generate a new presignature"); let generator = Self::generate_internal( participants, self.me, @@ -279,7 +279,7 @@ impl PresignatureManager { }; if not_enough_presignatures { - tracing::trace!("not enough presignatures, generating"); + tracing::debug!("not enough presignatures, generating"); // To ensure there is no contention between different nodes we are only using triples // that we proposed. This way in a non-BFT environment we are guaranteed to never try // to use the same triple as any other node. @@ -287,7 +287,7 @@ impl PresignatureManager { let presig_participants = active .intersection(&[&triple0.public.participants, &triple1.public.participants]); if presig_participants.len() < self.threshold { - tracing::debug!( + tracing::warn!( participants = ?presig_participants.keys_vec(), "running: the intersection of participants is less than the threshold" ); @@ -307,7 +307,7 @@ impl PresignatureManager { )?; } } else { - tracing::debug!("running: we don't have enough triples to generate a presignature"); + tracing::warn!("running: we don't have enough triples to generate a presignature"); } } @@ -333,10 +333,10 @@ impl PresignatureManager { cfg: &ProtocolConfig, ) -> Result<&mut PresignatureProtocol, GenerationError> { if self.presignatures.contains_key(&id) { - tracing::debug!(id, "presignature already generated"); + tracing::warn!(id, "presignature already generated"); Err(GenerationError::AlreadyGenerated) } else if self.gc.contains_key(&id) { - tracing::debug!(id, "presignature was garbage collected"); + tracing::warn!(id, "presignature was garbage collected"); Err(GenerationError::PresignatureIsGarbageCollected(id)) } else { match self.generators.entry(id) { @@ -405,7 +405,7 @@ impl PresignatureManager { pub fn take_mine(&mut self) -> Option { let my_presignature_id = self.mine.pop_front()?; - tracing::debug!(my_presignature_id, "take presignature of mine"); + tracing::info!(my_presignature_id, "take presignature of mine"); // SAFETY: This unwrap is safe because taking mine will always succeed since it is only // present when generation completes where the determination of ownership is made. Some(self.take(my_presignature_id).unwrap()) @@ -414,7 +414,7 @@ impl PresignatureManager { pub fn take(&mut self, id: PresignatureId) -> Result { if let Some(presignature) = self.presignatures.remove(&id) { self.gc.insert(id, Instant::now()); - tracing::trace!(id, "took presignature"); + tracing::info!(id, "took presignature"); return Ok(presignature); } @@ -431,7 +431,7 @@ impl PresignatureManager { } pub fn insert_mine(&mut self, presig: Presignature) { - tracing::trace!(id = ?presig.id, "inserting presignature"); + tracing::debug!(id = ?presig.id, "inserting presignature"); // Remove from taken list if it was there self.gc.remove(&presig.id); self.mine.push_back(presig.id); @@ -461,7 +461,7 @@ impl PresignatureManager { }; match action { Action::Wait => { - tracing::trace!("waiting"); + tracing::debug!("presignature: waiting"); // Retain protocol until we are finished return true; } diff --git a/chain-signatures/node/src/protocol/signature.rs b/chain-signatures/node/src/protocol/signature.rs index 682ce05a7..e148ca107 100644 --- a/chain-signatures/node/src/protocol/signature.rs +++ b/chain-signatures/node/src/protocol/signature.rs @@ -539,7 +539,7 @@ impl SignatureManager { }; match action { Action::Wait => { - tracing::trace!("waiting"); + tracing::debug!("signature: waiting"); // Retain protocol until we are finished return true; } @@ -734,6 +734,9 @@ impl SignatureManager { Ok(response) => response, Err(err) => { tracing::error!(%receipt_id, error = ?err, "Failed to publish the signature"); + crate::metrics::SIGNATURE_PUBLISH_FAILURES + .with_label_values(&[self.my_account_id.as_str()]) + .inc(); // Push the response to the back of the queue if it hasn't been retried the max number of times if to_publish.retry_count < MAX_RETRY { to_publish.retry_count += 1; @@ -749,6 +752,9 @@ impl SignatureManager { } Err(err) => { tracing::error!(%receipt_id, bi_r = signature.big_r.affine_point.to_base58(), s = ?signature.s, error = ?err, "smart contract threw error"); + crate::metrics::SIGNATURE_PUBLISH_RESPONSE_ERRORS + .with_label_values(&[self.my_account_id.as_str()]) + .inc(); continue; } }; diff --git a/chain-signatures/node/src/protocol/triple.rs b/chain-signatures/node/src/protocol/triple.rs index ab49ba48a..2bcca581b 100644 --- a/chain-signatures/node/src/protocol/triple.rs +++ b/chain-signatures/node/src/protocol/triple.rs @@ -226,7 +226,7 @@ impl TripleManager { ))); } - tracing::debug!(id, "starting protocol to generate a new triple"); + tracing::info!(id, "starting protocol to generate a new triple"); let participants: Vec<_> = participants.keys().cloned().collect(); let protocol: TripleProtocol = Box::new(cait_sith::triples::generate_triple::( &participants, @@ -267,7 +267,7 @@ impl TripleManager { }; if not_enough_triples { - tracing::trace!("not enough triples, genertion"); + tracing::debug!("not enough triples, generating"); self.generate(participants, cfg.triple.generation_timeout)?; } Ok(()) @@ -391,7 +391,7 @@ impl TripleManager { } pub async fn insert_mine(&mut self, triple: Triple) { - tracing::trace!(id = triple.id, "inserting mine triple"); + tracing::debug!(id = triple.id, "inserting mine triple"); self.mine.push_back(triple.id); self.triples.insert(triple.id, triple.clone()); self.gc.remove(&triple.id); @@ -421,7 +421,7 @@ impl TripleManager { return Ok(None); } - tracing::debug!(id, "joining protocol to generate a new triple"); + tracing::info!(id, "joining protocol to generate a new triple"); let participants = participants.keys_vec(); let protocol = Box::new(cait_sith::triples::generate_triple::( &participants, @@ -489,7 +489,7 @@ impl TripleManager { match action { Action::Wait => { - tracing::trace!("waiting"); + tracing::debug!("triple: waiting"); // Retain protocol until we are finished break true; } diff --git a/chain-signatures/node/src/storage/secret_storage.rs b/chain-signatures/node/src/storage/secret_storage.rs index 4c9c74eb7..865a91132 100644 --- a/chain-signatures/node/src/storage/secret_storage.rs +++ b/chain-signatures/node/src/storage/secret_storage.rs @@ -95,7 +95,7 @@ impl DiskNodeStorage { #[async_trait] impl SecretNodeStorage for DiskNodeStorage { async fn store(&mut self, data: &PersistentNodeData) -> SecretResult<()> { - tracing::debug!("storing PersistentNodeData using DiskNodeStorage"); + tracing::info!("storing PersistentNodeData using DiskNodeStorage"); let mut file = File::create(self.path.as_os_str()).await?; // Serialize the person object to JSON and convert directly to bytes let json_bytes = serde_json::to_vec(data)?; @@ -114,10 +114,10 @@ impl SecretNodeStorage for DiskNodeStorage { Ok(mut file) => { let mut contents = Vec::new(); // Read the contents of the file into the vector - tracing::debug!("loading PersistentNodeData using DiskNodeStorage: reading"); + tracing::info!("loading PersistentNodeData using DiskNodeStorage: reading"); file.read_to_end(&mut contents).await?; - tracing::debug!("loading PersistentNodeData using DiskNodeStorage: read done"); + tracing::info!("loading PersistentNodeData using DiskNodeStorage: read done"); // Deserialize the JSON content to a PersistentNodeData object let data: PersistentNodeData = serde_json::from_slice(&contents)?; diff --git a/chain-signatures/node/src/web/mod.rs b/chain-signatures/node/src/web/mod.rs index c38e2b4c6..9161b05a1 100644 --- a/chain-signatures/node/src/web/mod.rs +++ b/chain-signatures/node/src/web/mod.rs @@ -32,7 +32,7 @@ pub async fn run( protocol_state: Arc>, indexer: Indexer, ) -> anyhow::Result<()> { - tracing::debug!("running a node"); + tracing::info!("running a node"); let axum_state = AxumState { sender, protocol_state, @@ -129,7 +129,7 @@ pub enum StateView { #[tracing::instrument(level = "debug", skip_all)] async fn state(Extension(state): Extension>) -> Result> { - tracing::trace!("fetching state"); + tracing::debug!("fetching state"); let latest_block_height = state.indexer.latest_block_height().await; let is_stable = state.indexer.is_on_track().await; let protocol_state = state.protocol_state.read().await; diff --git a/infra/modules/mig_template/main.tf b/infra/modules/mig_template/main.tf index 87192d85c..2ce1def6c 100644 --- a/infra/modules/mig_template/main.tf +++ b/infra/modules/mig_template/main.tf @@ -156,6 +156,7 @@ resource "google_compute_instance_template" "tpl" { lifecycle { create_before_destroy = "true" + ignore_changes = [ disk[0].source_image, labels ] } scheduling { diff --git a/infra/multichain-dev/main.tf b/infra/multichain-dev/main.tf index 25e5ac5e8..b864fa427 100644 --- a/infra/multichain-dev/main.tf +++ b/infra/multichain-dev/main.tf @@ -83,7 +83,7 @@ module "mig_template" { scopes = ["cloud-platform"] } name_prefix = "multichain-${count.index}" - source_image_family = "cos-stable" + source_image_family = "cos-113-lts" source_image_project = "cos-cloud" machine_type = "n2-standard-2" diff --git a/infra/multichain-dev/terraform-dev.tfvars b/infra/multichain-dev/terraform-dev.auto.tfvars similarity index 66% rename from infra/multichain-dev/terraform-dev.tfvars rename to infra/multichain-dev/terraform-dev.auto.tfvars index 2b4a89488..f2113d8ce 100644 --- a/infra/multichain-dev/terraform-dev.tfvars +++ b/infra/multichain-dev/terraform-dev.auto.tfvars @@ -72,4 +72,40 @@ node_configs = [ sk_share_secret_id = "multichain-sk-share-dev-7" ip_address = "10.100.0.123" }, + { + account = "multichain-node-dev-8.testnet" + cipher_pk = "8d3b1457e03bc3a049f0ab5fface7cbb243c2bd41a0fbf39b201b4a4ff45c073" + account_sk_secret_id = "multichain-account-sk-dev-8" + cipher_sk_secret_id = "multichain-cipher-sk-dev-8" + sign_sk_secret_id = "multichain-sign-sk-dev-8" + sk_share_secret_id = "multichain-sk-share-dev-8" + ip_address = "10.100.0.125" + }, + { + account = "multichain-node-dev-9.testnet" + cipher_pk = "0f93411813e884ab3274c97ec68e20eeb601c488eabc3acd721bdc15ff30ac69" + account_sk_secret_id = "multichain-account-sk-dev-9" + cipher_sk_secret_id = "multichain-cipher-sk-dev-9" + sign_sk_secret_id = "multichain-sign-sk-dev-9" + sk_share_secret_id = "multichain-sk-share-dev-9" + ip_address = "10.100.0.126" + }, + { + account = "multichain-node-dev-10.testnet" + cipher_pk = "b8775fef8efff687f6dfef4377b619d78fd328302516a46162c6690b97bcaf2a" + account_sk_secret_id = "multichain-account-sk-dev-10" + cipher_sk_secret_id = "multichain-cipher-sk-dev-10" + sign_sk_secret_id = "multichain-sign-sk-dev-10" + sk_share_secret_id = "multichain-sk-share-dev-10" + ip_address = "10.100.0.127" + }, + { + account = "multichain-node-dev-11.testnet" + cipher_pk = "cfa7a48082f1aa74858dcc8136f8e393c0b93d451ee3dc96203bfe025381a12e" + account_sk_secret_id = "multichain-account-sk-dev-11" + cipher_sk_secret_id = "multichain-cipher-sk-dev-11" + sign_sk_secret_id = "multichain-sign-sk-dev-11" + sk_share_secret_id = "multichain-sk-share-dev-11" + ip_address = "10.100.0.128" + }, ] diff --git a/infra/multichain-dev/variables.tf b/infra/multichain-dev/variables.tf index 495627229..37426e8dc 100644 --- a/infra/multichain-dev/variables.tf +++ b/infra/multichain-dev/variables.tf @@ -99,7 +99,7 @@ variable "static_env" { }, { name = "MPC_INDEXER_START_BLOCK_HEIGHT" - value = 159307004 + value = 175970237 }, { name = "AWS_DEFAULT_REGION" diff --git a/infra/multichain-testnet/main.tf b/infra/multichain-testnet/main.tf index 7442aceb9..176e9df8a 100644 --- a/infra/multichain-testnet/main.tf +++ b/infra/multichain-testnet/main.tf @@ -106,7 +106,7 @@ module "ig_template" { source_image_project = "cos-cloud" machine_type = "n2d-standard-2" - startup_script = "docker rm watchtower ; docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --debug --interval 3600" + startup_script = "docker rm watchtower ; docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --debug --interval 30" source_image = reverse(split("/", module.gce-container[count.index].source_image))[0] metadata = merge(var.additional_metadata, { "gce-container-declaration" = module.gce-container["${count.index}"].metadata_value }) diff --git a/infra/partner-mainnet/main.tf b/infra/partner-mainnet/main.tf index 247d59157..8f15b1bb0 100644 --- a/infra/partner-mainnet/main.tf +++ b/infra/partner-mainnet/main.tf @@ -4,6 +4,11 @@ provider "google" { provider "google-beta" { project = var.project_id } + +resource "google_compute_project_metadata_item" "project_logging" { + key = "google-logging-enabled" + value = "true" +} module "gce-container" { count = length(var.node_configs) source = "terraform-google-modules/container-vm/google" diff --git a/infra/partner-testnet/main.tf b/infra/partner-testnet/main.tf index f5471036b..28367b919 100644 --- a/infra/partner-testnet/main.tf +++ b/infra/partner-testnet/main.tf @@ -4,6 +4,11 @@ provider "google" { provider "google-beta" { project = var.project_id } + +resource "google_compute_project_metadata_item" "project_logging" { + key = "google-logging-enabled" + value = "true" +} module "gce-container" { count = length(var.node_configs) source = "terraform-google-modules/container-vm/google" @@ -103,7 +108,7 @@ module "ig_template" { source_image_project = "cos-cloud" machine_type = "n2d-standard-2" - startup_script = "docker rm watchtower ; docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --debug --interval 3600" + startup_script = "docker rm watchtower ; docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --debug --interval 30" source_image = reverse(split("/", module.gce-container[count.index].source_image))[0] metadata = merge(var.additional_metadata, { "gce-container-declaration" = module.gce-container["${count.index}"].metadata_value }) diff --git a/integration-tests/chain-signatures/Cargo.lock b/integration-tests/chain-signatures/Cargo.lock index 9d1f22678..e76ab76df 100644 --- a/integration-tests/chain-signatures/Cargo.lock +++ b/integration-tests/chain-signatures/Cargo.lock @@ -12,62 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "actix" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de7fa236829ba0841304542f7614c42b80fca007455315c45c785ccfa873a85b" -dependencies = [ - "actix-macros", - "actix-rt", - "actix_derive", - "bitflags 2.5.0", - "bytes", - "crossbeam-channel", - "futures-core", - "futures-sink", - "futures-task", - "futures-util", - "log", - "once_cell", - "parking_lot", - "pin-project-lite", - "smallvec", - "tokio", - "tokio-util 0.7.11", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn 2.0.66", -] - -[[package]] -name = "actix-rt" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7db3d5a9718568e4cf4a537cfd7070e6e6ff7481510d0237fb529ac850f6d3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -100,7 +44,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -112,7 +56,7 @@ checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", "aes", - "cipher 0.4.4", + "cipher", "ctr", "ghash", "subtle", @@ -244,22 +188,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" -dependencies = [ - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "1.9.0" @@ -395,17 +323,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "async-signal" version = "0.2.8" @@ -469,17 +386,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auto_impl" version = "1.2.0" @@ -523,7 +429,7 @@ dependencies = [ "aws-types", "bytes", "fastrand 2.1.0", - "hex 0.4.3", + "hex", "http 0.2.12", "hyper 0.14.29", "ring", @@ -592,15 +498,15 @@ dependencies = [ "aws-types", "bytes", "fastrand 2.1.0", - "hex 0.4.3", - "hmac 0.12.1", + "hex", + "hmac", "http 0.2.12", "http-body 0.4.6", "lru 0.12.3", "once_cell", "percent-encoding 2.3.1", "regex-lite", - "sha2 0.10.8", + "sha2", "tracing", "url 2.5.1", ] @@ -686,15 +592,15 @@ dependencies = [ "bytes", "crypto-bigint 0.5.5", "form_urlencoded", - "hex 0.4.3", - "hmac 0.12.1", + "hex", + "hmac", "http 0.2.12", "http 1.1.0", "once_cell", "p256 0.11.1", "percent-encoding 2.3.1", "ring", - "sha2 0.10.8", + "sha2", "subtle", "time", "tracing", @@ -723,13 +629,13 @@ dependencies = [ "bytes", "crc32c", "crc32fast", - "hex 0.4.3", + "hex", "http 0.2.12", "http-body 0.4.6", "md-5", "pin-project-lite", "sha1", - "sha2 0.10.8", + "sha2", "tracing", ] @@ -796,7 +702,7 @@ dependencies = [ "aws-smithy-types", "bytes", "fastrand 2.1.0", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "http-body 1.0.0", @@ -851,7 +757,7 @@ dependencies = [ "serde", "time", "tokio", - "tokio-util 0.7.11", + "tokio-util", ] [[package]] @@ -1031,7 +937,7 @@ dependencies = [ "dirs-next", "flate2", "fs2", - "hex 0.4.3", + "hex", "is_executable", "siphasher", "tar", @@ -1039,25 +945,6 @@ dependencies = [ "zip 0.6.6", ] -[[package]] -name = "bip39" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" - [[package]] name = "bitflags" version = "1.3.2" @@ -1082,17 +969,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "blake2" version = "0.10.6" @@ -1120,15 +996,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - [[package]] name = "blocking" version = "1.6.1" @@ -1153,7 +1020,7 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "hex 0.4.3", + "hex", "http 0.2.12", "hyper 0.14.29", "hyperlocal", @@ -1165,7 +1032,7 @@ dependencies = [ "serde_urlencoded", "thiserror", "tokio", - "tokio-util 0.7.11", + "tokio-util", "url 2.5.1", "winapi", ] @@ -1197,7 +1064,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.66", @@ -1295,16 +1162,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "c2-chacha" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" -dependencies = [ - "cipher 0.2.5", - "ppv-lite86", -] - [[package]] name = "cait-sith" version = "0.8.0" @@ -1335,39 +1192,27 @@ dependencies = [ ] [[package]] -name = "cargo-near" -version = "0.5.2" +name = "cargo-near-build" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02835fdf82de4345b21f542e9ddb61786513d05e4c9722db74871de321d8d728" +checksum = "cd00f13698319e43d9af5b1afc7045131342f3097dd78320a09bb6303bbf2d06" dependencies = [ - "atty", - "bs58 0.4.0", + "bs58 0.5.1", "camino", "cargo_metadata", - "clap", - "color-eyre", "colored", - "derive_more", "dunce", - "env_logger 0.9.3", - "inquire", - "interactive-clap", - "interactive-clap-derive", + "eyre", + "hex", "libloading", - "linked-hash-map", - "log", - "names", "near-abi", - "near-cli-rs", "rustc_version", "schemars", "serde_json", - "sha2 0.10.8", - "shell-words", - "strum 0.24.1", - "strum_macros 0.24.3", + "sha2", "symbolic-debuginfo", - "zstd 0.11.2+zstd.1.5.2", + "tracing", + "zstd 0.13.1", ] [[package]] @@ -1379,48 +1224,18 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo-util" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a51c783163bdf4549820b80968d386c94ed45ed23819c93f59cca7ebd97fe0eb" -dependencies = [ - "anyhow", - "core-foundation", - "crypto-hash", - "filetime", - "hex 0.4.3", - "jobserver", - "libc", - "log", - "miow", - "same-file", - "shell-escape", - "tempfile", - "walkdir", - "winapi", -] - [[package]] name = "cargo_metadata" -version = "0.14.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", "semver", "serde", "serde_json", -] - -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher 0.4.4", + "thiserror", ] [[package]] @@ -1459,7 +1274,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -1471,7 +1286,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", - "cipher 0.4.4", + "cipher", "poly1305", "zeroize", ] @@ -1491,15 +1306,6 @@ dependencies = [ "windows-targets 0.52.5", ] -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array", -] - [[package]] name = "cipher" version = "0.4.4" @@ -1562,33 +1368,6 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" -[[package]] -name = "color-eyre" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] - [[package]] name = "colorchoice" version = "1.0.1" @@ -1605,24 +1384,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "commoncrypto" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007" -dependencies = [ - "commoncrypto-sys", -] - -[[package]] -name = "commoncrypto-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2" -dependencies = [ - "libc", -] - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1640,7 +1401,7 @@ checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "hex 0.4.3", + "hex", "proptest", "serde", ] @@ -1713,44 +1474,29 @@ dependencies = [ ] [[package]] -name = "crossbeam-channel" -version = "0.5.13" +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ + "crossbeam-epoch", "crossbeam-utils", ] [[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.25.0" +name = "crossbeam-epoch" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", + "crossbeam-utils", ] [[package]] -name = "crossterm_winapi" -version = "0.9.1" +name = "crossbeam-utils" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1793,38 +1539,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-hash" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca" -dependencies = [ - "commoncrypto", - "hex 0.3.2", - "openssl", - "winapi", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "crypto-shared" version = "0.1.0" @@ -1841,61 +1555,26 @@ dependencies = [ "subtle", ] -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - [[package]] name = "ctr" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", + "cipher", ] [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rand_core 0.6.4", "rustc_version", "subtle", @@ -2058,21 +1737,10 @@ dependencies = [ ] [[package]] -name = "derivative" -version = "2.2.0" +name = "derive_arbitrary" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", @@ -2144,15 +1812,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -2163,18 +1822,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -2221,12 +1868,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" -[[package]] -name = "easy-ext" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5d6d6a8504f8caedd7de14576464383900cd3840b7033a7a3dce5ac00121ca" - [[package]] name = "ecdsa" version = "0.14.8" @@ -2254,15 +1895,6 @@ dependencies = [ "spki 0.7.3", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -2272,30 +1904,16 @@ dependencies = [ "signature 2.2.0", ] -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-dalek" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", - "sha2 0.10.8", + "sha2", "subtle", ] @@ -2356,12 +1974,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - [[package]] name = "encoding_rs" version = "0.8.34" @@ -2391,27 +2003,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "enumflags2" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "env_filter" version = "0.1.0" @@ -2421,19 +2012,6 @@ dependencies = [ "log", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.11.3" @@ -2469,7 +2047,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" dependencies = [ "ethereum-types", - "hex 0.4.3", + "hex", "once_cell", "regex", "serde", @@ -2665,12 +2243,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" version = "1.0.30" @@ -2681,6 +2253,15 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "fnv" version = "1.0.7" @@ -3026,7 +2607,26 @@ dependencies = [ "indexmap 2.2.6", "slab", "tokio", - "tokio-util 0.7.11", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", "tracing", ] @@ -3073,15 +2673,6 @@ dependencies = [ "http 0.2.12", ] -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.1" @@ -3094,15 +2685,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.9" @@ -3115,12 +2697,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" -[[package]] -name = "hex" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" - [[package]] name = "hex" version = "0.4.3" @@ -3142,17 +2718,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hmac" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" -dependencies = [ - "crypto-mac 0.9.1", - "digest 0.9.0", + "hmac", ] [[package]] @@ -3186,11 +2752,11 @@ dependencies = [ "digest 0.10.7", "generic-array", "hkdf", - "hmac 0.12.1", + "hmac", "p256 0.13.2", "rand_core 0.6.4", "serde", - "sha2 0.10.8", + "sha2", "subtle", "x25519-dalek", "zeroize", @@ -3264,12 +2830,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.29" @@ -3280,7 +2840,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -3303,6 +2863,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.0", "httparse", @@ -3364,18 +2925,6 @@ dependencies = [ "webpki-roots", ] -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper 0.14.29", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - [[package]] name = "hyper-tls" version = "0.5.0" @@ -3432,7 +2981,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c" dependencies = [ "futures-util", - "hex 0.4.3", + "hex", "hyper 0.14.29", "pin-project", "tokio", @@ -3449,7 +2998,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -3696,26 +3245,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "block-padding", "generic-array", ] -[[package]] -name = "inquire" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33e7c1ddeb15c9abcbfef6029d8e29f69b52b6d6c891031b88ed91b5065803b" -dependencies = [ - "bitflags 1.3.2", - "crossterm", - "dyn-clone", - "lazy_static", - "newline-converter", - "thiserror", - "unicode-segmentation", - "unicode-width", -] - [[package]] name = "instant" version = "0.1.13" @@ -3742,7 +3274,7 @@ dependencies = [ "futures", "generic-array", "glob", - "hex 0.4.3", + "hex", "hyper 0.14.29", "k256", "lazy_static", @@ -3750,12 +3282,12 @@ dependencies = [ "mpc-keys", "mpc-node", "near-account-id", - "near-crypto 0.23.0", + "near-crypto 0.26.0", "near-fetch", - "near-jsonrpc-client 0.10.1", - "near-lake-framework 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40)", - "near-lake-primitives 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40)", - "near-primitives 0.23.0", + "near-jsonrpc-client", + "near-lake-framework", + "near-lake-primitives", + "near-primitives 0.26.0", "near-workspaces", "once_cell", "rand 0.7.3", @@ -3763,6 +3295,7 @@ dependencies = [ "secp256k1 0.28.2", "serde", "serde_json", + "shell-escape", "test-log", "testcontainers", "thiserror", @@ -3773,29 +3306,6 @@ dependencies = [ "web3", ] -[[package]] -name = "interactive-clap" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7295a8d03a71e15612a524a8e1dec1a913459e0000e530405f20d09fb0f014f7" -dependencies = [ - "interactive-clap-derive", - "strum 0.24.1", - "strum_macros 0.24.3", -] - -[[package]] -name = "interactive-clap-derive" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a0c8d4a6b99054853778e3e9ffb0b74bcb5e8f43d99d97e5c0252c57ce67bf6" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -3813,36 +3323,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-terminal" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - [[package]] name = "is_executable" version = "0.1.2" @@ -3908,10 +3388,11 @@ dependencies = [ [[package]] name = "json-patch" -version = "1.4.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b" +checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" dependencies = [ + "jsonptr", "serde", "serde_json", "thiserror", @@ -3923,6 +3404,17 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" +[[package]] +name = "jsonptr" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6e529149475ca0b2820835d3dce8fcc41c6b943ca608d32f35b449255e4627" +dependencies = [ + "fluent-uri", + "serde", + "serde_json", +] + [[package]] name = "jsonrpc-core" version = "18.0.0" @@ -3949,7 +3441,7 @@ dependencies = [ "elliptic-curve 0.13.8", "once_cell", "serdect", - "sha2 0.10.8", + "sha2", "signature 2.2.0", ] @@ -3962,20 +3454,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "keyring" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" -dependencies = [ - "byteorder", - "lazy_static", - "linux-keyutils", - "secret-service", - "security-framework", - "windows-sys 0.52.0", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3999,12 +3477,12 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if 1.0.0", - "winapi", + "windows-targets 0.52.5", ] [[package]] @@ -4023,25 +3501,6 @@ dependencies = [ "libc", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -dependencies = [ - "serde", -] - -[[package]] -name = "linux-keyutils" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" -dependencies = [ - "bitflags 2.5.0", - "libc", -] - [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -4162,33 +3621,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "memory_units" version = "0.4.0" @@ -4223,28 +3655,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.48.0", ] [[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi", -] - -[[package]] -name = "mpc-contract" -version = "1.0.0-rc.4" +name = "mpc-contract" +version = "1.0.0-rc.5" dependencies = [ "borsh", "crypto-shared", "k256", - "near-gas", + "near-gas 0.2.5", "near-sdk", "schemars", "serde", @@ -4264,7 +3686,7 @@ dependencies = [ [[package]] name = "mpc-node" -version = "1.0.0-rc.4" +version = "1.0.0-rc.5" dependencies = [ "anyhow", "async-trait", @@ -4279,7 +3701,7 @@ dependencies = [ "crypto-shared", "google-datastore1", "google-secretmanager1", - "hex 0.4.3", + "hex", "highway", "hkdf", "http 1.1.0", @@ -4291,11 +3713,11 @@ dependencies = [ "mpc-contract", "mpc-keys", "near-account-id", - "near-crypto 0.23.0", + "near-crypto 0.26.0", "near-fetch", - "near-lake-framework 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run)", - "near-lake-primitives 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run)", - "near-primitives 0.23.0", + "near-lake-framework", + "near-lake-primitives", + "near-primitives 0.26.0", "near-sdk", "once_cell", "prometheus", @@ -4304,8 +3726,9 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "sha3", + "sysinfo", "thiserror", "tokio", "tokio-retry", @@ -4315,21 +3738,6 @@ dependencies = [ "url 2.5.1", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "names" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" -dependencies = [ - "rand 0.8.5", -] - [[package]] name = "native-tls" version = "0.2.12" @@ -4409,138 +3817,36 @@ dependencies = [ "serde", ] -[[package]] -name = "near-async" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754fd9af13f1241520e8fc4831ff5c582ee00a6b1221c0cbd8bf43d059ed6e04" -dependencies = [ - "actix", - "derive_more", - "futures", - "near-async-derive", - "near-o11y 0.23.0", - "near-performance-metrics", - "near-time", - "once_cell", - "serde", - "serde_json", - "time", - "tokio", -] - -[[package]] -name = "near-async-derive" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a47ae519ceed7636e3d9328fd7d1bcbda9a28eccee73315e0a3139e99aa1232" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "near-chain-configs" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e5a8ace81c09d7eb165dffc1742358a021b2fa761f2160943305f83216003" -dependencies = [ - "anyhow", - "bytesize", - "chrono", - "derive_more", - "near-config-utils 0.20.1", - "near-crypto 0.20.1", - "near-parameters 0.20.1", - "near-primitives 0.20.1", - "num-rational 0.3.2", - "once_cell", - "serde", - "serde_json", - "sha2 0.10.8", - "smart-default 0.6.0", - "tracing", -] - -[[package]] -name = "near-chain-configs" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75447355021100158c2e5fc151a0f6728e794b98cb411874f89fc5fb9f386cd2" +checksum = "0784e55d9dee91ca830c6199d15ad18fc628f930a5d0946bb0949956026dd64f" dependencies = [ "anyhow", "bytesize", "chrono", "derive_more", - "near-async", - "near-config-utils 0.23.0", - "near-crypto 0.23.0", - "near-parameters 0.23.0", - "near-primitives 0.23.0", - "num-rational 0.3.2", + "near-config-utils 0.26.0", + "near-crypto 0.26.0", + "near-parameters 0.26.0", + "near-primitives 0.26.0", + "near-time 0.26.0", + "num-rational", "once_cell", "serde", "serde_json", - "sha2 0.10.8", - "smart-default 0.6.0", + "sha2", + "smart-default", "time", "tracing", ] -[[package]] -name = "near-cli-rs" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94799fd728fadc895daada6934016cb1fe3fc7e7a01200e5c88708ad8076a8a6" -dependencies = [ - "bip39", - "bs58 0.5.1", - "bytesize", - "cargo-util", - "clap", - "color-eyre", - "derive_more", - "dirs", - "easy-ext 1.0.2", - "ed25519-dalek 1.0.1", - "futures", - "hex 0.4.3", - "inquire", - "interactive-clap", - "interactive-clap-derive", - "keyring", - "linked-hash-map", - "near-crypto 0.20.1", - "near-gas", - "near-jsonrpc-client 0.8.0", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "near-socialdb-client", - "near-token", - "open", - "openssl", - "prettytable", - "reqwest 0.11.27", - "serde", - "serde_json", - "shell-words", - "shellexpand", - "slip10", - "smart-default 0.7.1", - "strum 0.24.1", - "strum_macros 0.24.3", - "thiserror", - "tokio", - "toml", - "url 2.5.1", -] - [[package]] name = "near-config-utils" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ae1eaab1d545a9be7a55b6ef09f365c2017f93a03063547591d12c0c6d27e58" +checksum = "43b3db4ac2d4340caef06b6363c3fd16c0be1f70267908dfa53e2e6241649b0c" dependencies = [ "anyhow", "json_comments", @@ -4550,9 +3856,9 @@ dependencies = [ [[package]] name = "near-config-utils" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b3db4ac2d4340caef06b6363c3fd16c0be1f70267908dfa53e2e6241649b0c" +checksum = "d96c1682d13e9a8a62ea696395bf17afc4ed4b60535223251168217098c27a50" dependencies = [ "anyhow", "json_comments", @@ -4562,24 +3868,22 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2991d2912218a80ec0733ac87f84fa803accea105611eea209d4419271957667" +checksum = "b9807fb257f7dda41383bb33e14cfd4a8840ffa7932cb972db9eabff19ce3bf4" dependencies = [ - "blake2 0.9.2", + "blake2", "borsh", "bs58 0.4.0", - "c2-chacha", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "derive_more", - "ed25519-dalek 2.1.1", - "hex 0.4.3", + "ed25519-dalek", + "hex", "near-account-id", - "near-config-utils 0.20.1", - "near-stdx 0.20.1", + "near-config-utils 0.23.0", + "near-stdx 0.23.0", "once_cell", "primitive-types 0.10.1", - "rand 0.7.3", "secp256k1 0.27.0", "serde", "serde_json", @@ -4589,22 +3893,23 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9807fb257f7dda41383bb33e14cfd4a8840ffa7932cb972db9eabff19ce3bf4" +checksum = "907fdcefa3a42976cd6a8bf626fe2a87eb0d3b3ff144adc67cf32d53c9494b32" dependencies = [ - "blake2 0.10.6", + "blake2", "borsh", "bs58 0.4.0", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "derive_more", - "ed25519-dalek 2.1.1", - "hex 0.4.3", + "ed25519-dalek", + "hex", "near-account-id", - "near-config-utils 0.23.0", - "near-stdx 0.23.0", + "near-config-utils 0.26.0", + "near-stdx 0.26.0", "once_cell", "primitive-types 0.10.1", + "rand 0.8.5", "secp256k1 0.27.0", "serde", "serde_json", @@ -4614,18 +3919,18 @@ dependencies = [ [[package]] name = "near-fetch" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82f56751beeb2537a222f1df033c8063ed4f41cab7cf1ba89723601e5a307e9" +checksum = "af19136e92e226674e696ebb935866b91d18a4b1488ed1ac183d18ff32273361" dependencies = [ "base64 0.22.1", "near-account-id", - "near-crypto 0.23.0", - "near-gas", - "near-jsonrpc-client 0.10.1", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", - "near-token", + "near-crypto 0.26.0", + "near-gas 0.3.0", + "near-jsonrpc-client", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", + "near-token 0.3.0", "serde", "serde_json", "thiserror", @@ -4635,20 +3940,20 @@ dependencies = [ [[package]] name = "near-fmt" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d998dfc1e04001608899b2498ad5a782c7d036b73769d510de21964db99286" +checksum = "00ce363e4078b870775e2a5a5189feae22f0870ca673f6409b1974922dada0c4" dependencies = [ - "near-primitives-core 0.20.1", + "near-primitives-core 0.23.0", ] [[package]] name = "near-fmt" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ce363e4078b870775e2a5a5189feae22f0870ca673f6409b1974922dada0c4" +checksum = "7a36518bfcf2177096d4298d9158ba698ffd6944cb035ecc0938b098337b933c" dependencies = [ - "near-primitives-core 0.23.0", + "near-primitives-core 0.26.0", ] [[package]] @@ -4658,72 +3963,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14e75c875026229902d065e4435804497337b631ec69ba746b102954273e9ad1" dependencies = [ "borsh", - "interactive-clap", "schemars", "serde", ] [[package]] -name = "near-indexer-primitives" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca85c74772338d1b8c8b8729ffa14dec44dacefa2ce367795f3de8846f2fdc06" -dependencies = [ - "near-primitives 0.23.0", - "serde", - "serde_json", -] - -[[package]] -name = "near-jsonrpc-client" -version = "0.8.0" +name = "near-gas" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18ad81e015f7aced8925d5b9ba3f369b36da9575c15812cfd0786bc1213284ca" +checksum = "180edcc7dc2fac41f93570d0c7b759c1b6d492f6ad093d749d644a40b4310a97" dependencies = [ "borsh", - "lazy_static", - "log", - "near-chain-configs 0.20.1", - "near-crypto 0.20.1", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "reqwest 0.11.27", + "schemars", "serde", - "serde_json", - "thiserror", ] [[package]] -name = "near-jsonrpc-client" -version = "0.10.0" -source = "git+https://github.com/near/near-jsonrpc-client-rs?branch=node/1.40#8fd16bd1cd0f0f19339edcd4b3ef238916e502d1" +name = "near-indexer-primitives" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f73dc123eaef5571c4704eb7da39e9ec398bdcb501236469f3ca06d60787bac" dependencies = [ - "borsh", - "lazy_static", - "log", - "near-chain-configs 0.23.0", - "near-crypto 0.23.0", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", - "reqwest 0.12.5", + "near-primitives 0.26.0", "serde", "serde_json", - "thiserror", ] [[package]] name = "near-jsonrpc-client" -version = "0.10.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b40b427519fcbf71be4de4cab4f6c201aa3e3fb212a4a54976596fa44b05711" +checksum = "161fdc8f73fd9e19a97e05acb10e985ba89bd06e88543cdfd0c8dad0dac266c5" dependencies = [ "borsh", "lazy_static", "log", - "near-chain-configs 0.23.0", - "near-crypto 0.23.0", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", + "near-chain-configs", + "near-crypto 0.26.0", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", "reqwest 0.12.5", "serde", "serde_json", @@ -4732,31 +4010,15 @@ dependencies = [ [[package]] name = "near-jsonrpc-primitives" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ce745e954ae776eef05957602e638ee9581106a3675946fb43c2fe7e38ef03" -dependencies = [ - "arbitrary", - "near-chain-configs 0.20.1", - "near-crypto 0.20.1", - "near-primitives 0.20.1", - "near-rpc-error-macro 0.20.1", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "near-jsonrpc-primitives" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e30db3829a8880847d7f3f64828f11133ba9102d2df382a2d916ec1553270df" +checksum = "2b24bfd0fedef42e07daa79e463a7908e9abee4f6de3532e0e1dde45f6951657" dependencies = [ "arbitrary", - "near-chain-configs 0.23.0", - "near-crypto 0.23.0", - "near-primitives 0.23.0", - "near-rpc-error-macro 0.23.0", + "near-chain-configs", + "near-crypto 0.26.0", + "near-primitives 0.26.0", + "near-rpc-error-macro 0.26.0", "serde", "serde_json", "thiserror", @@ -4766,48 +4028,16 @@ dependencies = [ [[package]] name = "near-lake-context-derive" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40#f1f69235a901f5fd9ff74632ed20c349411de0d7" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "quote", "syn 2.0.66", ] -[[package]] -name = "near-lake-context-derive" -version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" -dependencies = [ - "quote", - "syn 2.0.66", -] - -[[package]] -name = "near-lake-framework" -version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40#f1f69235a901f5fd9ff74632ed20c349411de0d7" -dependencies = [ - "async-stream", - "async-trait", - "aws-config", - "aws-credential-types", - "aws-sdk-s3", - "aws-types", - "derive_builder", - "futures", - "near-lake-context-derive 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40)", - "near-lake-primitives 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40)", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-stream", - "tracing", -] - [[package]] name = "near-lake-framework" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "async-stream", "async-trait", @@ -4817,8 +4047,8 @@ dependencies = [ "aws-types", "derive_builder", "futures", - "near-lake-context-derive 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run)", - "near-lake-primitives 0.8.0-beta.3 (git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run)", + "near-lake-context-derive", + "near-lake-primitives", "serde", "serde_json", "thiserror", @@ -4830,102 +4060,30 @@ dependencies = [ [[package]] name = "near-lake-primitives" version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40#f1f69235a901f5fd9ff74632ed20c349411de0d7" +source = "git+https://github.com/near/near-lake-framework-rs?branch=node/2.3.0#d452f5be481cf6ae6627333aa97a506434c5bc9a" dependencies = [ "anyhow", - "near-crypto 0.23.0", + "near-crypto 0.26.0", "near-indexer-primitives", - "near-primitives 0.23.0", - "near-primitives-core 0.23.0", + "near-primitives 0.26.0", + "near-primitives-core 0.26.0", "paste", "serde", "serde_json", "thiserror", ] -[[package]] -name = "near-lake-primitives" -version = "0.8.0-beta.3" -source = "git+https://github.com/near/near-lake-framework-rs?branch=node/1.40-and-async-run#b6fef9886f874ed83006d7ed09eecf22a7ff6624" -dependencies = [ - "anyhow", - "near-crypto 0.23.0", - "near-indexer-primitives", - "near-primitives 0.23.0", - "near-primitives-core 0.23.0", - "paste", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "near-o11y" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20762631bc8253030013bbae9b5f0542691edc1aa6722f1e8141cc9b928ae5b" -dependencies = [ - "actix", - "base64 0.21.7", - "clap", - "near-crypto 0.20.1", - "near-fmt 0.20.1", - "near-primitives-core 0.20.1", - "once_cell", - "opentelemetry 0.17.0", - "opentelemetry-otlp 0.10.0", - "opentelemetry-semantic-conventions 0.9.0", - "prometheus", - "serde", - "serde_json", - "strum 0.24.1", - "thiserror", - "tokio", - "tracing", - "tracing-appender", - "tracing-opentelemetry 0.17.4", - "tracing-subscriber", -] - -[[package]] -name = "near-o11y" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2847f81f7a4c996d583c377f8196a8d05d74ee7535678c20beef0f80304c48b1" -dependencies = [ - "actix", - "base64 0.21.7", - "clap", - "near-crypto 0.23.0", - "near-primitives-core 0.23.0", - "once_cell", - "opentelemetry 0.22.0", - "opentelemetry-otlp 0.15.0", - "opentelemetry-semantic-conventions 0.14.0", - "opentelemetry_sdk", - "prometheus", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-appender", - "tracing-opentelemetry 0.23.0", - "tracing-subscriber", -] - [[package]] name = "near-parameters" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f16a59b6c3e69b0585be951af6fe42a0ba86c0e207cb8c63badd19efd16680" +checksum = "fddf39f5f729976a791d86e0e30a71ec4d8e8dcf58117c8694e7b22fb3f50ee6" dependencies = [ - "assert_matches", "borsh", "enum-map", "near-account-id", - "near-primitives-core 0.20.1", - "num-rational 0.3.2", + "near-primitives-core 0.23.0", + "num-rational", "serde", "serde_repr", "serde_yaml", @@ -4935,15 +4093,15 @@ dependencies = [ [[package]] name = "near-parameters" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddf39f5f729976a791d86e0e30a71ec4d8e8dcf58117c8694e7b22fb3f50ee6" +checksum = "e41afea5c5e84763586bafc5f5e1b63d90ef4e5454e18406cab8df120178db8d" dependencies = [ "borsh", "enum-map", "near-account-id", - "near-primitives-core 0.23.0", - "num-rational 0.3.2", + "near-primitives-core 0.26.0", + "num-rational", "serde", "serde_repr", "serde_yaml", @@ -4951,48 +4109,32 @@ dependencies = [ "thiserror", ] -[[package]] -name = "near-performance-metrics" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42166c93c35457d16a3a6c7b9b511bea790bcb4a35a41d4c5218b1fb9a46702a" -dependencies = [ - "actix", - "bitflags 1.3.2", - "bytes", - "futures", - "libc", - "once_cell", - "tokio", - "tokio-util 0.7.11", - "tracing", -] - [[package]] name = "near-primitives" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0462b067732132babcc89d5577db3bfcb0a1bcfbaaed3f2db4c11cd033666314" +checksum = "d58c175262923db9885ed0347e96ec3bcbec57825e3b6d7de03da220f5e14ef5" dependencies = [ "arbitrary", "base64 0.21.7", "borsh", + "bytes", "bytesize", "cfg-if 1.0.0", "chrono", "derive_more", - "easy-ext 0.2.9", + "easy-ext", "enum-map", - "hex 0.4.3", - "near-crypto 0.20.1", - "near-fmt 0.20.1", - "near-o11y 0.20.1", - "near-parameters 0.20.1", - "near-primitives-core 0.20.1", - "near-rpc-error-macro 0.20.1", - "near-stdx 0.20.1", - "near-vm-runner 0.20.1", - "num-rational 0.3.2", + "hex", + "itertools 0.10.5", + "near-crypto 0.23.0", + "near-fmt 0.23.0", + "near-parameters 0.23.0", + "near-primitives-core 0.23.0", + "near-rpc-error-macro 0.23.0", + "near-stdx 0.23.0", + "near-time 0.23.0", + "num-rational", "once_cell", "primitive-types 0.10.1", "rand 0.8.5", @@ -5001,20 +4143,19 @@ dependencies = [ "serde", "serde_json", "serde_with 3.8.1", - "serde_yaml", "sha3", - "smart-default 0.6.0", + "smart-default", "strum 0.24.1", "thiserror", - "time", "tracing", + "zstd 0.13.1", ] [[package]] name = "near-primitives" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c175262923db9885ed0347e96ec3bcbec57825e3b6d7de03da220f5e14ef5" +checksum = "165c2dc0fc20d839cfd7948d930ef5e8a4ed2b095abe83e0076ef5d4a5df58ed" dependencies = [ "arbitrary", "base64 0.21.7", @@ -5024,28 +4165,29 @@ dependencies = [ "cfg-if 1.0.0", "chrono", "derive_more", - "easy-ext 0.2.9", + "easy-ext", "enum-map", - "hex 0.4.3", + "hex", "itertools 0.10.5", - "near-crypto 0.23.0", - "near-fmt 0.23.0", - "near-parameters 0.23.0", - "near-primitives-core 0.23.0", - "near-rpc-error-macro 0.23.0", - "near-stdx 0.23.0", - "near-time", - "num-rational 0.3.2", + "near-crypto 0.26.0", + "near-fmt 0.26.0", + "near-parameters 0.26.0", + "near-primitives-core 0.26.0", + "near-rpc-error-macro 0.26.0", + "near-stdx 0.26.0", + "near-structs-checker-lib", + "near-time 0.26.0", + "num-rational", "once_cell", + "ordered-float", "primitive-types 0.10.1", "rand 0.8.5", "rand_chacha 0.3.1", - "reed-solomon-erasure", "serde", "serde_json", "serde_with 3.8.1", "sha3", - "smart-default 0.6.0", + "smart-default", "strum 0.24.1", "thiserror", "tracing", @@ -5054,9 +4196,9 @@ dependencies = [ [[package]] name = "near-primitives-core" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8443eb718606f572c438be6321a097a8ebd69f8e48d953885b4f16601af88225" +checksum = "45de00d413f5bb890a3912f32fcd0974b2b0a975cc7874012e2c4c4fa7f28917" dependencies = [ "arbitrary", "base64 0.21.7", @@ -5065,20 +4207,18 @@ dependencies = [ "derive_more", "enum-map", "near-account-id", - "num-rational 0.3.2", + "num-rational", "serde", "serde_repr", - "serde_with 3.8.1", - "sha2 0.10.8", - "strum 0.24.1", + "sha2", "thiserror", ] [[package]] name = "near-primitives-core" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45de00d413f5bb890a3912f32fcd0974b2b0a975cc7874012e2c4c4fa7f28917" +checksum = "51fd53f992168589c52022dd220c84a7f2ede92251631a06a3817e4b22af5836" dependencies = [ "arbitrary", "base64 0.21.7", @@ -5087,18 +4227,19 @@ dependencies = [ "derive_more", "enum-map", "near-account-id", - "num-rational 0.3.2", + "near-structs-checker-lib", + "num-rational", "serde", "serde_repr", - "sha2 0.10.8", + "sha2", "thiserror", ] [[package]] name = "near-rpc-error-core" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80fca203c51edd9595ec14db1d13359fb9ede32314990bf296b6c5c4502f6ab7" +checksum = "cf41b149dcc1f5a35d6a96fbcd8c28c92625c05b52025a72ee7378c72bcd68ce" dependencies = [ "quote", "serde", @@ -5107,9 +4248,9 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41b149dcc1f5a35d6a96fbcd8c28c92625c05b52025a72ee7378c72bcd68ce" +checksum = "df598b0785a3e36d7e4fb73afcdf20536988b13d07cead71dfa777db4783e552" dependencies = [ "quote", "serde", @@ -5118,32 +4259,31 @@ dependencies = [ [[package]] name = "near-rpc-error-macro" -version = "0.20.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897a445de2102f6732c8a185d922f5e3bf7fd0a41243ce40854df2197237f799" +checksum = "73c7f0f12f426792dd2c9d83df43d73c3b15d80f6e99e8d0e16ff3e024d0f9ba" dependencies = [ - "fs2", - "near-rpc-error-core 0.20.1", + "near-rpc-error-core 0.23.0", "serde", "syn 2.0.66", ] [[package]] name = "near-rpc-error-macro" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c7f0f12f426792dd2c9d83df43d73c3b15d80f6e99e8d0e16ff3e024d0f9ba" +checksum = "647ef261df99ad877c08c97af2f10368c8b8cde0968250d3482a5a249e9f3926" dependencies = [ - "near-rpc-error-core 0.23.0", + "near-rpc-error-core 0.26.0", "serde", "syn 2.0.66", ] [[package]] name = "near-sandbox-utils" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecb6dd8d04afe14c5aa944218c63f3106b4dde7099c8841ce22fbbd32580ccd2" +checksum = "000a28599729f4d584eff6a7e8c5919d7938dceeb2752ea9cdaf408444309a2a" dependencies = [ "anyhow", "binary-install", @@ -5163,14 +4303,14 @@ dependencies = [ "bs58 0.5.1", "near-account-id", "near-crypto 0.23.0", - "near-gas", + "near-gas 0.2.5", "near-parameters 0.23.0", "near-primitives 0.23.0", "near-primitives-core 0.23.0", "near-sdk-macros", "near-sys", - "near-token", - "near-vm-runner 0.23.0", + "near-token 0.2.0", + "near-vm-runner", "once_cell", "serde", "serde_json", @@ -5195,33 +4335,38 @@ dependencies = [ ] [[package]] -name = "near-socialdb-client" -version = "0.2.2" +name = "near-stdx" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaf5ca57fd62d678cb67183d1d31e6bbb04b98abc45fd57b986962d97ad8c4a" -dependencies = [ - "color-eyre", - "near-crypto 0.20.1", - "near-jsonrpc-client 0.8.0", - "near-jsonrpc-primitives 0.20.1", - "near-primitives 0.20.1", - "near-token", - "serde", - "serde_json", - "url 2.5.1", -] +checksum = "29e1897481272eb144328abd51ca9f59b5b558e7a6dc6e2177c8c9bb18fbd818" [[package]] name = "near-stdx" -version = "0.20.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "855fd5540e3b4ff6fedf12aba2db1ee4b371b36f465da1363a6d022b27cb43b8" +checksum = "6d5c43f6181873287ddaa25edcc2943d0f2d5da9588231516f2ed0549db1fbac" [[package]] -name = "near-stdx" -version = "0.23.0" +name = "near-structs-checker-core" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e1897481272eb144328abd51ca9f59b5b558e7a6dc6e2177c8c9bb18fbd818" +checksum = "7e53379bee876286de4ad31dc7f9fde8db12527c39d401d94f4d42cd021b8fce" + +[[package]] +name = "near-structs-checker-lib" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f984805f225c9b19681a124af7783078459e87ea63dde751b62e7cb404b1d6a" +dependencies = [ + "near-structs-checker-core", + "near-structs-checker-macro", +] + +[[package]] +name = "near-structs-checker-macro" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66319954983ae164fd0b714ae9d8b09edc26c74d9b3a1f51e564bb14720adb8e" [[package]] name = "near-sys" @@ -5241,6 +4386,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "near-time" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d37b864f04d9aebbc3b88ac63ba989d94f221de694bcc8af639cc284a89f64" +dependencies = [ + "once_cell", + "serde", + "time", + "tokio", +] + [[package]] name = "near-token" version = "0.2.0" @@ -5248,38 +4405,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b68f3f8a2409f72b43efdbeff8e820b81e70824c49fee8572979d789d1683fb" dependencies = [ "borsh", - "interactive-clap", "serde", ] [[package]] -name = "near-vm-runner" -version = "0.20.1" +name = "near-token" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56c80bdb1954808f59bd36a9112377197b38d424991383bf05f52d0fe2e0da5" +checksum = "cd3e60aa26a74dc514b1b6408fdd06cefe2eb0ff029020956c1c6517594048fd" dependencies = [ - "base64 0.21.7", - "borsh", - "ed25519-dalek 2.1.1", - "enum-map", - "memoffset 0.8.0", - "near-crypto 0.20.1", - "near-parameters 0.20.1", - "near-primitives-core 0.20.1", - "near-stdx 0.20.1", - "num-rational 0.3.2", - "once_cell", - "prefix-sum-vec", - "ripemd", "serde", - "serde_repr", - "serde_with 3.8.1", - "sha2 0.10.8", - "sha3", - "strum 0.24.1", - "thiserror", - "tracing", - "zeropool-bn", ] [[package]] @@ -5289,20 +4424,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b382e9fda99cdc6f1684d95e9f10ef0ed556c14ff972099269e96f8fde84064" dependencies = [ "borsh", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "enum-map", "lru 0.7.8", "near-crypto 0.23.0", "near-parameters 0.23.0", "near-primitives-core 0.23.0", "near-stdx 0.23.0", - "num-rational 0.3.2", + "num-rational", "once_cell", "ripemd", "rustix 0.38.34", "serde", "serde_repr", - "sha2 0.10.8", + "sha2", "sha3", "strum 0.24.1", "tempfile", @@ -5313,31 +4448,31 @@ dependencies = [ [[package]] name = "near-workspaces" -version = "0.10.0" -source = "git+https://github.com/near/near-workspaces-rs?branch=node/1.40#4584d7802c3daea04ca2e7a5dee987f5071bc0b8" +version = "0.14.0" +source = "git+https://github.com/near/near-workspaces-rs?branch=phuong/tmp-node-2.3.0#2c3925b9af091062b19e3ff1c13753a077e74cbd" dependencies = [ "async-trait", - "base64 0.21.7", + "base64 0.22.1", "bs58 0.5.1", - "cargo-near", + "cargo-near-build", "chrono", "fs2", "json-patch", "libc", "near-abi-client", "near-account-id", - "near-crypto 0.23.0", - "near-gas", - "near-jsonrpc-client 0.10.0", - "near-jsonrpc-primitives 0.23.0", - "near-primitives 0.23.0", + "near-crypto 0.26.0", + "near-gas 0.3.0", + "near-jsonrpc-client", + "near-jsonrpc-primitives", + "near-primitives 0.26.0", "near-sandbox-utils", - "near-token", + "near-token 0.3.0", "rand 0.8.5", - "reqwest 0.11.27", + "reqwest 0.12.5", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "tempfile", "thiserror", "tokio", @@ -5404,27 +4539,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "newline-converter" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f71d09d5c87634207f894c6b31b6a2b2c64ea3bdcf71bd5599fdbbe1600c00f" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "libc", - "memoffset 0.7.1", -] - [[package]] name = "nom" version = "7.1.3" @@ -5449,56 +4563,32 @@ dependencies = [ ] [[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint 0.4.5", - "num-complex", - "num-integer", - "num-iter", - "num-rational 0.4.2", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.3.3" +name = "ntapi" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", ] [[package]] -name = "num-bigint" -version = "0.4.5" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "num-integer", - "num-traits", + "overload", + "winapi", ] [[package]] -name = "num-complex" -version = "0.4.6" +name = "num-bigint" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" dependencies = [ + "autocfg", + "num-integer", "num-traits", ] @@ -5517,17 +4607,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.3.2" @@ -5535,23 +4614,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" dependencies = [ "autocfg", - "num-bigint 0.3.3", + "num-bigint", "num-integer", "num-traits", "serde", ] -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint 0.4.5", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -5587,7 +4655,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.66", @@ -5623,17 +4691,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "open" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a083c0c7e5e4a8ec4176346cf61f67ac674e8bfb059d9226e1c54a96b377c12" -dependencies = [ - "is-wsl", - "libc", - "pathdiff", -] - [[package]] name = "open-fastrlp" version = "0.1.4" @@ -5691,15 +4748,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-src" -version = "300.3.1+3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" version = "0.9.102" @@ -5708,156 +4756,20 @@ checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", - "openssl-src", "pkg-config", "vcpkg", ] -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding 2.3.1", - "pin-project", - "rand 0.8.5", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "opentelemetry" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "once_cell", - "pin-project-lite", - "thiserror", - "urlencoding", -] - -[[package]] -name = "opentelemetry-otlp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a" -dependencies = [ - "async-trait", - "futures", - "futures-util", - "http 0.2.12", - "opentelemetry 0.17.0", - "prost 0.9.0", - "thiserror", - "tokio", - "tonic 0.6.2", - "tonic-build", -] - -[[package]] -name = "opentelemetry-otlp" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" -dependencies = [ - "async-trait", - "futures-core", - "http 0.2.12", - "opentelemetry 0.22.0", - "opentelemetry-proto", - "opentelemetry-semantic-conventions 0.14.0", - "opentelemetry_sdk", - "prost 0.12.6", - "thiserror", - "tokio", - "tonic 0.11.0", -] - -[[package]] -name = "opentelemetry-proto" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4" -dependencies = [ - "opentelemetry 0.22.0", - "opentelemetry_sdk", - "prost 0.12.6", - "tonic 0.11.0", -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985cc35d832d412224b2cffe2f9194b1b89b6aa5d0bef76d080dce09d90e62bd" -dependencies = [ - "opentelemetry 0.17.0", -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" - -[[package]] -name = "opentelemetry_sdk" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "glob", - "once_cell", - "opentelemetry 0.22.0", - "ordered-float", - "percent-encoding 2.3.1", - "rand 0.8.5", - "thiserror", - "tokio", - "tokio-stream", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "ordered-float" version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" dependencies = [ + "borsh", "num-traits", -] - -[[package]] -name = "ordered-stream" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", + "rand 0.8.5", + "serde", ] [[package]] @@ -5872,12 +4784,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - [[package]] name = "p256" version = "0.11.1" @@ -5886,7 +4792,7 @@ checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ "ecdsa 0.14.8", "elliptic-curve 0.12.3", - "sha2 0.10.8", + "sha2", ] [[package]] @@ -5919,7 +4825,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 1.0.109", @@ -5971,12 +4877,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - [[package]] name = "pbkdf2" version = "0.11.0" @@ -5984,9 +4884,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", + "hmac", "password-hash", - "sha2 0.10.8", + "sha2", ] [[package]] @@ -6012,16 +4912,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.2.6", -] - [[package]] name = "phf_shared" version = "0.10.0" @@ -6106,12 +4996,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "polling" version = "2.8.0" @@ -6184,12 +5068,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "prefix-sum-vec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa06bd51638b6e76ac9ba9b6afb4164fa647bd2916d722f2623fbb6d1ed8bdba" - [[package]] name = "prettyplease" version = "0.1.25" @@ -6200,20 +5078,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prettytable" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46480520d1b77c9a3482d39939fcf96831537a250ec62d4fd8fbdf8e0302e781" -dependencies = [ - "csv", - "encode_unicode", - "is-terminal", - "lazy_static", - "term", - "unicode-width", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -6247,23 +5111,13 @@ dependencies = [ "uint", ] -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - [[package]] name = "proc-macro-crate" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -6275,7 +5129,6 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", "version_check", ] @@ -6283,127 +5136,51 @@ dependencies = [ name = "proc-macro-error-attr" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prometheus" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" -dependencies = [ - "cfg-if 1.0.0", - "fnv", - "lazy_static", - "memchr", - "parking_lot", - "protobuf", - "thiserror", -] - -[[package]] -name = "proptest" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" -dependencies = [ - "bitflags 2.5.0", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax 0.8.4", - "unarray", -] - -[[package]] -name = "prost" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" -dependencies = [ - "bytes", - "prost-derive 0.9.0", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive 0.12.6", -] - -[[package]] -name = "prost-build" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" -dependencies = [ - "bytes", - "heck 0.3.3", - "itertools 0.10.5", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.9.0", - "prost-types", - "regex", - "tempfile", - "which", +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", ] [[package]] -name = "prost-derive" -version = "0.9.0" +name = "proc-macro2" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", + "unicode-ident", ] [[package]] -name = "prost-derive" -version = "0.12.6" +name = "prometheus" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.66", + "cfg-if 1.0.0", + "fnv", + "lazy_static", + "memchr", + "parking_lot", + "protobuf", + "thiserror", ] [[package]] -name = "prost-types" -version = "0.9.0" +name = "proptest" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ - "bytes", - "prost 0.9.0", + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.4", + "unarray", ] [[package]] @@ -6496,6 +5273,7 @@ dependencies = [ "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", + "serde", ] [[package]] @@ -6534,6 +5312,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.15", + "serde", ] [[package]] @@ -6554,6 +5333,26 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -6653,7 +5452,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.29", @@ -6690,8 +5489,10 @@ checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", "futures-core", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.0", "http-body-util", @@ -6715,6 +5516,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls 0.26.0", @@ -6734,7 +5536,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint 0.4.9", - "hmac 0.12.1", + "hmac", "zeroize", ] @@ -6744,7 +5546,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", + "hmac", "subtle", ] @@ -6993,15 +5795,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "scale-info" version = "2.11.3" @@ -7020,7 +5813,7 @@ version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate", "proc-macro2", "quote", "syn 1.0.109", @@ -7173,25 +5966,6 @@ dependencies = [ "cc", ] -[[package]] -name = "secret-service" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5204d39df37f06d1944935232fd2dfe05008def7ca599bf28c0800366c8a8f9" -dependencies = [ - "aes", - "cbc", - "futures-util", - "generic-array", - "hkdf", - "num", - "once_cell", - "rand 0.8.5", - "serde", - "sha2 0.10.8", - "zbus", -] - [[package]] name = "security-framework" version = "2.11.0" @@ -7287,15 +6061,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "serde_spanned" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" -dependencies = [ - "serde", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -7326,7 +6091,7 @@ checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ "base64 0.22.1", "chrono", - "hex 0.4.3", + "hex", "indexmap 1.9.3", "indexmap 2.2.6", "serde", @@ -7407,19 +6172,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha2" version = "0.10.8" @@ -7456,42 +6208,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" -dependencies = [ - "libc", - "mio", - "signal-hook", -] - [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -7536,17 +6252,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slip10" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28724a6e6f70b0cb115c580891483da6f3aa99e6a353598303a57f89d23aa6bc" -dependencies = [ - "ed25519-dalek 1.0.1", - "hmac 0.9.0", - "sha2 0.9.9", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -7564,17 +6269,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "smart-default" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "smol" version = "1.3.0" @@ -7846,6 +6540,20 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "sysinfo" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ae3f4f7d64646c46c4cae4e3f01d1c5d255c7406fdd7c7f999a94e488791" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -7896,33 +6604,13 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "test-log" version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" dependencies = [ - "env_logger 0.11.3", + "env_logger", "test-log-macros", "tracing-subscriber", ] @@ -7948,13 +6636,13 @@ dependencies = [ "bollard", "bollard-stubs", "futures", - "hex 0.4.3", - "hmac 0.12.1", + "hex", + "hmac", "log", "rand 0.8.5", "serde", "serde_json", - "sha2 0.10.8", + "sha2", "tokio", ] @@ -8074,16 +6762,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.3.0" @@ -8156,150 +6834,38 @@ checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml_datetime" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tonic" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" -dependencies = [ - "async-stream", - "async-trait", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "hyper-timeout", - "percent-encoding 2.3.1", - "pin-project", - "prost 0.9.0", - "prost-derive 0.9.0", - "tokio", - "tokio-stream", - "tokio-util 0.6.10", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", + "tokio", ] [[package]] -name = "tonic" -version = "0.11.0" +name = "tokio-util" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.21.7", "bytes", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "hyper-timeout", - "percent-encoding 2.3.1", - "pin-project", - "prost 0.12.6", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", ] [[package]] -name = "tonic-build" -version = "0.6.2" +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" + +[[package]] +name = "toml_edit" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "proc-macro2", - "prost-build", - "quote", - "syn 1.0.109", + "indexmap 2.2.6", + "toml_datetime", + "winnow", ] [[package]] @@ -8310,13 +6876,9 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand 0.8.5", - "slab", "tokio", - "tokio-util 0.7.11", "tower-layer", "tower-service", "tracing", @@ -8346,18 +6908,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-appender" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" -dependencies = [ - "crossbeam-channel", - "thiserror", - "time", - "tracing-subscriber", -] - [[package]] name = "tracing-attributes" version = "0.1.27" @@ -8379,37 +6929,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -8421,38 +6940,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry 0.17.0", - "tracing", - "tracing-core", - "tracing-log 0.1.4", - "tracing-subscriber", -] - -[[package]] -name = "tracing-opentelemetry" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284" -dependencies = [ - "js-sys", - "once_cell", - "opentelemetry 0.22.0", - "opentelemetry_sdk", - "smallvec", - "tracing", - "tracing-core", - "tracing-log 0.2.0", - "tracing-subscriber", - "web-time", -] - [[package]] name = "tracing-serde" version = "0.1.3" @@ -8495,7 +6982,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] @@ -8511,17 +6998,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset 0.9.1", - "tempfile", - "winapi", -] - [[package]] name = "uint" version = "0.9.5" @@ -8530,7 +7006,7 @@ checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", - "hex 0.4.3", + "hex", "static_assertions", ] @@ -8561,18 +7037,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - [[package]] name = "unicode-xid" version = "0.2.4" @@ -8717,16 +7181,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -8830,16 +7284,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "web3" version = "0.19.0" @@ -8855,7 +7299,7 @@ dependencies = [ "futures", "futures-timer", "headers", - "hex 0.4.3", + "hex", "idna 0.4.0", "jsonrpc-core", "log", @@ -8871,7 +7315,7 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "tokio-util 0.7.11", + "tokio-util", "url 2.5.1", "web3-async-native-tls", ] @@ -8909,18 +7353,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.34", -] - [[package]] name = "winapi" version = "0.3.9" @@ -8937,21 +7369,22 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.5", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -8961,6 +7394,49 @@ dependencies = [ "windows-targets 0.52.5", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.5", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -9156,7 +7632,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek", "rand_core 0.6.4", ] @@ -9171,16 +7647,6 @@ dependencies = [ "rustix 0.38.34", ] -[[package]] -name = "xdg-home" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "xml-rs" version = "0.8.20" @@ -9244,72 +7710,6 @@ dependencies = [ "url 2.5.1", ] -[[package]] -name = "zbus" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "byteorder", - "derivative", - "enumflags2", - "event-listener 2.5.3", - "futures-core", - "futures-sink", - "futures-util", - "hex 0.4.3", - "nix", - "once_cell", - "ordered-stream", - "rand 0.8.5", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "winapi", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" -dependencies = [ - "serde", - "static_assertions", - "zvariant", -] - [[package]] name = "zerocopy" version = "0.7.34" @@ -9431,7 +7831,7 @@ dependencies = [ "crc32fast", "crossbeam-utils", "flate2", - "hmac 0.12.1", + "hmac", "pbkdf2", "sha1", "time", @@ -9484,41 +7884,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[package]] -name = "zvariant" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" -dependencies = [ - "byteorder", - "enumflags2", - "libc", - "serde", - "static_assertions", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] diff --git a/integration-tests/chain-signatures/Cargo.toml b/integration-tests/chain-signatures/Cargo.toml index 058ce29cc..0712fba45 100644 --- a/integration-tests/chain-signatures/Cargo.toml +++ b/integration-tests/chain-signatures/Cargo.toml @@ -9,21 +9,25 @@ publish = false anyhow = { version = "1.0", features = ["backtrace"] } async-process = "1" bollard = "0.13" +clap = { version = "4.5.4", features = ["derive"] } futures = "0.3" generic-array = { version = "0.14.7", default-features = false } glob = "0.3.0" hex = "0.4.3" hyper = { version = "0.14", features = ["full"] } +lazy_static = "1.4.0" once_cell = "1" rand = "0.7" reqwest = "0.11.16" serde = "1" serde_json = "1" +shell-escape = "0.1.5" testcontainers = { version = "0.15", features = ["experimental"] } tokio = { version = "1.28", features = ["full"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } thiserror = "1" +url = { version = "2.4.0", features = ["serde"] } # crypto dependencies cait-sith = { git = "https://github.com/LIT-Protocol/cait-sith.git", features = [ @@ -34,22 +38,19 @@ k256 = { version = "0.13.1", features = ["sha256", "ecdsa", "serde"] } # near dependencies near-account-id = "1" -near-crypto = "0.23.0" -near-fetch = "0.5.1" -near-jsonrpc-client = "0.10.1" -near-primitives = "0.23.0" -near-lake-framework = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/1.40" } -near-lake-primitives = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/1.40" } -near-workspaces = { git = "https://github.com/near/near-workspaces-rs", branch = "node/1.40" } +near-crypto = "0.26.0" +near-fetch = "0.6.0" +near-jsonrpc-client = "0.13.0" +near-primitives = "0.26.0" +near-lake-framework = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/2.3.0" } +near-lake-primitives = { git = "https://github.com/near/near-lake-framework-rs", branch = "node/2.3.0" } +near-workspaces = { git = "https://github.com/near/near-workspaces-rs", branch = "phuong/tmp-node-2.3.0" } -# local chain-signatures depencencies +# local chain-signatures dependencies crypto-shared = { path = "../../chain-signatures/crypto-shared" } mpc-contract = { path = "../../chain-signatures/contract" } mpc-keys = { path = "../../chain-signatures/keys" } mpc-node = { path = "../../chain-signatures/node" } -clap = { version = "4.5.4", features = ["derive"] } -lazy_static = "1.4.0" -url = { version = "2.4.0", features = ["serde"] } [dev-dependencies] backon = "0.4" diff --git a/integration-tests/chain-signatures/src/containers.rs b/integration-tests/chain-signatures/src/containers.rs index 02bf1f2c2..97eec7fd7 100644 --- a/integration-tests/chain-signatures/src/containers.rs +++ b/integration-tests/chain-signatures/src/containers.rs @@ -377,7 +377,7 @@ impl<'a> LakeIndexer<'a> { "running NEAR Lake Indexer container..." ); - let image = GenericImage::new("ghcr.io/near/near-lake-indexer", "node-1.40.0") + let image = GenericImage::new("ghcr.io/near/near-lake-indexer", "node-2.3.0") .with_env_var("AWS_ACCESS_KEY_ID", "FAKE_LOCALSTACK_KEY_ID") .with_env_var("AWS_SECRET_ACCESS_KEY", "FAKE_LOCALSTACK_ACCESS_KEY") .with_wait_for(WaitFor::message_on_stderr("Starting Streamer")) diff --git a/integration-tests/chain-signatures/src/execute.rs b/integration-tests/chain-signatures/src/execute.rs index 030f5ff3a..1967e5d9d 100644 --- a/integration-tests/chain-signatures/src/execute.rs +++ b/integration-tests/chain-signatures/src/execute.rs @@ -1,7 +1,7 @@ use anyhow::Context; use async_process::Child; -const PACKAGE_MULTICHAIN: &str = "mpc-node"; +pub(crate) const PACKAGE_MULTICHAIN: &str = "mpc-node"; pub fn target_dir() -> Option { let mut out_dir = std::path::Path::new(std::env!("OUT_DIR")); diff --git a/integration-tests/chain-signatures/src/lib.rs b/integration-tests/chain-signatures/src/lib.rs index afc4d4059..dbdba4d35 100644 --- a/integration-tests/chain-signatures/src/lib.rs +++ b/integration-tests/chain-signatures/src/lib.rs @@ -19,6 +19,7 @@ use mpc_node::storage; use mpc_node::storage::triple_storage::TripleNodeStorageBox; use near_crypto::KeyFile; use near_workspaces::network::{Sandbox, ValidatorKey}; +use near_workspaces::types::{KeyType, SecretKey}; use near_workspaces::{Account, AccountId, Contract, Worker}; use serde_json::json; use testcontainers::{Container, GenericImage}; @@ -298,6 +299,62 @@ pub async fn docker(cfg: MultichainConfig, docker_client: &DockerClient) -> anyh Ok(Nodes::Docker { ctx, nodes }) } +pub async fn dry_host( + cfg: MultichainConfig, + docker_client: &DockerClient, +) -> anyhow::Result { + let ctx = setup(docker_client).await?; + + let accounts = + futures::future::join_all((0..cfg.nodes).map(|_| ctx.worker.dev_create_account())) + .await + .into_iter() + .collect::, _>>()?; + let mut node_cfgs = Vec::new(); + for account in accounts.iter().take(cfg.nodes) { + node_cfgs.push(local::Node::dry_run(&ctx, account, &cfg).await?); + } + + let candidates: HashMap = accounts + .iter() + .cloned() + .zip(&node_cfgs) + .map(|(account, node_cfg)| { + ( + account.id().clone(), + CandidateInfo { + account_id: account.id().as_str().parse().unwrap(), + url: format!("http://127.0.0.1:{0}", node_cfg.web_port), + cipher_pk: node_cfg.cipher_pk.to_bytes(), + sign_pk: node_cfg.sign_sk.public_key().to_string().parse().unwrap(), + }, + ) + }) + .collect(); + + println!("\nPlease call below to update localnet:\n"); + let near_rpc = ctx.lake_indexer.rpc_host_address.clone(); + println!("near config add-connection --network-name local --connection-name local --rpc-url {} --wallet-url http://127.0.0.1/ --explorer-transaction-url http://127.0.0.1:6666/", near_rpc); + println!("\nAfter run the nodes, please call the following command to init contract: "); + let args = json!({ + "threshold": cfg.threshold, + "candidates": candidates + }) + .to_string(); + let sk = SecretKey::from_seed(KeyType::ED25519, "testificate"); + + println!("near contract call-function as-transaction {} init json-args '{}' prepaid-gas '100.0 Tgas' attached-deposit '0 NEAR' sign-as {} network-config local sign-with-plaintext-private-key --signer-public-key {} --signer-private-key {} send", + ctx.mpc_contract.id(), + args, + ctx.mpc_contract.id(), + sk.public_key(), + sk + ); + println!(); + + Ok(ctx) +} + pub async fn host(cfg: MultichainConfig, docker_client: &DockerClient) -> anyhow::Result { let ctx = setup(docker_client).await?; @@ -351,6 +408,17 @@ pub async fn run(cfg: MultichainConfig, docker_client: &DockerClient) -> anyhow: return host(cfg, docker_client).await; } +pub async fn dry_run( + cfg: MultichainConfig, + docker_client: &DockerClient, +) -> anyhow::Result { + #[cfg(feature = "docker-test")] + unimplemented!("dry_run only works with native node"); + + #[cfg(not(feature = "docker-test"))] + return dry_host(cfg, docker_client).await; +} + async fn fetch_from_validator( docker_client: &containers::DockerClient, container: &Container<'_, GenericImage>, diff --git a/integration-tests/chain-signatures/src/local.rs b/integration-tests/chain-signatures/src/local.rs index e9d26b2d3..a3051b6b4 100644 --- a/integration-tests/chain-signatures/src/local.rs +++ b/integration-tests/chain-signatures/src/local.rs @@ -1,10 +1,13 @@ use crate::{execute, utils, MultichainConfig}; use crate::containers::LakeIndexer; +use crate::execute::executable; +use anyhow::Context; use async_process::Child; use mpc_keys::hpke; use mpc_node::config::OverrideConfig; use near_workspaces::Account; +use shell_escape::escape; pub struct Node { pub address: String, @@ -33,6 +36,71 @@ pub struct NodeConfig { } impl Node { + pub async fn dry_run( + ctx: &super::Context<'_>, + account: &Account, + cfg: &MultichainConfig, + ) -> anyhow::Result { + let account_id = account.id(); + let account_sk = account.secret_key(); + let web_port = utils::pick_unused_port().await?; + let (cipher_sk, cipher_pk) = hpke::generate(); + let sign_sk = + near_crypto::SecretKey::from_seed(near_crypto::KeyType::ED25519, "integration-test"); + + let indexer_options = mpc_node::indexer::Options { + s3_bucket: ctx.localstack.s3_bucket.clone(), + s3_region: ctx.localstack.s3_region.clone(), + s3_url: Some(ctx.localstack.s3_host_address.clone()), + start_block_height: 0, + running_threshold: 120, + behind_threshold: 120, + }; + let near_rpc = ctx.lake_indexer.rpc_host_address.clone(); + let mpc_contract_id = ctx.mpc_contract.id().clone(); + let cli = mpc_node::cli::Cli::Start { + near_rpc: near_rpc.clone(), + mpc_contract_id: mpc_contract_id.clone(), + account_id: account_id.clone(), + account_sk: account_sk.to_string().parse()?, + web_port, + cipher_pk: hex::encode(cipher_pk.to_bytes()), + cipher_sk: hex::encode(cipher_sk.to_bytes()), + sign_sk: Some(sign_sk.clone()), + indexer_options, + my_address: None, + storage_options: ctx.storage_options.clone(), + override_config: Some(OverrideConfig::new(serde_json::to_value( + cfg.protocol.clone(), + )?)), + client_header_referer: None, + }; + + let cmd = executable(ctx.release, crate::execute::PACKAGE_MULTICHAIN) + .with_context(|| "could not find target dir for mpc-node")?; + let args = cli.into_str_args(); + let escaped_args: Vec<_> = args + .iter() + .map(|arg| escape(arg.clone().into()).to_string()) + .collect(); + println!( + "\nCommand to run node {}:\n {} {}", + account_id, + cmd.to_str().unwrap(), + escaped_args.join(" ") + ); + let node_config = NodeConfig { + web_port, + account: account.clone(), + cipher_pk, + cipher_sk, + sign_sk, + cfg: cfg.clone(), + near_rpc, + }; + Ok(node_config) + } + pub async fn run( ctx: &super::Context<'_>, cfg: &MultichainConfig, diff --git a/integration-tests/chain-signatures/src/main.rs b/integration-tests/chain-signatures/src/main.rs index 3a81d548a..5d8f919ac 100644 --- a/integration-tests/chain-signatures/src/main.rs +++ b/integration-tests/chain-signatures/src/main.rs @@ -1,6 +1,6 @@ use clap::Parser; use integration_tests_chain_signatures::containers::DockerClient; -use integration_tests_chain_signatures::{run, setup, utils, MultichainConfig}; +use integration_tests_chain_signatures::{dry_run, run, utils, MultichainConfig}; use tokio::signal; use tracing_subscriber::EnvFilter; @@ -69,8 +69,14 @@ async fn main() -> anyhow::Result<()> { println!("Clean up finished"); } Cli::DepServices => { - println!("Settting up dependency services"); - let _ctx = setup(&docker_client).await?; + println!("Setting up dependency services"); + let config = MultichainConfig::default(); + let _ctx = dry_run(config.clone(), &docker_client).await?; + + println!("Press Ctrl-C to stop dependency services"); + signal::ctrl_c().await.expect("Failed to listen for event"); + println!("Received Ctrl-C"); + println!("Stopped dependency services"); } } diff --git a/mpc-recovery/README.md b/mpc-recovery/README.md index 7ab0ce9c3..4b0784d4a 100644 --- a/mpc-recovery/README.md +++ b/mpc-recovery/README.md @@ -1,4 +1,7 @@ -# MPC Account Recovery (WIP) +## FastAuth (aka mpc-recovery) + +FastAuth allows a user to store their login details for their NEAR wallet in a set amount of MPC nodes. Each node contains a share of the user's credentials. Note, this will likely change in the future as we resdesign the system to utilize chain signatures instead of having to purely rely on a standalone MPC service for NEAR accounts. + The aim of this project is to offer NEAR users the opportunity to create and restore their accounts by utilizing OIDC protocol. By linking their NEAR account to `near.org` or other authentication provider, they can then add a new Full Access key, which will be managed by the trusted network of servers. Should they lose all the keys they possess, they can reauthorize themselves, create a new key, and add it into their NEAR account using a transaction that will be signed by MPC servers through their recovery key. All the transaction cost will be covered by a relayer server and metatransactions. ## How the MPC system will work