forked from fetchoracle/disputable-values-monitor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.env.example
144 lines (133 loc) · 9.37 KB
/
.env.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# DVM requires telliot-feeds and telliot-core environment variables configuration
### Telliot-core environment variables
ENV_NAME=<default|dev|staging|preprod|prod>
# - ENV_NAME tells telliot-core which contract_directory.<ENV_NAME>.json file to use, default uses contract_directory.json
NETWORK_ID=<369|943>
# - NETWORK_ID is used by telliot-core and DVM to determine which network to connect to,
# it sets the main chain_id in the telliot-core config (TelliotConfig).
# It is also used by the initialize_docker.py script to create the DVM disputer account in the network for the docker container
PULSE_TESTNET_RPC_URL="https://rpc.v4.testnet.pulsechain.com"
# - PULSE_TESTNET_RPC_URL is the RPC URL for the "Pulsechain Testnet" entry in the ~/telliot/endpoints.yaml
PULSE_MAINNET_RPC_URL="https://rpc.pulsechain.com"
# - PULSE_MAINNET_RPC_URL is the RPC URL for the "Pulsechain Mainnet" entry in the ~/telliot/endpoints.yaml
PULSE_MAINNET_RPC_FAILOVER_URL="https://rpc-pulsechain.g4mm4.io"
# - PULSE_MAINNET_RPC_FAILOVER_URL is the RPC URL for the "Pulsechain Mainnet Failover Endpoint" entry in the ~/telliot/endpoints.yaml
### Telliot-feeds environment variables
ACTIVATE_TELLIOT_LOG_FILE="True"
# - ACTIVATE_TELLIOT_LOG_FILE creates the "telliot_feeds.log" file'
# in the current working directory with the logs of telliot-feeds during price retrieval
PLS_CURRENCY_SOURCES="usdt,usdc,dai"
# - PLS_CURRENCY_SOURCES is a comma-separated list of Liquidity Pools currency symbols
# to be used as sources for the price retrieval
PLS_ADDR_SOURCES="0x322df7921f28f1146cdf62afdac0d6bc0ab80711,0x6753560538eca67617a9ce605178f788be7e524e,0xe56043671df55de5cdf8459710433c10324de0ae"
# - PLS_ADDR_SOURCES is a comma-separated list of Liquidity Pools addresses
PLS_LPS_ORDER="USDT/WPLS,USDC/WPLS,WPLS/DAI"
# - PLS_LPS_ORDER is a comma-separated list of Liquidity Pools pairs
LP_PULSE_NETWORK_URL="https://rpc.pulsechain.com"
# - LP_PULSE_NETWORK_URL is the Pulsechain RPC URL for the Liquidity Pool contracts configured in PLS_ADDR_SOURCES
PRICE_SERVICE_BASE_URL="https://validator-stage.fetchoracle.com"
# - PRICE_SERVICE_BASE_URL is the base url of the price service to be used by telliot-feeds,
# since DVM only retrieves the price from telliot-feeds datafeeds,
# it will perform only per LP (when using PulseX Liquidity Pools LWAP as source) price validation,
# and not final price validation as it would do before submitting a SpotPrice report in telliot-feeds
REPORT_TIME_LIMIT="3600" # 1 hour in seconds, reaching this limit triggers a report
# - REPORT_TIME_LIMIT is the time limit in seconds to trigger a report, it is used by the "Sync" event listener,
# so that it can trigger a report if the time limit is reached and no "Sync" percentage change trigger was received
# This value should be the same one used by telliot-feeds and DVM since the report time limit must be the same
PERCENTAGE_CHANGE_THRESHOLD="0.005"
# - PERCENTAGE_CHANGE_THRESHOLD is the percentage change threshold to trigger a report, it is used by the "Sync" event listener
# it triggers a report by calculating the percentage change between the last price and the new price, a new price is obtained
# everytime a new "Sync" event is received, defaults to 0.005 for 0.5%
# This value should be the same one used by telliot-feeds and DVM since the percentage threshold must be the same
PRICE_TOLERANCE="0.1"
# - PRICE_TOLERANCE is used by telliot-feeds as the tolerance when validating a price,
# 0.1 means 10% for the percentage change validation method for example
COINGECKO_MOCK_URL=https://mock-price.fetchoracle.com/coingecko
# - COINGECKO_MOCK_URL is the url of the coingecko price service to be used by telliot-feeds. Setting up this
# variable will make telliot-feeds use coingecko instead of PulseX Liquidity Pools LWAP default source in the pls-usd-spot feed,
# i.e. it will use CoinGeckoSpotPriceSource instead of a list of PulsechainPulseXSource
PULSEX_SUBGRAPH_URL=https://graph.v4.testnet.pulsechain.com
# - PULSEX_SUBGRAPH_URL is the url of the subgraph to be used by telliot-feeds to retrieve the "fetch-usd-spot" price feed.
# Using this variable will setup "fetch-usd-spot" to use PulseXSupgraphSource instead of CoinGeckoSpotPriceSource.
# It also requires the FETCH_ADDRESS variable to be set
FETCH_ADDRESS=0xb0f674d98ef8534b27a142ea2993c7b03bc7d649
# - FETCH_ADDRESS is the token address to be used by the PulseXSubgraphSource
PERCENTAGE_CHANGE_THRESHOLD="0.005"
# - PERCENTAGE_CHANGE_THRESHOLD is the percentage change threshold to trigger a report, it is used by the "Sync" event listener
# it triggers a report by calculating the percentage change between the last price and the new price, a new price is obtained
# everytime a new "Sync" event is received, defaults to 0.005 for 0.5%
REPORT_TIME_LIMIT="3600" # 1 hour in seconds, reaching this limit triggers a report
# - REPORT_TIME_LIMIT is the time limit in seconds to trigger a report, it is used by the "Sync" event listener,
# so that it can trigger a report if the time limit is reached and no "Sync" percentage change trigger was received
### DVM environment variables
INITIAL_BLOCK_OFFSET="0" # INITIAL_BLOCK_OFFSET tells DVM
# - INITIAL_BLOCK_OFFSET is the block offset to be used by DVM to start monitoring the chain,
# defaults is 0, meaning it will start monitoring the chain from the current block
CHAIN_REORG="0"
# - CHAIN_REORG is the number of blocks to go back in case of a chain reorganization,
# so that DVM can reprocess the blocks that were affected by the reorganization and not miss any event
NOTIFICATION_SERVICE="sms,email,slack"
# - NOTIFICATION_SERVICE is a comma-separated list of notification services to be used by DVM to send alerts,
# defaults to an empty string, meaning it will not send any alerts, using "slack" for example would only send alerts to slack
# Slack
MOCK_SLACK=true
SLACK_WEBHOOK_HIGH="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
SLACK_WEBHOOK_MID="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
SLACK_WEBHOOK_LOW="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
HIGH_ALERTS='["DISPUTE_AGAINST_REPORTER", "BEGAN_DISPUTE", "REMOVE_REPORT", "ALL_REPORTERS_STOP", "TRANSACTION_REVERTED"]'
MID_ALERTS='["DISPUTABLE_REPORT", "REPORTER_STOP"]'
LOW_ALERTS='["REPORTER_BALANCE", "DISPUTER_BALANCE"]'
#### Docker environment variables
TELLIOT_BRANCH="managed-feeds"
# - TELLIOT_BRANCH is the branch to be used by the initialize_docker.py script,
# it checkouts to the HEAD of TELLIOT_BRANCH when building the DVM docker image
ACC_NAME="abc"
# - ACC_NAME is the name of the wallet added to the disputer in docker container (used by the initialize_docker.py script)
ACC_PWD="123456"
# - ACC_PWD for the ACC_NAME wallet (used by the initialize_docker.py script)
PK=<privatekey>
# - PK is the private key to be used by the DVM disputer account in the docker container (it is also used in runtime.sh script)
### DVM Twilio sms alert
MOCK_TWILIO=true
# - MOCK_TWILIO is a boolean variable to setup the Twilio MockClient,
# it needs the stoplight/prism:4 image at docker-compose.yml
TWILIO_AUTH_TOKEN="" # Auth Token provided by Twilio
TWILIO_ACCOUNT_SID="" # Account SID provided by Twilio
TWILIO_FROM="+1231231234" # twilio phone number to send messages from
ALERT_RECIPIENTS="+1231231234,+1231231234,+1231231234" # comma-separated list of phone numbers to send alerts to
### DVM AWS SES email alert
MOCK_SES=true # Setups to use MockSes
AWS_ACCESS_KEY_ID="" # AWS Access Key ID
AWS_SECRET_ACCESS_KEY="" # AWS Secret Access Key
AWS_REGION=us-east-1 # AWS Region
AWS_SOURCE_EMAIL=user@example.com # AWS Source Email, must be verified in AWS SES
AWS_DESTINATION_EMAILS="user1@example.com,user2@example.com" # comma-separated list of emails to send alerts to
AWS_TEAM_EMAILS="user1@example.com,user2@example.com" # comma-separated list of emails to send alerts to
### DVM Slack alert
MOCK_SLACK=true # Setups to use MockSlack
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX # Slack Webhook URL
### DVM reporters and disputer configuration
REPORTERS="0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000"
# - REPORTERS is a comma-separated list of addresses to monitor
REPORT_TIME_MARGIN=60
# - REPORT_TIME_MARGIN is the margin in seconds before sending an alert that a reporter hasn't reported
REPORT_INTERVALS="900,900"
# - REPORT_INTERVALS is a comma-separated list of intervals in seconds for REPORTERS, i-th interval for i-th reporter,
# it is used to send an alert if a reporter hasn't reported in the last i-th interval
ALL_REPORTERS_INTERVAL="120"
# - ALL_REPORTERS_INTERVAL in seconds to send an alert if all reporters haven't
# reported in the last ALL_REPORTERS_INTERVAL seconds
REPORTERS_PLS_BALANCE_THRESHOLD="200,200"
# - REPORTERS_PLS_BALANCE_THRESHOLD in PLS to send an alert if a reporter's balance is below the threshold
REPORTERS_FETCH_BALANCE_THRESHOLD="200,200"
# - REPORTERS_FETCH_BALANCE_THRESHOLD in PLS to send an alert if a reporter's balance is below the threshold
DISPUTER_PLS_BALANCE_THRESHOLD="200"
# - DISPUTER_PLS_BALANCE_THRESHOLD in PLS to send an alert if the disputer's balance is below the threshold
DISPUTER_FETCH_BALANCE_THRESHOLD="200"
# DISPUTER_FETCH_BALANCE_THRESHOLD in FETCH to send an alert if the disputer's balance is below the threshold
# DISPUTE FetchRNG feeds
DISPUTE_RNG_QUERIES="True"
# For FetchRNGCustom feeds, need to define these
#INTERVAL=
#START_TIME=
#FETCH_RNG_NAME=