Liking cljdoc? Tell your friends :D

Changelog

All notable changes to io.github.buddhilw/monero-store are recorded here.

The format follows Keep a Changelog, and this project adheres to Semantic Versioning.

A note on how to read the versions: VERSION names the version to PUBLISH, declared in the commit that changes the library, and CI never invents a number. So a consumer may pin the coordinate before the release runs, and the top entry here is the version VERSION currently reads.

[0.7.2]

Fixed

  • adapters.monero-rpc's IWalletProbe/reachable? no longer discards the throwable that made a wallet unreachable. Wrong digest credentials, a wallet that is not open, DNS, a blocked route and a missing monero-java class all answered false identically, and reachable? returns a boolean, so a consumer's readiness path had nothing to report. The cause is now logged at WARN through the adapter's own timbre logger, bounded by the same :probe-ttl-ms as the probe itself, so it names the failure without logging on a timer.

Added

  • adapters.monero-rpc/probe-ok?, the seam that does it: it takes the height thunk and a context map, answers the boolean reachable? needs, and logs the throwable when there is one. Public because it is what makes the WARN behaviour testable without a live daemon. The context map is logged verbatim, so a caller must keep credentials out of it.

Notes for consumers

Backwards compatible. reachable? answers the same booleans it always did; the only change a consumer sees is a WARN line naming why a probe failed.

[0.7.1]

Added

  • :settlement/observed-amount on Settlement, and payments.chain/settlement-of now reports it. It is money that has been SEEN, before the maturity cap that :settlement/paid-amount applies. A store settles on paid-amount and shows observed-amount to a payer who is waiting, so a payment that has landed but not yet unlocked can be acknowledged instead of reading as nothing sent. The key is optional: a rail that cannot tell the two apart omits it rather than repeating paid-amount, because a claim of no maturity gap is a claim.

  • monero-store.promote.progress, lifted out of hive-store so both it and vtranslate read progress from one definition. progress answers from recorded Payment rows (what hive-store keeps) and settlement-progress from a single Settlement (what a store keeping no payment rows has). Both return the new PaymentProgress schema and take every threshold from the rail's profile.

  • Three optional keys on ProviderProfile, each of which hive-store had already been forced to widen its own copy of the schema to carry: :provider/confirmation-interval-ms (how long ONE confirmation takes here; absent means nothing is estimated), :provider/settlement-window-ms (how long after an invoice's own expiry the store keeps asking) and :provider/self-serve? (a buyer may open a charge on this rail unaided).

Notes for consumers

All three additions are backwards compatible. Settlement and ProviderProfile are {:closed true} maps, so the new keys had to be declared here before any consumer could carry them; a consumer that does not set them is unaffected.

hive-store can now drop its widened ProviderProfile and its local promote/progress, and read both from this library instead.

[0.7.0]

  • The wallet adapter ships and survives a live daemon (adapters.monero-rpc).
  • The book a deployment asks for actually reaches the pipeline (collect.ledger).

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close