Skip to content

Commit 533704c

Browse files
author
kushti
committed
addressing issues from #12
1 parent 90ede0f commit 533704c

21 files changed

Lines changed: 1347 additions & 74 deletions

config/basis.toml.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,9 @@ fee = 1000000
3535
# holders are already violated (distressed reserve), only the oldest outstanding
3636
# note may redeem (FIFO fallback). Emergency redemptions bypass this check.
3737
enforce_acceptance_policy = true
38+
39+
[confirmation]
40+
# Minimum on-chain depth (including the inclusion block) before a tracker box update
41+
# is treated as confirmed and pending notes become redeemable. Presence of the update
42+
# transaction in a block alone is not confirmation.
43+
min_depth = 2

crates/basis_mcp/src/server.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ impl BasisMcp {
419419
params.nft_id,
420420
None,
421421
params.amount,
422+
false,
422423
)
423424
.await,
424425
)

crates/basis_server/src/acceptance/builder.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ mod tests {
547547
recipient_pubkey: [0u8; 33],
548548
total_debt: 4000000000,
549549
reserve_tracker: None,
550+
issuer_gross_debt: None,
550551
};
551552
assert!(pred.acceptable(&ctx));
552553

@@ -561,6 +562,7 @@ mod tests {
561562
recipient_pubkey: [0u8; 33],
562563
total_debt: u64::MAX,
563564
reserve_tracker: None,
565+
issuer_gross_debt: None,
564566
};
565567
assert!(pred.acceptable(&ctx2));
566568

@@ -575,6 +577,7 @@ mod tests {
575577
recipient_pubkey: [0u8; 33],
576578
total_debt: 100,
577579
reserve_tracker: None,
580+
issuer_gross_debt: None,
578581
};
579582
assert!(!pred.acceptable(&ctx3));
580583
}
@@ -625,6 +628,7 @@ mod tests {
625628
recipient_pubkey: [0u8; 33],
626629
total_debt: 100,
627630
reserve_tracker: Some(tracker),
631+
issuer_gross_debt: Some(100),
628632
};
629633

630634
assert!(pred.acceptable(&ctx));
@@ -676,6 +680,7 @@ mod tests {
676680
recipient_pubkey: [0u8; 33],
677681
total_debt: 100,
678682
reserve_tracker: Some(tracker),
683+
issuer_gross_debt: Some(100),
679684
};
680685

681686
// 50 collateral / 100 debt = 0.5 ratio, which is < 1.0 min_ratio
@@ -728,6 +733,7 @@ mod tests {
728733
recipient_pubkey: [0u8; 33],
729734
total_debt: 100,
730735
reserve_tracker: Some(tracker),
736+
issuer_gross_debt: Some(100),
731737
};
732738

733739
// 100 collateral / 100 debt = 1.0 ratio, which meets 1.0 min_ratio
@@ -780,6 +786,7 @@ mod tests {
780786
recipient_pubkey: [0u8; 33],
781787
total_debt: 100,
782788
reserve_tracker: Some(tracker),
789+
issuer_gross_debt: Some(100),
783790
};
784791

785792
// 250 collateral / 100 debt = 2.5 ratio, which exceeds 2.0 min_ratio
@@ -832,6 +839,7 @@ mod tests {
832839
recipient_pubkey: [0u8; 33],
833840
total_debt: 0,
834841
reserve_tracker: Some(tracker),
842+
issuer_gross_debt: Some(0),
835843
};
836844

837845
// Zero debt should be acceptable (no liability)
@@ -866,6 +874,7 @@ mod tests {
866874
recipient_pubkey: [0u8; 33],
867875
total_debt: 100,
868876
reserve_tracker: Some(tracker),
877+
issuer_gross_debt: Some(100),
869878
};
870879

871880
// No reserve found, should be rejected
@@ -920,6 +929,7 @@ mod tests {
920929
recipient_pubkey: [0u8; 33],
921930
total_debt: 100,
922931
reserve_tracker: Some(tracker.clone()),
932+
issuer_gross_debt: Some(100),
923933
};
924934
assert!(pred.acceptable(&ctx1));
925935

@@ -934,6 +944,7 @@ mod tests {
934944
recipient_pubkey: [0u8; 33],
935945
total_debt: 100,
936946
reserve_tracker: Some(tracker),
947+
issuer_gross_debt: Some(100),
937948
};
938949
assert!(!pred.acceptable(&ctx2));
939950
}
@@ -984,6 +995,7 @@ mod tests {
984995
recipient_pubkey: [0u8; 33],
985996
total_debt: 100,
986997
reserve_tracker: Some(tracker),
998+
issuer_gross_debt: Some(100),
987999
};
9881000

9891001
// 51 collateral / 100 debt = 0.51 ratio, which exceeds 0.5 min_ratio
@@ -1051,6 +1063,7 @@ mod tests {
10511063
recipient_pubkey: [0u8; 33],
10521064
total_debt: 100,
10531065
reserve_tracker: None,
1066+
issuer_gross_debt: None,
10541067
};
10551068
assert!(pred.acceptable(&ctx));
10561069
}

0 commit comments

Comments
 (0)