These are some of the recent work done by dev-pc, in close working with the core team (crossed post from github):-
1)
https://github.com/BitShares/bitshares/issues/1188 https://github.com/BitShares/bitshares/pull/1409External RPC scripts interested in blocks in some date range have to either play a binary search game trying to figure out the block ID that corresponds to a given date/time, or fetch a conservatively large number of blocks, many of which will end up being ignored.
So we need an RPC that takes a date/time and converts it to the block ID and height of the first block after that date/time.
2)
https://github.com/BitShares/bitshares/pull/1408Exclude unconfirmed expired txs from running total
because effectively they don't exist (and will never), and they mess up historic balance calculation.
3)
https://github.com/BitShares/bitshares/pull/1400Show historic balance
Implemented a command to calculate the wallet's balance at an arbitrary time in the past, due to this request:
https://bitsharestalk.org/index.php?topic=14262.0This patch mostly uses existing functionality around the transaction history. The new command therefore produces accurate results only if the tx ledger is complete and correct.
4)
https://github.com/BitShares/bitshares/issues/1385Serious bug with manual covers
See
https://bitsharestalk.org/index.php?topic=14271.msg185630#msg185630Here's my theory. The problem is that the payout of the collateral is not handled in the same place as the actual filling of the cover.
The manual cover transaction is created by transaction_builder::submit_cover. That adds a cover operation to the transaction and deducts the cover amount from the transaction balance. It also computes the interest to be paid at the end of the transaction expiration time, and only if the cover amount covers both interest and the balance to be covered it also adds a deposit operation for the collateral.
After the cover tx has been included in the blockchain, the cover operation is executed by cover_operation::evaluate. This computes the interest owed at the current block time, and if the cover amount covers both interest and principal the cover_order is deleted.
The problem here is the different times used for interest calculation. The default transaction expiration time is 1 hour, while the actual transaction evaluation takes place only a few seconds after the transaction was created. The transaction builder computed the interest owed one hour in the future and came to the conclusion that the cover amount was not sufficient, and therefore it did not create the deposit_operation for the collateral. The transaction evaluation calculated the interest owed now, saw the the cover amount was sufficient and closed the cover_operation.
Please vote for dev-pc.bitcube !