-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
core: use proper BaseExecFee and StoragePrice for interop context #2432
Conversation
The usage of the Blockchain's one leads to the same ExecFeeFactor within a single block. What we need is to update ExecFeeFactor after each transaction invocation, thus, cached DAO should be used as it contains all relevant changes.
We shouldn't use StoragePrice from Blockchain because its dao doesn't contain the whole set of changes from previouse transactions in the current block. Instead, we should use an updated storage price for each transaction and retrieve the price from cached DAO.
The InteropContext's one contains all relevant fee changes applied in the prevouse transactions of the current block.
Codecov Report
@@ Coverage Diff @@
## master #2432 +/- ##
==========================================
+ Coverage 85.09% 85.18% +0.08%
==========================================
Files 289 289
Lines 36106 36119 +13
==========================================
+ Hits 30724 30767 +43
+ Misses 4098 4066 -32
- Partials 1284 1286 +2
Continue to review full report at Codecov.
|
For (bc *Blockchain).GetBaseExecFee().
Follows the neo-project/neo#2692 behaviour and can be merged. But CircleCI tests are failing due to timeout, not sure what's wrong with them. |
Problem
Outdated and non-unified BaseExecFee and StoragePrice values used for interop context pricing.
Solution
Merge.