Skip to content

Commit

Permalink
Fix Ledger Update Bug
Browse files Browse the repository at this point in the history
  • Loading branch information
yellowbean committed Jul 19, 2023
1 parent 7b40f60 commit ae081f6
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 8 deletions.
12 changes: 6 additions & 6 deletions src/Deal/DealAction.hs
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,15 @@ performAction d t@TestDeal{ledgers= Just ledgerM} (W.BookBy (W.PDL ds ledgersLis
(zip ledgerNames amtBookedToLedgers)

performAction d t@TestDeal{accounts=accMap, ledgers = Just ledgerM} (W.TransferBy (ClearPDL ln) an1 an2) =
t {accounts = accMapAfterDeposit} -- `debug` ("ABCD "++show(d))
t {accounts = accMapAfterDeposit, ledgers = Just newLedgerM} -- `debug` ("ABCD "++show(d))
where
sourceAcc = accMap Map.! an1
targetAcc = accMap Map.! an2 -- `debug` ("Target>>"++an2)
targetAmt = queryDeal t (LedgerBalance [ln]) -- assuming (debit -> positvie)
transferAmt = min (A.accBalance sourceAcc) targetAmt
transferAmt = min (A.accBalance sourceAcc) targetAmt -- `debug` ("Clear PDL"++show d++ show targetAmt)

accMapAfterDraw = Map.adjust (A.draw transferAmt d (Transfer an1 an2)) an1 accMap
accMapAfterDeposit = Map.adjust (A.deposit transferAmt d (Transfer an1 an2)) an2 accMapAfterDraw
accMapAfterDraw = Map.adjust (A.draw transferAmt d (TransferBy an1 an2 (ClearPDL ln))) an1 accMap -- `debug` (">>PDL >>Ledger bal"++show d ++ show targetAmt)
accMapAfterDeposit = Map.adjust (A.deposit transferAmt d (TransferBy an1 an2 (ClearPDL ln))) an2 accMapAfterDraw

newLedgerM = Map.adjust
(LD.entryLog (negate transferAmt) d (TxnDirection Credit))
Expand All @@ -529,8 +529,8 @@ performAction d t@TestDeal{accounts=accMap} (W.TransferBy limit an1 an2) =
0
transferAmt = min (max formulaAmount 0) (A.accBalance sourceAcc) -- `debug` ("Formula amount"++show formulaAmount)

accMapAfterDraw = Map.adjust (A.draw transferAmt d (Transfer an1 an2)) an1 accMap
accMapAfterDeposit = Map.adjust (A.deposit transferAmt d (Transfer an1 an2)) an2 accMapAfterDraw
accMapAfterDraw = Map.adjust (A.draw transferAmt d (TransferBy an1 an2 limit)) an1 accMap
accMapAfterDeposit = Map.adjust (A.deposit transferAmt d (TransferBy an1 an2 limit)) an2 accMapAfterDraw

performAction d t@TestDeal{accounts=accMap} (W.TransferReserve meetAcc sa ta)=
t {accounts = accMapAfterTransfer }
Expand Down
2 changes: 1 addition & 1 deletion src/Deal/DealQuery.hs
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ queryDeal t s =
sum $ map A.accBalance $ Map.elems $ getAccountByName t (Just ans)

LedgerBalance ans ->
case (ledgers t) of
case ledgers t of
Nothing -> 0
Just ledgersM -> sum $ LD.ledgBalance <$> (ledgersM Map.!) <$> ans

Expand Down
2 changes: 2 additions & 0 deletions src/Stmt.hs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ data TxnComment = PayInt [BondName]
| SeqPayFee [FeeName]
| PayFeeYield FeeName
| Transfer AccName AccName
| TransferBy AccName AccName Limit
| PoolInflow PoolSource
| LiquidationProceeds
| LiquidationSupport String
Expand Down Expand Up @@ -72,6 +73,7 @@ instance ToJSON TxnComment where
toJSON (SeqPayFee fns) = String $ T.pack $ "<SeqPayFee:"++show fns++">"
toJSON (PayFeeYield fn) = String $ T.pack $ "<PayFeeYield:"++ fn++">"
toJSON (Transfer an1 an2) = String $ T.pack $ "<Transfer:"++ an1 ++","++ an2++">"
toJSON (TransferBy an1 an2 limit) = String $ T.pack $ "<TransferBy:"++ an1 ++","++ an2++","++show limit++">"
toJSON (PoolInflow ps) = String $ T.pack $ "<PoolInflow:"++ show ps++">"
toJSON LiquidationProceeds = String $ T.pack $ "<Liquidation>"
toJSON (UsingDS ds) = String $ T.pack $ "<DS:"++ show ds++">"
Expand Down
2 changes: 1 addition & 1 deletion src/Types.hs
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ data Limit = DuePct Balance --
| Formula FormulaType
| DS DealStats
| ClearPDL String
deriving (Show,Generic)
deriving (Show,Ord,Eq,Generic)

data RoundingBy a = RoundCeil a
| RoundFloor a
Expand Down

0 comments on commit ae081f6

Please sign in to comment.