-
Notifications
You must be signed in to change notification settings - Fork 78
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
Manifest and script checks #1729
Conversation
It was used when manifests were saved into JSON.
Make it a little more convenient to work with it.
Be more specific.
Some methods must be defined in a valid ABI. Refs. neo-project/neo#2263.
Strange as it is but I wasn't able to find any good bit field implementation. Most of them are limited to 64 bits, some allow for wider values (like https://github.com/emef/bitfield) but even they're not that efficient (using bytes instead of wider types). This this minimalistic thing.
Codecov Report
@@ Coverage Diff @@
## master #1729 +/- ##
==========================================
+ Coverage 82.53% 82.73% +0.20%
==========================================
Files 255 261 +6
Lines 21532 21765 +233
==========================================
+ Hits 17772 18008 +236
+ Misses 2657 2651 -6
- Partials 1103 1106 +3
Continue to review full report at Codecov.
|
case PermissionWildcard: | ||
bad = true | ||
case PermissionHash: | ||
if contracts[i].Hash() == contracts[j].Hash() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bad = contracts[i].Hash() == contracts[j].Hash()
?
} | ||
|
||
// Equals compares two Fields and returns true if they're equal. | ||
func (f Field) Equals(o Field) bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd expect it to compare f
to o
as sets (as len
guarantee can't be provided fully because of upper-rounding in New
). But if we don't need this, ok.
This check is good and was present here since #1729, but it was accidently removed from the reference implementation (see the discussion in neo-project/neo#2848). The removal of this check from the C# node leaded to the T5 testnet state diff since 1670095 heigh which causes inability to process new blocks since 2272533 height (see #3049). This check was added back to the C# node in neo-project/neo#2849, but it is planned to be the part of the upcoming 3.6.0 C# node release. We need to keep our testnet healthy, thus, strict contract script check will be temporary removed from the node code and is planned to be added back to be a part of the next 3.6.0-compatible release. Close #3049.
This check is good and was present here since #1729, but it was accidently removed from the reference implementation (see the discussion in neo-project/neo#2848). The removal of this check from the C# node leaded to the T5 testnet state diff since 1670095 heigh which causes inability to process new blocks since 2272533 height (see #3049). This check was added back to the C# node in neo-project/neo#2849, but it is planned to be the part of the upcoming 3.6.0 C# node release. We need to keep our testnet healthy, thus, strict contract script check will be temporary removed from the node code and is planned to be added back to be a part of the next 3.6.0-compatible release. Close #3049. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This check is good and was present here since #1729, but it was accidently removed from the reference implementation (see the discussion in neo-project/neo#2848). The removal of this check from the C# node leaded to the T5 testnet state diff since 1670095 heigh which causes inability to process new blocks since 2272533 height (see #3049). This check was added back to the C# node in neo-project/neo#2849, but it is planned to be the part of the upcoming 3.6.0 C# node release. We need to keep our testnet healthy, thus, strict contract script check will be temporary removed from the node code and is planned to be added back to be a part of the next 3.6.0-compatible release. Close #3049. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This check is good and was present here since #1729, but it was accidently removed from the reference implementation (see the discussion in neo-project/neo#2848). The removal of this check from the C# node leaded to the T5 testnet state diff since 1670095 heigh which causes inability to process new blocks since 2272533 height (see #3049). This check was added back to the C# node in neo-project/neo#2849, but it is planned to be the part of the upcoming 3.6.0 C# node release. We need to keep our testnet healthy, thus, strict contract script check will be temporary removed from the node code and is planned to be added back to be a part of the next 3.6.0-compatible release. Close #3049. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Problem
#1699.
Solution
Merge.