Ton

Форк
0
44 строки · 1.2 Кб
1
(int, int) get_stake_parameters() {
2
    var cs = config_param(15).begin_parse();
3
    int electedFor = cs~load_uint(32);
4
    cs~skip_bits(64);
5
    int stakeHeldFor = cs~load_uint(32);
6
    return (electedFor, stakeHeldFor);
7
}
8

9
(int, int) get_previous_cycle() {
10
    var cs = config_param(32).begin_parse();
11
    cs~skip_bits(8); ;; Header
12
    int timeSince = cs~load_uint(32);
13
    int timeUntil = cs~load_uint(32);
14
    return (timeSince, timeUntil);
15
}
16

17
(int, int) get_current_cycle() {
18
    var cs = config_param(34).begin_parse();
19
    cs~skip_bits(8); ;; Header
20
    int timeSince = cs~load_uint(32);
21
    int timeUntil = cs~load_uint(32);
22
    return (timeSince, timeUntil);
23
}
24

25
int lockup_lift_time(int stake_at, int stake_untill) {
26
    
27
    ;; Resolve previous cycle parameters
28
    var (timeSince, timeUntil) = get_previous_cycle();
29

30
    ;; If previous cycle looks as a valid one
31
    if (stake_at <= timeSince) {
32
        return timeSince + (stake_untill - stake_at);
33
    }
34

35
    ;; Check current cycle
36
    var (timeSince, timeUntil) = get_current_cycle();
37

38
    ;; If current cycle could be the one we joined validation
39
    if (stake_at <= timeSince) {
40
        return timeSince + (stake_untill - stake_at);
41
    }
42

43
    return stake_untill;
44
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.