Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Commit

Permalink
Merge pull request #970 from MutinyWallet/fedimint-indexeddb
Browse files Browse the repository at this point in the history
Fedimint indexeddb
  • Loading branch information
AnthonyRonning authored Jan 19, 2024
2 parents 8659aa4 + 89a0de4 commit 47ce818
Show file tree
Hide file tree
Showing 15 changed files with 916 additions and 1,933 deletions.
14 changes: 0 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions mutiny-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ aes = { version = "0.8" }
jwt-compact = { version = "0.8.0-beta.1", features = ["es256k"] }
argon2 = { version = "0.5.0", features = ["password-hash", "alloc"] }
payjoin = { version = "0.13.0", features = ["send", "base64"] }
gluesql = { version = "0.15", default-features = false, features = ["memory-storage"] }
gluesql-core = "0.15.0"
bincode = "1.3.3"
hex = "0.4.3"
async-lock = "3.2.0"
Expand Down
46 changes: 28 additions & 18 deletions mutiny-core/src/event.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
use crate::fees::MutinyFeeEstimator;
use crate::keymanager::PhantomKeysManager;
use crate::ldkstorage::{MutinyNodePersister, PhantomChannelManager};
use crate::logging::MutinyLogger;
use crate::lsp::{AnyLsp, Lsp};
Expand All @@ -8,6 +6,8 @@ use crate::nodemanager::ChannelClosure;
use crate::onchain::OnChainWallet;
use crate::storage::MutinyStorage;
use crate::utils::sleep;
use crate::{fees::MutinyFeeEstimator, storage::read_payment_info};
use crate::{keymanager::PhantomKeysManager, storage::persist_payment_info};
use anyhow::anyhow;
use bitcoin::hashes::hex::ToHex;
use bitcoin::secp256k1::PublicKey;
Expand Down Expand Up @@ -282,10 +282,12 @@ impl<S: MutinyStorage> EventHandler<S> {
} => (payment_preimage, Some(payment_secret)),
PaymentPurpose::SpontaneousPayment(preimage) => (Some(preimage), None),
};
match self
.persister
.read_payment_info(&payment_hash.0, true, &self.logger)
{
match read_payment_info(
&self.persister.storage,
&payment_hash.0,
true,
&self.logger,
) {
Some(mut saved_payment_info) => {
let payment_preimage = payment_preimage.map(|p| p.0);
let payment_secret = payment_secret.map(|p| p.0);
Expand All @@ -294,7 +296,8 @@ impl<S: MutinyStorage> EventHandler<S> {
saved_payment_info.secret = payment_secret;
saved_payment_info.amt_msat = MillisatAmount(Some(amount_msat));
saved_payment_info.last_update = crate::utils::now().as_secs();
match self.persister.persist_payment_info(
match persist_payment_info(
&self.persister.storage,
&payment_hash.0,
&saved_payment_info,
true,
Expand All @@ -321,7 +324,8 @@ impl<S: MutinyStorage> EventHandler<S> {
bolt11: None,
last_update,
};
match self.persister.persist_payment_info(
match persist_payment_info(
&self.persister.storage,
&payment_hash.0,
&payment_info,
true,
Expand All @@ -347,16 +351,19 @@ impl<S: MutinyStorage> EventHandler<S> {
payment_hash.0.to_hex()
);

match self
.persister
.read_payment_info(&payment_hash.0, false, &self.logger)
{
match read_payment_info(
&self.persister.storage,
&payment_hash.0,
false,
&self.logger,
) {
Some(mut saved_payment_info) => {
saved_payment_info.status = HTLCStatus::Succeeded;
saved_payment_info.preimage = Some(payment_preimage.0);
saved_payment_info.fee_paid_msat = fee_paid_msat;
saved_payment_info.last_update = crate::utils::now().as_secs();
match self.persister.persist_payment_info(
match persist_payment_info(
&self.persister.storage,
&payment_hash.0,
&saved_payment_info,
false,
Expand Down Expand Up @@ -445,14 +452,17 @@ impl<S: MutinyStorage> EventHandler<S> {
payment_hash.0.to_hex()
);

match self
.persister
.read_payment_info(&payment_hash.0, false, &self.logger)
{
match read_payment_info(
&self.persister.storage,
&payment_hash.0,
false,
&self.logger,
) {
Some(mut saved_payment_info) => {
saved_payment_info.status = HTLCStatus::Failed;
saved_payment_info.last_update = crate::utils::now().as_secs();
match self.persister.persist_payment_info(
match persist_payment_info(
&self.persister.storage,
&payment_hash.0,
&saved_payment_info,
false,
Expand Down
Loading

0 comments on commit 47ce818

Please sign in to comment.