Steem 0.14.2

@bytemaster bytemaster released this Sep 16, 2016 · 458 commits to master since this release

Patch Notes for Steem 0.14.2

Hardfork is scheduled for Tue, 20 Sep 2016 15:00:00 UTC

Updates from 0.14.1

This release fixes some bugs found in 0.14.1 related to canceling withdraw from savings and declining voting rights.

Escrow

Added operations pertaining to escrow. Details on how to use the operations can be found in steem_operations.hpp:229

escrow_transfer_operation
escrow_approve_operation
escrow_dispute_operation
escrow_release_operation

Vote Balancing

We have reverted the changes to vote balancing from 0.14.0. Voting power and vote weights are unaffected in this release.

Savings

Added time locked savings accounts. A user can place Steem and Steem Dollars into time locked savings balances. Funds can be withdrawn from these balances after a three day delay. The point of this addition is to mitigate loss from hacked and compromised account. The max a user can lose instantaneously is the sum of what the hold in liquid balances. Assuming an account can be recovered quickly, loss in such situations can be kept to a minimum. steem_operations.hpp:868

transfer_to_savings_operation
transfer_from_savings_operation
cancel_transfer_from_savings_operation

Steem Dollar Stability

Added functionality to aid in the stability of Steem Dollars. Starting when Steem Dollars are 2% of the market cap, a portional of content rewards will be awarded as Steem instead of Steem Dollars. The rate at which Steem Dollars are printed is 50% of the reward at 2% or less market cap and 0% at 5% or more market cap, linearly extrapolated from 2%-5% market cap. So, at 3.5% market cap content rewards will be 25% Steem Dollars, 25% Steem, and 50% Steem Power.

When Steem Dollars reach 10% of the market cap, the price feed will jump off the peg to keep Steem Dollars at 10% of the market cap and will return to the peg when the reported price feed goes below 10%. Witnesses should still report the real dollar value of Steem for their price feed. The median price feed is automatically capped regardless of what witnesses report.

"null" Account Balances

Balances of the null account and zeroed every block. Because any funds in the null account are inaccesible, they are removed every block and
the dynamic global property object is updated to reflect the actual totals. This will remove funds from the supply, slowing the rate of inflation.

Challenge Authority

Fixed a bug where an account's active authority could not be challenged. Subsequently, because there is no way of addressing the challenge through steemit.com, we have disabled the operation entirely for the moment as it could be an attack vector against users that do not know how to use the cli wallet. The operation will be enabled at a later time when steemit.com can more elegantly handle challenge scenarios.

Custom Binary Operation

Added a custom binary operation. The semmantics are the same as the custom json operation, but with a binary payload. The json deserialization has a non-trivial cost associated with it. This operation will allow for binary deserialization of plugin operations and should improve overall performance of plugins that chose to use it. steem_operations.hpp:491

custom_binary_operation

Decline Voting Rights

An account can chose to decline their voting rights after a 30 day delay. This includes voting on content and witnesses. The voting rights cannot be acquired again once they have been declined. This is only to formalize a smart contract between certain accounts and the community that currently only exists as a social contract. steem_operations.hpp:897

decline_voting_rights_operation

Witness Block Production

Witnesses that miss a block and have not produced in the last 24 hours worth of blocks will automatically have their signing key removed and will no longer be scheduled for block production. To be eligible to produce blocks again, set the the signing key using the witness update operation. This should increase overall participation level, specifically on witnesses that are getting scheduled on the time share slot and are no longer wanting to be scheduled. Consequently, if a witness does not want to produce blocks anymore, they can set their signing key to "" and will no longer be scheduled for block production.

Post Edits

Posts are now editable up to the second payout when they are archived.

Misc

Added database api and cli wallet calls for getting vesting withdraw routes on an account.

Fixed a bug that was preventing votes from being completely removed from a post.

Increased the irreversible block threshold to 75%.

Removed legacy PoW operation from witness plugin.

Various code cleanup and added error messages. Some changes to help with building on Windows.

FC

Fixed an issue serializing enumerations that caused an unknown string to serialize to the first enumeration type. This was causing some undefined behavior in various API calls that should now be resolved by throwing an exception when an unknown enumeration type is encountered.

Downloads