class BlockHeaderContract extends NativeContract {

    @Override
    public List<NativeMethod> getMethods() {
        return Arrays.asList(
                new GetCoinbaseAddress(getExecutionEnvironment(), this.blockAccessor),
                new GetBlockHash(getExecutionEnvironment(), this.blockAccessor),
                new GetMergedMiningTags(getExecutionEnvironment(), this.blockAccessor),
                new GetMinimumGasPrice(getExecutionEnvironment(), this.blockAccessor),
                new GetGasLimit(getExecutionEnvironment(), this.blockAccessor),
                new GetGasUsed(getExecutionEnvironment(), this.blockAccessor),
                new GetDifficulty(getExecutionEnvironment(), this.blockAccessor),
                new GetBitcoinHeader(getExecutionEnvironment(), this.blockAccessor),
                new GetUncleCoinbaseAddress(getExecutionEnvironment(), this.blockAccessor)
        );
    }

    public  BlockHeaderContract(ActivationConfig activationConfig, RskAddress contractAddress);

}