Max/crates publishing tweaks (#6343)

* add semver validator action

* update runner

* update runner with sed for old version in CI

* Add no commit to publish for the moment

* fix version bump command

* configure git bot

* error check

* make dryrun less opaque

* Reintroduce error check - keep logging dryrun in for debug (commented
out)

* fix grep check

* bring non-dry-run to parity

* add node for npx semver check to action

* updated sed command

* revert erroneous version bump

* added semver check to publish workflow

* allow from other branches

* allow from other branches again

* publishing guide

* update publication runner

* Release 1.20.3

nym-api-requests@1.20.3
nym-async-file-watcher@1.20.3
nym-authenticator-requests@1.20.3
nym-bandwidth-controller@1.20.3
nym-bin-common@1.20.3
nym-cache@1.20.3
nym-cli-commands@1.20.3
nym-client-core@1.20.3
nym-client-core-config-types@1.20.3
nym-client-core-gateways-storage@1.20.3
nym-client-core-surb-storage@1.20.3
nym-client-websocket-requests@1.20.3
nym-coconut-dkg-common@1.20.3
nym-common@1.20.3
nym-compact-ecash@1.20.3
nym-config@1.20.3
nym-contracts-common@1.20.3
nym-contracts-common-testing@1.20.3
nym-cpp-ffi@1.20.3
nym-credential-proxy-lib@1.20.3
nym-credential-proxy-requests@1.20.3
nym-credential-storage@1.20.3
nym-credential-utils@1.20.3
nym-credential-verification@1.20.3
nym-credentials@1.20.3
nym-credentials-interface@1.20.3
nym-crypto@1.20.3
nym-dkg@1.20.3
nym-ecash-contract-common@1.20.3
nym-ecash-signer-check@1.20.3
nym-ecash-signer-check-types@1.20.3
nym-ecash-time@1.20.3
nym-exit-policy@1.20.3
nym-ffi-shared@1.20.3
nym-gateway-client@1.20.3
nym-gateway-requests@1.20.3
nym-gateway-stats-storage@1.20.3
nym-gateway-storage@1.20.3
nym-go-ffi@1.20.3
nym-group-contract-common@1.20.3
nym-http-api-client@1.20.3
nym-http-api-client-macro@1.20.3
nym-http-api-common@1.20.3
nym-id@1.20.3
nym-inclusion-probability@1.20.3
nym-ip-packet-client@1.20.3
nym-ip-packet-requests@1.20.3
nym-metrics@1.20.3
nym-mixnet-client@1.20.3
nym-mixnet-contract-common@1.20.3
nym-mixnode-common@1.20.3
nym-multisig-contract-common@1.20.3
nym-network-defaults@1.20.3
nym-node-metrics@1.20.3
nym-node-requests@1.20.3
nym-node-tester-utils@1.20.3
nym-noise@1.20.3
nym-noise-keys@1.20.3
nym-nonexhaustive-delayqueue@1.20.3
nym-ordered-buffer@1.20.3
nym-outfox@1.20.3
nym-pemstore@1.20.3
nym-performance-contract-common@1.20.3
nym-pool-contract-common@1.20.3
nym-registration-common@1.20.3
nym-sdk@1.20.3
nym-serde-helpers@1.20.3
nym-service-provider-requests-common@1.20.3
nym-service-providers-common@1.20.3
nym-socks5-client-core@1.20.3
nym-socks5-proxy-helpers@1.20.3
nym-socks5-requests@1.20.3
nym-sphinx@1.20.3
nym-sphinx-acknowledgements@1.20.3
nym-sphinx-addressing@1.20.3
nym-sphinx-anonymous-replies@1.20.3
nym-sphinx-chunking@1.20.3
nym-sphinx-cover@1.20.3
nym-sphinx-forwarding@1.20.3
nym-sphinx-framing@1.20.3
nym-sphinx-params@1.20.3
nym-sphinx-routing@1.20.3
nym-sphinx-types@1.20.3
nym-sqlx-pool-guard@1.20.3
nym-statistics-common@1.20.3
nym-store-cipher@1.20.3
nym-task@1.20.3
nym-test-utils@1.20.3
nym-ticketbooks-merkle@1.20.3
nym-topology@1.20.3
nym-tun@1.20.3
nym-types@1.20.3
nym-upgrade-mode-check@1.20.3
nym-validator-client@1.20.3
nym-verloc@1.20.3
nym-vesting-contract-common@1.20.3
nym-wasm-client-core@1.20.3
nym-wasm-storage@1.20.3
nym-wasm-utils@1.20.3
nym-wireguard@1.20.3
nym-wireguard-private-metadata-client@1.20.3
nym-wireguard-private-metadata-server@1.20.3
nym-wireguard-private-metadata-shared@1.20.3
nym-wireguard-private-metadata-tests@1.20.3
nym-wireguard-types@1.20.3
nyxd-scraper-shared@1.20.3

Generated by cargo-workspaces

* remove --allow-branch ; no commit, doesn't need branch restrictions

* remove another clashing flag

* again

* exclude build.rs from crate for crates.io

* various in process scripts to pick up deployment where it left off

* rename workflows

* Version bump fix from borked publish run

* add publishing doc + updated publish-resume ci

* move example from service-providers to sdk examples/ to remove circular dev dependency for cargo publication

* remove wildcard version import

* Workflows and documentation for publication

* add contracts/ patch + imports

* Reintroduce missing kkt dep from rebase

* fix borked rebase cargo lock

---------

Co-authored-by: Nym bot <nym-bot@users.noreply.github.com>
This commit is contained in:
mfahampshire
2026-02-03 11:32:38 +00:00
committed by GitHub
parent 940fb09ae4
commit cfcf804b47
17 changed files with 661 additions and 363 deletions
@@ -0,0 +1,79 @@
name: Publish to crates.io (dry run)
on:
workflow_dispatch:
inputs:
version:
description: "Version to publish (e.g. 1.21.0)"
required: true
type: string
env:
CI_BOT_AUTHOR: "Nym bot"
CI_BOT_EMAIL: "nym-bot@users.noreply.github.com"
jobs:
publish-dry-run:
runs-on: arc-linux-latest
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Configure git identity
run: |
git config --global user.name "${{ env.CI_BOT_AUTHOR }}"
git config --global user.email "${{ env.CI_BOT_EMAIL }}"
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Validate version format
run: |
if ! npx semver "${{ inputs.version }}"; then
echo "Error: '${{ inputs.version }}' is not valid semver"
exit 1
fi
- name: Get current version
id: current_version
run: |
VERSION=$(grep -oP '^\s*version\s*=\s*"\K[0-9]+\.[0-9]+\.[0-9]+' Cargo.toml | head -1)
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Update workspace dependencies
run: |
sed -i '/path = /s/version = "${{ steps.current_version.outputs.version }}"/version = "${{ inputs.version }}"/g' Cargo.toml
- name: Bump versions (local only)
run: |
cargo workspaces version custom ${{ inputs.version }} \
--allow-branch ${{ github.ref_name }} \
--no-git-commit \
# Dry run may show cascading dependency errors because packages aren't
# actually uploaded - these are expected and ignored. We check for real
# errors like packaging failures, missing metadata, or invalid Cargo.toml.
- name: Publish (dry run)
run: |
output=$(cargo workspaces publish --dry-run --allow-dirty 2>&1) || true
echo "$output"
# Check for real errors (not cascading dependency errors)
# Cascading errors mention "crates.io index", real errors mention "Cargo.toml"
echo "$output" | grep -i "Cargo.toml" && exit 1 || true
# Show the list of packages published
- name: Show package versions
run: cargo workspaces list --long
@@ -0,0 +1,59 @@
# This is in case, for whatever reason, a publication run fails, and we need to restart halfway down the list, of unbumped/unpublished crates.
name: Resume crates.io publish
on:
workflow_dispatch:
inputs:
resume_after:
description: "Last successfully published crate (will start from the next one)"
required: true
type: string
publish_interval:
description: "Seconds to wait between publishes"
required: false
default: "600"
type: string
jobs:
publish:
runs-on: arc-linux-latest
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
# Get crates in publish order, skip up to and including resume_after
- name: Publish remaining crates
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
CRATES=$(cargo workspaces plan 2>/dev/null | sed -n '/^${{ inputs.resume_after }}$/,$p' | tail -n +2)
if [ -z "$CRATES" ]; then
echo "Error: No crates found after '${{ inputs.resume_after }}'"
echo "Check the crate name matches exactly from 'cargo workspaces plan'"
exit 1
fi
echo "Will publish the following crates:"
echo "$CRATES"
echo ""
echo "$CRATES" | while read crate; do
echo "Publishing $crate..."
cargo publish -p "$crate" --allow-dirty
echo "Waiting ${{ inputs.publish_interval }}s before next publish..."
sleep ${{ inputs.publish_interval }}
done
- name: Show package versions
run: cargo workspaces list --long
+86
View File
@@ -0,0 +1,86 @@
name: Publish crates to crates.io
on:
workflow_dispatch:
inputs:
publish_interval:
description: "Seconds to wait between publishes (600 for first publish, 60 after)"
required: false
default: "600"
type: string
backup_author:
description: "Second team member added as owner of the crate"
required: false
default: "jstuczyn"
type: string
jobs:
publish:
runs-on: arc-linux-latest
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
# `--publish-as-is` skips version bumping since that's done in a separate CI job.
- name: Publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
cargo workspaces publish \
--publish-as-is \
--publish-interval ${{ inputs.publish_interval }}
- name: Show package versions
run: cargo workspaces list --long
- name: Add team as crate owners
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
TEAM="github:nymtech:core"
echo "Checking and adding $TEAM as owner to workspace crates..."
cargo workspaces list | while read crate; do
echo "Checking $crate..."
if cargo owner --list "$crate" 2>/dev/null | grep -q "$TEAM"; then
echo " $TEAM already owns $crate, skipping"
else
echo " Adding $TEAM as owner of $crate..."
cargo owner --add "$TEAM" "$crate"
sleep 2
fi
done
echo "Done!"
- name: Add secondary member as crate owner
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
TEAM_MEMBER="${{ inputs.backup_author }}"
echo "Checking and adding $TEAM_MEMBER as owner to workspace crates..."
cargo workspaces list | while read crate; do
echo "Checking $crate..."
if cargo owner --list "$crate" 2>/dev/null | grep -q "$TEAM_MEMBER"; then
echo " $TEAM_MEMBER already owns $crate, skipping"
else
echo " Adding $TEAM_MEMBER as owner of $crate..."
cargo owner --add "$TEAM_MEMBER" "$crate"
sleep 2
fi
done
echo "Done!"
@@ -0,0 +1,74 @@
name: Bump crate versions
on:
workflow_dispatch:
inputs:
version:
description: "Version to set (e.g. 1.21.0)"
required: true
type: string
env:
CI_BOT_AUTHOR: "Nym bot"
CI_BOT_EMAIL: "nym-bot@users.noreply.github.com"
jobs:
version-bump:
runs-on: arc-linux-latest
permissions:
contents: write
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Configure git identity
run: |
git config --global user.name "${{ env.CI_BOT_AUTHOR }}"
git config --global user.email "${{ env.CI_BOT_EMAIL }}"
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Validate version format
run: |
if ! npx semver "${{ inputs.version }}"; then
echo "Error: '${{ inputs.version }}' is not valid semver"
exit 1
fi
- name: Get current version
id: current_version
run: |
VERSION=$(grep -oP '^\s*version\s*=\s*"\K[0-9]+\.[0-9]+\.[0-9]+' Cargo.toml | head -1)
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Update workspace dependencies
run: |
sed -i '/path = /s/version = "${{ steps.current_version.outputs.version }}"/version = "${{ inputs.version }}"/g' Cargo.toml
- name: Bump versions
run: |
cargo workspaces version custom ${{ inputs.version }} \
--no-git-commit \
--yes
- name: Commit and push version bump
run: |
git add -A
git commit -m "crates release: bump version to ${{ inputs.version }}"
git push
- name: Show package versions
run: cargo workspaces list --long
@@ -1,43 +0,0 @@
name: Publish to crates.io (dry run)
on:
workflow_dispatch:
inputs:
version:
description: "Version to publish (e.g. 1.21.0)"
required: true
type: string
jobs:
publish-dry-run:
runs-on: arc-ubuntu-22.04-dind
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
- name: Bump versions (local only)
run: |
cargo workspaces version ${{ inputs.version }} \
--no-git-commit \
--no-git-tag \
--no-git-push \
--yes
# Note: Dry run may show cascading dependency errors because packages
# aren't actually uploaded. Check if the missing dependency has an
# "aborting upload due to dry run" message earlier in the output - if so,
# it would succeed in a real publish since cargo-workspaces publishes in
# dependency order. cargo-workspaces doesn't fail on err, so there isn't
# a good way to check this at the moment.
- name: Publish (dry run)
run: cargo workspaces publish --from-git --dry-run --allow-dirty
-47
View File
@@ -1,47 +0,0 @@
name: Publish to crates.io
on:
workflow_dispatch:
inputs:
version:
description: "Version to publish (e.g. 1.21.0)"
required: true
type: string
jobs:
publish:
runs-on: arc-ubuntu-22.04-dind
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
# - name: Configure git
# run: |
# git config user.name "github-actions[bot]"
# git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Bump versions
run: |
cargo workspaces version ${{ inputs.version }} \
--no-git-push \
--no-git-tag \
--yes
- name: Publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: cargo workspaces publish --from-git --no-git-commit
# - name: Push version commit
# run: |
# git push origin HEAD
@@ -0,0 +1,41 @@
name: Resume publish to crates.io
on:
workflow_dispatch:
inputs:
resume_after:
description: "Last successfully published crate (will start from the next one)"
required: true
type: string
jobs:
publish:
runs-on: arc-linux-latest
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install cargo-workspaces
run: cargo install cargo-workspaces
- name: Publish remaining crates
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
# Get crates in publish order, skip up to and including resume_after
cargo workspaces plan 2>/dev/null | sed -n '/^${{ inputs.resume_after }}$/,$p' | tail -n +2 | while read crate; do
echo "Publishing $crate..."
cargo publish -p "$crate" --allow-dirty
echo "Waiting 600s before next publish..."
sleep 600
done
- name: Show package versions
run: cargo workspaces list --long
Generated
+117 -121
View File
@@ -2503,7 +2503,7 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]]
name = "easy-addr"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-std",
"quote",
@@ -5491,7 +5491,7 @@ dependencies = [
[[package]]
name = "nym-api-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bs58",
"celes",
@@ -5534,7 +5534,7 @@ dependencies = [
[[package]]
name = "nym-async-file-watcher"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"futures",
"log",
@@ -5544,7 +5544,7 @@ dependencies = [
[[package]]
name = "nym-authenticator-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"futures",
@@ -5566,7 +5566,7 @@ dependencies = [
[[package]]
name = "nym-authenticator-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"base64 0.22.1",
"bincode",
@@ -5590,7 +5590,7 @@ dependencies = [
[[package]]
name = "nym-bandwidth-controller"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"log",
@@ -5607,7 +5607,7 @@ dependencies = [
[[package]]
name = "nym-bin-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"clap",
"clap_complete",
@@ -5646,7 +5646,7 @@ dependencies = [
[[package]]
name = "nym-cache"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"tokio",
]
@@ -5677,7 +5677,7 @@ dependencies = [
[[package]]
name = "nym-cli-commands"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -5773,7 +5773,7 @@ dependencies = [
[[package]]
name = "nym-client-core"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -5834,7 +5834,7 @@ dependencies = [
[[package]]
name = "nym-client-core-config-types"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"humantime-serde",
"nym-config",
@@ -5849,7 +5849,7 @@ dependencies = [
[[package]]
name = "nym-client-core-gateways-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -5868,7 +5868,7 @@ dependencies = [
[[package]]
name = "nym-client-core-surb-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -5914,7 +5914,7 @@ dependencies = [
[[package]]
name = "nym-client-websocket-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-sphinx",
"serde",
@@ -5923,7 +5923,7 @@ dependencies = [
[[package]]
name = "nym-coconut-dkg-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -5936,7 +5936,7 @@ dependencies = [
[[package]]
name = "nym-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"tracing",
"tracing-test",
@@ -5944,7 +5944,7 @@ dependencies = [
[[package]]
name = "nym-compact-ecash"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"bs58",
@@ -5968,7 +5968,7 @@ dependencies = [
[[package]]
name = "nym-config"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"dirs",
"handlebars",
@@ -6000,7 +6000,7 @@ dependencies = [
[[package]]
name = "nym-contracts-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"bs58",
@@ -6017,7 +6017,7 @@ dependencies = [
[[package]]
name = "nym-contracts-common-testing"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"cosmwasm-std",
@@ -6031,7 +6031,7 @@ dependencies = [
[[package]]
name = "nym-cpp-ffi"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"bs58",
@@ -6094,7 +6094,7 @@ dependencies = [
[[package]]
name = "nym-credential-proxy-lib"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"axum",
@@ -6132,7 +6132,7 @@ dependencies = [
[[package]]
name = "nym-credential-proxy-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"nym-credentials",
@@ -6156,7 +6156,7 @@ dependencies = [
[[package]]
name = "nym-credential-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -6179,7 +6179,7 @@ dependencies = [
[[package]]
name = "nym-credential-utils"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"log",
"nym-bandwidth-controller",
@@ -6197,7 +6197,7 @@ dependencies = [
[[package]]
name = "nym-credential-verification"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"bs58",
@@ -6225,7 +6225,7 @@ dependencies = [
[[package]]
name = "nym-credentials"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"cosmrs",
@@ -6249,7 +6249,7 @@ dependencies = [
[[package]]
name = "nym-credentials-interface"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-bls12_381-fork",
"nym-compact-ecash",
@@ -6267,7 +6267,7 @@ dependencies = [
[[package]]
name = "nym-crypto"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"aead",
"aes 0.8.4",
@@ -6339,7 +6339,7 @@ dependencies = [
[[package]]
name = "nym-dkg"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bitvec",
"bs58",
@@ -6361,7 +6361,7 @@ dependencies = [
[[package]]
name = "nym-ecash-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bs58",
"cosmwasm-schema",
@@ -6375,7 +6375,7 @@ dependencies = [
[[package]]
name = "nym-ecash-signer-check"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"futures",
"nym-ecash-signer-check-types",
@@ -6391,7 +6391,7 @@ dependencies = [
[[package]]
name = "nym-ecash-signer-check-types"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-coconut-dkg-common",
"nym-crypto",
@@ -6406,7 +6406,7 @@ dependencies = [
[[package]]
name = "nym-ecash-time"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-compact-ecash",
"time",
@@ -6414,7 +6414,7 @@ dependencies = [
[[package]]
name = "nym-exit-policy"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"reqwest 0.13.1",
"serde",
@@ -6426,7 +6426,7 @@ dependencies = [
[[package]]
name = "nym-ffi-shared"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"bs58",
@@ -6502,7 +6502,7 @@ dependencies = [
[[package]]
name = "nym-gateway-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"futures",
"getrandom 0.2.16",
@@ -6596,7 +6596,7 @@ dependencies = [
[[package]]
name = "nym-gateway-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"bs58",
@@ -6628,7 +6628,7 @@ dependencies = [
[[package]]
name = "nym-gateway-stats-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"nym-node-metrics",
@@ -6644,7 +6644,7 @@ dependencies = [
[[package]]
name = "nym-gateway-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -6663,7 +6663,7 @@ dependencies = [
[[package]]
name = "nym-go-ffi"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"lazy_static",
@@ -6680,7 +6680,7 @@ dependencies = [
[[package]]
name = "nym-group-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cw-controllers",
@@ -6691,7 +6691,7 @@ dependencies = [
[[package]]
name = "nym-http-api-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"bincode",
@@ -6723,7 +6723,7 @@ dependencies = [
[[package]]
name = "nym-http-api-client-macro"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-http-api-client",
"proc-macro-crate",
@@ -6736,7 +6736,7 @@ dependencies = [
[[package]]
name = "nym-http-api-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"axum",
"axum-client-ip",
@@ -6758,7 +6758,7 @@ dependencies = [
[[package]]
name = "nym-id"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-credential-storage",
"nym-credentials",
@@ -6784,7 +6784,7 @@ dependencies = [
[[package]]
name = "nym-inclusion-probability"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"log",
"rand 0.8.5",
@@ -6793,7 +6793,7 @@ dependencies = [
[[package]]
name = "nym-ip-packet-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"bytes",
@@ -6808,7 +6808,7 @@ dependencies = [
[[package]]
name = "nym-ip-packet-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"bytes",
@@ -6826,7 +6826,7 @@ dependencies = [
[[package]]
name = "nym-ip-packet-router"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -6903,7 +6903,7 @@ dependencies = [
[[package]]
name = "nym-kkt-ciphersuite"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"blake3",
"libcrux-sha3",
@@ -6915,7 +6915,7 @@ dependencies = [
[[package]]
name = "nym-ledger"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bip32",
"k256",
@@ -7004,7 +7004,7 @@ dependencies = [
[[package]]
name = "nym-metrics"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"dashmap",
"lazy_static",
@@ -7014,7 +7014,7 @@ dependencies = [
[[package]]
name = "nym-mixnet-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"dashmap",
"futures",
@@ -7031,7 +7031,7 @@ dependencies = [
[[package]]
name = "nym-mixnet-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bs58",
"cosmwasm-schema",
@@ -7054,7 +7054,7 @@ dependencies = [
[[package]]
name = "nym-mixnode-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bytes",
"futures",
@@ -7081,7 +7081,7 @@ dependencies = [
[[package]]
name = "nym-multisig-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -7096,7 +7096,7 @@ dependencies = [
[[package]]
name = "nym-network-defaults"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cargo_metadata 0.19.2",
"dotenvy",
@@ -7285,7 +7285,7 @@ dependencies = [
[[package]]
name = "nym-node-metrics"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"dashmap",
"futures",
@@ -7299,7 +7299,7 @@ dependencies = [
[[package]]
name = "nym-node-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"celes",
@@ -7423,7 +7423,7 @@ dependencies = [
[[package]]
name = "nym-node-tester-utils"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"futures",
"log",
@@ -7463,7 +7463,7 @@ dependencies = [
[[package]]
name = "nym-noise"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"arc-swap",
@@ -7486,7 +7486,7 @@ dependencies = [
[[package]]
name = "nym-noise-keys"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-crypto",
"schemars 0.8.22",
@@ -7496,7 +7496,7 @@ dependencies = [
[[package]]
name = "nym-nonexhaustive-delayqueue"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"tokio",
"tokio-stream",
@@ -7522,7 +7522,7 @@ dependencies = [
[[package]]
name = "nym-ordered-buffer"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"log",
"thiserror 2.0.17",
@@ -7530,7 +7530,7 @@ dependencies = [
[[package]]
name = "nym-outfox"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"blake3",
"chacha20",
@@ -7549,7 +7549,7 @@ dependencies = [
[[package]]
name = "nym-pemstore"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"pem",
"tracing",
@@ -7558,7 +7558,7 @@ dependencies = [
[[package]]
name = "nym-performance-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -7571,7 +7571,7 @@ dependencies = [
[[package]]
name = "nym-pool-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -7584,7 +7584,7 @@ dependencies = [
[[package]]
name = "nym-registration-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bytes",
"futures",
@@ -7611,7 +7611,7 @@ dependencies = [
[[package]]
name = "nym-registration-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"nym-authenticator-requests",
@@ -7628,7 +7628,7 @@ dependencies = [
[[package]]
name = "nym-sdk"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -7687,7 +7687,7 @@ dependencies = [
[[package]]
name = "nym-serde-helpers"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"base64 0.22.1",
"bs58",
@@ -7698,7 +7698,7 @@ dependencies = [
[[package]]
name = "nym-service-provider-requests-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"serde",
@@ -7707,19 +7707,15 @@ dependencies = [
[[package]]
name = "nym-service-providers-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
"log",
"nym-bin-common",
"nym-sdk",
"nym-socks5-requests",
"nym-sphinx-anonymous-replies",
"serde",
"serde_json",
"thiserror 2.0.17",
"tokio",
]
[[package]]
@@ -7777,7 +7773,7 @@ dependencies = [
[[package]]
name = "nym-socks5-client-core"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"dirs",
@@ -7809,7 +7805,7 @@ dependencies = [
[[package]]
name = "nym-socks5-proxy-helpers"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bytes",
"futures",
@@ -7824,7 +7820,7 @@ dependencies = [
[[package]]
name = "nym-socks5-requests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"log",
@@ -7839,7 +7835,7 @@ dependencies = [
[[package]]
name = "nym-sphinx"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-crypto",
"nym-metrics",
@@ -7865,7 +7861,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-acknowledgements"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"generic-array 0.14.7",
"nym-crypto",
@@ -7883,7 +7879,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-addressing"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bincode",
"nym-crypto",
@@ -7896,7 +7892,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-anonymous-replies"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bs58",
"nym-crypto",
@@ -7914,7 +7910,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-chunking"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"dashmap",
"log",
@@ -7932,7 +7928,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-cover"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-crypto",
"nym-sphinx-acknowledgements",
@@ -7949,7 +7945,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-forwarding"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-sphinx-addressing",
"nym-sphinx-anonymous-replies",
@@ -7960,7 +7956,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-framing"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bytes",
"cfg-if",
@@ -7977,7 +7973,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-params"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-crypto",
"nym-sphinx-types",
@@ -7987,7 +7983,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-routing"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-sphinx-addressing",
"nym-sphinx-types",
@@ -7996,7 +7992,7 @@ dependencies = [
[[package]]
name = "nym-sphinx-types"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-outfox",
"sphinx-packet",
@@ -8005,7 +8001,7 @@ dependencies = [
[[package]]
name = "nym-sqlx-pool-guard"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"proc_pidinfo",
"sqlx",
@@ -8048,7 +8044,7 @@ dependencies = [
[[package]]
name = "nym-statistics-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"futures",
"log",
@@ -8073,7 +8069,7 @@ dependencies = [
[[package]]
name = "nym-store-cipher"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"aes-gcm",
"argon2",
@@ -8088,7 +8084,7 @@ dependencies = [
[[package]]
name = "nym-task"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"cfg-if",
@@ -8106,7 +8102,7 @@ dependencies = [
[[package]]
name = "nym-test-utils"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"futures",
@@ -8118,7 +8114,7 @@ dependencies = [
[[package]]
name = "nym-ticketbooks-merkle"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"nym-credentials-interface",
"nym-serde-helpers",
@@ -8135,7 +8131,7 @@ dependencies = [
[[package]]
name = "nym-topology"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"nym-api-requests",
@@ -8157,7 +8153,7 @@ dependencies = [
[[package]]
name = "nym-tun"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"etherparse",
"log",
@@ -8169,7 +8165,7 @@ dependencies = [
[[package]]
name = "nym-types"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"base64 0.22.1",
"cosmrs",
@@ -8200,7 +8196,7 @@ dependencies = [
[[package]]
name = "nym-upgrade-mode-check"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"jwt-simple",
@@ -8218,7 +8214,7 @@ dependencies = [
[[package]]
name = "nym-validator-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -8312,7 +8308,7 @@ dependencies = [
[[package]]
name = "nym-verloc"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bytes",
"futures",
@@ -8333,7 +8329,7 @@ dependencies = [
[[package]]
name = "nym-vesting-contract-common"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -8347,7 +8343,7 @@ dependencies = [
[[package]]
name = "nym-vpn-api-lib-wasm"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"bs58",
"getrandom 0.2.16",
@@ -8392,7 +8388,7 @@ dependencies = [
[[package]]
name = "nym-wasm-client-core"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"console_error_panic_hook",
@@ -8426,7 +8422,7 @@ dependencies = [
[[package]]
name = "nym-wasm-storage"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"getrandom 0.2.16",
@@ -8442,7 +8438,7 @@ dependencies = [
[[package]]
name = "nym-wasm-utils"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"console_error_panic_hook",
"futures",
@@ -8458,7 +8454,7 @@ dependencies = [
[[package]]
name = "nym-wireguard"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"base64 0.22.1",
"defguard_wireguard_rs",
@@ -8485,7 +8481,7 @@ dependencies = [
[[package]]
name = "nym-wireguard-private-metadata-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"nym-http-api-client",
@@ -8495,7 +8491,7 @@ dependencies = [
[[package]]
name = "nym-wireguard-private-metadata-server"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -8515,7 +8511,7 @@ dependencies = [
[[package]]
name = "nym-wireguard-private-metadata-shared"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"axum",
"bincode",
@@ -8528,7 +8524,7 @@ dependencies = [
[[package]]
name = "nym-wireguard-private-metadata-tests"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"axum",
@@ -8552,7 +8548,7 @@ dependencies = [
[[package]]
name = "nym-wireguard-types"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"base64 0.22.1",
"nym-crypto",
@@ -8642,7 +8638,7 @@ dependencies = [
[[package]]
name = "nyxd-scraper-shared"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -12936,9 +12932,9 @@ dependencies = [
[[package]]
name = "uuid"
version = "1.19.0"
version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f"
dependencies = [
"getrandom 0.3.4",
"js-sys",
@@ -14085,7 +14081,7 @@ dependencies = [
[[package]]
name = "zknym-lib"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"anyhow",
"async-trait",
@@ -14158,7 +14154,7 @@ dependencies = [
[[package]]
name = "zulip-client"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"itertools 0.14.0",
"nym-bin-common",
+100 -100
View File
@@ -205,7 +205,7 @@ edition = "2024"
license = "Apache-2.0"
rust-version = "1.85"
readme = "README.md"
version = "1.20.1"
version = "1.20.4"
[workspace.dependencies]
addr = "0.15.6"
@@ -380,7 +380,7 @@ url = "2.5"
utoipa = "5.2"
utoipa-swagger-ui = "8.1"
utoipauto = "0.2"
uuid = "*"
uuid = "1.19.0"
vergen = { version = "=8.3.1", default-features = false }
vergen-gitcl = { version = "1.0.8", default-features = false }
walkdir = "2"
@@ -390,106 +390,106 @@ zeroize = "1.7.0"
prometheus = { version = "0.14.0" }
# Workspace dep definitions required by crates.io publication - we need a workspace version since `cargo workspaces` doesn't work with path imports from crate manifests
nym-api-requests = { version = "1.20.1", path = "nym-api/nym-api-requests" }
nym-authenticator-requests = { version = "1.20.1", path = "common/authenticator-requests" }
nym-async-file-watcher = { version = "1.20.1", path = "common/async-file-watcher" }
nym-authenticator-client = { version = "1.20.1", path = "nym-authenticator-client" }
nym-bandwidth-controller = { version = "1.20.1", path = "common/bandwidth-controller" }
nym-bin-common = { version = "1.20.1", path = "common/bin-common" }
nym-cache = { version = "1.20.1", path = "common/nym-cache" }
nym-client-core = { version = "1.20.1", path = "common/client-core", default-features = false }
nym-client-core-config-types = { version = "1.20.1", path = "common/client-core/config-types" }
nym-client-core-gateways-storage = { version = "1.20.1", path = "common/client-core/gateways-storage" }
nym-client-core-surb-storage = { version = "1.20.1", path = "common/client-core/surb-storage" }
nym-client-websocket-requests = { version = "1.20.1", path = "clients/native/websocket-requests" }
nym-common = { version = "1.20.1", path = "common/nym-common" }
nym-compact-ecash = { version = "1.20.1", path = "common/nym_offline_compact_ecash" }
nym-config = { version = "1.20.1", path = "common/config" }
nym-contracts-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/contracts-common" }
nym-coconut-dkg-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/coconut-dkg" }
nym-credential-storage = { version = "1.20.1", path = "common/credential-storage" }
nym-credential-utils = { version = "1.20.1", path = "common/credential-utils" }
nym-credential-proxy-lib = { version = "1.20.1", path = "common/credential-proxy" }
nym-credentials = { version = "1.20.1", path = "common/credentials", default-features = false }
nym-credentials-interface = { version = "1.20.1", path = "common/credentials-interface" }
nym-credential-proxy-requests = { version = "1.20.1", path = "nym-credential-proxy/nym-credential-proxy-requests", default-features = false }
nym-credential-verification = { version = "1.20.1", path = "common/credential-verification" }
nym-crypto = { version = "1.20.1", path = "common/crypto", default-features = false }
nym-dkg = { version = "1.20.1", path = "common/dkg" }
nym-ecash-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/ecash-contract" }
nym-ecash-signer-check = { version = "1.20.1", path = "common/ecash-signer-check" }
nym-ecash-signer-check-types = { version = "1.20.1", path = "common/ecash-signer-check-types" }
nym-ecash-time = { version = "1.20.1", path = "common/ecash-time" }
nym-exit-policy = { version = "1.20.1", path = "common/exit-policy" }
nym-ffi-shared = { version = "1.20.1", path = "sdk/ffi/shared" }
nym-gateway-client = { version = "1.20.1", path = "common/client-libs/gateway-client", default-features = false }
nym-gateway-requests = { version = "1.20.1", path = "common/gateway-requests" }
nym-gateway-storage = { version = "1.20.1", path = "common/gateway-storage" }
nym-gateway-stats-storage = { version = "1.20.1", path = "common/gateway-stats-storage" }
nym-group-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/group-contract" }
nym-http-api-client = { version = "1.20.1", path = "common/http-api-client" }
nym-http-api-client-macro = { version = "1.20.1", path = "common/http-api-client-macro" }
nym-http-api-common = { version = "1.20.1", path = "common/http-api-common", default-features = false }
nym-id = { version = "1.20.1", path = "common/nym-id" }
nym-api-requests = { version = "1.20.4", path = "nym-api/nym-api-requests" }
nym-authenticator-requests = { version = "1.20.4", path = "common/authenticator-requests" }
nym-async-file-watcher = { version = "1.20.4", path = "common/async-file-watcher" }
nym-authenticator-client = { version = "1.20.4", path = "nym-authenticator-client" }
nym-bandwidth-controller = { version = "1.20.4", path = "common/bandwidth-controller" }
nym-bin-common = { version = "1.20.4", path = "common/bin-common" }
nym-cache = { version = "1.20.4", path = "common/nym-cache" }
nym-client-core = { version = "1.20.4", path = "common/client-core", default-features = false }
nym-client-core-config-types = { version = "1.20.4", path = "common/client-core/config-types" }
nym-client-core-gateways-storage = { version = "1.20.4", path = "common/client-core/gateways-storage" }
nym-client-core-surb-storage = { version = "1.20.4", path = "common/client-core/surb-storage" }
nym-client-websocket-requests = { version = "1.20.4", path = "clients/native/websocket-requests" }
nym-common = { version = "1.20.4", path = "common/nym-common" }
nym-compact-ecash = { version = "1.20.4", path = "common/nym_offline_compact_ecash" }
nym-config = { version = "1.20.4", path = "common/config" }
nym-contracts-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/contracts-common" }
nym-coconut-dkg-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/coconut-dkg" }
nym-credential-storage = { version = "1.20.4", path = "common/credential-storage" }
nym-credential-utils = { version = "1.20.4", path = "common/credential-utils" }
nym-credential-proxy-lib = { version = "1.20.4", path = "common/credential-proxy" }
nym-credentials = { version = "1.20.4", path = "common/credentials", default-features = false }
nym-credentials-interface = { version = "1.20.4", path = "common/credentials-interface" }
nym-credential-proxy-requests = { version = "1.20.4", path = "nym-credential-proxy/nym-credential-proxy-requests", default-features = false }
nym-credential-verification = { version = "1.20.4", path = "common/credential-verification" }
nym-crypto = { version = "1.20.4", path = "common/crypto", default-features = false }
nym-dkg = { version = "1.20.4", path = "common/dkg" }
nym-ecash-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/ecash-contract" }
nym-ecash-signer-check = { version = "1.20.4", path = "common/ecash-signer-check" }
nym-ecash-signer-check-types = { version = "1.20.4", path = "common/ecash-signer-check-types" }
nym-ecash-time = { version = "1.20.4", path = "common/ecash-time" }
nym-exit-policy = { version = "1.20.4", path = "common/exit-policy" }
nym-ffi-shared = { version = "1.20.4", path = "sdk/ffi/shared" }
nym-gateway-client = { version = "1.20.4", path = "common/client-libs/gateway-client", default-features = false }
nym-gateway-requests = { version = "1.20.4", path = "common/gateway-requests" }
nym-gateway-storage = { version = "1.20.4", path = "common/gateway-storage" }
nym-gateway-stats-storage = { version = "1.20.4", path = "common/gateway-stats-storage" }
nym-group-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/group-contract" }
nym-http-api-client = { version = "1.20.4", path = "common/http-api-client" }
nym-http-api-client-macro = { version = "1.20.4", path = "common/http-api-client-macro" }
nym-http-api-common = { version = "1.20.4", path = "common/http-api-common", default-features = false }
nym-id = { version = "1.20.4", path = "common/nym-id" }
nym-ip-packet-client = { version = "1.20.4", path = "nym-ip-packet-client" }
nym-ip-packet-requests = { version = "1.20.4", path = "common/ip-packet-requests" }
nym-kkt-ciphersuite = { path = "common/nym-kkt-ciphersuite" }
nym-ip-packet-client = { version = "1.20.1", path = "nym-ip-packet-client" }
nym-ip-packet-requests = { version = "1.20.1", path = "common/ip-packet-requests" }
nym-metrics = { version = "1.20.1", path = "common/nym-metrics" }
nym-mixnet-client = { version = "1.20.1", path = "common/client-libs/mixnet-client" }
nym-mixnet-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/mixnet-contract" }
nym-multisig-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/multisig-contract" }
nym-network-defaults = { version = "1.20.1", path = "common/network-defaults" }
nym-node-tester-utils = { version = "1.20.1", path = "common/node-tester-utils" }
nym-noise = { version = "1.20.1", path = "common/nymnoise" }
nym-noise-keys = { version = "1.20.1", path = "common/nymnoise/keys" }
nym-nonexhaustive-delayqueue = { version = "1.20.1", path = "common/nonexhaustive-delayqueue" }
nym-node-requests = { version = "1.20.1", path = "nym-node/nym-node-requests", default-features = false }
nym-node-metrics = { version = "1.20.1", path = "nym-node/nym-node-metrics" }
nym-ordered-buffer = { version = "1.20.1", path = "common/socks5/ordered-buffer" }
nym-outfox = { version = "1.20.1", path = "nym-outfox" }
nym-registration-common = { version = "1.20.1", path = "common/registration" }
nym-pemstore = { version = "1.20.1", path = "common/pemstore" }
nym-performance-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/nym-performance-contract" }
nym-sdk = { version = "1.20.1", path = "sdk/rust/nym-sdk" }
nym-serde-helpers = { version = "1.20.1", path = "common/serde-helpers" }
nym-service-providers-common = { version = "1.20.1", path = "service-providers/common" }
nym-service-provider-requests-common = { version = "1.20.1", path = "common/service-provider-requests-common" }
nym-socks5-client-core = { version = "1.20.1", path = "common/socks5-client-core" }
nym-socks5-proxy-helpers = { version = "1.20.1", path = "common/socks5/proxy-helpers" }
nym-socks5-requests = { version = "1.20.1", path = "common/socks5/requests" }
nym-sphinx = { version = "1.20.1", path = "common/nymsphinx" }
nym-sphinx-acknowledgements = { version = "1.20.1", path = "common/nymsphinx/acknowledgements" }
nym-sphinx-addressing = { version = "1.20.1", path = "common/nymsphinx/addressing" }
nym-sphinx-anonymous-replies = { version = "1.20.1", path = "common/nymsphinx/anonymous-replies" }
nym-sphinx-chunking = { version = "1.20.1", path = "common/nymsphinx/chunking" }
nym-sphinx-cover = { version = "1.20.1", path = "common/nymsphinx/cover" }
nym-sphinx-forwarding = { version = "1.20.1", path = "common/nymsphinx/forwarding" }
nym-sphinx-framing = { version = "1.20.1", path = "common/nymsphinx/framing" }
nym-sphinx-params = { version = "1.20.1", path = "common/nymsphinx/params" }
nym-sphinx-routing = { version = "1.20.1", path = "common/nymsphinx/routing" }
nym-sphinx-types = { version = "1.20.1", path = "common/nymsphinx/types" }
nym-statistics-common = { version = "1.20.1", path = "common/statistics" }
nym-store-cipher = { version = "1.20.1", path = "common/store-cipher" }
nym-task = { version = "1.20.1", path = "common/task" }
nym-tun = { version = "1.20.1", path = "common/tun" }
nym-test-utils = { version = "1.20.1", path = "common/test-utils" }
nym-ticketbooks-merkle = { version = "1.20.1", path = "common/ticketbooks-merkle" }
nym-topology = { version = "1.20.1", path = "common/topology" }
nym-types = { version = "1.20.1", path = "common/types" }
nym-upgrade-mode-check = { version = "1.20.1", path = "common/upgrade-mode-check" }
nym-validator-client = { version = "1.20.1", path = "common/client-libs/validator-client", default-features = false }
nym-vesting-contract-common = { version = "1.20.1", path = "common/cosmwasm-smart-contracts/vesting-contract" }
nym-verloc = { version = "1.20.1", path = "common/verloc" }
nym-wireguard = { version = "1.20.1", path = "common/wireguard" }
nym-wireguard-types = { version = "1.20.1", path = "common/wireguard-types" }
nym-wireguard-private-metadata-shared = { version = "1.20.1", path = "common/wireguard-private-metadata/shared" }
nym-wireguard-private-metadata-client = { version = "1.20.1", path = "common/wireguard-private-metadata/client" }
nym-wireguard-private-metadata-server = { version = "1.20.1", path = "common/wireguard-private-metadata/server" }
nym-metrics = { version = "1.20.4", path = "common/nym-metrics" }
nym-mixnet-client = { version = "1.20.4", path = "common/client-libs/mixnet-client" }
nym-mixnet-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/mixnet-contract" }
nym-multisig-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/multisig-contract" }
nym-network-defaults = { version = "1.20.4", path = "common/network-defaults" }
nym-node-tester-utils = { version = "1.20.4", path = "common/node-tester-utils" }
nym-noise = { version = "1.20.4", path = "common/nymnoise" }
nym-noise-keys = { version = "1.20.4", path = "common/nymnoise/keys" }
nym-nonexhaustive-delayqueue = { version = "1.20.4", path = "common/nonexhaustive-delayqueue" }
nym-node-requests = { version = "1.20.4", path = "nym-node/nym-node-requests", default-features = false }
nym-node-metrics = { version = "1.20.4", path = "nym-node/nym-node-metrics" }
nym-ordered-buffer = { version = "1.20.4", path = "common/socks5/ordered-buffer" }
nym-outfox = { version = "1.20.4", path = "nym-outfox" }
nym-registration-common = { version = "1.20.4", path = "common/registration" }
nym-pemstore = { version = "1.20.4", path = "common/pemstore" }
nym-performance-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/nym-performance-contract" }
nym-sdk = { version = "1.20.4", path = "sdk/rust/nym-sdk" }
nym-serde-helpers = { version = "1.20.4", path = "common/serde-helpers" }
nym-service-providers-common = { version = "1.20.4", path = "service-providers/common" }
nym-service-provider-requests-common = { version = "1.20.4", path = "common/service-provider-requests-common" }
nym-socks5-client-core = { version = "1.20.4", path = "common/socks5-client-core" }
nym-socks5-proxy-helpers = { version = "1.20.4", path = "common/socks5/proxy-helpers" }
nym-socks5-requests = { version = "1.20.4", path = "common/socks5/requests" }
nym-sphinx = { version = "1.20.4", path = "common/nymsphinx" }
nym-sphinx-acknowledgements = { version = "1.20.4", path = "common/nymsphinx/acknowledgements" }
nym-sphinx-addressing = { version = "1.20.4", path = "common/nymsphinx/addressing" }
nym-sphinx-anonymous-replies = { version = "1.20.4", path = "common/nymsphinx/anonymous-replies" }
nym-sphinx-chunking = { version = "1.20.4", path = "common/nymsphinx/chunking" }
nym-sphinx-cover = { version = "1.20.4", path = "common/nymsphinx/cover" }
nym-sphinx-forwarding = { version = "1.20.4", path = "common/nymsphinx/forwarding" }
nym-sphinx-framing = { version = "1.20.4", path = "common/nymsphinx/framing" }
nym-sphinx-params = { version = "1.20.4", path = "common/nymsphinx/params" }
nym-sphinx-routing = { version = "1.20.4", path = "common/nymsphinx/routing" }
nym-sphinx-types = { version = "1.20.4", path = "common/nymsphinx/types" }
nym-statistics-common = { version = "1.20.4", path = "common/statistics" }
nym-store-cipher = { version = "1.20.4", path = "common/store-cipher" }
nym-task = { version = "1.20.4", path = "common/task" }
nym-tun = { version = "1.20.4", path = "common/tun" }
nym-test-utils = { version = "1.20.4", path = "common/test-utils" }
nym-ticketbooks-merkle = { version = "1.20.4", path = "common/ticketbooks-merkle" }
nym-topology = { version = "1.20.4", path = "common/topology" }
nym-types = { version = "1.20.4", path = "common/types" }
nym-upgrade-mode-check = { version = "1.20.4", path = "common/upgrade-mode-check" }
nym-validator-client = { version = "1.20.4", path = "common/client-libs/validator-client", default-features = false }
nym-vesting-contract-common = { version = "1.20.4", path = "common/cosmwasm-smart-contracts/vesting-contract" }
nym-verloc = { version = "1.20.4", path = "common/verloc" }
nym-wireguard = { version = "1.20.4", path = "common/wireguard" }
nym-wireguard-types = { version = "1.20.4", path = "common/wireguard-types" }
nym-wireguard-private-metadata-shared = { version = "1.20.4", path = "common/wireguard-private-metadata/shared" }
nym-wireguard-private-metadata-client = { version = "1.20.4", path = "common/wireguard-private-metadata/client" }
nym-wireguard-private-metadata-server = { version = "1.20.4", path = "common/wireguard-private-metadata/server" }
nym-sqlx-pool-guard = { version = "1.2.0", path = "nym-sqlx-pool-guard" }
nym-wasm-client-core = { version = "1.20.1", path = "common/wasm/client-core" }
nym-wasm-storage = { version = "1.20.1", path = "common/wasm/storage" }
nym-wasm-utils = { version = "1.20.1", path = "common/wasm/utils", default-features = false }
nyxd-scraper-shared = { version = "1.20.1", path = "common/nyxd-scraper-shared" }
nym-wasm-client-core = { version = "1.20.4", path = "common/wasm/client-core" }
nym-wasm-storage = { version = "1.20.4", path = "common/wasm/storage" }
nym-wasm-utils = { version = "1.20.4", path = "common/wasm/utils", default-features = false }
nyxd-scraper-shared = { version = "1.20.4", path = "common/nyxd-scraper-shared" }
# coconut/DKG related
# unfortunately until https://github.com/zkcrypto/nym-bls12_381-fork/issues/10 is resolved, we have to rely on the fork
+3
View File
@@ -6,6 +6,9 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
# Exclude build.rs from published crate - it's only used for dev-time sync
# of env files and requires workspace context
exclude = ["build.rs"]
[dependencies]
dotenvy = { workspace = true, optional = true }
+1
View File
@@ -6,6 +6,7 @@ edition = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
publish = false
[lib]
name = "nym_kcp"
+43 -15
View File
@@ -825,7 +825,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]]
name = "easy-addr"
version = "1.20.1"
version = "1.20.4"
dependencies = [
"cosmwasm-std",
"quote",
@@ -1248,7 +1248,9 @@ dependencies = [
[[package]]
name = "nym-coconut-dkg-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a95dc43ef8954a4f79846e3224434cf389d4a9c14b77f526dae3cfd2221c6141"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -1261,7 +1263,9 @@ dependencies = [
[[package]]
name = "nym-contracts-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47bb3e8427c193cd500c802274b11879086863c3643525b6ece3e9ab1c77bddc"
dependencies = [
"bs58",
"cosmwasm-schema",
@@ -1275,7 +1279,9 @@ dependencies = [
[[package]]
name = "nym-contracts-common-testing"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3628aac6715e844f3ab20e3b8ae8c4684f144ccb78e205f002c1c3ae375e956"
dependencies = [
"anyhow",
"cosmwasm-std",
@@ -1289,7 +1295,9 @@ dependencies = [
[[package]]
name = "nym-crypto"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b710addc28c9950dd961e7dd3837ef3b479492d2b21b5f2437eb7d2899403027"
dependencies = [
"base64 0.22.1",
"bs58",
@@ -1335,7 +1343,9 @@ dependencies = [
[[package]]
name = "nym-ecash-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d022e85291bf51877fbbf4688bc3762c605fdaee3b98c6407414f7c358bc5610"
dependencies = [
"bs58",
"cosmwasm-schema",
@@ -1349,7 +1359,9 @@ dependencies = [
[[package]]
name = "nym-group-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb13102740426a4a2b683f54bbd6614fe9ecd745f5117bcf197c49c300b15edf"
dependencies = [
"cosmwasm-schema",
"cw-controllers",
@@ -1384,7 +1396,9 @@ dependencies = [
[[package]]
name = "nym-mixnet-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41c21bceb3bb8ee2789851b3f381fc035485af825bf7290b7c99a5af4e8f6ba1"
dependencies = [
"bs58",
"cosmwasm-schema",
@@ -1404,7 +1418,9 @@ dependencies = [
[[package]]
name = "nym-multisig-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4a20b931ee849f6179ce2b387accd058720017f644ffbc8c2422f3e9ac3ff54"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -1419,7 +1435,9 @@ dependencies = [
[[package]]
name = "nym-network-defaults"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9834193b4641acdf9f360aea684a6bd841cad287930bc0d7c3241a133756464"
dependencies = [
"cargo_metadata 0.19.2",
"regex",
@@ -1427,7 +1445,9 @@ dependencies = [
[[package]]
name = "nym-pemstore"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03077f9ebeb40caf8aa8e6f7bf8728449f73733e7a246986e492fa34ad3e70ab"
dependencies = [
"pem",
"tracing",
@@ -1455,7 +1475,9 @@ dependencies = [
[[package]]
name = "nym-performance-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42129a72f4b0dc0304a48b0ca1769b27694d913687ace5692d4c6924ca9f2a13"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -1483,7 +1505,9 @@ dependencies = [
[[package]]
name = "nym-pool-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70239cc26beda3ad19289188c50d554522af29646d7d3f855bda6fc8ed332fe7"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
@@ -1495,7 +1519,9 @@ dependencies = [
[[package]]
name = "nym-sphinx-types"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ba662d39fd6da9e13166fa1162ff41c2cfaed78a77c70df72fbda6fef5eb4f5"
dependencies = [
"sphinx-packet",
"thiserror 2.0.12",
@@ -1524,7 +1550,9 @@ dependencies = [
[[package]]
name = "nym-vesting-contract-common"
version = "1.20.1"
version = "1.20.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "676c2793efbf9ccdf86bb788c903f778a2d5993a5174729303f9511a297f4ca8"
dependencies = [
"cosmwasm-schema",
"cosmwasm-std",
+20 -25
View File
@@ -57,34 +57,25 @@ schemars = "0.8.16"
thiserror = "2.0.11"
# Common crates from parent workspace (paths relative to contracts/)
#
# TODO: Once these crates are published to crates.io, switch from path dependencies
# to crates.io versions.
#
# TODO add a [patch.crates-io] section at the bottom for local development if you need to use a modded version of common import instead e.g.:
#
# [patch.crates-io]
# nym-contracts-common = { path = "../common/cosmwasm-smart-contracts/contracts-common" }
#
easy-addr = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/easy_addr" }
nym-coconut-dkg-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/coconut-dkg" }
nym-contracts-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/contracts-common" }
nym-contracts-common-testing = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/contracts-common-testing" }
nym-crypto = { version = "1.20.1", path = "../common/crypto", default-features = false }
nym-ecash-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/ecash-contract" }
nym-group-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/group-contract" }
nym-mixnet-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/mixnet-contract" }
nym-multisig-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/multisig-contract" }
nym-network-defaults = { version = "1.20.1", path = "../common/network-defaults", default-features = false }
nym-performance-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/nym-performance-contract" }
nym-pool-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/nym-pool-contract" }
nym-vesting-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/vesting-contract" }
# For local development with modifications, add a [patch.crates-io] section (see bottom of file)
nym-coconut-dkg-common = "1.20.4"
nym-contracts-common = "1.20.4"
nym-contracts-common-testing = "1.20.4"
nym-crypto = { version = "1.20.4", default-features = false }
nym-ecash-contract-common = "1.20.4"
nym-group-contract-common = "1.20.4"
nym-mixnet-contract-common = "1.20.4"
nym-multisig-contract-common = "1.20.4"
nym-network-defaults = { version = "1.20.4", default-features = false }
nym-performance-contract-common = "1.20.4"
nym-pool-contract-common = "1.20.4"
nym-vesting-contract-common = "1.20.4"
# Aliases for crates that some contracts import under different names
contracts-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/contracts-common", package = "nym-contracts-common" }
mixnet-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/mixnet-contract", package = "nym-mixnet-contract-common" }
vesting-contract-common = { version = "1.20.1", path = "../common/cosmwasm-smart-contracts/vesting-contract", package = "nym-vesting-contract-common" }
contracts-common = { version = "1.20.4", package = "nym-contracts-common" }
mixnet-contract-common = { version = "1.20.4", package = "nym-mixnet-contract-common" }
vesting-contract-common = { version = "1.20.4", package = "nym-vesting-contract-common" }
# Internal contract workspace members (for cross-contract testing)
cw3-flex-multisig = { version = "2.0.0", path = "multisig/cw3-flex-multisig" }
@@ -101,3 +92,7 @@ exit = "deny"
panic = "deny"
unimplemented = "deny"
unreachable = "deny"
# For local development, import via path instead of crates.io, e.g.
# [patch.crates-io]
# nym-coconut-dkg-common = { path = "../common/cosmwasm-smart-contracts/coconut-dkg" }
+17 -5
View File
@@ -9,14 +9,26 @@ This version is defined in the `[workspace.package]` section of the root monorep
## When Developing
If you add a workspace dependency to the SDK when developing, make sure to add this to the workspace dependencies in the root monorepo `Cargo.toml`.
## Publishing
## Check local publication
```
# List crates to publish
cargo workspaces list
# Dry run - check for compilation or other problems
# Dry run locally - check for compilation or other problems
cargo workspaces publish --no-git-commit --dry-run
# Publish
TODO
```
## CI
There are several workflows that should be run in the following order:
- `ci-crates-publish-dry-run`: **run this first!** This is a remote dry-run on a runner. This greps for any errors that would be a problem when we're not dry-running. It doesn't catch all errors, as `dry-run` has a known issue where, assuming that 2 new crates are being uploaded, and crate B relies on crate A, if crate A isn't on crates.io (which it won't be, since you're dry-running publication), then since `cargo workspaces publish` only checks for available versions on crates.io, it will error. We don't want the CI to fail in that case.
- `ci-crates-version-bump`: this bumps the versions of the workspace + dependencies to the passed version, and then commits the change. This is its own CI job so that we don't get into sticky situations whereby the version bump + commit happens, but the publication step fails.
- `ci-crates-publish`: this publishes the crates. So long as you're not uploading more than 5 new crates, pass `60` as the `publish_interval`. This is to get around [crates.io rate limiting](https://github.com/rust-lang/crates.io/blob/ad7e58e1afd65b9137e58a7bca3e1fb7f5546682/src/rate_limiter.rs#L24). Pass the Github handle of whoever should be the backup author of the crate for security redundency (see the section below) as the second arg.
> There is also `ci-crates-publish-resume` which is there in case a publication run fails and needs to be restarted part way through the list of unbumped/unpublished crates. Pass the previously bumped/published crate in the list output of `cargo workspaces list`
## Crates.io Authors
Since Github teams have [limited ownership / mod rights](https://doc.rust-lang.org/cargo/reference/publishing.html#cargo-owner) of crates, and we cannot create a `CARGO_REGISTRY_TOKEN` on behalf of the Nym Github org. As such, we are currently using personal cargo tokens generated by team members (currently Max), and adding the Nym Github org as an owner in the CI job.
However, since the Github org cannot add or modify owners, are also adding a second user author as a redundency, on the offchance that Max loses access to his Crates.io / Github account, gets struck by lightning, etc. This is the author passed as the second argument to the `ci-crates-publish` CI, and if none is passed, defaults to [https://github.com/jstuczyn](https://github.com/jstuczyn) since he is the Github org owner.
Authors can also be changed by running `scripts/add-crates-owners.sh`.
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
# This is a local version of a script to add the nym github org as owners of a crate, aside from whoever's CI token is being used.
# If you want to add another team member as backup owner, comment out line 5 and use their github handle and they will be invited to be an owner on crates.io, e.g.:
# TEAM="jstuczyn"
TEAM="github:nymtech:core"
echo "Checking and adding $TEAM as owner to workspace crates..."
cargo workspaces list | while read crate; do
echo "Checking $crate..."
if cargo owner --list "$crate" 2>/dev/null | grep -q "$TEAM"; then
echo " $TEAM already owns $crate, skipping"
else
echo " Adding $TEAM as owner of $crate..."
cargo owner --add "$TEAM" "$crate"
sleep 2
fi
done
echo "Done!"
-7
View File
@@ -20,10 +20,3 @@ thiserror = { workspace = true }
serde = { workspace = true, features = ["derive"]}
serde_json = { workspace = true }
[dev-dependencies]
# for the control requests example
anyhow = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
nym-sdk = { workspace = true }
nym-socks5-requests = { workspace = true }