Skip to content

Commit 3626678

Browse files
authored
0.24 name audit part 2 (payjoin#810)
I was also getting confused by the similar `Receiver<State>` and `ReceiverTypeState` type names, so I went with `ReceiveSession` for the enum, which may not have initialized a `Receiver` yet, and might have even failed. This rename pattern was applied to `SenderTypeState` as well. I kept "Receive" in "ReceiveSession" to disambiguate between Sessions for payjoin-ffi since the disambiguation applies to payjoin-cli/v2 for the time being until that module is separated into send/receive submodules as well.
2 parents 2f3f46a + a183bd2 commit 3626678

File tree

10 files changed

+122
-127
lines changed

10 files changed

+122
-127
lines changed

payjoin-cli/src/app/v2/mod.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ use payjoin::bitcoin::{Amount, FeeRate};
66
use payjoin::persist::OptionalTransitionOutcome;
77
use payjoin::receive::v2::{
88
process_err_res, replay_event_log as replay_receiver_event_log, Initialized, MaybeInputsOwned,
9-
MaybeInputsSeen, OutputsUnknown, PayjoinProposal, ProvisionalProposal, Receiver,
10-
ReceiverTypeState, SessionHistory, UncheckedProposal, WantsInputs, WantsOutputs,
9+
MaybeInputsSeen, OutputsUnknown, PayjoinProposal, ProvisionalProposal, ReceiveSession,
10+
Receiver, SessionHistory, UncheckedProposal, WantsInputs, WantsOutputs,
1111
};
1212
use payjoin::send::v2::{
13-
replay_event_log as replay_sender_event_log, Sender, SenderBuilder, SenderTypeState,
14-
V2GetContext, WithReplyKey,
13+
replay_event_log as replay_sender_event_log, SendSession, Sender, SenderBuilder, V2GetContext,
14+
WithReplyKey,
1515
};
1616
use payjoin::Uri;
1717
use tokio::sync::watch;
@@ -81,7 +81,7 @@ impl AppTrait for App {
8181
.build_recommended(fee_rate)
8282
.save(&persister)?;
8383

84-
(SenderTypeState::WithReplyKey(sender), persister)
84+
(SendSession::WithReplyKey(sender), persister)
8585
}
8686
};
8787
let mut interrupt = self.interrupt.clone();
@@ -114,7 +114,7 @@ impl AppTrait for App {
114114
println!("Request Payjoin by sharing this Payjoin Uri:");
115115
println!("{}", pj_uri);
116116

117-
self.process_receiver_session(ReceiverTypeState::Initialized(session.clone()), &persister)
117+
self.process_receiver_session(ReceiveSession::Initialized(session.clone()), &persister)
118118
.await?;
119119
Ok(())
120120
}
@@ -173,11 +173,11 @@ impl AppTrait for App {
173173
impl App {
174174
async fn process_sender_session(
175175
&self,
176-
session: SenderTypeState,
176+
session: SendSession,
177177
persister: &SenderPersister,
178178
) -> Result<()> {
179179
match session {
180-
SenderTypeState::WithReplyKey(context) => {
180+
SendSession::WithReplyKey(context) => {
181181
// TODO: can we handle the fall back case in `post_original_proposal`. That way we don't have to clone here
182182
match self.post_original_proposal(context.clone(), persister).await {
183183
Ok(()) => (),
@@ -192,9 +192,9 @@ impl App {
192192
}
193193
return Ok(());
194194
}
195-
SenderTypeState::V2GetContext(context) =>
195+
SendSession::V2GetContext(context) =>
196196
self.get_proposed_payjoin_psbt(context, persister).await?,
197-
SenderTypeState::ProposalReceived(proposal) => {
197+
SendSession::ProposalReceived(proposal) => {
198198
self.process_pj_response(proposal.clone())?;
199199
return Ok(());
200200
}
@@ -282,32 +282,32 @@ impl App {
282282

283283
async fn process_receiver_session(
284284
&self,
285-
session: ReceiverTypeState,
285+
session: ReceiveSession,
286286
persister: &ReceiverPersister,
287287
) -> Result<()> {
288288
let res = {
289289
match session {
290-
ReceiverTypeState::Initialized(proposal) =>
290+
ReceiveSession::Initialized(proposal) =>
291291
self.read_from_directory(proposal, persister).await,
292-
ReceiverTypeState::UncheckedProposal(proposal) =>
292+
ReceiveSession::UncheckedProposal(proposal) =>
293293
self.check_proposal(proposal, persister).await,
294-
ReceiverTypeState::MaybeInputsOwned(proposal) =>
294+
ReceiveSession::MaybeInputsOwned(proposal) =>
295295
self.check_inputs_not_owned(proposal, persister).await,
296-
ReceiverTypeState::MaybeInputsSeen(proposal) =>
296+
ReceiveSession::MaybeInputsSeen(proposal) =>
297297
self.check_no_inputs_seen_before(proposal, persister).await,
298-
ReceiverTypeState::OutputsUnknown(proposal) =>
298+
ReceiveSession::OutputsUnknown(proposal) =>
299299
self.identify_receiver_outputs(proposal, persister).await,
300-
ReceiverTypeState::WantsOutputs(proposal) =>
300+
ReceiveSession::WantsOutputs(proposal) =>
301301
self.commit_outputs(proposal, persister).await,
302-
ReceiverTypeState::WantsInputs(proposal) =>
302+
ReceiveSession::WantsInputs(proposal) =>
303303
self.contribute_inputs(proposal, persister).await,
304-
ReceiverTypeState::ProvisionalProposal(proposal) =>
304+
ReceiveSession::ProvisionalProposal(proposal) =>
305305
self.finalize_proposal(proposal, persister).await,
306-
ReceiverTypeState::PayjoinProposal(proposal) =>
306+
ReceiveSession::PayjoinProposal(proposal) =>
307307
self.send_payjoin_proposal(proposal, persister).await,
308-
ReceiverTypeState::Uninitialized(_) =>
308+
ReceiveSession::Uninitialized(_) =>
309309
return Err(anyhow!("Uninitialized receiver session")),
310-
ReceiverTypeState::TerminalFailure =>
310+
ReceiveSession::TerminalFailure =>
311311
return Err(anyhow!("Terminal receiver session")),
312312
}
313313
};

payjoin-ffi/python/test/test_payjoin_integration_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def setUpClass(cls):
6060
cls.receiver = cls.env.get_receiver()
6161
cls.sender = cls.env.get_sender()
6262

63-
async def process_receiver_proposal(self, receiver: ReceiverTypeState, recv_persister: InMemoryReceiverSessionEventLog, ohttp_relay: Url) -> Optional[ReceiverTypeState]:
63+
async def process_receiver_proposal(self, receiver: ReceiveSession, recv_persister: InMemoryReceiverSessionEventLog, ohttp_relay: Url) -> Optional[ReceiveSession]:
6464
if receiver.is_INITIALIZED():
6565
res = await self.retrieve_receiver_proposal(receiver.inner, recv_persister, ohttp_relay)
6666
if res is None:
@@ -131,7 +131,7 @@ async def process_wants_inputs(self, proposal: WantsInputs, recv_persister: InMe
131131

132132
async def process_provisional_proposal(self, proposal: ProvisionalProposal, recv_persister: InMemoryReceiverSessionEventLog):
133133
payjoin_proposal = proposal.finalize_proposal(ProcessPsbtCallback(self.receiver), 1, 10).save(recv_persister)
134-
return ReceiverTypeState.PAYJOIN_PROPOSAL(payjoin_proposal)
134+
return ReceiveSession.PAYJOIN_PROPOSAL(payjoin_proposal)
135135

136136
async def test_integration_v2_to_v2(self):
137137
try:
@@ -150,7 +150,7 @@ async def test_integration_v2_to_v2(self):
150150
recv_persister = InMemoryReceiverSessionEventLog(1)
151151
sender_persister = InMemorySenderPersister(1)
152152
session = self.create_receiver_context(receiver_address, directory, ohttp_keys, recv_persister)
153-
process_response = await self.process_receiver_proposal(ReceiverTypeState.INITIALIZED(session), recv_persister, ohttp_relay)
153+
process_response = await self.process_receiver_proposal(ReceiveSession.INITIALIZED(session), recv_persister, ohttp_relay)
154154
print(f"session: {session.to_json()}")
155155
self.assertIsNone(process_response)
156156

@@ -173,7 +173,7 @@ async def test_integration_v2_to_v2(self):
173173
# Inside the Receiver:
174174

175175
# GET fallback psbt
176-
payjoin_proposal = await self.process_receiver_proposal(ReceiverTypeState.INITIALIZED(session), recv_persister, ohttp_relay)
176+
payjoin_proposal = await self.process_receiver_proposal(ReceiveSession.INITIALIZED(session), recv_persister, ohttp_relay)
177177
self.assertIsNotNone(payjoin_proposal)
178178
self.assertEqual(payjoin_proposal.is_PAYJOIN_PROPOSAL(), True)
179179

payjoin-ffi/src/receive/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ impl From<SessionEvent> for payjoin::receive::v2::SessionEvent {
3131
fn from(event: SessionEvent) -> Self { event.0 }
3232
}
3333

34-
pub struct ReceiverTypeState(pub payjoin::receive::v2::ReceiverTypeState);
34+
pub struct ReceiveSession(pub payjoin::receive::v2::ReceiveSession);
3535

36-
impl From<payjoin::receive::v2::ReceiverTypeState> for ReceiverTypeState {
37-
fn from(value: payjoin::receive::v2::ReceiverTypeState) -> Self { Self(value) }
36+
impl From<payjoin::receive::v2::ReceiveSession> for ReceiveSession {
37+
fn from(value: payjoin::receive::v2::ReceiveSession) -> Self { Self(value) }
3838
}
3939

4040
pub fn replay_event_log<P>(
4141
persister: &P,
42-
) -> Result<(ReceiverTypeState, SessionHistory), ReceiverReplayError>
42+
) -> Result<(ReceiveSession, SessionHistory), ReceiverReplayError>
4343
where
4444
P: SessionPersister,
4545
P::SessionEvent: Into<payjoin::receive::v2::SessionEvent> + Clone,

payjoin-ffi/src/receive/uni.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ impl ReceiverSessionEvent {
3535
}
3636

3737
#[derive(Clone, uniffi::Enum)]
38-
pub enum ReceiverTypeState {
38+
pub enum ReceiveSession {
3939
Uninitialized,
4040
Initialized { inner: Arc<Initialized> },
4141
UncheckedProposal { inner: Arc<UncheckedProposal> },
@@ -49,9 +49,9 @@ pub enum ReceiverTypeState {
4949
TerminalFailure,
5050
}
5151

52-
impl From<super::ReceiverTypeState> for ReceiverTypeState {
53-
fn from(value: super::ReceiverTypeState) -> Self {
54-
use payjoin::receive::v2::ReceiverTypeState::*;
52+
impl From<super::ReceiveSession> for ReceiveSession {
53+
fn from(value: super::ReceiveSession) -> Self {
54+
use payjoin::receive::v2::ReceiveSession::*;
5555
match value.0 {
5656
Uninitialized(_) => Self::Uninitialized,
5757
Initialized(inner) =>
@@ -150,13 +150,13 @@ impl SessionHistory {
150150

151151
#[derive(uniffi::Object)]
152152
pub struct ReplayResult {
153-
state: ReceiverTypeState,
153+
state: ReceiveSession,
154154
session_history: SessionHistory,
155155
}
156156

157157
#[uniffi::export]
158158
impl ReplayResult {
159-
pub fn state(&self) -> ReceiverTypeState { self.state.clone() }
159+
pub fn state(&self) -> ReceiveSession { self.state.clone() }
160160

161161
pub fn session_history(&self) -> SessionHistory { self.session_history.clone() }
162162
}

payjoin-ffi/src/send/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ impl From<payjoin::send::v2::SessionEvent> for SessionEvent {
2727
}
2828

2929
#[derive(Debug, Clone)]
30-
pub struct SenderTypeState(payjoin::send::v2::SenderTypeState);
30+
pub struct SendSession(payjoin::send::v2::SendSession);
3131

32-
impl From<payjoin::send::v2::SenderTypeState> for SenderTypeState {
33-
fn from(value: payjoin::send::v2::SenderTypeState) -> Self { Self(value) }
32+
impl From<payjoin::send::v2::SendSession> for SendSession {
33+
fn from(value: payjoin::send::v2::SendSession) -> Self { Self(value) }
3434
}
3535

36-
pub fn replay_event_log<P>(persister: &P) -> Result<(SenderTypeState, SessionHistory), SenderReplayError>
36+
pub fn replay_event_log<P>(persister: &P) -> Result<(SendSession, SessionHistory), SenderReplayError>
3737
where
3838
P: SessionPersister + Clone,
3939
P::SessionEvent: Into<payjoin::send::v2::SessionEvent> + Clone,

payjoin-ffi/src/send/uni.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,17 @@ impl SenderSessionEvent {
3434
}
3535

3636
#[derive(Clone, uniffi::Enum)]
37-
pub enum SenderTypeState {
37+
pub enum SendSession {
3838
Uninitialized,
3939
WithReplyKey { inner: Arc<WithReplyKey> },
4040
V2GetContext { inner: Arc<V2GetContext> },
4141
ProposalReceived { inner: Arc<Psbt> },
4242
TerminalFailure,
4343
}
4444

45-
impl From<super::SenderTypeState> for SenderTypeState {
46-
fn from(value: super::SenderTypeState) -> Self {
47-
use payjoin::send::v2::SenderTypeState::*;
45+
impl From<super::SendSession> for SendSession {
46+
fn from(value: super::SendSession) -> Self {
47+
use payjoin::send::v2::SendSession::*;
4848
match value.0 {
4949
Uninitialized => Self::Uninitialized,
5050
WithReplyKey(inner) =>
@@ -82,13 +82,13 @@ impl SenderSessionHistory {
8282

8383
#[derive(uniffi::Object)]
8484
pub struct SenderReplayResult {
85-
state: SenderTypeState,
85+
state: SendSession,
8686
session_history: SenderSessionHistory,
8787
}
8888

8989
#[uniffi::export]
9090
impl SenderReplayResult {
91-
pub fn state(&self) -> SenderTypeState { self.state.clone() }
91+
pub fn state(&self) -> SendSession { self.state.clone() }
9292

9393
pub fn session_history(&self) -> SenderSessionHistory { self.session_history.clone() }
9494
}

0 commit comments

Comments
 (0)