From 99f6c9061030632b6d69acf1ceda614d14062b61 Mon Sep 17 00:00:00 2001 From: Flouse <1297478+Flouse@users.noreply.github.com> Date: Sat, 2 Mar 2024 16:46:48 +0000 Subject: [PATCH] Squashed commit of dobtc/btc-rpc-proxy commit 3177559f7f3b9a0df355eeae4cd8a79988df68f1 Author: Kroese Date: Sat Feb 24 06:06:27 2024 +0100 Update build.yml commit f09d61a01dc86f5c67c5a26e5b3055c249494c29 Author: Kroese Date: Sat Feb 24 06:05:28 2024 +0100 Update build.yml commit ab9312b0cdf90a383e42a7cacbec7ffcd0e39cc4 Author: Kroese Date: Sat Feb 10 00:35:37 2024 +0100 Update readme.md commit 4ff5cbe42e022ea917ebf578e102d282bb8448f0 Author: Kroese Date: Fri Feb 9 14:59:44 2024 +0100 Update build.yml commit afc93bd28d0f1f971dbab6dce48a66ee45679cb7 Author: Kroese Date: Mon Feb 5 16:26:59 2024 +0100 Update readme.md commit 28b3b183cdd468f74c142b2136707245bc9b3b0d Author: Kroese Date: Mon Feb 5 16:25:40 2024 +0100 Update readme.md commit 56e53e9d3a2c8684264e49f65cd0acd75b0e28bd Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Feb 1 15:03:30 2024 +0100 build(deps): Bump anyhow from 1.0.78 to 1.0.79 (#103) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.78 to 1.0.79. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.79) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 059b44f241bf38094d92ee3595778411aade2b9b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Feb 1 15:03:19 2024 +0100 build(deps): Bump serde from 1.0.193 to 1.0.196 (#102) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.193 to 1.0.196. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.196) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit e968d20d3645c2d9b3f627be7dd97d4fb07f7efb Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Feb 1 15:03:11 2024 +0100 build(deps): Bump thiserror from 1.0.53 to 1.0.56 (#101) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.53 to 1.0.56. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.53...1.0.56) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 81fba1f702ccb4838e82cdf69d25d6924834c61b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Feb 1 15:03:03 2024 +0100 build(deps): Bump itertools from 0.12.0 to 0.12.1 (#100) Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.0 to 0.12.1. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b81f2971cf28c8b83d8ec6aec47cb1613f46058b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Feb 1 15:02:55 2024 +0100 build(deps): Bump base64 from 0.21.5 to 0.21.7 (#99) Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.5 to 0.21.7. - [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md) - [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.5...v0.21.7) --- updated-dependencies: - dependency-name: base64 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit bc15b6974dbe5a3b111ed96bacceb5fa923dbc0c Author: Kroese Date: Mon Jan 29 11:33:09 2024 +0100 Update build.yml commit 9869502c88f27bf96842bb8542bb19995318de26 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Jan 25 16:16:21 2024 +0100 build(deps): Bump h2 from 0.3.22 to 0.3.24 (#98) Bumps [h2](https://github.com/hyperium/h2) from 0.3.22 to 0.3.24. - [Release notes](https://github.com/hyperium/h2/releases) - [Changelog](https://github.com/hyperium/h2/blob/v0.3.24/CHANGELOG.md) - [Commits](https://github.com/hyperium/h2/compare/v0.3.22...v0.3.24) --- updated-dependencies: - dependency-name: h2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit e84ae6b527fd0a33185ef4deafb2401f5175fc50 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Jan 25 15:46:07 2024 +0100 chore(deps): update peter-evans/dockerhub-description action to v4 (#97) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 3330c8835de41e04c3b332f3956d33a1f7c28258 Author: Kroese Date: Sun Jan 7 21:25:12 2024 +0100 fix: Set Debian flag commit 22818721ce117d1da51f4f1ea274619f1ec1928b Author: Kroese Date: Sat Jan 6 03:36:46 2024 +0100 build: Remove apt-get upgrade commit 1291c5b27b5738a5727dc4d7225189ac5c3eaf31 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Jan 1 13:38:07 2024 +0100 build(deps): Bump serde_json from 1.0.108 to 1.0.109 (#96) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.108 to 1.0.109. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.108...v1.0.109) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit f0cf5bdbd7816675c075d87feaa53e1ef07ac833 Author: Kroese Date: Sun Dec 31 02:13:53 2023 +0100 Update renovate.json commit ae34a1ae6c38930374a30e1e49b81e8d7bd32028 Author: Kroese Date: Sun Dec 31 02:08:04 2023 +0100 Update dependabot.yml commit 99089848fad254031d14a2a4a1722cfcffe848f9 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Dec 31 02:06:04 2023 +0100 fix(deps): update rust crate anyhow to 1.0.78 (#95) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit ca6378b210d016c744ff3b39f4259b953fbcfe67 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Dec 31 00:11:23 2023 +0100 fix(deps): update rust crate thiserror to 1.0.53 (#94) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 0c56e9e1c5878bc124921d0af005e8fc5153aeaa Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Dec 27 03:06:17 2023 +0100 fix(deps): update rust crate anyhow to 1.0.77 (#93) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit c4d7267563cf8a53ad6128edfebc888ebfd75df3 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Dec 26 12:42:03 2023 +0100 fix(deps): update rust crate thiserror to 1.0.52 (#92) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 910730930c43dc0bd105cdaea0f17b345109c079 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sun Dec 24 22:00:43 2023 +0100 fix(deps): update rust crate futures to 0.3.30 (#91) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 9d42bedc2403781d2a9e51a81e0e8ee2aef5b4f5 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Dec 21 03:17:21 2023 +0100 fix(deps): update rust crate anyhow to 1.0.76 (#90) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 0ef2ec6e74832f5ca87ba86c9ab2014c391c7257 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Dec 19 21:18:45 2023 +0100 fix(deps): update rust crate tokio to 1.35.1 (#89) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 8cd367a90dacada9292087d861fe0f14c0d5c458 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Dec 19 06:22:26 2023 +0100 fix(deps): update rust crate hyper to 0.14.28 (#88) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 267d94d2e2d55c90f33f77ebf3b987de465b68a2 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sat Dec 16 02:09:46 2023 +0100 fix(deps): update rust crate thiserror to 1.0.51 (#87) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 5f3dd3dd78b8f7b892346a511d7581a3d16f31d3 Author: Kroese Date: Thu Dec 14 04:05:13 2023 +0100 build: Release token commit 717ceb3439c59c75c1d3044948667f727f560a94 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Dec 12 01:14:16 2023 +0100 fix(deps): update rust crate async-channel to v2 (#83) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit fed1f3ab92628a676e8b2a3bb617edc6db81d727 Author: Kroese Date: Tue Dec 12 00:51:09 2023 +0100 Fix base64 commit 89073c2b18b1828dc38853e9148ef873da431d82 Author: Kroese Date: Tue Dec 12 00:49:01 2023 +0100 Fix base64 commit 5e944e77c045ffe0f51ddaa393dc8fd528cb76de Author: Kroese Date: Tue Dec 12 00:48:10 2023 +0100 Fix base64 commit 28f10c9863382502c314851fc7e90afcdd33373c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Dec 12 00:44:16 2023 +0100 fix(deps): update rust crate base64 to 0.21.5 (#79) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit cb426862ae8ed596eb41e6492db8d0ef392e0677 Author: Kroese Date: Mon Dec 11 23:25:21 2023 +0100 Revert commit 42850abefccd2dffc384d3d4740bf5867c44ccfd Author: Kroese Date: Mon Dec 11 23:23:12 2023 +0100 Revert commit 8674dafc4adc4adb91f22fa39b89cbe657a6b148 Author: Kroese Date: Mon Dec 11 23:18:34 2023 +0100 Remove tokio-compat-02 commit 8276704eecf0fad92b1d3025d2df65042173d162 Author: Kroese Date: Mon Dec 11 23:16:11 2023 +0100 Remove tokio_compat02 commit 240344172b3c58f287268f014f8490daf3fcff65 Author: Kroese Date: Mon Dec 11 23:09:15 2023 +0100 Update build.yml commit ee37cddc8d2a2f3686a099ac174697e007210a37 Author: Kroese Date: Mon Dec 11 22:57:32 2023 +0100 Cast weight commit d2e59e5e6ca9c64b7f7a3da651b11cbf4074caf7 Author: Kroese Date: Mon Dec 11 22:45:40 2023 +0100 Fix block weight commit 05111929dce7b36f966c4ec1c7f6f31e9ee229b6 Author: Kroese Date: Mon Dec 11 22:34:11 2023 +0100 Add TxMerkleNode commit 5f31dc60f108fae7b906501de4860624d34e74ea Author: Kroese Date: Mon Dec 11 22:30:31 2023 +0100 Update build.yml commit 69f36df99a68dfeb39bf89ba2ef97e520f8429e6 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Dec 11 22:29:17 2023 +0100 build(deps): Bump bitcoin from 0.29.2 to 0.30.2 (#76) Bumps [bitcoin](https://github.com/rust-bitcoin/rust-bitcoin) from 0.29.2 to 0.30.2. - [Release notes](https://github.com/rust-bitcoin/rust-bitcoin/releases) - [Commits](https://github.com/rust-bitcoin/rust-bitcoin/compare/0.29.2...bitcoin-0.30.2) --- updated-dependencies: - dependency-name: bitcoin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit ffd96a551a335fcb5deedd9bd5557f40481cfdd6 Author: Kroese Date: Mon Dec 11 04:31:51 2023 +0100 Update Cargo.toml commit 22104b82d437b5163b24f0d02d643d0dc9b5d572 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Dec 11 03:49:40 2023 +0100 fix(deps): update rust crate tokio to 1.35.0 (#81) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit d9289f820e07bdb09b40a7127e898731fb0efff2 Author: Kroese Date: Mon Dec 11 03:41:06 2023 +0100 Rename .github/renovate.json to renovate.json commit 35f997ae74b19df013943c654f366a3b2c05e5a7 Author: Kroese Date: Mon Dec 11 01:22:55 2023 +0100 Rename renovate.json to .github/renovate.json commit 40f53c2fc28e3142e874ba88976f21775b001f6e Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Dec 11 00:48:42 2023 +0100 fix(deps): update rust crate hex to 0.4.3 (#77) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit d13e019c26173fe250580e55e2a95ece884636c4 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Dec 11 00:48:26 2023 +0100 fix(deps): update rust crate serde to 1.0.193 (#78) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 1836f14833e5c16be6fa464a08162bc4e94ab9e3 Author: Kroese Date: Mon Dec 11 00:11:12 2023 +0100 Update .dockerignore commit dfce4217895184bed295355007562f5b8c995f7e Author: Kroese Date: Sun Dec 10 23:26:40 2023 +0100 Rename .github/renovate.json to renovate.json commit 297d5507a9a8434e3a6d5bf92952af72906d963f Author: Kroese Date: Sun Dec 10 23:11:03 2023 +0100 Update renovate.json commit 5ea51d0fad08b51024086e503f9dbcd572f394ca Author: Kroese Date: Sun Dec 10 22:58:02 2023 +0100 Update renovate.json commit 4da9ad619d675d2dee178332b219056df17f7738 Author: Kroese Date: Sun Dec 10 09:45:14 2023 +0100 Update renovate.json commit 2dda1945d93e7f6e2286db8a33509c7408932968 Author: Kroese Date: Sun Dec 10 09:44:52 2023 +0100 Update dependabot.yml commit 8f479b58fc000808dcc0d3298a3c73731eda8648 Author: Kroese Date: Sun Dec 10 06:42:10 2023 +0100 build: Platforms commit 6190bb8b632ad21054860cc9b178b8d398233893 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 04:33:53 2023 +0100 build(deps): Bump serde_json from 1.0.64 to 1.0.108 (#74) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.64 to 1.0.108. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.64...v1.0.108) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 4614a84ebd93ea28157bc4931c8ed928fbba5f57 Author: Kroese Date: Sun Dec 10 04:16:14 2023 +0100 Update Cargo.lock commit 8ab826114fdd425151636c983d9009a9784aee4c Author: Kroese Date: Sun Dec 10 04:15:28 2023 +0100 Update Cargo.toml commit 2deeb5c8bc800f634d79e839c2493a2640efe950 Author: Kroese Date: Sun Dec 10 04:13:22 2023 +0100 Update fetch_blocks.rs commit 5746eddf94b0227cfaa9b1b35fc36e14e16b3901 Author: Kroese Date: Sun Dec 10 04:08:11 2023 +0100 Update build.yml commit 4c42365cf934ee6cb3bdbadee876a2f1c33d2411 Author: Kroese Date: Sun Dec 10 04:07:15 2023 +0100 Update fetch_blocks.rs commit 2988dfe830f3549a7dedb6e7f51dcec2baf58102 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:45:06 2023 +0100 Bump bitcoin from 0.29.2 to 0.31.0 (#48) Bumps [bitcoin](https://github.com/rust-bitcoin/rust-bitcoin) from 0.29.2 to 0.31.0. - [Release notes](https://github.com/rust-bitcoin/rust-bitcoin/releases) - [Commits](https://github.com/rust-bitcoin/rust-bitcoin/compare/0.29.2...bitcoin-0.31.0) --- updated-dependencies: - dependency-name: bitcoin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9560e9c354008d420726d6de95b8095b24db02e1 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:43:07 2023 +0100 Bump serde_json from 1.0.64 to 1.0.108 (#51) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.64 to 1.0.108. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.64...v1.0.108) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b7444cc179d660f24cd5f653146e8c56d68e4a51 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:15:12 2023 +0100 build(deps): Bump configure_me_codegen from 0.4.0 to 0.4.4 (#72) Bumps [configure_me_codegen](https://github.com/Kixunil/configure_me) from 0.4.0 to 0.4.4. - [Commits](https://github.com/Kixunil/configure_me/commits) --- updated-dependencies: - dependency-name: configure_me_codegen dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 7ea3f826fd7e1e83337c11ae6ff977f037a309f6 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:13:58 2023 +0100 build(deps): Bump thiserror from 1.0.24 to 1.0.50 (#71) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.24 to 1.0.50. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.24...1.0.50) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit f3eb7a18bb1702e18441d125ef7e6c4775a0fd63 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:13:47 2023 +0100 build(deps): Bump async-channel from 1.7.1 to 1.9.0 (#73) Bumps [async-channel](https://github.com/smol-rs/async-channel) from 1.7.1 to 1.9.0. - [Release notes](https://github.com/smol-rs/async-channel/releases) - [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-channel/compare/v1.7.1...v1.9.0) --- updated-dependencies: - dependency-name: async-channel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit a561f69b65981a9fffee5934b991ea9c1e39a32d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 03:00:55 2023 +0100 build(deps): Bump http from 0.2.3 to 0.2.11 (#69) Bumps [http](https://github.com/hyperium/http) from 0.2.3 to 0.2.11. - [Release notes](https://github.com/hyperium/http/releases) - [Changelog](https://github.com/hyperium/http/blob/v0.2.11/CHANGELOG.md) - [Commits](https://github.com/hyperium/http/compare/v0.2.3...v0.2.11) --- updated-dependencies: - dependency-name: http dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d82f2dfd109e5ed3408c26cb8fac91dceb02fa2c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 02:46:27 2023 +0100 build(deps): Bump hyper from 0.14.22 to 0.14.27 (#68) Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.22 to 0.14.27. - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/v0.14.27/CHANGELOG.md) - [Commits](https://github.com/hyperium/hyper/compare/v0.14.22...v0.14.27) --- updated-dependencies: - dependency-name: hyper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit da37f98dee3cdca2cf2b51367908c6e082e8a053 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 02:46:08 2023 +0100 build(deps): Bump itertools from 0.10.0 to 0.12.0 (#66) Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.0 to 0.12.0. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.0...v0.12.0) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 79c902f88223f64eb2eddf6f5dc5d38beac0e372 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 02:45:49 2023 +0100 build(deps): Bump socks from 0.3.3 to 0.3.4 (#65) Bumps [socks](https://github.com/sfackler/rust-socks) from 0.3.3 to 0.3.4. - [Release notes](https://github.com/sfackler/rust-socks/releases) - [Commits](https://github.com/sfackler/rust-socks/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: socks dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9ca702e84334f95fdf59cfd5dfbf1cbb489ab869 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Dec 10 02:45:32 2023 +0100 build(deps): Bump slog-async from 2.6.0 to 2.8.0 (#67) Bumps [slog-async](https://github.com/slog-rs/async) from 2.6.0 to 2.8.0. - [Changelog](https://github.com/slog-rs/async/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/async/compare/v2.6.0...v2.8.0) --- updated-dependencies: - dependency-name: slog-async dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 5dcbd08aed32d0f0270e1fbb267b6cef66d30771 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Dec 9 03:43:54 2023 +0100 build(deps): Bump futures from 0.3.13 to 0.3.29 (#61) Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.13 to 0.3.29. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.13...0.3.29) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 444205a5b9c8f2cea585753a65594b6e3e1a511b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 14:33:31 2023 +0100 build(deps): Bump crossbeam-utils from 0.8.3 to 0.8.16 (#64) Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) from 0.8.3 to 0.8.16. - [Release notes](https://github.com/crossbeam-rs/crossbeam/releases) - [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md) - [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.3...crossbeam-utils-0.8.16) --- updated-dependencies: - dependency-name: crossbeam-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d03b4450046654b06eeef95774e00689a6b50e07 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 14:32:57 2023 +0100 build(deps): Bump anyhow from 1.0.38 to 1.0.75 (#59) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.38 to 1.0.75. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.38...1.0.75) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 19f2dc4b7bdca368cd5f0d5f4731b118a617cd23 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 14:32:05 2023 +0100 build(deps): Bump async-channel from 1.6.1 to 1.7.1 (#60) Bumps [async-channel](https://github.com/smol-rs/async-channel) from 1.6.1 to 1.7.1. - [Release notes](https://github.com/smol-rs/async-channel/releases) - [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-channel/compare/v1.6.1...v1.7.1) --- updated-dependencies: - dependency-name: async-channel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 92835af18f7f47028d9f7e2500f5098bfa97e03d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 14:31:49 2023 +0100 build(deps): Bump slog-term from 2.8.0 to 2.9.0 (#62) Bumps [slog-term](https://github.com/slog-rs/term) from 2.8.0 to 2.9.0. - [Changelog](https://github.com/slog-rs/term/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/term/commits/v2.9.0) --- updated-dependencies: - dependency-name: slog-term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 95a4da006d4cd2aa1888a11936d9b2e068a49a36 Author: Kroese Date: Fri Dec 8 01:40:47 2023 +0100 Update Dockerfile commit d4ef0fc6d324bd31fa30ee3f4bf83fb5338b3feb Author: Kroese Date: Fri Dec 8 01:25:56 2023 +0100 Squash some deprecation warnings commit b686b4c53a2ee02e3fb2797949c98b885f8c105b Author: Kroese Date: Fri Dec 8 01:19:04 2023 +0100 Create Cargo.lock commit 891e6e6d194fc88b586aa957c7db936fb2cd2575 Author: Kroese Date: Fri Dec 8 01:17:23 2023 +0100 Update Cargo.toml commit be2488d0c2265e809dbaa05f26363481f7f06d98 Author: Kroese Date: Fri Dec 8 01:11:55 2023 +0100 Update Cargo.toml commit 825791a7eb6da321f12293eae692f59d1add2c82 Author: Kroese Date: Fri Dec 8 01:09:48 2023 +0100 Update Cargo.toml commit 5a36b228ba04c39355e3a1e06615616b86c74d5f Author: Kroese Date: Fri Dec 8 01:07:27 2023 +0100 Update Cargo.toml commit 2a727c68415b481918166e64bf61ab1132bb4154 Author: Kroese Date: Fri Dec 8 01:07:02 2023 +0100 Delete Cargo.lock commit 9d085fdf8459ce97004465a2836031bfcdb91c6a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 00:52:25 2023 +0100 Bump futures from 0.3.13 to 0.3.29 (#57) Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.13 to 0.3.29. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.13...0.3.29) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 3dfd5e5af1c7c706e74bd66e60208261f8096056 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 00:51:14 2023 +0100 Bump socks from 0.3.3 to 0.3.4 (#56) Bumps [socks](https://github.com/sfackler/rust-socks) from 0.3.3 to 0.3.4. - [Release notes](https://github.com/sfackler/rust-socks/releases) - [Commits](https://github.com/sfackler/rust-socks/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: socks dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit e7ade51a92c19b44d3e4d3210428830da7a832f2 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 8 00:42:17 2023 +0100 Bump hyper from 0.14.22 to 0.14.27 (#58) Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.22 to 0.14.27. - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/v0.14.27/CHANGELOG.md) - [Commits](https://github.com/hyperium/hyper/compare/v0.14.22...v0.14.27) --- updated-dependencies: - dependency-name: hyper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit d7fd8c0d1cb0d1bfee00a0bbbe44ef96daa0a49b Author: Kroese Date: Fri Dec 8 00:40:39 2023 +0100 Update dependabot.yml commit 0197a7614125f0eecd5d932f313f9646e43f7393 Author: Kroese Date: Thu Dec 7 14:16:18 2023 +0100 Update dependabot.yml commit 255bef2d580b4c000118bb6a61f55bd59f7652fb Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 14:13:02 2023 +0100 Bump itertools from 0.10.0 to 0.12.0 (#52) Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.0 to 0.12.0. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.0...v0.12.0) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 30b190fc077111b310be79edd7daf24e55d6cdf6 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 14:10:44 2023 +0100 Bump anyhow from 1.0.38 to 1.0.75 (#53) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.38 to 1.0.75. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.38...1.0.75) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit b11b8a9cb9312c1f3cf71e268d13a55b8492298b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 14:09:10 2023 +0100 Bump async-channel from 1.6.1 to 1.7.1 (#55) Bumps [async-channel](https://github.com/smol-rs/async-channel) from 1.6.1 to 1.7.1. - [Release notes](https://github.com/smol-rs/async-channel/releases) - [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md) - [Commits](https://github.com/smol-rs/async-channel/compare/v1.6.1...v1.7.1) --- updated-dependencies: - dependency-name: async-channel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit df23dbcc9988e2b4e8dbed5e06e300895c42f61f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 14:07:55 2023 +0100 Bump slog-async from 2.6.0 to 2.8.0 (#54) Bumps [slog-async](https://github.com/slog-rs/async) from 2.6.0 to 2.8.0. - [Changelog](https://github.com/slog-rs/async/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/async/compare/v2.6.0...v2.8.0) --- updated-dependencies: - dependency-name: slog-async dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit df1a8776d63e57263154504134bedf21459ab987 Author: Kroese Date: Thu Dec 7 14:06:07 2023 +0100 Update dependabot.yml commit 6f799207448e49a5da4c7e0ca86ab353711dcd59 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 13:56:30 2023 +0100 Bump thiserror from 1.0.24 to 1.0.50 (#46) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.24 to 1.0.50. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.24...1.0.50) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 2b23f7d42589c9df3caad35a684a163d09cfe127 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 13:56:11 2023 +0100 Bump http from 0.2.3 to 1.0.0 (#50) Bumps [http](https://github.com/hyperium/http) from 0.2.3 to 1.0.0. - [Release notes](https://github.com/hyperium/http/releases) - [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/http/compare/v0.2.3...v1.0.0) --- updated-dependencies: - dependency-name: http dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 1d3a46aaa62cd823dd5816fde11e87c5bc9cc079 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Dec 7 13:54:22 2023 +0100 Bump slog-term from 2.8.0 to 2.9.0 (#49) Bumps [slog-term](https://github.com/slog-rs/term) from 2.8.0 to 2.9.0. - [Changelog](https://github.com/slog-rs/term/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/term/commits/v2.9.0) --- updated-dependencies: - dependency-name: slog-term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 15c5152b8cba4eab0c5bf08258b4b8e0054a264b Author: Kroese Date: Thu Dec 7 13:51:11 2023 +0100 Update renovate.json commit 33ec46e1fcea5d1eef1be4d262bfbf9e3c0a07c2 Author: Kroese Date: Fri Dec 1 20:36:08 2023 +0100 Update dependabot.yml commit 073ad23604b38aeb7b3747c674afd0168050df58 Author: Kroese Date: Fri Dec 1 20:31:47 2023 +0100 Revert Cargo * Update Cargo.toml * Update Cargo.lock commit 5285c32a3c78cca59bc0257f45b3f663d371c2c5 Author: Kroese Date: Fri Dec 1 20:16:01 2023 +0100 build: Platforms commit 2b1557c9e11b9aae55d1909597b47c8d0091541d Author: Kroese Date: Fri Dec 1 20:12:43 2023 +0100 Update Cargo.toml commit c0ed6e8ce867a28d74acd01980b60fb08ada1293 Author: Kroese Date: Fri Dec 1 20:10:11 2023 +0100 Update Dockerfile commit 31f379e399e4444c1c94dd283b1e5e4daae0a359 Author: Kroese Date: Fri Dec 1 20:03:35 2023 +0100 Update Dockerfile commit 465c6bf496a77341b6567429a42f797cc502123f Author: Kroese Date: Fri Dec 1 20:01:17 2023 +0100 Update Cargo.toml commit d2cc38a0bec837b873744c15b83d2b666a0e93ff Merge: b90df12 144557d Author: Kroese Date: Fri Dec 1 19:48:40 2023 +0100 Merge pull request #41 from dobtc/dependabot/cargo/http-1.0.0 Bump http from 0.2.9 to 1.0.0 commit 144557db65c4e10f2ecee675da06b2ad246b816b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 1 18:40:15 2023 +0000 Bump http from 0.2.9 to 1.0.0 Bumps [http](https://github.com/hyperium/http) from 0.2.9 to 1.0.0. - [Release notes](https://github.com/hyperium/http/releases) - [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/http/compare/v0.2.9...v1.0.0) --- updated-dependencies: - dependency-name: http dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] commit b90df12ec65f81e610436549cf1bb19931714903 Merge: 2086d38 0f9984f Author: Kroese Date: Fri Dec 1 19:40:10 2023 +0100 Merge pull request #44 from dobtc/dependabot/cargo/serde_json-1.0.108 Bump serde_json from 1.0.99 to 1.0.108 commit 2086d389a0bb150329a3843c16971ab9ab457d34 Merge: 2bc6640 37691f2 Author: Kroese Date: Fri Dec 1 19:39:56 2023 +0100 Merge pull request #42 from dobtc/dependabot/cargo/itertools-0.12.0 Bump itertools from 0.10.0 to 0.12.0 commit 2bc6640d97b7b15ceed61a80f53031a4c4d3115e Merge: b109e50 7d735ff Author: Kroese Date: Fri Dec 1 19:39:36 2023 +0100 Merge pull request #40 from dobtc/dependabot/cargo/hyper-0.14.27 Bump hyper from 0.14.22 to 0.14.27 commit 0f9984f0485e73fd19ffe01f6b32cadcab0b8388 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 1 18:35:05 2023 +0000 Bump serde_json from 1.0.99 to 1.0.108 Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.99 to 1.0.108. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.99...v1.0.108) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit 37691f242f05a25863e354287e76d45effab79b8 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 1 18:34:45 2023 +0000 Bump itertools from 0.10.0 to 0.12.0 Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.0 to 0.12.0. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.0...v0.12.0) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] commit 7d735ff253899862fbbd94c5af7efac9cbb66673 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Dec 1 18:34:28 2023 +0000 Bump hyper from 0.14.22 to 0.14.27 Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.22 to 0.14.27. - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/v0.14.27/CHANGELOG.md) - [Commits](https://github.com/hyperium/hyper/compare/v0.14.22...v0.14.27) --- updated-dependencies: - dependency-name: hyper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit b109e50b9ba1497b2d9fcd2b88068212c09fe26d Author: Kroese Date: Fri Dec 1 19:33:52 2023 +0100 Update dependabot.yml commit dc4cf51991e8c17d839655ed50737b0301de5e24 Author: Kroese Date: Fri Dec 1 00:27:19 2023 +0100 build: Platforms commit 9261372231af1de114c75ae6fee114c85d2fcf1e Author: Kroese Date: Thu Nov 30 14:08:06 2023 +0100 build: Annotations commit fbf56a844417acca3472e973551c449209998eb5 Author: Kroese Date: Thu Nov 30 13:55:58 2023 +0100 build: Annotations commit 2aae0b59074cc32961867b9e916b71e6827ecd6e Merge: ac51024 5bed973 Author: Kroese Date: Thu Nov 30 03:33:07 2023 +0100 Merge pull request #29 from dobtc/dependabot/cargo/slog-async-2.8.0 Bump slog-async from 2.6.0 to 2.8.0 commit 5bed973d93002a903327608f126400973eef8b9c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Nov 30 02:32:00 2023 +0000 Bump slog-async from 2.6.0 to 2.8.0 Bumps [slog-async](https://github.com/slog-rs/async) from 2.6.0 to 2.8.0. - [Changelog](https://github.com/slog-rs/async/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/async/compare/v2.6.0...v2.8.0) --- updated-dependencies: - dependency-name: slog-async dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] commit ac510243eb27029d320aa72a90f88ccff32aa597 Merge: 62f920f fb4d094 Author: Kroese Date: Thu Nov 30 03:29:31 2023 +0100 Merge pull request #30 from dobtc/dependabot/cargo/serde_json-1.0.99 Bump serde_json from 1.0.64 to 1.0.99 commit 62f920f0a30b474a8ce6353bdacbe0e932f0bf75 Merge: 71b721b b1b7754 Author: Kroese Date: Thu Nov 30 03:29:15 2023 +0100 Merge pull request #39 from dobtc/dependabot/cargo/bitcoin-0.31.0 Bump bitcoin from 0.29.2 to 0.31.0 commit 71b721bdc3ba75a9d5701224ffda1e4dc6185bd5 Merge: 6006952 df6f9a9 Author: Kroese Date: Thu Nov 30 03:29:01 2023 +0100 Merge pull request #27 from dobtc/dependabot/cargo/socks-0.3.4 Bump socks from 0.3.3 to 0.3.4 commit df6f9a9c2cde8a531072cb5e09068d15f4a2b037 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Nov 30 02:28:54 2023 +0000 Bump socks from 0.3.3 to 0.3.4 Bumps [socks](https://github.com/sfackler/rust-socks) from 0.3.3 to 0.3.4. - [Release notes](https://github.com/sfackler/rust-socks/releases) - [Commits](https://github.com/sfackler/rust-socks/compare/v0.3.3...v0.3.4) --- updated-dependencies: - dependency-name: socks dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit b1b7754d1a5a3ec1d3831f1a562d3a6a40bfb7e9 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Nov 30 02:28:47 2023 +0000 Bump bitcoin from 0.29.2 to 0.31.0 Bumps [bitcoin](https://github.com/rust-bitcoin/rust-bitcoin) from 0.29.2 to 0.31.0. - [Release notes](https://github.com/rust-bitcoin/rust-bitcoin/releases) - [Commits](https://github.com/rust-bitcoin/rust-bitcoin/compare/0.29.2...bitcoin-0.31.0) --- updated-dependencies: - dependency-name: bitcoin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] commit 6006952692f1ca2e718dfe195bf93d65564b439d Merge: e607a79 bf31a34 Author: Kroese Date: Thu Nov 30 03:28:39 2023 +0100 Merge pull request #26 from dobtc/dependabot/cargo/http-0.2.9 Bump http from 0.2.3 to 0.2.9 commit e607a794bc2c84cca6cbe2ff28357df5dd9e0732 Merge: f082554 41e9c5d Author: Kroese Date: Thu Nov 30 03:27:14 2023 +0100 Merge pull request #5 from dobtc/dependabot/cargo/thread_local-1.1.7 Bump thread_local from 1.1.3 to 1.1.7 commit f082554c520fc69ef94c56ffd966bb1af698300d Merge: 3b90d63 6cd859d Author: Kroese Date: Thu Nov 30 03:26:57 2023 +0100 Merge pull request #4 from dobtc/dependabot/cargo/h2-0.3.21 Bump h2 from 0.3.15 to 0.3.21 commit 3b90d63f62d54709bd8dcd6184f241c56d65d1e4 Merge: 7ca672f 5c8158d Author: Kroese Date: Thu Nov 30 03:26:42 2023 +0100 Merge pull request #3 from dobtc/dependabot/cargo/secp256k1-0.24.3 Bump secp256k1 from 0.24.1 to 0.24.3 commit 7ca672ff6c92832e6cae50aceccea42808fbc0e0 Merge: 59e305c 6084fe0 Author: Kroese Date: Thu Nov 30 03:21:31 2023 +0100 Merge pull request #33 from dobtc/dependabot/cargo/thiserror-1.0.50 Bump thiserror from 1.0.24 to 1.0.50 commit 6084fe0e9f4ff1b75b55f9c7ec8bed1f8da8fc80 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Nov 30 02:20:49 2023 +0000 Bump thiserror from 1.0.24 to 1.0.50 Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.24 to 1.0.50. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.24...1.0.50) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit 59e305c478666e0edd4591e4a639c06b533fa0a4 Merge: 5b5ddef 8cef36c Author: Kroese Date: Thu Nov 30 03:19:47 2023 +0100 Merge pull request #37 from dobtc/dependabot/cargo/slog-term-2.9.0 Bump slog-term from 2.8.0 to 2.9.0 commit 8cef36c9ce7be130b3f406496c6c4442be592816 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Nov 30 02:18:22 2023 +0000 Bump slog-term from 2.8.0 to 2.9.0 Bumps [slog-term](https://github.com/slog-rs/term) from 2.8.0 to 2.9.0. - [Changelog](https://github.com/slog-rs/term/blob/master/CHANGELOG.md) - [Commits](https://github.com/slog-rs/term/commits/v2.9.0) --- updated-dependencies: - dependency-name: slog-term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] commit 5b5ddefcfc3954ac80fec80e669a32ab948e5c93 Merge: 0790148 8f6e19c Author: Kroese Date: Thu Nov 30 03:16:54 2023 +0100 Merge pull request #36 from dobtc/dependabot/cargo/configure_me_codegen-0.4.4 Bump configure_me_codegen from 0.4.0 to 0.4.4 commit 079014806f82759e9c9e188dcdbe9d207c35c0b6 Merge: e695758 7fc5371 Author: Kroese Date: Thu Nov 30 03:16:19 2023 +0100 Merge pull request #34 from dobtc/dependabot/cargo/anyhow-1.0.75 Bump anyhow from 1.0.38 to 1.0.75 commit e6957583f04129134427bca6539363ef6b84b048 Merge: bfcec4c 57892a9 Author: Kroese Date: Thu Nov 30 03:15:52 2023 +0100 Merge pull request #38 from dobtc/dependabot/cargo/futures-0.3.29 Bump futures from 0.3.13 to 0.3.29 commit bfcec4c2699393aa07c4ce0179995c39aad8b651 Author: Kroese Date: Wed Nov 29 22:27:23 2023 +0100 build: Version commit 99e9da81fb7973114014a8037cc5857de5975c72 Author: Kroese Date: Wed Nov 29 22:23:30 2023 +0100 build: Docker metadata commit 9d3a97316b728eedf096c818330b50a9ca77efbd Author: Kroese Date: Wed Nov 29 22:12:08 2023 +0100 build: External labels commit d2d8cf437adb35ff3cea6875a3db5b783f5f71da Author: Kroese Date: Wed Nov 29 11:19:29 2023 +0100 build: External labels commit bc73fe9735db651fdc143e095f1e8c84719280de Author: Kroese Date: Wed Nov 29 11:18:42 2023 +0100 build: External labels commit 6aa45670ccd296f90d5e16a8e4ebaa028caf99d4 Author: Kroese Date: Fri Nov 24 04:12:26 2023 +0100 build: Concurrency commit 57892a9dd0e6c904eb10e315223b703e6e0d564b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Oct 30 09:05:11 2023 +0000 Bump futures from 0.3.13 to 0.3.29 Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.13 to 0.3.29. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.13...0.3.29) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit 8f6e19c9c2ff05fac957bdc9fad8038a50fd64d1 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Oct 23 08:50:07 2023 +0000 Bump configure_me_codegen from 0.4.0 to 0.4.4 Bumps [configure_me_codegen](https://github.com/Kixunil/configure_me) from 0.4.0 to 0.4.4. - [Commits](https://github.com/Kixunil/configure_me/commits) --- updated-dependencies: - dependency-name: configure_me_codegen dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit 7fc53716cb73669d263f0dd6a3aee3eb3a72566e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Oct 23 08:49:40 2023 +0000 Bump anyhow from 1.0.38 to 1.0.75 Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.38 to 1.0.75. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.38...1.0.75) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit b32689e7de97d8a2843b96e7d76e3f38e6a6c8f7 Author: Kroese Date: Sun Oct 22 02:35:56 2023 +0200 Update build.yml commit 2b12b7ad07282257b50f2db93e8be28ed6918447 Author: Kroese Date: Sun Oct 22 02:06:16 2023 +0200 Update build.yml commit 499d643ac9ea08cb7841edf54a244951f53d71d4 Author: Kroese Date: Sun Oct 22 01:59:56 2023 +0200 Update build.yml commit d63398e34f42da16c1a9a533c68820ddc9affaf2 Author: Kroese Date: Thu Oct 19 02:09:45 2023 +0200 Update Dockerfile commit 94c93fbb8ec8b801ce827606c6868f0b551828ec Author: Kroese Date: Wed Oct 18 20:47:22 2023 +0200 Update build.yml commit 1a48856b3041e4724345e24e53ef511e3a58c629 Author: Kroese Date: Wed Oct 18 09:08:59 2023 +0200 build: Create release commit 427685a2b1e20bc13928583386a0108dc7fe9ef8 Author: Kroese Date: Tue Oct 17 20:09:05 2023 +0200 build: Update to Debian 13 commit 262efa27fbc3d5f10568e65a303e371d608ade12 Author: Kroese Date: Mon Oct 16 17:30:34 2023 +0200 build: Dockerfile commit 4c9f6cbc13f06c86368fd6f6c80ac3f6b2668384 Author: Kroese Date: Mon Oct 16 17:27:42 2023 +0200 build: Add Github packages commit 8e5bbe801c932ea02b8c0f0c6e15e4c09888e40f Author: Kroese Date: Mon Oct 16 16:58:40 2023 +0200 build: Dockerfile commit 75086704d012b7d737120d7986d9d684e9907268 Author: Kroese Date: Mon Oct 16 16:37:58 2023 +0200 Update build.yml commit 8cf6eedb96aa5e660017cf4c2465ce258c1203ff Author: Kroese Date: Mon Oct 16 16:37:16 2023 +0200 build: Dockerfile commit 3c69081c7cef416dc1740c4e86cd304b29fdcf61 Merge: 3c3700b b6af9ea Author: Kroese Date: Mon Sep 18 03:28:50 2023 +0200 Merge pull request #31 from dobtc/dependabot/github_actions/docker/setup-buildx-action-3 Bump docker/setup-buildx-action from 2 to 3 commit 3c3700b177513bf5029515fd03bb02033373c105 Merge: 8d197b1 d36386e Author: Kroese Date: Mon Sep 18 03:28:31 2023 +0200 Merge pull request #32 from dobtc/dependabot/github_actions/docker/login-action-3 Bump docker/login-action from 2 to 3 commit d36386e6ef4c69d217ccb5bb5976d9a22ce485ff Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Sep 17 11:36:58 2023 +0000 Bump docker/login-action from 2 to 3 Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] commit b6af9ea30c61370902c0bdceebf0c53cf24071fe Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Sep 17 11:36:56 2023 +0000 Bump docker/setup-buildx-action from 2 to 3 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] commit 8d197b1290160b720048358256451f61f4f2d07a Author: Kroese Date: Sun Sep 17 13:36:40 2023 +0200 Update dependabot.yml commit fb4d094671659b05edb4b2e35dfb19a4a69f24d6 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 11 08:29:26 2023 +0000 Bump serde_json from 1.0.64 to 1.0.99 Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.64 to 1.0.99. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.64...v1.0.99) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit bf31a34c6e9c8ef1c75f5d011751875f386d0a90 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 11 08:28:40 2023 +0000 Bump http from 0.2.3 to 0.2.9 Bumps [http](https://github.com/hyperium/http) from 0.2.3 to 0.2.9. - [Release notes](https://github.com/hyperium/http/releases) - [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/http/compare/v0.2.3...v0.2.9) --- updated-dependencies: - dependency-name: http dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] commit fda6b586c53aafea8484fe2baa57be7da4ac634e Author: Kroese Date: Tue Sep 5 03:35:12 2023 +0200 Update readme.md commit cbba638a4360baea22bff232cd5858712c9fd53c Author: Kroese Date: Tue Sep 5 01:29:27 2023 +0200 Update btc_rpc_proxy.toml commit 1ef451e14bb6d7c6adf1cd93ffbebe1dcee2579e Author: Kroese Date: Tue Sep 5 01:11:26 2023 +0200 Update readme.md commit 1cbc7f34c0347a14a19d5abf8cc378c6387729c4 Author: Kroese Date: Tue Sep 5 01:11:05 2023 +0200 Update docker-compose.yml commit ce7a29e83b22a545015ba8d3fd33b279448f5a8a Author: Kroese Date: Tue Sep 5 01:10:45 2023 +0200 Update Dockerfile commit 73ba9ad424866f5013b35fb5d0b20817415cc098 Author: Kroese Date: Tue Sep 5 01:07:26 2023 +0200 Update Dockerfile commit 1a7984b0e3f88188b1b7aae540582200fcecefba Author: Kroese Date: Tue Sep 5 00:07:57 2023 +0200 Update Dockerfile commit 9daf9c5efa870a1d6814534ed6f8196bd66656a9 Author: Kroese Date: Mon Sep 4 23:37:26 2023 +0200 Update Dockerfile commit c5d5e9cbb4dd079a3a688f6fcae317dccb4f93d9 Merge: 162dbaa 3e4da65 Author: Kroese Date: Mon Sep 4 21:53:03 2023 +0200 Merge pull request #25 from dobtc/renovate/actions-checkout-4.x Update actions/checkout action to v4 commit 162dbaa38430ac2b0c18201e7c9bdf1d704e974c Author: Kroese Date: Mon Sep 4 21:49:03 2023 +0200 Update Dockerfile commit 3e4da65c3e951d6403c16976b8dac0b1d73369f0 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Sep 4 19:31:26 2023 +0000 Update actions/checkout action to v4 commit 6bd97141a4d299026b249230c4147c4b9740db82 Author: Kroese Date: Mon Sep 4 21:30:46 2023 +0200 Update Dockerfile commit 0d9fc594ea229559e7dfcb11ee085e2854dd4b7f Author: Kroese Date: Mon Sep 4 21:17:07 2023 +0200 Update btc_rpc_proxy.toml commit d413ee059d28e976793bfae5996e1308e0255bea Author: Kroese Date: Mon Sep 4 21:07:28 2023 +0200 Update build.yml commit 53e4ad198b774b07222588c2b3068e3dc5ffb5ac Author: Kroese Date: Mon Sep 4 21:05:16 2023 +0200 Update Dockerfile commit 872757e6cb813bfc36136b10234499e5dd53e004 Author: Kroese Date: Mon Sep 4 20:10:36 2023 +0200 Update Dockerfile commit 7af7af3765086592d7347925e7151462af44cb3b Author: Kroese Date: Mon Sep 4 19:13:57 2023 +0200 Update Dockerfile commit e6fb3954116a8c7b67b66387bac42f9ce30d0659 Author: Kroese Date: Mon Sep 4 19:10:21 2023 +0200 Update Dockerfile commit 2144d74fe03f5229ef8d3b463c7e2fa1d367f8b3 Author: Kroese Date: Mon Sep 4 18:58:58 2023 +0200 Update Dockerfile commit 9e8e6eb67c283e74e575eea1418aa809aa928441 Author: Kroese Date: Mon Sep 4 18:57:38 2023 +0200 Update Dockerfile commit 080a735b442a0b7fec4663574906d500ba3910fd Author: Kroese Date: Mon Sep 4 18:42:33 2023 +0200 Update Dockerfile commit e6ad86cd1a38d70b391f6e3c7591eaa07b0424f5 Author: Kroese Date: Mon Sep 4 18:36:32 2023 +0200 Update Dockerfile commit 49618b5529ebc6fffadf91227f4d60fdaaf190e9 Author: Kroese Date: Mon Sep 4 18:32:16 2023 +0200 Update Dockerfile commit 8cd48857dd742822d4e217edabca487977fc315d Author: Kroese Date: Mon Sep 4 18:25:21 2023 +0200 Update Dockerfile commit 6870ee584cacba4e9ae20630e582dde85eaee63a Author: Kroese Date: Mon Sep 4 17:55:38 2023 +0200 Update Dockerfile commit b36e1731df0ecfc0b21045b83b0589649adb6802 Author: Kroese Date: Mon Sep 4 17:52:22 2023 +0200 Update build.yml commit 03336b296394c12df64fac499ff34e6c248be2c0 Author: Kroese Date: Mon Sep 4 17:48:57 2023 +0200 Update build.yml commit 0edcad433f7d0948041e4acbdfd774beed730890 Author: Kroese Date: Mon Sep 4 17:42:51 2023 +0200 Update Dockerfile commit 4ce55ba34e24fa6c4af602eb88ef4f1902d310b2 Author: Kroese Date: Mon Sep 4 17:37:08 2023 +0200 Update Dockerfile commit 0463f4900f8bbb96d8a651e817d200bbb6a703b8 Author: Kroese Date: Mon Sep 4 17:28:55 2023 +0200 Update Dockerfile commit 610670b2deeec5409af16fe2ef2112f9f70306e9 Author: Kroese Date: Mon Sep 4 17:25:24 2023 +0200 Update Dockerfile commit 088ea82708986c9db07fefcd59c3fe96b3114d86 Author: Kroese Date: Mon Sep 4 17:05:36 2023 +0200 Update Dockerfile commit a6c440f02c9efe2dd4077e210de01890a55aa009 Author: Kroese Date: Mon Sep 4 16:54:11 2023 +0200 Update Dockerfile commit f097864e33aaa180368ed3ee115d0bcc2fa7725c Author: Kroese Date: Mon Sep 4 16:49:46 2023 +0200 Update Dockerfile commit 68f44424168fb49e646ce5e49d145972f6226ac1 Author: Kroese Date: Mon Sep 4 15:55:34 2023 +0200 Update Dockerfile commit 771b4d8b1b71d8389b58242866445f961eb4514f Author: Kroese Date: Mon Sep 4 15:42:07 2023 +0200 Update Dockerfile commit f88ef73bc9c4c2de45fc93a5cc04b0e8553809fd Author: Kroese Date: Mon Sep 4 15:15:54 2023 +0200 Create docker-compose.yml commit 556b4b3d548e73091db5d4e440a411d78b0293d3 Author: Kroese Date: Mon Sep 4 15:15:10 2023 +0200 Delete entrypoint.sh commit 6ef194526e39218dd5004e05283df1b2211940bf Author: Kroese Date: Mon Sep 4 15:13:21 2023 +0200 Update Dockerfile commit 3b0cc9f5cba0052908b88f1c2affb760eb2495a4 Author: Kroese Date: Mon Sep 4 14:34:11 2023 +0200 Update btc_rpc_proxy.toml commit 148a2e00a0e6398576be7e53c503dea83fa4cf4b Author: Kroese Date: Mon Sep 4 14:14:48 2023 +0200 Update dependabot.yml commit db4a0ba1bbb092271d2a8af59f97d65797fc2a3c Author: Kroese Date: Mon Sep 4 14:14:00 2023 +0200 Update Dockerfile commit 5cdf6bd278534c7725d86d4ae24ecf308940a240 Author: Kroese Date: Mon Sep 4 14:11:21 2023 +0200 Update entrypoint.sh commit caf759081929393c05b331d5a971f8ad24987b44 Author: Kroese Date: Mon Sep 4 14:05:29 2023 +0200 Update readme.md commit 3c89f58673c800bc2579e9f792f1d85700a26b48 Author: Kroese Date: Mon Sep 4 14:02:56 2023 +0200 Update readme.md commit 6601c954ed79b5a35848df14dfbfc34b7f0ed91d Author: Kroese Date: Mon Sep 4 13:56:52 2023 +0200 Update Dockerfile commit ad34bd725e1557baa9495ae86da9867bf1f4c647 Author: Kroese Date: Mon Sep 4 13:55:21 2023 +0200 Update build.yml commit 1d0c304e522489705dcc516d663ed18264e439f2 Author: Kroese Date: Mon Sep 4 13:34:46 2023 +0200 Update Dockerfile commit 6084ae58df946be8546ff03d9a20ffe8d1a9e97e Author: Kroese Date: Mon Sep 4 13:33:29 2023 +0200 Update entrypoint.sh commit 582f10d18f189634b5aa387490927c0d88386eb4 Author: Kroese Date: Mon Sep 4 13:31:16 2023 +0200 Update Dockerfile commit 02a1948b89231c3631bac3c7f2deb7d9c0d0f109 Author: Kroese Date: Mon Sep 4 13:26:02 2023 +0200 Update readme.md commit 40b6c22100bacbb671bcaa4f89740ac8b078ffdf Author: Kroese Date: Mon Sep 4 13:12:05 2023 +0200 Update Dockerfile commit dfdf68e699de0533b2a3af2c18db3224750782ff Author: Kroese Date: Mon Sep 4 13:05:18 2023 +0200 Update Dockerfile commit 2cfe66fc7b79ff605b3f1f00bb9f39c735e440db Author: Kroese Date: Mon Sep 4 12:59:34 2023 +0200 Update Dockerfile commit 7d9e4a973670d677f8b3bb541d738fea4f7e7ad1 Author: Kroese Date: Mon Sep 4 12:55:30 2023 +0200 Update Dockerfile commit 08b2ac0d276985fa72386b232eb889a97c33308c Author: Kroese Date: Mon Sep 4 12:50:58 2023 +0200 Update Dockerfile commit f9ec35bea447fbbe32c3c38404c146eb9e6dade8 Author: Kroese Date: Mon Sep 4 12:48:59 2023 +0200 Create .dockerignore commit 27d7b44ed33f6e0cacaf488f79c94ee3774e04a6 Author: Kroese Date: Mon Sep 4 12:46:32 2023 +0200 Create entrypoint.sh commit 9160b370654538e8ddbde22312140914d8cab20d Author: Kroese Date: Mon Sep 4 12:43:46 2023 +0200 Update Dockerfile commit 2d782d189a9b1ff8da733b5ae3cce4d35567ef04 Author: Kroese Date: Mon Sep 4 12:31:50 2023 +0200 Update Dockerfile commit d91a6a21b46f1979719140cb3af9466e7e033674 Author: Kroese Date: Mon Sep 4 12:20:46 2023 +0200 Update Dockerfile commit 65b731bbccc1c0c16680171127be07c053a29592 Author: Kroese Date: Mon Sep 4 12:20:08 2023 +0200 Add files via upload commit 41e9c5dac4243f4f05898b6c0d6a79d17d81255a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 4 10:11:41 2023 +0000 Bump thread_local from 1.1.3 to 1.1.7 Bumps [thread_local](https://github.com/Amanieu/thread_local-rs) from 1.1.3 to 1.1.7. - [Commits](https://github.com/Amanieu/thread_local-rs/compare/v1.1.3...1.1.7) --- updated-dependencies: - dependency-name: thread_local dependency-type: indirect ... Signed-off-by: dependabot[bot] commit 6cd859db146b518ab04d0720fda88247df0d2f12 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 4 10:11:36 2023 +0000 Bump h2 from 0.3.15 to 0.3.21 Bumps [h2](https://github.com/hyperium/h2) from 0.3.15 to 0.3.21. - [Release notes](https://github.com/hyperium/h2/releases) - [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md) - [Commits](https://github.com/hyperium/h2/compare/v0.3.15...v0.3.21) --- updated-dependencies: - dependency-name: h2 dependency-type: indirect ... Signed-off-by: dependabot[bot] commit 5c8158d623294c7439f58a49c67f3767508e0038 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 4 10:11:17 2023 +0000 Bump secp256k1 from 0.24.1 to 0.24.3 Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.24.1 to 0.24.3. - [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.1...secp256k1-0.24.3) --- updated-dependencies: - dependency-name: secp256k1 dependency-type: indirect ... Signed-off-by: dependabot[bot] commit 1d0d401e100ff5baf7ec6c7d8d51abd3d1f152b2 Author: Kroese Date: Mon Sep 4 12:10:53 2023 +0200 Create build.yml commit 100a22f88c8a9212a52d2d8ceda3cffdfeb1e2f8 Author: Kroese Date: Mon Sep 4 12:00:38 2023 +0200 Create Dockerfile commit 525727af239f1ce13f3ca234deb1a763596187bd Author: Kroese Date: Mon Sep 4 11:37:23 2023 +0200 Create dependabot.yml commit 55c0abbddcf82587d83a854e76a94c73b6af7c58 Author: Kroese Date: Mon Sep 4 11:36:34 2023 +0200 Create renovate.json commit 3d242ffe40a1da3af46ca5e1130eca89c18bc9ca Author: Kroese Date: Mon Sep 4 11:35:50 2023 +0200 Create hub.yml commit 3cae8d10df32619a01a95b76299f17152572fb67 Author: Kroese Date: Mon Sep 4 11:34:37 2023 +0200 Create readme.md commit 434e1606755fe73f4b9b16f2559a31cb5a68274f Author: Kroese Date: Mon Sep 4 11:33:28 2023 +0200 Delete .github/workflows/rust.yml --- .dockerignore | 12 + .github/dependabot.yml | 14 + .github/logo.png | Bin 0 -> 38948 bytes .github/readme.md | 89 +++++ .github/renovate.json | 11 + .github/workflows/build.yml | 101 +++++ .github/workflows/hub.yml | 23 ++ .github/workflows/rust.yml | 28 -- Cargo.lock | 730 ++++++++++++++++++++++-------------- Cargo.toml | 39 +- Dockerfile | 32 ++ btc_rpc_proxy.toml | 6 +- docker-compose.yml | 9 + src/client.rs | 5 +- src/rpc_methods.rs | 2 +- src/users.rs | 7 +- 16 files changed, 771 insertions(+), 337 deletions(-) create mode 100644 .dockerignore create mode 100644 .github/dependabot.yml create mode 100644 .github/logo.png create mode 100644 .github/readme.md create mode 100644 .github/renovate.json create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/hub.yml delete mode 100644 .github/workflows/rust.yml create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6bdebd5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.dockerignore +.github +.gitignore +.gitlab-ci.yml +.gitmodules +.vscode +Dockerfile +Dockerfile.archive +docker-compose.yml +renovate.json + +*.md diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..1a032bc --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 +updates: + - package-ecosystem: cargo + directory: / + schedule: + interval: monthly + - package-ecosystem: docker + directory: / + schedule: + interval: weekly + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly diff --git a/.github/logo.png b/.github/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..88a7699e1d6c54d1ee47bbe2b45af53df7ef81e9 GIT binary patch literal 38948 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 literal 0 HcmV?d00001 diff --git a/.github/readme.md b/.github/readme.md new file mode 100644 index 0000000..286d8bf --- /dev/null +++ b/.github/readme.md @@ -0,0 +1,89 @@ +

Bitcoin RPC Proxy
+
+ +
+
+ +[![Build]][build_url] +[![Version]][tag_url] +[![Size]][tag_url] +[![Pulls]][hub_url] + +

+ +Finer-grained permission management for bitcoind. + +## How to use + +Via `docker-compose` + +```yaml +version: "3" +services: + rpc-proxy: + container_name: rpc-proxy + image: dobtc/btc-rpc-proxy + ports: + - 8331:8331 + volumes: + - /path/to/config/btc_rpc_proxy.toml:/etc/btc_rpc_proxy.toml +``` + +## About + +This is a proxy made specifically for `bitcoind` to allow finer-grained control of permissions. It enables you to specify several users and for each user the list of RPC calls they are allowed to make. When run against a prunded node, the proxy will perform on-demand block fetching and verification, enabling features of a non-pruned node while still using a pruned node. + +### Fine-grained permission management + +This is useful because `bitcoind` allows every application with password to make possibly harmful calls like stopping the daemon or spending from wallet (if enabled). If you have several applications, you can provide the less trusted ones a different password and permissions than the others using this project. + +There's another interesting advantage: since this is written in Rust, it might serve as a filter for **some** malformed requests which might be exploits. But I don't recommend relying on it! + +### On-demand block fetching + +By connecting to your pruned Bitcoin node through Bitcoin Proxy, your node will now behave as though it is not pruned. If a user or application requires a block that is not retained by your pruned node, Bitcoin Proxy will dynamically fetch the block over the P2P network, then verify its hash against your node to ensure validity. + +This means that you can run multiple services against your _pruned_ Bitcoin node — such as Lightning and BTCPay — without them fighting for control over the pruning. Both are happy because both believe they are dealing with an _unpruned_ node. + +A tradeoff to the proxy is speed and bandwidth. Every time the proxy needs to fetch a block not retained by your pruned node, it must reach out over the P2P network, consuming both Internet bandwidth and time. + +## Usage + +For security and performance reasons this application is written in Rust. Thus, you need a recent Rust compiler to compile it. + +You need to configure the proxy using config files. You can specify their paths using `--conf /path/to/file.toml` or `--conf-dir /path/to/config/dir`. **Make sure to set their permissions to `600` before you write the passwords to them!** If `--conf-dir` is used, all files in that directory will be loaded and merged. You can use `--conf` multiple times. This is useful to organize your configuration (e.g. put sensitive information into a separate file). + +An example configuration file is provided in this repository, hopefuly it's understandable. After configuring, you only need to run the compiled binary (e.g. using `cargo run --release -- --conf btc_rpc_proxy.toml`) + +A man page can be generated using [`cfg_me`](https://crates.io/crates/cfg_me) and `--help` option is provided. + +### Systemd integration + +Using socket activation enables you to delay the start of `btc-rpc-proxy` until it's actually needed or start it in parallel with its clients leading to faster boot times. + +Systemd socket activation is configured using `bind_systemd_socket_name` option. +Setting it to a valid socket name will cause `btc-rpc-proxy` to use systemd socket activation using the socket with the specified socket name. + +This feature is only available for Linux and only if the `systemd` feature is enabled. (Enabled by default.) +Disabling it can decrease compile time and binary size but please keep it enabled if you intend to distribute the binary so that the users can benefit from it. +Especially in case of packaged software. + +## Limitations + +* It uses `serde_json`, which allocates during deserialization (`Value`). Expect a bit lower performance than without proxy. +* Logging can't be configured yet. +* No support for changing UID. +* No support for Unix sockets. +* Redirect instead of blocking might be a useful feaure, which is now lacking. + +## Stars +[![Stars](https://starchart.cc/dobtc/btc-rpc-proxy.svg?variant=adaptive)](https://starchart.cc/dobtc/btc-rpc-proxy) + +[build_url]: https://github.com/dobtc/btc-rpc-proxy/ +[hub_url]: https://hub.docker.com/r/dobtc/btc-rpc-proxy/ +[tag_url]: https://hub.docker.com/r/dobtc/btc-rpc-proxy/tags + +[Build]: https://github.com/dobtc/btc-rpc-proxy/actions/workflows/build.yml/badge.svg +[Size]: https://img.shields.io/docker/image-size/dobtc/btc-rpc-proxy/latest?color=066da5&label=size +[Pulls]: https://img.shields.io/docker/pulls/dobtc/btc-rpc-proxy.svg?style=flat&label=pulls&logo=docker +[Version]: https://img.shields.io/docker/v/dobtc/btc-rpc-proxy/latest?arch=amd64&sort=semver&color=066da5 diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..7b75adb --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:recommended", ":disableDependencyDashboard"], + "forkProcessing": "enabled", + "woodpecker": { + "enabled": false + }, + "cargo": { + "enabled": false + } +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..49f4b62 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,101 @@ +name: Build + +on: + workflow_dispatch: + +concurrency: + group: build + cancel-in-progress: false + +jobs: + build: + name: Build + runs-on: ubuntu-latest + permissions: + actions: write + packages: write + contents: read + steps: + - + name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - + name: Lint Dockerfile + uses: hadolint/hadolint-action@v3.1.0 + with: + dockerfile: Dockerfile + ignore: DL3007,DL3008,DL3059 + failure-threshold: warning + - + name: Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + context: git + images: | + ${{ secrets.DOCKERHUB_REPO }} + ghcr.io/${{ github.repository }} + tags: | + type=raw,value=latest,priority=100 + type=raw,value=${{ vars.MAJOR }}.${{ vars.MINOR }} + labels: | + org.opencontainers.image.title=${{ vars.NAME }} + env: + DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login into Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + provenance: false + platforms: linux/amd64, linux/arm64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + annotations: ${{ steps.meta.outputs.annotations }} + build-args: | + RUST_RELEASE_MODE=release + CARGO_BUILD_FEATURES=default + VERSION_ARG=${{ steps.meta.outputs.version }} + - + name: Create a release + uses: action-pack/github-release@v2 + with: + tag: "v${{ steps.meta.outputs.version }}" + title: "v${{ steps.meta.outputs.version }}" + token: ${{ secrets.REPO_ACCESS_TOKEN }} + - + name: Increment version variable + uses: action-pack/bump@v2 + with: + token: ${{ secrets.REPO_ACCESS_TOKEN }} + - + name: Send mail + uses: action-pack/send-mail@v1 + with: + to: ${{secrets.MAILTO}} + from: Github Actions <${{secrets.MAILTO}}> + connection_url: ${{secrets.MAIL_CONNECTION}} + subject: Build of ${{ github.event.repository.name }} v${{ steps.meta.outputs.version }} completed + body: | + The build job of ${{ github.event.repository.name }} v${{ steps.meta.outputs.version }} was completed successfully! + + See https://github.com/${{ github.repository }}/actions for more information. diff --git a/.github/workflows/hub.yml b/.github/workflows/hub.yml new file mode 100644 index 0000000..6372266 --- /dev/null +++ b/.github/workflows/hub.yml @@ -0,0 +1,23 @@ +name: Update +on: + push: + branches: + - master + paths: + - .github/readme.md + - .github/workflows/hub.yml + +jobs: + dockerHubDescription: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - + name: Docker Hub Description + uses: peter-evans/dockerhub-description@v4 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: ${{ secrets.DOCKERHUB_REPO }} + short-description: ${{ github.event.repository.description }} + readme-filepath: ./.github/readme.md diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml deleted file mode 100644 index 19760d7..0000000 --- a/.github/workflows/rust.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Rust - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -env: - CARGO_TERM_COLOR: always - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Use old rust - uses: actions-rs/toolchain@v1 - with: - toolchain: 1.41.1 - override: true - - - name: Build - run: cargo build --features=old_rust --verbose - - name: Run tests - run: cargo test --features=old_rust --verbose diff --git a/Cargo.lock b/Cargo.lock index 653ff5f..a3f022c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,32 +2,38 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "anyhow" -version = "1.0.38" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "async-channel" -version = "1.6.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", "event-listener", + "event-listener-strategy", "futures-core", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi 0.3.9", + "pin-project-lite 0.2.13", ] [[package]] @@ -36,6 +42,21 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base32" version = "0.4.0" @@ -44,9 +65,9 @@ checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa" [[package]] name = "base64" -version = "0.13.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bech32" @@ -56,22 +77,31 @@ checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] name = "bitcoin" -version = "0.29.2" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3" +checksum = "1945a5048598e4189e239d3f809b19bdad4845c4b2ba400d304d2dcf26d2c462" dependencies = [ "bech32", + "bitcoin-private", "bitcoin_hashes", + "hex_lit", "secp256k1", "serde", ] +[[package]] +name = "bitcoin-private" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" + [[package]] name = "bitcoin_hashes" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" dependencies = [ + "bitcoin-private", "serde", ] @@ -104,7 +134,7 @@ dependencies = [ [[package]] name = "btc-rpc-proxy" -version = "0.3.2" +version = "0.0.0-development" dependencies = [ "anyhow", "async-channel", @@ -114,7 +144,7 @@ dependencies = [ "configure_me", "configure_me_codegen", "enum_future", - "futures 0.3.13", + "futures 0.3.30", "hex", "http", "hyper", @@ -130,16 +160,10 @@ dependencies = [ "systemd_socket", "thiserror", "tokio 0.2.25", - "tokio 1.21.2", + "tokio 1.36.0", "tokio-compat-02", ] -[[package]] -name = "bumpalo" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708" - [[package]] name = "byte-tools" version = "0.3.1" @@ -164,20 +188,13 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" -[[package]] -name = "cache-padded" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" - [[package]] name = "cargo_toml" -version = "0.8.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513d17226888c7b8283ac02a1c1b0d8a9d4cbf6db65dfadb79f598f5d7966fe9" +checksum = "6a621d5d6d6c8d086dbaf1fe659981da41a1b63c6bdbba30b4dbb592c6d3bd49" dependencies = [ "serde", - "serde_derive", "toml", ] @@ -199,26 +216,13 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6127248204b9aba09a362f6c930ef6a78f2c1b2215f8a7b398c06e1083f17af0" -dependencies = [ - "js-sys", - "num-integer", - "num-traits", - "wasm-bindgen", - "winapi 0.3.9", -] - [[package]] name = "concurrent-queue" -version = "1.2.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ - "cache-padded", + "crossbeam-utils", ] [[package]] @@ -235,9 +239,9 @@ dependencies = [ [[package]] name = "configure_me_codegen" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "981fb98983781be95b91dc4ce7c178ae000f91350d783d43d1ce8adc4963c91f" +checksum = "ad4bfdee5b1410b1d3b4239172e6f4573d2d47a14a11cd397dac083233dbe3e3" dependencies = [ "cargo_toml", "fmt2io", @@ -261,14 +265,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.3" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "lazy_static", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crypto-mac" @@ -280,6 +279,15 @@ dependencies = [ "subtle", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + [[package]] name = "digest" version = "0.8.1" @@ -325,6 +333,12 @@ dependencies = [ "futures 0.1.31", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "error-chain" version = "0.12.4" @@ -336,9 +350,24 @@ dependencies = [ [[package]] name = "event-listener" -version = "2.5.1" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.13", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener", + "pin-project-lite 0.2.13", +] [[package]] name = "fake-simd" @@ -382,9 +411,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -397,9 +426,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -407,15 +436,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -424,17 +453,16 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro-hack", "proc-macro2", "quote", "syn", @@ -442,21 +470,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.13" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -465,10 +493,8 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.13", "pin-utils", - "proc-macro-hack", - "proc-macro-nested", "slab", ] @@ -492,11 +518,17 @@ dependencies = [ "wasi 0.10.2+wasi-snapshot-preview1", ] +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + [[package]] name = "h2" -version = "0.3.15" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes 1.0.1", "fnv", @@ -506,16 +538,16 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.21.2", + "tokio 1.36.0", "tokio-util", "tracing", ] [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "hermit-abi" @@ -526,12 +558,24 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex_lit" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" + [[package]] name = "hmac" version = "0.7.1" @@ -544,13 +588,13 @@ dependencies = [ [[package]] name = "http" -version = "0.2.3" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes 1.0.1", "fnv", - "itoa 0.4.7", + "itoa", ] [[package]] @@ -577,9 +621,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.22" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfba89e19b959ca163c7752ba59d737c1ceea53a5d31a149c805446fc958064" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes 1.0.1", "futures-channel", @@ -590,10 +634,10 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.4", - "pin-project-lite 0.2.6", - "socket2", - "tokio 1.21.2", + "itoa", + "pin-project-lite 0.2.13", + "socket2 0.4.7", + "tokio 1.36.0", "tower-service", "tracing", "want", @@ -601,11 +645,11 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.2" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ - "autocfg", + "equivalent", "hashbrown", ] @@ -619,19 +663,24 @@ dependencies = [ ] [[package]] -name = "itertools" -version = "0.10.0" +name = "is-terminal" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "either", + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "itoa" -version = "0.4.7" +name = "itertools" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] [[package]] name = "itoa" @@ -639,15 +688,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" -[[package]] -name = "js-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cedf50c705f7ede60202104d9cb08d02f3156d4a6f4f638ab4fcdfd0e9ecdda" -dependencies = [ - "wasm-bindgen", -] - [[package]] name = "kernel32-sys" version = "0.2.2" @@ -666,9 +706,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.140" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libsystemd" @@ -725,9 +765,18 @@ dependencies = [ [[package]] name = "memchr" -version = "2.3.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "miniz_oxide" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +dependencies = [ + "adler", +] [[package]] name = "mio" @@ -750,14 +799,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -797,39 +845,35 @@ dependencies = [ ] [[package]] -name = "num-integer" -version = "0.1.45" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] -name = "num-traits" -version = "0.2.15" +name = "num_cpus" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" dependencies = [ - "autocfg", + "hermit-abi 0.1.18", + "libc", ] [[package]] -name = "num_cpus" -version = "1.13.0" +name = "object" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ - "hermit-abi", - "libc", + "memchr", ] [[package]] name = "once_cell" -version = "1.7.2" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -837,6 +881,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "parking_lot" version = "0.12.1" @@ -857,7 +907,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -874,9 +924,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.6" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -885,31 +935,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "proc-macro2" -version = "1.0.24" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.9" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -939,6 +983,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33e4fb37ba46888052c763e4ec2acfedd8f00f62897b630cadb6298b833675e" +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustversion" version = "1.0.4" @@ -959,9 +1009,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ "bitcoin_hashes", "secp256k1-sys", @@ -970,27 +1020,27 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.6.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" dependencies = [ "cc", ] [[package]] name = "serde" -version = "1.0.123" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.123" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", @@ -999,11 +1049,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ - "itoa 0.4.7", + "itoa", "ryu", "serde", ] @@ -1052,9 +1102,9 @@ checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" [[package]] name = "slog-async" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe" +checksum = "72c8038f898a2c79507940990f05386455b3a317d8f18d4caea7cbc3d5096b84" dependencies = [ "crossbeam-channel", "slog", @@ -1064,15 +1114,15 @@ dependencies = [ [[package]] name = "slog-term" -version = "2.8.1" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3668dd2252f4381d64de0c79e6c8dc6bd509d1cab3535b35a3fc9bafd1241d5" +checksum = "b6e022d0b998abfe5c3782c1f03551a596269450ccd677ea51c56f8b214610e8" dependencies = [ - "atty", - "chrono", + "is-terminal", "slog", "term", "thread_local", + "time", ] [[package]] @@ -1091,16 +1141,25 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "socks" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f86c7635fadf2814201a4f67efefb0007588ae7422ce299f354ab5c97f61ae" +checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" dependencies = [ "byteorder", "libc", - "winapi 0.2.8", - "ws2_32-sys", + "winapi 0.3.9", ] [[package]] @@ -1111,13 +1170,13 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "syn" -version = "1.0.67" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6498a9efc342871f91cc2d0d694c674368b4ceb40f62b65a7a08c3792935e702" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -1151,18 +1210,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.24" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.24" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", @@ -1178,6 +1237,37 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tokio" version = "0.2.25" @@ -1196,22 +1286,21 @@ dependencies = [ [[package]] name = "tokio" -version = "1.21.2" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ - "autocfg", + "backtrace", "bytes 1.0.1", "libc", - "memchr", - "mio 0.8.5", + "mio 0.8.11", "num_cpus", "parking_lot", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.13", "signal-hook-registry", - "socket2", + "socket2 0.5.6", "tokio-macros", - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] @@ -1222,17 +1311,17 @@ checksum = "e7d4237822b7be8fff0a7a27927462fad435dcb6650f95cea9e946bf6bdc7e07" dependencies = [ "bytes 0.5.6", "once_cell", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.13", "tokio 0.2.25", - "tokio 1.21.2", + "tokio 1.36.0", "tokio-stream", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", @@ -1246,8 +1335,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1981ad97df782ab506a1f43bf82c967326960d278acf3bf8279809648c3ff3ea" dependencies = [ "futures-core", - "pin-project-lite 0.2.6", - "tokio 1.21.2", + "pin-project-lite 0.2.13", + "tokio 1.36.0", ] [[package]] @@ -1259,8 +1348,8 @@ dependencies = [ "bytes 1.0.1", "futures-core", "futures-sink", - "pin-project-lite 0.2.6", - "tokio 1.21.2", + "pin-project-lite 0.2.13", + "tokio 1.36.0", "tracing", ] @@ -1281,22 +1370,21 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.25" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if 1.0.0", - "pin-project-lite 0.2.6", + "pin-project-lite 0.2.13", "tracing-core", ] [[package]] name = "tracing-core" -version = "0.1.17" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] @@ -1312,16 +1400,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] -name = "unicode-segmentation" -version = "1.7.1" +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "unicode-xid" -version = "0.2.1" +name = "unicode-segmentation" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" [[package]] name = "uuid" @@ -1366,60 +1454,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasm-bindgen" -version = "0.2.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "220f01bcb6b306c063e3283f97dd974bcab4e5affed2b654bae1a22d0d99c3aa" -dependencies = [ - "cfg-if 0.1.10", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8894c95e23cc5082786192ebbd2ac0e31e9f77a022132ba03e8b8de32a2323c6" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec031a3190c51dda28c9f3623e2674e58c79f6d88c020c2157417fcf62298a3f" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7cad0ab0bb5fefbb770279f522dcebb6433585174d93ea648390f61db57401" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9142625bbb0d70710b3f2a6b20924c80fa182b05888b6bd21600ab9075673563" - [[package]] name = "winapi" version = "0.2.8" @@ -1460,13 +1494,61 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.0", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm 0.42.0", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -1475,42 +1557,126 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + [[package]] name = "windows_x86_64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + [[package]] name = "ws2_32-sys" version = "0.2.1" diff --git a/Cargo.toml b/Cargo.toml index 58c5062..a6fe6a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ authors = [ description = "Finer-grained permission management for bitcoind." edition = "2018" name = "btc-rpc-proxy" -version = "0.3.2" +version = "0.0.0-development" [lib] name = "btc_rpc_proxy" @@ -26,18 +26,17 @@ debug_logs = ["slog/max_level_debug"] systemd = ["systemd_socket/enable_systemd"] [dependencies] -anyhow = "1.0.38" -async-channel = "1.5.1" +anyhow = "1.0.79" +async-channel = "2.1.1" base32 = "0.4.0" -base64 = "0.13.0" -bitcoin = { version = "0.29.2", features = ["serde"] } +base64 = "0.21.7" +bitcoin = { version = "0.30.2", features = ["serde"] } configure_me = { version = "0.4.0" } -# derive_more = "0.99.17" enum_future = "0.1" -futures = "0.3.12" -hex = "0.4.2" -http = "0.2.3" -hyper = { version = "0.14.22", features = [ +futures = "0.3.30" +hex = "0.4.3" +http = "0.2.11" +hyper = { version = "0.14.28", features = [ "client", "server", "stream", @@ -45,25 +44,25 @@ hyper = { version = "0.14.22", features = [ "http1", "tcp", ] } -itertools = "0.10.0" +itertools = "0.12.1" lazy_static = "1.4.0" linear-map = { version = "1.2.0", features = ["serde_impl"] } -serde = { version = "1.0.117", features = ["derive"] } -serde_json = "1.0.59" +serde = { version = "1.0.196", features = ["derive"] } +serde_json = "1.0.109" slog = "2.7.0" -slog-async = "2.6.0" -slog-term = "2.6.0" -socks = "0.3.3" -tokio = { version = "1.0.2", features = ["full"] } +slog-async = "2.8.0" +slog-term = "2.9.0" +socks = "0.3.4" +tokio = { version = "1.35.1", features = ["full"] } tokio-compat-02 = "0.2" -tokio_02 = { version = "0.2.22", package = "tokio", features = ["stream"] } -thiserror = "1.0.22" +tokio_02 = { version = "0.2.25", package = "tokio", features = ["stream"] } +thiserror = "1.0.56" systemd_socket = { version = "0.1.1", default-features = false, features = [ "tokio_0_2", ] } [build-dependencies] -configure_me_codegen = "0.4.3" +configure_me_codegen = "0.4.4" [package.metadata.deb] assets = [ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..702cd76 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +FROM rust:latest AS builder + +WORKDIR /app +COPY . /app + +ARG VERSION_ARG="0.0" +RUN sed -i "s/0.0.0-development/${VERSION_ARG}.0/" /app/Cargo.toml +RUN sed -i "s/0.0.0-development/${VERSION_ARG}.0/" /app/Cargo.lock + +RUN cargo build --release + +FROM debian:bookworm-slim + +ARG DEBCONF_NOWARNINGS="yes" +ARG DEBIAN_FRONTEND noninteractive +ARG DEBCONF_NONINTERACTIVE_SEEN true + +RUN apt-get update \ + && apt-get --no-install-recommends -y install tini \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +COPY --from=builder /app/btc_rpc_proxy.toml /etc/btc_rpc_proxy.toml +COPY --from=builder /app/target/release/btc_rpc_proxy /usr/local/bin/btc-rpc-proxy + +RUN chmod 600 /etc/btc_rpc_proxy.toml +RUN chmod a+x /usr/local/bin/btc-rpc-proxy + +EXPOSE 8331 + +ENTRYPOINT [ "tini", "--"] +CMD ["/usr/local/bin/btc-rpc-proxy", "--conf", "/etc/btc_rpc_proxy.toml"] diff --git a/btc_rpc_proxy.toml b/btc_rpc_proxy.toml index 4d6fe94..0a37b3c 100644 --- a/btc_rpc_proxy.toml +++ b/btc_rpc_proxy.toml @@ -1,6 +1,10 @@ +verbose = 4 +max_peer_concurrency = 4 +default_fetch_blocks = true +bitcoind_address = "172.23.0.10" bitcoind_user = "bitcoinrpc" bitcoind_password = "taxation is theft" -bind_address = "127.0.0.1" +bind_address = "0.0.0.0" [user.public] password = "public" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..86ccdc0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3" +services: + rpc-proxy: + container_name: rpc-proxy + image: dobtc/btc-rpc-proxy + ports: + - 8331:8331 + volumes: + - /path/to/config/btc_rpc_proxy.toml:/etc/btc_rpc_proxy.toml diff --git a/src/client.rs b/src/client.rs index 8f39311..0c3070d 100644 --- a/src/client.rs +++ b/src/client.rs @@ -18,6 +18,7 @@ use serde::{ }; use serde_json::{Map, Value}; use tokio::sync::RwLock; +use base64::Engine; pub const MISC_ERROR_CODE: i64 = -1; pub const METHOD_NOT_ALLOWED_ERROR_CODE: i64 = -32604; @@ -468,7 +469,7 @@ impl AuthSource { (Some(username), Some(password), None) => Ok(AuthSource::Const { header: format!( "Basic {}", - base64::encode(format!("{}:{}", username, password)) + base64::prelude::BASE64_STANDARD.encode(format!("{}:{}", username, password)) ) .parse()?, username, @@ -494,7 +495,7 @@ impl AuthSource { if cookie.ends_with('\n') { cookie.pop(); } - base64::encode(cookie) + base64::prelude::BASE64_STANDARD.encode(cookie) }) .map_err(|error| AuthLoadError::Read { path: path.to_owned(), diff --git a/src/rpc_methods.rs b/src/rpc_methods.rs index f430c1b..4ac439f 100644 --- a/src/rpc_methods.rs +++ b/src/rpc_methods.rs @@ -86,7 +86,7 @@ pub struct GetBlockHeaderResult { pub height: usize, pub version: i32, pub version_hex: Option, - pub merkleroot: bitcoin::TxMerkleNode, + pub merkleroot: bitcoin::hash_types::TxMerkleNode, pub time: usize, pub mediantime: Option, pub nonce: u32, diff --git a/src/users.rs b/src/users.rs index 8417a23..548c330 100644 --- a/src/users.rs +++ b/src/users.rs @@ -5,6 +5,7 @@ use anyhow::Error; use bitcoin::consensus::Encodable; use hyper::{header::HeaderValue, StatusCode}; use serde_json::Value; +use base64::Engine; use crate::client::{ GenericRpcMethod, GenericRpcParams, RpcError, RpcMethod, RpcRequest, RpcResponse, @@ -175,7 +176,7 @@ impl Users { pub fn get(&self, auth: &HeaderValue) -> Option<(String, &User)> { let header_str = auth.to_str().ok()?; let auth = header_str.strip_prefix("Basic ")?; - let auth_decoded = base64::decode(auth).ok()?; + let auth_decoded = base64::prelude::BASE64_STANDARD.decode(auth).ok()?; let auth_decoded_str = std::str::from_utf8(&auth_decoded).ok()?; let mut auth_split = auth_decoded_str.split(":"); let name = auth_split.next()?; @@ -268,7 +269,7 @@ impl User { Ok((header, Some(block))) => Ok(Some(RpcResponse { id: req.id.clone(), result: { - let size = block.get_size(); + let size = block.size(); let witness = block .txdata .iter() @@ -288,7 +289,7 @@ impl User { } else { None }, - weight: block.get_weight(), + weight: block.weight().to_wu() as usize, tx: block .txdata .into_iter()