Skip to content

Commit 1c0b62b

Browse files
committed
Rename Balance to TokenAmount
1 parent f9c9b1b commit 1c0b62b

File tree

16 files changed

+116
-98
lines changed

16 files changed

+116
-98
lines changed

cli/src/main.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use candid::{Decode, Encode, Nat, Principal as IcPrincipal};
99
use chrono::DateTime;
1010
use dcc_common::{
1111
account_balance_get_as_string, amount_as_string, cursor_from_data,
12-
offerings::do_get_matching_offerings, refresh_caches_from_ledger, reputation_get, Balance,
12+
offerings::do_get_matching_offerings, refresh_caches_from_ledger, reputation_get, TokenAmount,
1313
CursorDirection, DccIdentity, FundsTransfer, IcrcCompatibleAccount, LedgerCursor,
1414
DATA_PULL_BYTES_BEFORE_LEN, DC_TOKEN_DECIMALS_DIV, LABEL_DC_TOKEN_TRANSFER,
1515
};
@@ -121,9 +121,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
121121
if let Some(transfer_to_account) = arg_matches.get_one::<String>("transfer-to") {
122122
let transfer_to_account = IcrcCompatibleAccount::from(transfer_to_account);
123123
let transfer_amount_e9s = match arg_matches.get_one::<String>("amount-dct") {
124-
Some(value) => value.parse::<Balance>()? * DC_TOKEN_DECIMALS_DIV,
124+
Some(value) => value.parse::<TokenAmount>()? * DC_TOKEN_DECIMALS_DIV,
125125
None => match arg_matches.get_one::<String>("amount-e9s") {
126-
Some(value) => value.parse::<Balance>()?,
126+
Some(value) => value.parse::<TokenAmount>()?,
127127
None => {
128128
panic!("You must specify either --amount-dct or --amount-e9s")
129129
}

common/src/account_transfers.rs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use std::cell::RefCell;
1616

1717
use crate::{
1818
account_balance_add, account_balance_get, account_balance_sub, get_timestamp_ns,
19-
ledger_add_reputation_change, slice_to_32_bytes_array, Balance, DccIdentity, TransferError,
19+
ledger_add_reputation_change, slice_to_32_bytes_array, DccIdentity, TokenAmount, TransferError,
2020
LABEL_DC_TOKEN_TRANSFER, MINTING_ACCOUNT, MINTING_ACCOUNT_PRINCIPAL,
2121
};
2222

@@ -64,8 +64,7 @@ pub fn ledger_funds_transfer(
6464

6565
pub fn charge_fees_to_account_and_bump_reputation(
6666
ledger: &mut LedgerMap,
67-
dcc_identity: &DccIdentity,
68-
amount_e9s: Balance,
67+
amount_e9s: TokenAmount,
6968
) -> Result<(), String> {
7069
if amount_e9s == 0 {
7170
return Ok(());
@@ -90,7 +89,7 @@ pub fn charge_fees_to_account_and_bump_reputation(
9089
Ok(_) => Ok(ledger_add_reputation_change(
9190
ledger,
9291
dcc_identity,
93-
amount_e9s.min(i64::MAX as Balance) as i64,
92+
amount_e9s.min(i64::MAX as TokenAmount) as i64,
9493
)?),
9594
Err(e) => {
9695
info!("Failed to charge fees: {}", e);
@@ -102,7 +101,7 @@ pub fn charge_fees_to_account_and_bump_reputation(
102101
pub fn charge_fees_to_account_no_bump_reputation(
103102
ledger: &mut LedgerMap,
104103
dcc_identity: &DccIdentity,
105-
amount_e9s: Balance,
104+
amount_e9s: TokenAmount,
106105
) -> Result<(), String> {
107106
if amount_e9s == 0 {
108107
return Ok(());
@@ -293,13 +292,13 @@ impl std::fmt::Display for IcrcCompatibleAccount {
293292
pub struct FundsTransferV1 {
294293
pub from: IcrcCompatibleAccount,
295294
pub to: IcrcCompatibleAccount,
296-
pub fee: Option<Balance>,
295+
pub fee: Option<TokenAmount>,
297296
pub fees_accounts: Option<Vec<IcrcCompatibleAccount>>,
298297
pub created_at_time: Option<u64>,
299298
pub memo: Vec<u8>,
300-
pub amount: Balance,
301-
pub balance_from_after: Balance,
302-
pub balance_to_after: Balance,
299+
pub amount: TokenAmount,
300+
pub balance_from_after: TokenAmount,
301+
pub balance_to_after: TokenAmount,
303302
}
304303

305304
#[derive(BorshSerialize, BorshDeserialize, Clone, Debug, PartialEq, Eq)]
@@ -313,13 +312,13 @@ impl FundsTransfer {
313312
pub fn new(
314313
from: IcrcCompatibleAccount,
315314
to: IcrcCompatibleAccount,
316-
fee: Option<Balance>,
315+
fee: Option<TokenAmount>,
317316
fees_accounts: Option<Vec<IcrcCompatibleAccount>>,
318317
created_at_time: Option<u64>,
319318
memo: Vec<u8>,
320-
amount: Balance,
321-
balance_from_after: Balance,
322-
balance_to_after: Balance,
319+
amount: TokenAmount,
320+
balance_from_after: TokenAmount,
321+
balance_to_after: TokenAmount,
323322
) -> Self {
324323
FundsTransfer::V1(FundsTransferV1 {
325324
from,
@@ -346,7 +345,7 @@ impl FundsTransfer {
346345
}
347346
}
348347

349-
pub fn fee(&self) -> Option<Balance> {
348+
pub fn fee(&self) -> Option<TokenAmount> {
350349
match self {
351350
FundsTransfer::V1(ft) => ft.fee,
352351
}
@@ -370,19 +369,19 @@ impl FundsTransfer {
370369
}
371370
}
372371

373-
pub fn amount(&self) -> Balance {
372+
pub fn amount(&self) -> TokenAmount {
374373
match self {
375374
FundsTransfer::V1(ft) => ft.amount,
376375
}
377376
}
378377

379-
pub fn balance_from_after(&self) -> Balance {
378+
pub fn balance_from_after(&self) -> TokenAmount {
380379
match self {
381380
FundsTransfer::V1(ft) => ft.balance_from_after,
382381
}
383382
}
384383

385-
pub fn balance_to_after(&self) -> Balance {
384+
pub fn balance_to_after(&self) -> TokenAmount {
386385
match self {
387386
FundsTransfer::V1(ft) => ft.balance_to_after,
388387
}

common/src/account_transfers_errors.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
use icrc_ledger_types::icrc1::transfer::BlockIndex;
22
use ledger_map::LedgerError;
33

4-
use crate::Balance;
4+
use crate::TokenAmount;
55
use crate::Icrc1Account;
66
use candid::Nat;
77

88
#[derive(Debug)]
99
pub enum TransferError {
1010
BadFee {
11-
expected_fee: Balance,
11+
expected_fee: TokenAmount,
1212
},
1313
BadBurn {
14-
min_burn_amount: Balance,
14+
min_burn_amount: TokenAmount,
1515
},
1616
InsufficientFunds {
1717
account: Icrc1Account,
18-
current_balance: Balance,
19-
requested_amount: Balance,
18+
current_balance: TokenAmount,
19+
requested_amount: TokenAmount,
2020
},
2121
// From amount does not match to amount
2222
AmountMismatch {
23-
from_amount: Balance,
24-
to_amount: Balance,
23+
from_amount: TokenAmount,
24+
to_amount: TokenAmount,
2525
},
2626
TooOld,
2727
CreatedInFuture {

common/src/cache_balances.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
use crate::account_transfers::IcrcCompatibleAccount;
2-
use crate::{AHashMap, Balance, DC_TOKEN_DECIMALS_DIV};
2+
use crate::{AHashMap, TokenAmount, DC_TOKEN_DECIMALS_DIV};
33
#[cfg(target_arch = "wasm32")]
44
#[allow(unused_imports)]
55
use ic_cdk::println;
66
use std::{cell::RefCell, collections::HashMap};
77

88
thread_local! {
9-
static ACCOUNT_BALANCES: RefCell<AHashMap<IcrcCompatibleAccount, Balance>> = RefCell::new(HashMap::default());
9+
static ACCOUNT_BALANCES: RefCell<AHashMap<IcrcCompatibleAccount, TokenAmount>> = RefCell::new(HashMap::default());
1010
}
1111

12-
pub fn account_balance_get(account: &IcrcCompatibleAccount) -> Balance {
12+
pub fn account_balance_get(account: &IcrcCompatibleAccount) -> TokenAmount {
1313
ACCOUNT_BALANCES.with(|balances| {
1414
let balances = balances.borrow();
1515
balances.get(account).copied().unwrap_or_default()
@@ -20,22 +20,22 @@ pub fn account_balance_get_as_string(account: &IcrcCompatibleAccount) -> String
2020
amount_as_string(account_balance_get(account))
2121
}
2222

23-
pub fn amount_as_string(amount: Balance) -> String {
23+
pub fn amount_as_string(amount: TokenAmount) -> String {
2424
if amount == 0 {
2525
return "0.0".to_string();
2626
}
2727
format!(
2828
"{}.{}",
29-
amount / DC_TOKEN_DECIMALS_DIV as Balance,
30-
amount % DC_TOKEN_DECIMALS_DIV as Balance
29+
amount / DC_TOKEN_DECIMALS_DIV as TokenAmount,
30+
amount % DC_TOKEN_DECIMALS_DIV as TokenAmount
3131
)
3232
}
3333

3434
#[allow(dead_code)]
3535
pub fn account_balance_sub(
3636
account: &IcrcCompatibleAccount,
37-
amount: Balance,
38-
) -> anyhow::Result<Balance> {
37+
amount: TokenAmount,
38+
) -> anyhow::Result<TokenAmount> {
3939
ACCOUNT_BALANCES.with(|balances| {
4040
let mut balances = balances.borrow_mut();
4141
let balance = balances.entry(account.clone()).or_default();
@@ -49,8 +49,8 @@ pub fn account_balance_sub(
4949

5050
pub fn account_balance_add(
5151
account: &IcrcCompatibleAccount,
52-
amount: Balance,
53-
) -> anyhow::Result<Balance> {
52+
amount: TokenAmount,
53+
) -> anyhow::Result<TokenAmount> {
5454
ACCOUNT_BALANCES.with(|balances| {
5555
let mut balances = balances.borrow_mut();
5656
let balance = balances.entry(account.clone()).or_default();
@@ -82,12 +82,12 @@ mod tests {
8282
assert_eq!(account_balance_get(&account_1), 0);
8383
assert_eq!(
8484
account_balance_add(&account_1, 100u32.into()).unwrap(),
85-
100u32 as Balance
85+
100u32 as TokenAmount
8686
);
87-
assert_eq!(account_balance_get(&account_1), 100u32 as Balance);
87+
assert_eq!(account_balance_get(&account_1), 100u32 as TokenAmount);
8888
assert_eq!(
8989
account_balance_sub(&account_1, 50u32.into()).unwrap(),
90-
50u32 as Balance
90+
50u32 as TokenAmount
9191
);
9292
assert_eq!(
9393
account_balance_sub(&account_1, 100u32.into())
@@ -97,11 +97,11 @@ mod tests {
9797
);
9898
assert_eq!(
9999
account_balance_sub(&account_1, 50u32.into()).unwrap(),
100-
0u32 as Balance
100+
0u32 as TokenAmount
101101
);
102102
assert_eq!(
103103
account_balance_sub(&account_1, 0u32.into()).unwrap(),
104-
0u32 as Balance
104+
0u32 as TokenAmount
105105
);
106106
assert_eq!(
107107
account_balance_sub(&account_1, 1u32.into())
@@ -111,9 +111,9 @@ mod tests {
111111
);
112112
assert_eq!(
113113
account_balance_add(&account_1, 100u32.into()).unwrap(),
114-
100u32 as Balance
114+
100u32 as TokenAmount
115115
);
116116
account_balances_clear();
117-
assert_eq!(account_balance_get(&account_1), 0u32 as Balance);
117+
assert_eq!(account_balance_get(&account_1), 0u32 as TokenAmount);
118118
}
119119
}

common/src/cache_transactions.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ impl RecentCache {
111111

112112
#[cfg(test)]
113113
mod tests {
114-
use crate::{account_balance_get, get_timestamp_ns, Balance, MINTING_ACCOUNT};
114+
use crate::{account_balance_get, get_timestamp_ns, TokenAmount, MINTING_ACCOUNT};
115115

116116
use super::*;
117117
use candid::Principal;
@@ -200,7 +200,7 @@ mod tests {
200200
fn test_parse_ledger_block() {
201201
RecentCache::clear_cache();
202202

203-
fn create_dummy_funds_transfer(to: u64, amount: Balance) -> FundsTransfer {
203+
fn create_dummy_funds_transfer(to: u64, amount: TokenAmount) -> FundsTransfer {
204204
let account = crate::IcrcCompatibleAccount {
205205
owner: Principal::from_slice(&to.to_be_bytes()),
206206
subaccount: None,
@@ -222,7 +222,7 @@ mod tests {
222222
// Create a dummy LedgerBlock
223223
let mut entries = Vec::new();
224224
for i in 0..103 {
225-
let transfer = create_dummy_funds_transfer(i, (i + 1) as Balance);
225+
let transfer = create_dummy_funds_transfer(i, (i + 1) as TokenAmount);
226226
let entry = ledger_map::LedgerEntry::new(
227227
LABEL_DC_TOKEN_TRANSFER,
228228
transfer.to_tx_id(),

common/src/lib.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ use std::{collections::HashMap, hash::BuildHasherDefault};
6666
pub type AHashMap<K, V> = HashMap<K, V, BuildHasherDefault<ahash::AHasher>>;
6767

6868
pub const BLOCK_INTERVAL_SECS: u64 = 600;
69-
pub const DC_TOKEN_DECIMALS_DIV: Balance = (10u32 as Balance).pow(DC_TOKEN_DECIMALS as u32);
69+
pub const DC_TOKEN_DECIMALS_DIV: TokenAmount = (10u32 as TokenAmount).pow(DC_TOKEN_DECIMALS as u32);
7070
pub const DC_TOKEN_DECIMALS: u8 = 9;
7171
pub const DC_TOKEN_NAME: &str = "Decent Cloud";
7272
pub const DC_TOKEN_SYMBOL: &str = "DC";
73-
pub const DC_TOKEN_TOTAL_SUPPLY: Balance = 21_000_000 * DC_TOKEN_DECIMALS_DIV;
74-
pub const DC_TOKEN_TRANSFER_FEE_E9S: Balance = 1_000_000;
73+
pub const DC_TOKEN_TOTAL_SUPPLY: TokenAmount = 21_000_000 * DC_TOKEN_DECIMALS_DIV;
74+
pub const DC_TOKEN_TRANSFER_FEE_E9S: TokenAmount = 1_000_000;
7575
pub const DC_TOKEN_LOGO: &str = include_str!("./token-logo.base64");
7676
pub const ED25519_SIGNATURE_LENGTH: usize = 64;
7777
pub const ED25519_SIGN_CONTEXT: &[u8] = b"decent-cloud";
@@ -105,13 +105,13 @@ pub const DATA_PULL_BYTES_BEFORE_LEN: u16 = 16; // How many bytes before the pul
105105
// python3 -c "from datetime import datetime; print(int(datetime.strptime('2024-01-01 00:00:00', '%Y-%m-%d %H:%M:%S').timestamp()), '* 1_000_000_000')"
106106
pub const FIRST_BLOCK_TIMESTAMP_NS: u64 = 1704063600 * 1_000_000_000;
107107

108-
pub type Balance = u64;
108+
pub type TokenAmount = u64;
109109

110-
pub fn nat_to_balance(nat: &Nat) -> Balance {
110+
pub fn nat_to_balance(nat: &Nat) -> TokenAmount {
111111
nat.0
112112
.to_u128()
113-
.map(|n| n.min(Balance::MAX as u128))
114-
.unwrap_or(0) as Balance
113+
.map(|n| n.min(TokenAmount::MAX as u128))
114+
.unwrap_or(0) as TokenAmount
115115
}
116116

117117
pub fn get_account_from_pubkey(pubkey_bytes: &[u8]) -> IcrcCompatibleAccount {

common/src/offerings.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{
22
amount_as_string, charge_fees_to_account_no_bump_reputation, fn_info, reward_e9s_per_block,
3-
warn, Balance, DccIdentity, LABEL_NP_OFFERING, MAX_NP_OFFERING_BYTES,
3+
warn, TokenAmount, DccIdentity, LABEL_NP_OFFERING, MAX_NP_OFFERING_BYTES,
44
};
55
use base64::engine::general_purpose::STANDARD as BASE64;
66
use base64::Engine;
@@ -12,7 +12,7 @@ use ic_cdk::println;
1212
use ledger_map::LedgerMap;
1313
use np_offering::Offering;
1414

15-
fn np_offering_update_fee_e9s() -> Balance {
15+
fn np_offering_update_fee_e9s() -> TokenAmount {
1616
reward_e9s_per_block() / 10000
1717
}
1818

common/src/platform_specific_x86_64.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::Balance;
1+
use crate::TokenAmount;
22
use icrc_ledger_types::icrc1::account::Account;
33
use std::{cell::RefCell, time::Duration};
44

@@ -30,6 +30,6 @@ pub(crate) fn get_commit_interval() -> Duration {
3030
COMMIT_INTERVAL.with(|commit_interval| *commit_interval)
3131
}
3232

33-
pub fn ledger_get_account_balance(_account: Account) -> Result<Balance, String> {
33+
pub fn ledger_get_account_balance(_account: Account) -> Result<TokenAmount, String> {
3434
Ok(0)
3535
}

common/src/profiles.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{
22
amount_as_string, charge_fees_to_account_no_bump_reputation, fn_info, reputation_get,
3-
reward_e9s_per_block, Balance, DccIdentity, LABEL_NP_PROFILE, MAX_NP_PROFILE_BYTES,
3+
reward_e9s_per_block, DccIdentity, TokenAmount, LABEL_NP_PROFILE, MAX_NP_PROFILE_BYTES,
44
};
55
use borsh::{BorshDeserialize, BorshSerialize};
66
use function_name::named;
@@ -11,7 +11,7 @@ use ledger_map::LedgerMap;
1111
use np_profile::Profile;
1212
use serde::Serialize;
1313

14-
pub fn np_profile_update_fee_e9s() -> Balance {
14+
pub fn np_profile_update_fee_e9s() -> TokenAmount {
1515
reward_e9s_per_block() / 1000
1616
}
1717

0 commit comments

Comments
 (0)