Skip to content

Commit 16e733c

Browse files
committed
Version bump
Signed-off-by: cyc60 <[email protected]>
1 parent 59c9cc3 commit 16e733c

File tree

3 files changed

+330
-6
lines changed

3 files changed

+330
-6
lines changed

deploy/gnosis/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ networks:
2424
services:
2525
oracle:
2626
container_name: oracle_gnosis
27-
image: europe-west4-docker.pkg.dev/stakewiselabs/public/oracle:v4.0.2
27+
image: europe-west4-docker.pkg.dev/stakewiselabs/public/oracle:v4.0.3
2828
restart: always
2929
entrypoint: ["python"]
3030
command: ["oracle/oracle/main.py"]
@@ -34,7 +34,7 @@ services:
3434

3535
keeper:
3636
container_name: keeper_gnosis
37-
image: europe-west4-docker.pkg.dev/stakewiselabs/public/oracle:v4.0.2
37+
image: europe-west4-docker.pkg.dev/stakewiselabs/public/oracle:v4.0.3
3838
restart: always
3939
entrypoint: ["python"]
4040
command: ["oracle/keeper/main.py"]

oracle/networks.py

Lines changed: 327 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,110 @@
55
from eth_typing import HexStr
66
from web3 import Web3
77

8+
MAINNET = "mainnet"
9+
GOERLI = "goerli"
10+
HARBOUR_GOERLI = "harbour_goerli"
11+
HARBOUR_MAINNET = "harbour_mainnet"
812
GNOSIS_CHAIN = "gnosis"
913

14+
MAINNET_UPPER = MAINNET.upper()
15+
GOERLI_UPPER = GOERLI.upper()
16+
HARBOUR_GOERLI_UPPER = HARBOUR_GOERLI.upper()
17+
HARBOUR_MAINNET_UPPER = HARBOUR_MAINNET.upper()
1018
GNOSIS_CHAIN_UPPER = GNOSIS_CHAIN.upper()
1119

1220
NETWORKS = {
13-
GNOSIS_CHAIN: dict(
21+
MAINNET: dict(
22+
STAKEWISE_SUBGRAPH_URLS=config(
23+
"MAINNET_STAKEWISE_SUBGRAPH_URLS",
24+
default="https://graph.stakewise.io/subgraphs/name/stakewise/stakewise",
25+
cast=Csv(),
26+
),
27+
ETHEREUM_SUBGRAPH_URLS=config(
28+
"MAINNET_ETHEREUM_SUBGRAPH_URLS",
29+
default="https://graph.stakewise.io/subgraphs/name/stakewise/ethereum",
30+
cast=Csv(),
31+
),
32+
UNISWAP_V3_SUBGRAPH_URLS=config(
33+
"MAINNET_UNISWAP_V3_SUBGRAPH_URLS",
34+
default="https://graph.stakewise.io/subgraphs/name/stakewise/uniswap-v3",
35+
cast=Csv(),
36+
),
37+
ETH1_ENDPOINT=config("ETH1_ENDPOINT", default=""),
38+
ETH2_ENDPOINT=config("ETH2_ENDPOINT", default=""),
39+
VALIDATORS_FETCH_CHUNK_SIZE=config(
40+
"VALIDATORS_FETCH_CHUNK_SIZE",
41+
default=100,
42+
cast=int,
43+
),
44+
VALIDATORS_BATCH_SIZE=config(
45+
"VALIDATORS_BATCH_SIZE",
46+
default=10,
47+
cast=int,
48+
),
49+
SLOTS_PER_EPOCH=32,
50+
SECONDS_PER_SLOT=12,
51+
ORACLES_CONTRACT_ADDRESS=Web3.toChecksumAddress(
52+
"0x8a887282E67ff41d36C0b7537eAB035291461AcD"
53+
),
54+
MULTICALL_CONTRACT_ADDRESS=Web3.toChecksumAddress(
55+
"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"
56+
),
57+
SWISE_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
58+
"0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2"
59+
),
60+
REWARD_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
61+
"0x20BC832ca081b91433ff6c17f85701B6e92486c5"
62+
),
63+
STAKED_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
64+
"0xFe2e637202056d30016725477c5da089Ab0A043A"
65+
),
66+
DISTRIBUTOR_FALLBACK_ADDRESS=Web3.toChecksumAddress(
67+
"0x144a98cb1CdBb23610501fE6108858D9B7D24934"
68+
),
69+
WITHDRAWAL_CREDENTIALS=HexStr(
70+
"0x0100000000000000000000002296e122c1a20fca3cac3371357bdad3be0df079"
71+
),
72+
ORACLE_PRIVATE_KEY=config("ORACLE_PRIVATE_KEY", default=""),
73+
ORACLE_STAKEWISE_OPERATOR=Web3.toChecksumAddress(
74+
"0x5fc60576b92c5ce5c341c43e3b2866eb9e0cddd1"
75+
),
76+
WITHDRAWALS_GENESIS_EPOCH=194048,
77+
AWS_BUCKET_NAME=config("AWS_BUCKET_NAME", default="oracle-votes-mainnet"),
78+
AWS_REGION=config("AWS_REGION", default="eu-central-1"),
79+
AWS_ACCESS_KEY_ID=config("AWS_ACCESS_KEY_ID", default=""),
80+
AWS_SECRET_ACCESS_KEY=config("AWS_SECRET_ACCESS_KEY", default=""),
81+
KEEPER_ETH1_ENDPOINT=config("KEEPER_ETH1_ENDPOINT", default=""),
82+
KEEPER_MIN_BALANCE=config(
83+
"KEEPER_MIN_BALANCE_WEI",
84+
default=Web3.toWei(0.1, "ether"),
85+
cast=int,
86+
),
87+
KEEPER_MAX_FEE_PER_GAS=config(
88+
"KEEPER_MAX_FEE_PER_GAS_GWEI",
89+
default=150,
90+
cast=lambda x: Web3.toWei(x, "gwei"),
91+
),
92+
SYNC_PERIOD=timedelta(days=1),
93+
IS_POA=False,
94+
DEPOSIT_TOKEN_SYMBOL="ETH",
95+
VALIDATORS_SPLIT={
96+
Web3.toChecksumAddress("0xfe26832d3580e0ade4813f9e60e7c17b45e92cba"): 64,
97+
Web3.toChecksumAddress("0x59ecf48345a221e0731e785ed79ed40d0a94e2a5"): 63,
98+
Web3.toChecksumAddress("0x01f26d7f195a37d368cb772ed75ef70dd29700f5"): 64,
99+
},
100+
WITHDRAWALS_CACHE_BLOCK=None,
101+
WITHDRAWALS_CACHE_AMOUNT=None,
102+
),
103+
HARBOUR_MAINNET: dict(
14104
STAKEWISE_SUBGRAPH_URLS=config(
15105
"STAKEWISE_SUBGRAPH_URLS",
16-
default="https://graph-gno.stakewise.io/subgraphs/name/stakewise/stakewise",
106+
default="https://graph.stakewise.io/subgraphs/name/stakewise/stakewise-harbour-mainnet,https://api.thegraph.com/subgraphs/name/stakewise/stakewise-harbour-mainnet",
17107
cast=Csv(),
18108
),
19109
ETHEREUM_SUBGRAPH_URLS=config(
20110
"ETHEREUM_SUBGRAPH_URLS",
21-
default="https://graph-gno.stakewise.io/subgraphs/name/stakewise/ethereum",
111+
default="https://graph.stakewise.io/subgraphs/name/stakewise/ethereum,https://api.thegraph.com/subgraphs/name/stakewise/ethereum-mainnet",
22112
cast=Csv(),
23113
),
24114
UNISWAP_V3_SUBGRAPH_URLS=config(
@@ -38,6 +128,240 @@
38128
default=10,
39129
cast=int,
40130
),
131+
SLOTS_PER_EPOCH=32,
132+
SECONDS_PER_SLOT=12,
133+
ORACLES_CONTRACT_ADDRESS=Web3.toChecksumAddress(
134+
"0x16c0020fC507C675eA8A3A817416adA3D95c661b"
135+
),
136+
MULTICALL_CONTRACT_ADDRESS=Web3.toChecksumAddress(
137+
"0xeefBa1e63905eF1D7ACbA5a8513c70307C1cE441"
138+
),
139+
SWISE_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
140+
"0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2"
141+
),
142+
REWARD_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
143+
"0xCBE26dbC91B05C160050167107154780F36CeAAB"
144+
),
145+
STAKED_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
146+
"0x65077fA7Df8e38e135bd4052ac243F603729892d"
147+
),
148+
DISTRIBUTOR_FALLBACK_ADDRESS=Web3.toChecksumAddress(
149+
"0x6C7692dB59FDC7A659208EEE57C2c876aE54a448"
150+
),
151+
WITHDRAWAL_CREDENTIALS=HexStr(
152+
"0x0100000000000000000000005c631621b897f467dd6a91855a0bc97d77b78dc0"
153+
),
154+
ORACLE_PRIVATE_KEY=config("ORACLE_PRIVATE_KEY", default=""),
155+
ORACLE_STAKEWISE_OPERATOR=EMPTY_ADDR_HEX,
156+
WITHDRAWALS_GENESIS_EPOCH=194048,
157+
AWS_BUCKET_NAME=config(
158+
"AWS_BUCKET_NAME",
159+
default="oracle-votes-harbour-mainnet",
160+
),
161+
AWS_REGION=config("AWS_REGION", default="us-east-1"),
162+
AWS_ACCESS_KEY_ID=config("AWS_ACCESS_KEY_ID", default=""),
163+
AWS_SECRET_ACCESS_KEY=config("AWS_SECRET_ACCESS_KEY", default=""),
164+
KEEPER_ETH1_ENDPOINT=config("KEEPER_ETH1_ENDPOINT", default=""),
165+
KEEPER_MIN_BALANCE=config(
166+
"KEEPER_MIN_BALANCE_WEI",
167+
default=Web3.toWei(0.1, "ether"),
168+
cast=int,
169+
),
170+
KEEPER_MAX_FEE_PER_GAS=config(
171+
"KEEPER_MAX_FEE_PER_GAS_GWEI",
172+
default=150,
173+
cast=lambda x: Web3.toWei(x, "gwei"),
174+
),
175+
SYNC_PERIOD=timedelta(days=1),
176+
IS_POA=False,
177+
DEPOSIT_TOKEN_SYMBOL="ETH",
178+
VALIDATORS_SPLIT={},
179+
WITHDRAWALS_CACHE_BLOCK=None,
180+
WITHDRAWALS_CACHE_AMOUNT=None,
181+
),
182+
GOERLI: dict(
183+
STAKEWISE_SUBGRAPH_URLS=config(
184+
"STAKEWISE_SUBGRAPH_URLS",
185+
default="https://api.thegraph.com/subgraphs/name/stakewise/stakewise-goerli",
186+
cast=Csv(),
187+
),
188+
ETHEREUM_SUBGRAPH_URLS=config(
189+
"ETHEREUM_SUBGRAPH_URLS",
190+
default="https://api.thegraph.com/subgraphs/name/stakewise/ethereum-goerli",
191+
cast=Csv(),
192+
),
193+
UNISWAP_V3_SUBGRAPH_URLS=config(
194+
"UNISWAP_V3_SUBGRAPH_URLS",
195+
default="https://api.thegraph.com/subgraphs/name/stakewise/uniswap-v3-goerli",
196+
cast=Csv(),
197+
),
198+
ETH1_ENDPOINT=config("ETH1_ENDPOINT", default=""),
199+
ETH2_ENDPOINT=config("ETH2_ENDPOINT", default=""),
200+
VALIDATORS_FETCH_CHUNK_SIZE=config(
201+
"VALIDATORS_FETCH_CHUNK_SIZE",
202+
default=100,
203+
cast=int,
204+
),
205+
VALIDATORS_BATCH_SIZE=config(
206+
"VALIDATORS_BATCH_SIZE",
207+
default=10,
208+
cast=int,
209+
),
210+
SLOTS_PER_EPOCH=32,
211+
SECONDS_PER_SLOT=12,
212+
ORACLES_CONTRACT_ADDRESS=Web3.toChecksumAddress(
213+
"0x531b9D9cb268E88D53A87890699bbe31326A6f08"
214+
),
215+
MULTICALL_CONTRACT_ADDRESS=Web3.toChecksumAddress(
216+
"0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e"
217+
),
218+
SWISE_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
219+
"0x0e2497aACec2755d831E4AFDEA25B4ef1B823855"
220+
),
221+
REWARD_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
222+
"0x826f88d423440c305D9096cC1581Ae751eFCAfB0"
223+
),
224+
STAKED_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
225+
"0x221D9812823DBAb0F1fB40b0D294D9875980Ac19"
226+
),
227+
DISTRIBUTOR_FALLBACK_ADDRESS=Web3.toChecksumAddress(
228+
"0x1867c96601bc5fE24F685d112314B8F3Fe228D5A"
229+
),
230+
WITHDRAWAL_CREDENTIALS=HexStr(
231+
"0x010000000000000000000000040f15c6b5bfc5f324ecab5864c38d4e1eef4218"
232+
),
233+
ORACLE_PRIVATE_KEY=config("ORACLE_PRIVATE_KEY", default=""),
234+
ORACLE_STAKEWISE_OPERATOR=EMPTY_ADDR_HEX,
235+
WITHDRAWALS_GENESIS_EPOCH=162304,
236+
AWS_BUCKET_NAME=config("AWS_BUCKET_NAME", default="oracle-votes-goerli"),
237+
AWS_REGION=config("AWS_REGION", default="eu-central-1"),
238+
AWS_ACCESS_KEY_ID=config("AWS_ACCESS_KEY_ID", default=""),
239+
AWS_SECRET_ACCESS_KEY=config("AWS_SECRET_ACCESS_KEY", default=""),
240+
KEEPER_ETH1_ENDPOINT=config("KEEPER_ETH1_ENDPOINT", default=""),
241+
KEEPER_MIN_BALANCE=config(
242+
"KEEPER_MIN_BALANCE_WEI",
243+
default=Web3.toWei(0.1, "ether"),
244+
cast=int,
245+
),
246+
KEEPER_MAX_FEE_PER_GAS=config(
247+
"KEEPER_MAX_FEE_PER_GAS_GWEI",
248+
default=150,
249+
cast=lambda x: Web3.toWei(x, "gwei"),
250+
),
251+
SYNC_PERIOD=timedelta(hours=1),
252+
IS_POA=True,
253+
DEPOSIT_TOKEN_SYMBOL="ETH",
254+
VALIDATORS_SPLIT={},
255+
WITHDRAWALS_CACHE_BLOCK=None,
256+
WITHDRAWALS_CACHE_AMOUNT=None,
257+
),
258+
HARBOUR_GOERLI: dict(
259+
STAKEWISE_SUBGRAPH_URLS=config(
260+
"STAKEWISE_SUBGRAPH_URLS",
261+
default="https://api.thegraph.com/subgraphs/name/stakewise/stakewise-perm-goerli",
262+
cast=Csv(),
263+
),
264+
ETHEREUM_SUBGRAPH_URLS=config(
265+
"ETHEREUM_SUBGRAPH_URLS",
266+
default="https://api.thegraph.com/subgraphs/name/stakewise/ethereum-goerli",
267+
cast=Csv(),
268+
),
269+
UNISWAP_V3_SUBGRAPH_URLS=config(
270+
"UNISWAP_V3_SUBGRAPH_URLS",
271+
default="",
272+
cast=Csv(),
273+
),
274+
ETH1_ENDPOINT=config("ETH1_ENDPOINT", default=""),
275+
ETH2_ENDPOINT=config("ETH2_ENDPOINT", default=""),
276+
VALIDATORS_FETCH_CHUNK_SIZE=config(
277+
"VALIDATORS_FETCH_CHUNK_SIZE",
278+
default=100,
279+
cast=int,
280+
),
281+
VALIDATORS_BATCH_SIZE=config(
282+
"VALIDATORS_BATCH_SIZE",
283+
default=10,
284+
cast=int,
285+
),
286+
SLOTS_PER_EPOCH=32,
287+
SECONDS_PER_SLOT=12,
288+
ORACLES_CONTRACT_ADDRESS=Web3.toChecksumAddress(
289+
"0x4E9CA30186E829D7712ADFEEE491c0c6C46E1AED"
290+
),
291+
MULTICALL_CONTRACT_ADDRESS=Web3.toChecksumAddress(
292+
"0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e"
293+
),
294+
SWISE_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
295+
"0x0e2497aACec2755d831E4AFDEA25B4ef1B823855"
296+
),
297+
REWARD_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
298+
"0xbA9aD2A3Ef7A372900644aBe9D82eCD3Fa8CF8dD"
299+
),
300+
STAKED_TOKEN_CONTRACT_ADDRESS=Web3.toChecksumAddress(
301+
"0xa5c65F2D71f9c82e31a380e1dadb680976492fc5"
302+
),
303+
DISTRIBUTOR_FALLBACK_ADDRESS=Web3.toChecksumAddress(
304+
"0x66D6c253084d8d51c7CFfDb3C188A0b53D998a3d"
305+
),
306+
WITHDRAWAL_CREDENTIALS=HexStr(
307+
"0x0100000000000000000000006dfc9682e3c3263758ad96e2b2ba9822167f81ee"
308+
),
309+
ORACLE_PRIVATE_KEY=config("ORACLE_PRIVATE_KEY", default=""),
310+
ORACLE_STAKEWISE_OPERATOR=EMPTY_ADDR_HEX,
311+
WITHDRAWALS_GENESIS_EPOCH=162304,
312+
AWS_BUCKET_NAME=config(
313+
"AWS_BUCKET_NAME",
314+
default="oracle-votes-perm-goerli",
315+
),
316+
AWS_REGION=config("AWS_REGION", default="eu-central-1"),
317+
AWS_ACCESS_KEY_ID=config("AWS_ACCESS_KEY_ID", default=""),
318+
AWS_SECRET_ACCESS_KEY=config("AWS_SECRET_ACCESS_KEY", default=""),
319+
KEEPER_ETH1_ENDPOINT=config("KEEPER_ETH1_ENDPOINT", default=""),
320+
KEEPER_MIN_BALANCE=config(
321+
"KEEPER_MIN_BALANCE_WEI",
322+
default=Web3.toWei(0.1, "ether"),
323+
cast=int,
324+
),
325+
KEEPER_MAX_FEE_PER_GAS=config(
326+
"KEEPER_MAX_FEE_PER_GAS_GWEI",
327+
default=150,
328+
cast=lambda x: Web3.toWei(x, "gwei"),
329+
),
330+
SYNC_PERIOD=timedelta(days=1),
331+
IS_POA=True,
332+
DEPOSIT_TOKEN_SYMBOL="ETH",
333+
VALIDATORS_SPLIT={},
334+
WITHDRAWALS_CACHE_BLOCK=None,
335+
WITHDRAWALS_CACHE_AMOUNT=None,
336+
),
337+
GNOSIS_CHAIN: dict(
338+
STAKEWISE_SUBGRAPH_URLS=config(
339+
"GNOSIS_STAKEWISE_SUBGRAPH_URLS",
340+
default="https://graph-gno.stakewise.io/subgraphs/name/stakewise/stakewise",
341+
cast=Csv(),
342+
),
343+
ETHEREUM_SUBGRAPH_URLS=config(
344+
"GNOSIS_ETHEREUM_SUBGRAPH_URLS",
345+
default="https://graph-gno.stakewise.io/subgraphs/name/stakewise/ethereum",
346+
cast=Csv(),
347+
),
348+
UNISWAP_V3_SUBGRAPH_URLS=config(
349+
"GNOSIS_UNISWAP_V3_SUBGRAPH_URLS",
350+
default="",
351+
cast=Csv(),
352+
),
353+
ETH1_ENDPOINT=config("GNOSIS_ETH1_ENDPOINT", default=""),
354+
ETH2_ENDPOINT=config("GNOSIS_ETH2_ENDPOINT", default=""),
355+
VALIDATORS_FETCH_CHUNK_SIZE=config(
356+
"VALIDATORS_FETCH_CHUNK_SIZE",
357+
default=100,
358+
cast=int,
359+
),
360+
VALIDATORS_BATCH_SIZE=config(
361+
"VALIDATORS_BATCH_SIZE",
362+
default=10,
363+
cast=int,
364+
),
41365
SLOTS_PER_EPOCH=16,
42366
SECONDS_PER_SLOT=5,
43367
ORACLES_CONTRACT_ADDRESS=Web3.toChecksumAddress(

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "oracle"
3-
version = "4.0.2"
3+
version = "4.0.3"
44
description = "StakeWise Oracles are responsible for submitting off-chain data."
55
authors = ["Dmitri Tsumak <[email protected]>"]
66
license = "AGPL-3.0-only"

0 commit comments

Comments
 (0)