> For the complete documentation index, see [llms.txt](https://kelby.gitbook.io/monero/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kelby.gitbook.io/monero/chapter1/hardfork.md).

# hardfork

```
    time_t forked_time;
    time_t update_time;
    uint64_t window_size;
    uint8_t default_threshold_percent;

    uint8_t original_version;
    uint64_t original_version_till_height;

    std::vector<Params> heights;

    std::deque<uint8_t> versions; /* rolling window of the last N blocks' versions */
    unsigned int last_versions[256]; /* count of the block versions in the last N blocks */
    uint32_t current_fork_index;
```

add\_fork

init

check

check\_for\_height

add

reorganize\_from\_block\_height

reorganize\_from\_chain\_height

get\_state

get

get\_ideal\_version

get\_ideal\_version

get\_next\_version

get\_current\_version

get\_earliest\_ideal\_height\_for\_version

get\_voting\_info

get\_window\_size

get\_block\_version

do\_check

do\_check\_for\_height

get\_voted\_fork\_index

get\_effective\_version

rescan\_from\_block\_height
