Skip to content

Commit 780e8ad

Browse files
committed
fix: harden payment flows and startup migrations
This closes replay and accounting gaps, makes billing and webhook state deterministic, and makes SQLite startup upgrades fail loudly instead of silently continuing on drifted schemas.
1 parent f93f5f4 commit 780e8ad

42 files changed

Lines changed: 4117 additions & 1775 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ROADMAP.md

Lines changed: 117 additions & 25 deletions
Large diffs are not rendered by default.

src/addresses.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ pub fn derive_invoice_address(key_str: &str, index: u32) -> Result<DerivedAddres
1515
let raw = addr.to_raw_address_bytes();
1616
let orchard_receiver_hex = hex::encode(raw);
1717

18-
let ua = zcash_address::unified::Address::try_from_items(vec![
19-
Receiver::Orchard(raw),
20-
])
21-
.map_err(|e| anyhow::anyhow!("UA construction failed: {:?}", e))?;
18+
let ua = zcash_address::unified::Address::try_from_items(vec![Receiver::Orchard(raw)])
19+
.map_err(|e| anyhow::anyhow!("UA construction failed: {:?}", e))?;
2220

2321
let ua_string = ua.encode(&network);
2422

25-
tracing::debug!(diversifier_index = index, "Derived invoice address from viewing key");
23+
tracing::debug!(
24+
diversifier_index = index,
25+
"Derived invoice address from viewing key"
26+
);
2627

2728
Ok(DerivedAddress {
2829
ua_string,

0 commit comments

Comments
 (0)