Repository navigation
release v0.9.10: bump monero-cpp, expose ssl_verify and fix the docker tests - #119
Merged
Merged
Conversation
Replace lalanza808/monero with ghcr.io/libmonero/monero-daemon-rpc and monero-wallet-rpc. The images have the binary as entrypoint (monerod also passes --non-interactive), so the command no longer starts with the binary name, and they run as an unprivileged user, so the data and wallet volumes move to /home/monero. MONERO_TAG selects the tag, master for now. The images are 44 MB instead of 160. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
wait_for_next_block returns the height of the block that was added, which is the chain length the wallet knew before it, so asserting a greater height could only pass when the wallet lagged behind the chain. It failed on every attempt in CI. Measured on a synced wallet: before=159 returned=159, before=161 returned=161, before=174 returned=174. Assert greater or equal. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
check_for_update and download_update need DNSSEC validated TXT records of updates.moneropulse.*, and the daemon logs "DNSSEC validation failed" and "no two valid DNS TXT records were received" in the docker environment, locally as in CI. Mark them xfail for the RPC error only, so any other failure still shows. They no longer retry five times, which cost minutes for an error that never changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Move the submodule from 83832b8 to v0.9.10, 21 commits behind master at the time and the last tagged release. monero-project goes from df6907e8e to 09e1b2b7b, monero 0.18.5.3. Upstream changes since our pin: the TLS certificate verification setting is propagated to the rpc connections (new m_ssl_verify, serialized as sslVerify), wallet full cancels requests before closing and no longer reports outgoing amounts with an incomplete history, wallet rpc keeps unlock notifications after long polling gaps and resets its snapshots when the wallet changes, the restore height of a random wallet is persisted at creation, and the wallet model serialization fixes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
monero-cpp v0.9.10 verifies the TLS certificate and hostname of https connections by default, and serializes the setting as sslVerify in every connection. Without a property there would be no way to connect to a node with a self signed certificate. Add ssl_verify to MoneroRpcConnection, to the stub, and update the exact json expected by the serialization test. The new test covers the default, assignment, serialization, copy and deserialization. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Same files as the v0.9.4 bump, plus the release examples in the README. The README now names monero v0.18.5.3, which is what the submodule builds. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 277 |
| Duplication | 9 |
🟢 Coverage 100.00% diff coverage · 0.00% coverage variation
Metric Results Coverage variation ✅ 0.00% coverage variation (-1.00%) Diff coverage ✅ 100.00% diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (a215a93) 13852 13239 95.57% Head commit (55fa901) 13862 (+10) 13248 (+9) 95.57% (0.00%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#119) 17 17 100.00% Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bump monero-cpp to v0.9.10 (monero v0.18.5.3) and bump the version to v0.9.10, skipping the intermediate monero-cpp tags since v0.9.4.
monero-cpp v0.9.10 verifies tls certificates by default and always serializes "sslVerify", so MoneroRpcConnection exposes it as ssl_verify, with its stub and a test. Without the property the verification could not be turned off. The expected json in the connection tests now ends with "sslVerify":true.
The tests use the libmonero/docker-monero-rpc images (monero-daemon-rpc and monero-wallet-rpc, tag master, overridable with MONERO_TAG) instead of lalanza808/monero. The volumes and the wallet dir follow the layout of the new images.
Two tests are fixed because they failed in CI regardless of the image:
height > height_beforeonly passed when the wallet lagged behind. It is now>=.The bindings were only syntax checked against v0.9.10 locally, the full build and the new test_ssl_verify run for the first time in this pull request. The test nodes run monero 0.18.5.1 while the library builds 0.18.5.3.