* fee_details supports backward compatibility of using lamports_per_signature to zero out transaction fee
* need to fully furnish nonce account for test
* Apply suggestions from code review
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
* Apply suggestions from code review
* revert hash_queue locking to original behavior
---------
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
* Fix crash if vote state is malformed
* Fix vote program crash if clock rewinds
Return an instruction error instead of panicking if the vote
program detects the vote program's vote authority history is
newer than the current clock.
---------
Co-authored-by: Richard Patel <ripatel@jumptrading.com>
* Add new StakeError variant
* Add closure to return error if EpochRewards::active
* Use error_during_epoch_rewards for Instructions that mutate stake accounts
* Use try instead of manually matching Ok/Err
* Consolidate error_during_epoch_rewards check
* Add new test helper
* Add test demonstrating which ix return StakeError::EpochRewardsActive
* Remove single-use fn
* add PacketFlags::FROM_STAKED_NODE
* Only forward packets from staked node
* fix local-cluster test forwarding
* review comment
* tpu_votes get marked as from_staked_node
* alt_bn128: simplify errors in sycalls (alt_bn128, compress, poseidon)
* add TODO for feature gate. remove validate from compress
* add feature gate
* fix one more error case
* all changes under feature gate
* revert removing from()
* return unexpected errors in lib
* add comment to remove error types, once the feature gate is activated
* remove unnecessary/impossible error
* fix mispelled comments
* Add functions to collect executed transactions fee in details;
* remove unnecessary derive attributes
* change function name from add to accumulate; remove collector_fee_details from PartialEq
* add AbiExample
* add test
* share function to withdraw errored transaction
* more tests
This reduces the maximum penalty for voting after the grace period by
roughly 50%. This new value was derived from looking at the effects
that TVC at max credits 8 would have for recent epochs (500+) and
noting that the effect was a bit extreme, up to and exceeding 10%
"bonus" for faster voters. This change reduces that maximum bonus by
roughly half.
In addition, the TVC feature key has been changed.
* add bench for ed25519 instruction
* add bench for secp256k1 instruction
* Apply suggestions from code review
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
* prepare unique txs for benching
* use iter::Cycle for endless loop
---------
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
`sha2` and `sha3` crates already moved to `generic-array` 0.14.7,
which means that we can safely convert the hash result to a sized
array just by calling `finalize().into()`, which doesn't return
any errors.