# source this file update_solana_dependencies() { declare project_root="$1" declare solana_ver="$2" declare tomls=() while IFS='' read -r line; do tomls+=("$line"); done < <(find "$project_root" -name Cargo.toml) crates=( solana-account-decoder solana-account-decoder-client-types solana-banks-client solana-banks-interface solana-banks-server solana-bloom solana-bucket-map solana-builtins-default-costs solana-clap-utils solana-clap-v3-utils solana-cli-config solana-cli-output solana-client solana-compute-budget solana-connection-cache solana-core solana-entry solana-faucet solana-fee agave-geyser-plugin-interface solana-geyser-plugin-manager solana-gossip solana-lattice-hash solana-ledger solana-log-collector solana-measure solana-merkle-tree solana-metrics solana-net-utils solana-perf solana-poh solana-program-runtime solana-program-test solana-bpf-loader-program solana-compute-budget-program solana-stake-program solana-system-program solana-vote-program solana-zk-elgamal-proof-program solana-zk-token-proof-program solana-pubsub-client solana-quic-client solana-rayon-threadlimit solana-remote-wallet solana-rpc solana-rpc-client solana-rpc-client-api solana-rpc-client-nonce-utils solana-runtime solana-runtime-transaction solana-send-transaction-service solana-storage-bigtable solana-storage-proto solana-streamer solana-svm-rent-collector solana-svm-transaction solana-test-validator solana-thin-client solana-tpu-client solana-transaction-status solana-transaction-status-client-types solana-udp-client solana-version solana-zk-token-sdk solana-curve25519 ) set -x for crate in "${crates[@]}"; do sed -E -i'' -e "s:(${crate} = \")([=<>]*)[0-9.]+([^\"]*)\".*:\1\2${solana_ver}\3\":" "${tomls[@]}" sed -E -i'' -e "s:(${crate} = \{ version = \")([=<>]*)[0-9.]+([^\"]*)(\".*):\1\2${solana_ver}\3\4:" "${tomls[@]}" done } patch_crates_io_solana() { declare Cargo_toml="$1" declare solana_dir="$2" cat >> "$Cargo_toml" <> "$Cargo_toml" fi cat >> "$Cargo_toml" <