As the work was validated on input, and we don't do further work based off the argon hash, this is unnecessary and expensive. The use of a memory cache does mean we infrequently load said data, yet nodes syncing from us will cause this behavior.
The RPC does report the argon hash, which will break with this optimization, unless the RPC does the calc. Given the only value in the argon hash is checking what difficulty the Transaction can beat, a niche case, and it's easy to calculate the argon hash externally... #279 should remove the argon field.
As the work was validated on input, and we don't do further work based off the argon hash, this is unnecessary and expensive. The use of a memory cache does mean we infrequently load said data, yet nodes syncing from us will cause this behavior.
The RPC does report the argon hash, which will break with this optimization, unless the RPC does the calc. Given the only value in the argon hash is checking what difficulty the Transaction can beat, a niche case, and it's easy to calculate the argon hash externally... #279 should remove the argon field.