Exemplo n.º 1
0
    def test_really_slow(self):
        num_partials = 300
        time_target = 24 * 3600
        partials = []
        current_time = uint64(time.time())
        for i in range(num_partials):
            partials.append((uint64(current_time - (i + 100) * 200), 20))

        # Decreases by 5x
        assert get_new_difficulty(partials, num_partials, time_target, 20, current_time, 1) == 4

        # Respects min difficulty
        assert get_new_difficulty(partials, num_partials, time_target, 20, current_time, 10) == 10
Exemplo n.º 2
0
    def test_recently_updated(self):
        num_partials = 300
        time_target = 24 * 3600
        partials = []
        current_time = uint64(time.time())
        for i in range(num_partials):
            partials.append((current_time - i * 200, 20))

        assert get_new_difficulty(partials, num_partials, time_target, 50, current_time, 1) == 50

        partials[0] = (current_time, 50)

        assert get_new_difficulty(partials, num_partials, time_target, 50, current_time, 1) == 50
Exemplo n.º 3
0
    def test_decreases_diff(self):
        num_partials = 300
        time_target = 24 * 3600
        partials = []
        current_time = uint64(time.time())
        for i in range(num_partials):
            partials.append((uint64(current_time - (i) * 380), 20))

        assert get_new_difficulty(partials, num_partials, time_target, 20, current_time, 1) == 15
Exemplo n.º 4
0
    def test_kind_of_slow(self):
        num_partials = 300
        time_target = 24 * 3600
        partials = []
        current_time = uint64(time.time())
        for i in range(num_partials):
            partials.append((uint64(current_time - (i + 20) * 200), 20))

        # Decreases by 1.5x
        assert get_new_difficulty(partials, num_partials, time_target, 20, current_time, 1) == (20 // 1.5)
Exemplo n.º 5
0
    def test_not_enough_partials_yet(self):
        num_partials = 300
        time_target = 24 * 3600
        partials = []
        current_time = uint64(time.time())
        for i in range(num_partials):
            partials.append((uint64(current_time - (i) * 200), 20))

        partials[-1] = (partials[-1][0], 15)

        # Doesn't change diff
        assert get_new_difficulty(partials, num_partials, time_target, 20, current_time, 1) == 20
Exemplo n.º 6
0
    def test_no_things_in_db(self):

        time_target = 24 * 3600
        current_time = uint64(time.time())
        assert get_new_difficulty([], 300, time_target, 10, current_time, 1) == 10