diff --git a/.github/release-please/manifest.json b/.github/release-please/manifest.json index 945fbaf296..d5d3f37034 100644 --- a/.github/release-please/manifest.json +++ b/.github/release-please/manifest.json @@ -1,3 +1,3 @@ { - ".": "0.25.0" + ".": "0.25.1" } diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 26dd584be2..adcdabddc4 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -11,15 +11,6 @@ on: description: "Docker image name" type: string default: "docker.fluence.dev/nox" - flavour: - # not used, here for compatibility - description: "nox flavour" - type: string - default: "minimal" - nox-sha: - # not used, here for compatibility - description: "sha256 hash of nox binary" - type: string outputs: nox-image: description: "nox snapshot image" @@ -28,7 +19,7 @@ on: jobs: publish: name: "Publish snapshot" - runs-on: builder + runs-on: ubuntu-latest timeout-minutes: 60 outputs: @@ -109,7 +100,7 @@ jobs: # github allows only 10GB of cache # so save cache only on merge to master # to use less space and speed up CI - cache-to: ${{ github.event == 'push' && 'type=gha,mode=max' || '' }} + cache-to: ${{ github.event_name == 'push' && 'type=gha,mode=max' || '' }} - name: Print results to check summary if: always() diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 628e33cb31..918a9ae679 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -86,7 +86,6 @@ jobs: with: nox-image: "${{ needs.nox-snapshot.outputs.nox-image }}" - js-client: needs: - nox-snapshot @@ -100,11 +99,3 @@ jobs: uses: fluencelabs/aqua/.github/workflows/tests.yml@main with: nox-image: "${{ needs.nox-snapshot.outputs.nox-image }}" - - # registry: - # needs: - # - nox-snapshot - # uses: fluencelabs/registry/.github/workflows/tests.yml@main - # with: - # nox-image: "${{ needs.nox-snapshot.outputs.nox-image }}" - # if-no-artifacts-found: warn diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 182f0f4ede..d0d5206614 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: bump-version: if: needs.release-please.outputs.pr != null - runs-on: builder + runs-on: linux-amd64-c-2xlarge needs: - release-please diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 79534e016e..584b768088 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -7,6 +7,14 @@ on: - ".github/**" - "!.github/workflows/run-tests.yml" - "!.github/workflows/tests.yml" + push: + branches: + - "master" + paths-ignore: + - "**.md" + - ".github/**" + - "!.github/workflows/tests.yml" + - "!.github/workflows/run-tests.yml" concurrency: group: "${{ github.workflow }}-${{ github.ref }}" @@ -20,7 +28,7 @@ jobs: test-retries: 0 lints: - runs-on: builder + runs-on: linux-amd64-c-2xlarge env: RUSTFLAGS: "-D warnings --cfg tokio_unstable -C link-arg=-B/usr/local/bin/mold" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ac450543da..05e556ff6d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ env: jobs: tests: name: "cargo nextest" - runs-on: builder + runs-on: linux-amd64-c-2xlarge timeout-minutes: 60 steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dfad10e4f..4728b18bbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.25.1](https://github.com/fluencelabs/nox/compare/nox-v0.25.0...nox-v0.25.1) (2024-07-07) + + +### Features + +* track nonce ([#2306](https://github.com/fluencelabs/nox/issues/2306)) ([0215d57](https://github.com/fluencelabs/nox/commit/0215d577f460a57ff76fa9cab3d58b99e2beb420)) + ## [0.25.0](https://github.com/fluencelabs/nox/compare/nox-v0.24.0...nox-v0.25.0) (2024-06-05) diff --git a/Cargo.lock b/Cargo.lock index 46af56011d..2df0ce4d3a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -156,9 +156,9 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "alloy-json-abi" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3abf6446a292e19853aaca43590eeb48bf435dfd2c74200259e8f4872f6ce3" +checksum = "aaeaccd50238126e3a0ff9387c7c568837726ad4f4e399b528ca88104d6c25ef" dependencies = [ "alloy-primitives 0.7.6", "alloy-sol-type-parser", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30708a79919b082f2692423c8cc72fc250477e4a2ecb0d4a7244cd3cdb299965" +checksum = "4bad41a7c19498e3f6079f7744656328699f8ea3e783bdd10d85788cd439f572" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -235,9 +235,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a679ac01774ab7e00a567a918d4231ae692c5c8cedaf4e16956c3116d7896" +checksum = "fd9899da7d011b4fe4c406a524ed3e3f963797dbc93b45479d60341d3a27b252" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", @@ -254,9 +254,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356da0c2228aa6675a5faaa08a3e4061b967f924753983d72b9a18d9a3fad44e" +checksum = "d32d595768fdc61331a132b6f65db41afae41b9b97d36c21eb1b955c422a7e60" dependencies = [ "alloy-json-abi", "const-hex", @@ -271,18 +271,18 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fd4783b0a5840479013e9ce960d2eb7b3be381f722e0fe3d1f7c3bb6bd4ebd" +checksum = "baa2fbd22d353d8685bd9fee11ba2d8b5c3b1d11e56adb3265fcf1f32bfdf404" dependencies = [ "winnow 0.6.5", ] [[package]] name = "alloy-sol-types" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eb5e6234c0b62514992589fe1578f64d418dbc8ef5cd1ab2d7f2f568f599698" +checksum = "a49042c6d3b66a9fe6b2b5a8bf0d39fc2ae1ee0310a2a26ffedd79fb097878dd" dependencies = [ "alloy-json-abi", "alloy-primitives 0.7.6", @@ -1553,9 +1553,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" dependencies = [ "clap_builder", "clap_derive", @@ -1563,9 +1563,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" dependencies = [ "anstream", "anstyle", @@ -1575,9 +1575,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -1704,9 +1704,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.11.4" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ff96486ccc291d36a958107caf2c0af8c78c0af7d31ae2f35ce055130de1a6" +checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" dependencies = [ "cfg-if", "cpufeatures", @@ -1765,7 +1765,7 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "toml 0.8.13", + "toml 0.8.14", "tracing", ] @@ -2398,9 +2398,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -3862,6 +3862,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -5410,13 +5419,13 @@ dependencies = [ [[package]] name = "mockito" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8d3038e23466858569c2d30a537f691fa0d53b51626630ae08262943e3bbb8b" +checksum = "d2f6e023aa5bdf392aa06c78e4a4e6d498baab5138d0c993503350ebbc37bf1e" dependencies = [ "assert-json-diff", "colored", - "futures", + "futures-core", "hyper 0.14.27", "log", "rand 0.8.5", @@ -5663,7 +5672,7 @@ version = "0.1.0" [[package]] name = "nox" -version = "0.25.0" +version = "0.25.1" dependencies = [ "air-interpreter-fs", "air-interpreter-wasm", @@ -5693,7 +5702,7 @@ dependencies = [ "health", "hex", "humantime-serde", - "itertools 0.12.1", + "itertools 0.13.0", "jsonrpsee", "kademlia", "libp2p", @@ -5731,7 +5740,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml 0.8.13", + "toml 0.8.14", "tracing", "tracing-appender", "tracing-log", @@ -5773,7 +5782,7 @@ dependencies = [ "futures", "hex", "humantime-serde", - "itertools 0.12.1", + "itertools 0.13.0", "json-utils", "jsonrpsee", "libp2p", @@ -6177,7 +6186,7 @@ dependencies = [ "futures", "health", "humantime-serde", - "itertools 0.12.1", + "itertools 0.13.0", "kademlia", "libp2p", "libp2p-kad", @@ -6322,7 +6331,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml 0.8.13", + "toml 0.8.14", "toml_edit 0.22.14", "tracing", "types", @@ -7711,7 +7720,7 @@ dependencies = [ "bs58", "bytesize", "cid-utils", - "clap 4.5.4", + "clap 4.5.8", "clarity", "config", "config-utils", @@ -7738,7 +7747,7 @@ dependencies = [ "serde_with 3.7.0", "temp-env", "tempfile", - "toml 0.8.13", + "toml 0.8.14", "types", "url", ] @@ -8032,7 +8041,7 @@ dependencies = [ "fluence-app-service", "fluence-libp2p", "fluence-spell-distro", - "itertools 0.12.1", + "itertools 0.13.0", "log", "parking_lot", "particle-modules", @@ -8146,9 +8155,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fe08d08d84f2c0a77f1e7c46518789d745c2e87a2721791ed7c3c9bc78df28" +checksum = "8d71e19bca02c807c9faa67b5a47673ff231b6e7449b251695188522f1dc44b2" dependencies = [ "paste", "proc-macro2", @@ -8559,9 +8568,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", @@ -8692,7 +8701,7 @@ dependencies = [ "fluence-keypair", "fluence-libp2p", "futures", - "itertools 0.12.1", + "itertools 0.13.0", "particle-protocol", "serde_json", ] @@ -10056,7 +10065,7 @@ dependencies = [ "test-utils", "thiserror", "tokio", - "toml 0.8.13", + "toml 0.8.14", "toml_edit 0.22.14", "tracing", "types", diff --git a/Cargo.toml b/Cargo.toml index 93e0552dc9..4f0bb0b814 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -154,7 +154,7 @@ thiserror = "1.0.56" serde = "1.0.203" toml = "0.8.12" toml_edit = "0.22.9" -itertools = "0.12.1" +itertools = "0.13.0" humantime-serde = "1.1.1" cid = "0.11.0" libipld = "0.16.0" diff --git a/crates/chain-connector/src/connector.rs b/crates/chain-connector/src/connector.rs index 58e858d4b0..bb3c2c0754 100644 --- a/crates/chain-connector/src/connector.rs +++ b/crates/chain-connector/src/connector.rs @@ -82,7 +82,7 @@ pub trait ChainConnector: Send + Sync { pub struct HttpChainConnector { client: Arc, config: ChainConfig, - tx_nonce_mutex: Arc>, + tx_nonce_mutex: Arc>>, host_id: PeerId, } @@ -106,7 +106,7 @@ impl HttpChainConnector { let connector = Arc::new(Self { client: Arc::new(HttpClientBuilder::default().build(&config.http_endpoint)?), config, - tx_nonce_mutex: Arc::new(Default::default()), + tx_nonce_mutex: Arc::new(Mutex::new(None)), host_id, }); @@ -458,8 +458,11 @@ impl HttpChainConnector { let max_fee_per_gas = base_fee + max_priority_fee_per_gas; // We use this lock no ensure that we don't send two transactions with the same nonce - let _lock = self.tx_nonce_mutex.lock().await; - let nonce = self.get_tx_nonce().await?; + let mut nonce_guard = self.tx_nonce_mutex.lock().await; + let nonce = match *nonce_guard { + None => self.get_tx_nonce().await?, + Some(n) => n, + }; // Create a new transaction let tx = Transaction::Eip1559 { @@ -487,12 +490,25 @@ impl HttpChainConnector { self.config.wallet_key.to_address() ); - let resp: String = process_response( + let result: Result = process_response( self.client .request("eth_sendRawTransaction", rpc_params![format!("0x{}", tx)]) .await, - )?; - Ok(resp) + ); + + match result { + Ok(resp) => { + let new_nonce = nonce + Uint::from(1); + *nonce_guard = Some(new_nonce); + tracing::debug!(target: "chain-connector", "Incrementing nonce. New nonce {new_nonce}"); + Ok(resp) + } + Err(err) => { + tracing::warn!(target: "chain-connector", "Failed to send tx: {err}, resetting nonce"); + *nonce_guard = None; + Err(err) + } + } } pub async fn register_worker( @@ -867,7 +883,7 @@ mod tests { let expected_response = format!("{{\"jsonrpc\":\"2.0\",\"result\":\"{expected_data}\",\"id\":0}}"); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -894,7 +910,7 @@ mod tests { let expected_response = format!("{{\"jsonrpc\":\"2.0\",\"result\":\"{expected_data}\",\"id\":0}}"); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -919,7 +935,7 @@ mod tests { let expected_response = format!("{{\"jsonrpc\":\"2.0\",\"result\":\"{expected_data}\",\"id\":0}}"); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -949,7 +965,7 @@ mod tests { let expected_data = "0x0000000000000000000000000000000000000000000000000000000000000001"; let expected_response = format!("{{\"jsonrpc\":\"2.0\",\"result\":\"{expected_data}\",\"id\":0}}"); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1013,7 +1029,7 @@ mod tests { } ]"#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1069,7 +1085,7 @@ mod tests { } "#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); server .mock("POST", "/") @@ -1129,7 +1145,7 @@ mod tests { "result": "0x55bfec4a4400ca0b09e075e2b517041cd78b10021c51726cb73bcba52213fa05" } "#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); server .mock("POST", "/") @@ -1196,7 +1212,7 @@ mod tests { // This response causes the `buffer overrun while deserializing` error let app_cid_response = r#"[{"jsonrpc":"2.0", "id":0, "result": "0x"}]"#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1259,7 +1275,7 @@ mod tests { ]); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1320,7 +1336,7 @@ mod tests { let compute_units_response = "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002097ab88db9d8e48a1d55cd0205bd74721eb2ba70897d255f350062dec8fec7bb4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002988e97756c550265b7a570b41bb4d8dbf056a1ca0435265ad175c5ecced2ef600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d4af56c3a07423c4b976f6d1a43a96f4843bdc5479b01bf3bd73f69c1062738e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9ab8214c37d615708ef89559407e1a015a0f7fbdaf3cd23a1f4c5ed2ae1c8cd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a717255e798920c9a9bbaae45492ff9020cdc8db3d8a44099015fbe950927368000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000df891a54a5479aa7ee3c019615ac55a18534aa81dcf3b2fbf7577d54cadf0c300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fbbd2b72d216685d97c09c56ca6ba16e7d2e35ff72bb69c72584ad8d9365610200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ccff78d7a0c365cd3ba8842707a2f96f26ac7ea4dbd7aac04ae2f0958ef2252400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000db5fba69f5d2b2d04a5bf63b7abe1a2781470e77101e3afe6ec66794aec80c0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b96d1d71cf1b77421645ae4031558195d9df60abd73ea716c3df67d3e7832da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e5cf187d01e552b0bd38ea89b9013e7b98915891cafb44fc7cf6937223290bcf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe00f5915737e75aa5c7799dcf326020ab499a65c9d10e1e4951be8371aee6f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c073f4fe89ebe1a354f052de5e371dc39e8d2b8f9ccbf0fc9e26e107217fe40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008510f943f7080e58846bc5044afa0c91480dbeca0ff5dcbef7c522a43531cffc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007d3ea3803085980a5b4e3bd93c32d8dae3b8060db9aab800e0922b7b18d865fc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002be7bd75150701c7ef8521d322fbcbb228cf907224d80e433550a3034bbcbb8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1469c97990a40da4465cb4e749faa2905adfc4b1109f7dc8b66ef8b1ed0a0c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d20e7f50737ea4236c6d92b150e569aa2fc482699cc0165722210b4bcffdc4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000eae742035300aed3774579cab0c75416002438809f3cb3f62fb3c34dd0ab16790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029e9cc0f707e8e02578285b8e1d50c207fab5ec11b0b1e6f97834e1154abbe4b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005be58fc7ae8eb4e577b1be2a911a11fd17b90c8b6754aa71859ad6285bcc3b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f7ba4e1f4bccd2aaf1f8791df5b73a6727b0720aba8fcf0afb6e1f07303c1cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053f668a26f5978f4f252145d68d2f0a627116c197a342a2e42aa269f46dcccf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000db7ddcd38d772f1b043572bab7d890ea65723cf4805ee963f46b7a9f81a454f20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018fa36dd54f48c4c4ae40ceefca274460d4c83026f48fdcc4e201a1a0423561400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b6e3c818a1ecb540a289c81d0835dc41755f091ba70f02e5134203c195b80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e77ef1585872eabfa78c01915cf0d43c3bd3bd63ae40565c62254a95bba901530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059810dcb510b17ca28693caa6d6164b6db28925290f345d8ef0ac8ef5751014f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6b992345e2ed6287ff2df0943d10f972ae7f63789d11df22f3fd9a4199f5c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005e58c2b5ba2b1a7d861de440a962fe0ffdcef1e240e3e50690f6f1f527bf7d66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca0be7865c187df9331bce42cd6ea3498d858a3d8b37fec18e9654ef320daa7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003938f3a12b19ed989431771df29f64ef011eec4da79e2ec30d86f28dae35f10a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; let compute_units_response = format!("{{\"jsonrpc\":\"2.0\",\"result\":\"{compute_units_response}\",\"id\":0}}"); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1365,7 +1381,7 @@ mod tests { CUID::from_hex("aa3046a12a1aac6e840625e6329d70b427328fec36dc8d273e5e6454b85633d5") .unwrap(); - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1426,7 +1442,7 @@ mod tests { } }] "#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") @@ -1481,7 +1497,7 @@ mod tests { } }] "#; - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") diff --git a/crates/nox-tests/tests/builtin.rs b/crates/nox-tests/tests/builtin.rs index 304a00022d..32be3cef5e 100644 --- a/crates/nox-tests/tests/builtin.rs +++ b/crates/nox-tests/tests/builtin.rs @@ -2384,7 +2384,7 @@ async fn subnet_resolve() { "#; // Create a mock - let mut server = mockito::Server::new(); + let mut server = mockito::Server::new_async().await; let url = server.url(); let mock = server .mock("POST", "/") diff --git a/crates/server-config/Cargo.toml b/crates/server-config/Cargo.toml index 688c9d431f..f098e87bf8 100644 --- a/crates/server-config/Cargo.toml +++ b/crates/server-config/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "server-config" version = "0.2.0" -authors = ["Fluence DAO", "Cloudless Labs"] +authors = ["Fluence Labs"] edition = "2021" [dependencies] diff --git a/nox/Cargo.toml b/nox/Cargo.toml index 9dbbe89f09..8e662fb4bd 100644 --- a/nox/Cargo.toml +++ b/nox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nox" -version = "0.25.0" +version = "0.25.1" authors = ["Fluence DAO", "Cloudless Labs"] description = "Node implementing peer functionality in the Fluence p2p network" edition = "2021"