-
Notifications
You must be signed in to change notification settings - Fork 5
/
config.toml.example
81 lines (63 loc) · 2.97 KB
/
config.toml.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
[general]
# mainnet || testnet
# it determine what axelarscan api used to. if the network you would monitor is not mainnet/testnet, you could set this value as you want.
#
# mainnet: "https://api.axelarscan.io:443"
# testnet: "https://testnet.api.axelarscan.io:443"
#
# others(like devnet): "<if you set network as "https://devnet-verifiers.api.axelarscan.io:443", it'll be used as api server>"
#
network = "mainnet"
# Program execution period (minutes)
# it runs to monitor axelar and sleeps for a while you entered period.
period = 60
# In axelar, there is associated account with validator that called as proxy account(it's on your tofnd). and this proxy account is used for externalChainVotes.
# + you should set this field as accAddress, not valAddress(valops)
#
# but if you set this field with non-validator account, and cannot find any proxy account, it'll just use entered account.
# reason why the program uses account which is not proxy when cannot fetch proxy account is for amplifier(verifier).
# because amplifier doesn't use any proxy account, just uses its own account.
validator_acc = "axelar123..."
# Chains you don't want to monitor.
# If empty, all external votes will be monitored.
# e.g. "aurora, ethereum"
except_chains = ""
rpc = "https://axelar-rpc...:443"
api = "https://axelar-api...:443"
grpc = "axelar-grpc...:443"
grpc_secure_connection = true
listen_port = 8080
target_svcs = ["maintainer", "heartbeat", "evm"]
[alerts]
# when program detects over-threshold situation, it'll call alert func, and if there is already exists with same message before, alert func will be completed.
# this feature is designed to prevent too many alerts with same sitatuion (or already proceed solving action but not applied to network).
#
# but if program alerts, and operator forget it, node will be keep unhealthy state.
#
# to prevent this accident, program will send alerts if there is no alert record,
# or alert record which already exists is over than `resend_duration`.
resend_duration = "24h"
[alerts.telegram]
enable = true
token = "xxxxxxxx:xxxxxxxxxxxxxxxx"
chat_id = "xxxxxxxxxx"
mentions = ["@<userId(eg. @hello)>"]
[alerts.slack]
enable = true
webhook = "<webHook-url>"
mentions = ["<userId(eg. U05QL6EDDQE)>"]
[heartbeat]
# The number of heartbeats you want to check.
check_n = 3
# If a heartbeat is missed for more than miss_cnt, an alarm will triggered.
miss_cnt = 2
[external_chain_vote] # external_chain_vote configurations are used to check evm/vm polls.
# The number of votes for each external chain events you want to check.
check_n = 10
# this field restrict monitor target period. some chains connected on mainnet/testnet may have low txs.
# and if votes contain too old vote records when I fetch votes with number of `check_n`, and also invalid vote txs are exists before, monitoring alert may be less trusted.
#
# `check_period_days` will truncate old records.
check_period_days = 10
# If a `missedVotes / totalVotes` is over `miss_percentage` parameter, it'll alert.
miss_percentage = 20