• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

neo-project / neo / 14661248423

25 Apr 2025 09:18AM UTC coverage: 80.046% (-0.03%) from 80.079%
14661248423

push

github

web-flow
Native: adjust hardfork activation definition (#3910)

Problem:

Consider a hardfork (Echidna in our case) that is:
 1. Explicitly ommitted from the node configuration;
 2. Given the fact that the set of previous hardforks are explicitly enabled
    in the node configuration.
The problem is that this hardfork is treated as "enabled from genesis"
by `IsInitializeBlock` function.

This problem is discovered when running N3 mainnet/testnet node with the default
configuration on the current master. This behaviour leads to unexected
Echidna-related changes being included into the node state starting from genesis
block. Here are some data:

Hardforks configuration that is used in config.json file (given this
config, Echidna should be treated as disabled):
```
    "Hardforks": {
      "HF_Aspidochelone": 210000,
      "HF_Basilisk": 2680000,
      "HF_Cockatrice": 3967000,
      "HF_Domovoi": 4144000
    },
```

Genesis block state difference between the current master and 3.7 version:
```
Processing directory BlockStorage_0
file BlockStorage_0/dump-block-0.json: block 0, changes length mismatch: 34 vs 41
```

In particular, there are 7 extra storage items stored in genesis. All
these changes relate to new functionality added in Echidna hardfork
(Policy extensions, Notary contract and etc.):
```
        {
            "id": -7,
            "key": "+f///xQi",
            "state": "Added",
            "value": "gJaYAA=="
        },
        {
            "id": -7,
            "key": "+f///xU=",
            "state": "Added",
            "value": "mDo="
        },
        {
            "id": -7,
            "key": "+f///xY=",
            "state": "Added",
            "value": "gBY="
        },
        {
            "id": -7,
            "key": "+f///xc=",
            "state": "Added",
            "value": "gBQg"
        },
        {
            "id": -1,
            "key": "/////wg77DUxEZu6123QRJILDebDGU/hwQ==",
            "state": "Added",
            "value": "... (continued)

6438 of 9002 branches covered (71.52%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

10 existing lines in 3 files now uncovered.

22914 of 27667 relevant lines covered (82.82%)

127664.53 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.24
/src/Neo/IO/Actors/PriorityMessageQueue.cs


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc