SoftFork 0.22.2 confused me as much as it probably did the rest of you, I slept through the fork and so I was very confused, let's take a look into the code:
/* If the time of the current block is more than the target SoftFork time */
if ( fc::time_point_sec( STEEM_PROTECTION_HARDFORK_TIME ) <= head_block_time() )
{
Based on the kind of operation, block it if it's from a STEEMIT, Inc owned account and:
switch( op.which() )
{
It's a witness vote or proxy
case operation::tag<account_witness_proxy_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< account_witness_proxy_operation >().account ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
case operation::tag<account_witness_vote_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< account_witness_vote_operation >().account ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
case
It's a proposal vote
operation::tag<update_proposal_votes_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< update_proposal_votes_operation >().voter ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
It's a post vote
case operation::tag<vote_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< vote_operation >().voter ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
It's a powerdown (you can powerdown to other accounts)
case operation::tag<withdraw_vesting_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< withdraw_vesting_operation >().account ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Trying to set powerdown route (account to powerdown to)
case operation::tag<set_withdraw_vesting_route_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< set_withdraw_vesting_route_operation >().from_account ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Trying to do a plain-old transfer
case operation::tag<transfer_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< transfer_operation >().from ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Trying to make a market order
case operation::tag<limit_order_create_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< limit_order_create_operation >().owner ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
case operation::tag<limit_order_create2_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< limit_order_create2_operation >().owner ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Powering up
case operation::tag<transfer_to_vesting_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< transfer_to_vesting_operation >().from ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Sending to savings
case operation::tag<transfer_to_savings_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< transfer_to_savings_operation >().from ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
Using inbuilt escrow function of the chain to make a transfer
case operation::tag<escrow_transfer_operation>::value:
if ( hardforkprotect::get_steemit_accounts().count( op.get< escrow_transfer_operation >().from ) )
FC_THROW_EXCEPTION(transaction_exception, "Error when pushing TX:\nReason: TX has been rejected.");
break;
For any other transaction, allow (so long as all the other requirements are ok)
default:
break;
}
}
Hope this helps you to understand,
~ @CADawg
$trdo !DERANGED !COFFEEA
0.94174650 TRDO0.62783100 TRDO curation in 3 Days from Post Created Date!Congratulations @contrabot, you successfuly trended the post shared by @cadawg! @cadawg will receive & @contrabot will get
"Call TRDO, Your Comment Worth Something!"
To view or trade TRDO go to steem-engine.com
Join TRDO Discord Channel or Join TRDO Web Site
Thanks for the share, though it still sounds strange for some of us.
Posted via Steemleo
Yeah, that's understandable.
steem-engine.comYou just received DERANGED @cadawg Keep up the great work. Congrats, you have been gifted 1 DerangedCoin. You can redeem 20 of them for an upvote from the deranged.coin account. Redeem your tokens by sending to deranged.coin through Steem Engine with your post URL in the memo field, view all your tokens at
Tweet for #POSH
Wait, we can power down to other account? How can I do that? What tools can I use?
Also why is power up transaction also get blocked?
You can power up another account, so they could move funds that way.
No problem.
As for 2), think about it:
If steemit's accounts have lots of liquid, all they have to do is:
Oh right, that's true. I wasn't thinking that far ahead.
Fair enough. Glad I could clarify. 👍
!BEER
Thanks snaks man!
!BEER
for you
Thanks!
So this is what robbery looks like in code. #whoknew
#idid lol jk I don't even write c++ but eh I did it, correctly I think?
Glad I could shine a light on it for you!
Damn, pretty tight restrictions. Thanks for the nice breakdown! I'm curious though... What actions are left ( besides posting ) are they allowed to do? Just talk & sign messages? I guess send custom json as well, right? ( maybe Justin can still play splinterlands lol )
Yeah, anything that isn't directly transferring value/using SP, i.e. custom_json's are allowed, therefore they can use SE and SplinterLands (if they could transfer money to buy packs... lol)
0.9417465 TRDO from below listed TRENDO callers:
Congratulations @cadawg, your post successfully recieved
To view or trade TRDO go to steem-engine.com
Join TRDO Discord Channel or Join TRDO Web Site
Nice to see the set rules in raw form but only understood a few.
Nice to see the set
Rules in raw form but only
Understood a few.
- kayceefresh
I'm a bot. I detect haiku.