Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reward tracking #1653

Merged
merged 5 commits into from
May 2, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: address review comments
maqi committed May 2, 2024
commit a110c969d19829ff8e20b3da76bdcdc24e3514b2
4 changes: 2 additions & 2 deletions sn_cli/src/bin/subcommands/wallet/wo_wallet.rs
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ use sn_client::transfers::{
WatchOnlyWallet,
};
use sn_client::Client;
use sn_transfers::CASH_NOTE_PURPOSE_FOR_TRANSFER;
use sn_transfers::CASHNOTE_PURPOSE_OF_TRANSFER;
use std::{
collections::{BTreeMap, BTreeSet},
path::Path,
@@ -234,7 +234,7 @@ fn build_unsigned_transaction(from: &str, amount: &str, to: &str, root_dir: &Pat
};

let unsigned_transfer = wallet.build_unsigned_transaction(
vec![(CASH_NOTE_PURPOSE_FOR_TRANSFER.to_string(), amount, to)],
vec![(CASHNOTE_PURPOSE_OF_TRANSFER.to_string(), amount, to)],
None,
)?;

17 changes: 4 additions & 13 deletions sn_client/src/audit/spend_dag.rs
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ use petgraph::visit::EdgeRef;
use serde::{Deserialize, Serialize};
use sn_transfers::{
is_genesis_spend, CashNoteRedemption, NanoTokens, SignedSpend, SpendAddress,
CASH_NOTE_PURPOSE_FOR_GENESIS, CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES,
CASHNOTE_PURPOSE_OF_GENESIS, CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES,
};
use std::{
collections::{BTreeMap, BTreeSet},
@@ -22,21 +22,12 @@ use std::{

use super::dag_error::{DagError, SpendFault};

#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub struct SpendDagAddress {
address: SpendAddress,
purpose: String,
}

impl Clone for SpendDagAddress {
fn clone(&self) -> Self {
SpendDagAddress {
address: self.address,
purpose: self.purpose.clone(),
}
}
}

impl std::fmt::Debug for SpendDagAddress {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result {
write!(
@@ -150,7 +141,7 @@ impl SpendDag {
if let Some((creation_reason, _amount)) = self.creation_reasons.get(spend_addr) {
creation_reason.clone()
} else {
CASH_NOTE_PURPOSE_FOR_GENESIS.to_string()
CASHNOTE_PURPOSE_OF_GENESIS.to_string()
};
SpendDagAddress {
address: *spend_addr,
@@ -429,7 +420,7 @@ impl SpendDag {
royalties.push(CashNoteRedemption::new(
*derivation_idx,
spend_addr,
CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES.to_string(),
CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES.to_string(),
));
}
}
4 changes: 2 additions & 2 deletions sn_client/src/wallet.rs
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ use sn_protocol::NetworkAddress;
use sn_transfers::{
CashNote, CashNoteOutputDetails, HotWallet, MainPubkey, NanoTokens, Payment, PaymentQuote,
SignedSpend, SpendAddress, Transaction, Transfer, UniquePubkey, WalletError, WalletResult,
CASH_NOTE_PURPOSE_FOR_TRANSFER,
CASHNOTE_PURPOSE_OF_TRANSFER,
};
use std::{
collections::{BTreeMap, BTreeSet},
@@ -308,7 +308,7 @@ impl WalletClient {
verify_store: bool,
) -> WalletResult<CashNote> {
let created_cash_notes = self.wallet.local_send(
vec![(CASH_NOTE_PURPOSE_FOR_TRANSFER.to_string(), amount, to)],
vec![(CASHNOTE_PURPOSE_OF_TRANSFER.to_string(), amount, to)],
None,
)?;

8 changes: 4 additions & 4 deletions sn_transfers/src/cashnotes.rs
Original file line number Diff line number Diff line change
@@ -15,10 +15,10 @@ mod signed_spend;
mod transaction;
mod unique_keys;

pub const CASH_NOTE_PURPOSE_FOR_GENESIS: &str = "GENESIS";
pub const CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES: &str = "ROYALTY";
pub const CASH_NOTE_PURPOSE_FOR_CHANGE: &str = "CHANGE";
pub const CASH_NOTE_PURPOSE_FOR_TRANSFER: &str = "TRANSFER";
pub const CASHNOTE_PURPOSE_OF_GENESIS: &str = "GENESIS";
pub const CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES: &str = "ROYALTY";
pub const CASHNOTE_PURPOSE_OF_CHANGE: &str = "CHANGE";
pub const CASHNOTE_PURPOSE_OF_TRANSFER: &str = "TRANSFER";

pub(crate) use builder::{CashNoteBuilder, TransactionBuilder};
pub(crate) use transaction::Input;
4 changes: 2 additions & 2 deletions sn_transfers/src/genesis.rs
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@

use super::wallet::HotWallet;

use crate::cashnotes::CASH_NOTE_PURPOSE_FOR_GENESIS;
use crate::cashnotes::CASHNOTE_PURPOSE_OF_GENESIS;
use crate::{
CashNote, DerivationIndex, Hash, Input, MainPubkey, MainSecretKey, NanoTokens, SignedSpend,
Transaction, TransactionBuilder, TransferError as CashNoteError,
@@ -160,7 +160,7 @@ pub fn create_first_cash_note_from_key(
)
.add_output(
NanoTokens::from(GENESIS_CASHNOTE_AMOUNT),
CASH_NOTE_PURPOSE_FOR_GENESIS.to_string(),
CASHNOTE_PURPOSE_OF_GENESIS.to_string(),
main_pubkey,
derivation_index,
)
4 changes: 2 additions & 2 deletions sn_transfers/src/lib.rs
Original file line number Diff line number Diff line change
@@ -21,8 +21,8 @@ pub(crate) use cashnotes::{Input, TransactionBuilder};
pub use cashnotes::{
CashNote, CashNoteOutputDetails, DerivationIndex, DerivedSecretKey, Hash, MainPubkey,
MainSecretKey, NanoTokens, SignedSpend, Spend, SpendAddress, Transaction, UniquePubkey,
UnsignedTransfer, CASH_NOTE_PURPOSE_FOR_GENESIS, CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES,
CASH_NOTE_PURPOSE_FOR_TRANSFER,
UnsignedTransfer, CASHNOTE_PURPOSE_OF_GENESIS, CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES,
CASHNOTE_PURPOSE_OF_TRANSFER,
};
pub use error::{Result, TransferError};
pub use transfers::{CashNoteRedemption, OfflineTransfer, Transfer};
4 changes: 2 additions & 2 deletions sn_transfers/src/transfers/offline_transfer.rs
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
// permissions and limitations relating to use of the SAFE Network Software.

use crate::{
cashnotes::{CashNoteBuilder, UnsignedTransfer, CASH_NOTE_PURPOSE_FOR_CHANGE},
cashnotes::{CashNoteBuilder, UnsignedTransfer, CASHNOTE_PURPOSE_OF_CHANGE},
rng, CashNote, CashNoteOutputDetails, DerivationIndex, DerivedSecretKey, Hash, Input,
MainPubkey, NanoTokens, Result, SignedSpend, Transaction, TransactionBuilder, TransferError,
UniquePubkey, NETWORK_ROYALTIES_PK,
@@ -277,7 +277,7 @@ fn create_transaction_builder_with(
if !change.is_zero() {
tx_builder = tx_builder.add_output(
change,
CASH_NOTE_PURPOSE_FOR_CHANGE.to_string(),
CASHNOTE_PURPOSE_OF_CHANGE.to_string(),
change_to,
derivation_index,
);
4 changes: 2 additions & 2 deletions sn_transfers/src/wallet/hot_wallet.rs
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ use crate::{
transfers::{CashNotesAndSecretKey, OfflineTransfer},
CashNote, CashNoteOutputDetails, CashNoteRedemption, DerivationIndex, DerivedSecretKey, Hash,
MainPubkey, MainSecretKey, NanoTokens, SignedSpend, Spend, Transaction, Transfer, UniquePubkey,
WalletError, CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES, NETWORK_ROYALTIES_PK,
WalletError, CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES, NETWORK_ROYALTIES_PK,
};
use std::{
collections::{BTreeMap, BTreeSet, HashSet},
@@ -402,7 +402,7 @@ impl HotWallet {
let royalties_fee = calculate_royalties_fee(quote.cost);
let royalties_payee = (
royalties_fee,
CASH_NOTE_PURPOSE_FOR_NETWORK_ROYALTIES.to_string(),
CASHNOTE_PURPOSE_OF_NETWORK_ROYALTIES.to_string(),
*NETWORK_ROYALTIES_PK,
DerivationIndex::random(&mut rng),
);