issue running DVM to monitor pulsechain
Closed this issue · 12 comments
Hi we are having some issue monitoring the pulsechain, below is the message we are getting from the logs
Could not find contract info for chain_id 941
but the other chain seems to be working as we can see some data from the dashboard. kindly advice if we miss something upon installing the said service.
Thanks in advance.
Hi we are having some issue monitoring the pulsechain, below is the message we are getting from the logs
Could not find contract info for chain_id 941
but the other chain seems to be working as we can see some data from the dashboard. kindly advice if we miss something upon installing the said service.
Thanks in advance.
Thanks for reaching out. We'll take a look and get back to you!
What will help us reproduce and debug the problem is if you post the commit hash of the version that you're using, output from the console log, and/or output from running pip freeze
in the environment that you're working in.
@Trick03 please also include your endpoints.yaml
:)
Apologies for not giving enough information, kindly see below details for the queries
-
Commit hash = 8f5397f
-
pip freeze / poetry show =
`aiohttp 3.8.3 Async http client/server framework (asyncio)
aiosignal 1.2.0 aiosignal: a list of registered asynchronous callbacks
async-timeout 4.0.2 Timeout context manager for asyncio programs
attrs 22.1.0 Classes Without Boilerplate
base58 2.1.1 Base58 and Base58Check implementation.
bitarray 2.6.0 efficient arrays of booleans -- C extension
black 22.12.0 The uncompromising code formatter.
certifi 2022.9.24 Python package for providing Mozilla's CA Bundle.
cfgv 3.3.1 Validate configuration and produce human readable error messages.
chained-accounts 0.0.1 A thin framework to help applications and users manage multiple ethereum accounts on multiple chains.
charset-normalizer 2.1.1 The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
clamfig 0.1.3 Serialization/Deserialization for dataclasses
click 8.1.3 Composable command line interface toolkit
cytoolz 0.12.0 Cython implementation of Toolz: High performance functional utilities
distlib 0.3.6 Distribution utilities
eth-abi 2.2.0 eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding
eth-account 0.5.9 eth-account: Sign Ethereum transactions and messages with local private keys
eth-hash 0.5.0 eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3
eth-keyfile 0.5.1 A library for handling the encrypted keyfiles used to store ethereum private keys.
eth-keys 0.3.4 Common API for Ethereum key operations.
eth-retry 0.1.13 Provides a decorator that automatically catches known transient exceptions that are common in the Ethereum/EVM ecosystem and reattempts to evaluate your decorated function
eth-rlp 0.2.1 eth-rlp: RLP definitions for common Ethereum objects in Python
eth-typing 2.3.0 eth-typing: Common type annotations for ethereum python packages
eth-utils 1.9.5 Common utility functions for ethereum codebases.
exceptiongroup 1.1.0 Backport of PEP 654 (exception groups)
filelock 3.9.0 A platform independent file lock.
frozenlist 1.3.1 A list-like structure which implements collections.abc.MutableSequence
hexbytes 0.3.0 hexbytes: Python `bytes` subclass that decodes hex, with a readable console output
identify 2.5.18 File identification library for Python
idna 3.4 Internationalized Domain Names in Applications (IDNA)
iniconfig 2.0.0 brain-dead simple config-ini parsing
ipfshttpclient 0.8.0a2 Python IPFS HTTP CLIENT library
jsonschema 3.2.0 An implementation of JSON Schema validation for Python
lru-dict 1.1.8 An Dict like LRU container.
multiaddr 0.0.9 Python implementation of jbenet's multiaddr
multicall 0.7.0 aggregate results from multiple ethereum contract calls
multidict 6.0.2 multidict implementation
mypy 0.942 Optional static typing for Python
mypy-extensions 1.0.0 Type system extensions for programs checked with the mypy type checker.
netaddr 0.8.0 A network address manipulation library for Python
nodeenv 1.7.0 Node.js virtual environment builder
numpy 1.24.2 Fundamental package for array computing in Python
packaging 23.0 Core utilities for Python packages
pandas 1.5.3 Powerful data structures for data analysis, time series, and statistics
parsimonious 0.8.1 (Soon to be) the fastest pure-Python PEG parser I could muster
pathspec 0.11.0 Utility library for gitignore style pattern matching of file paths.
platformdirs 3.0.0 A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".
pluggy 1.0.0 plugin and hook calling mechanisms for python
pre-commit 2.21.0 A framework for managing and maintaining multi-language pre-commit hooks.
protobuf 3.20.3 Protocol Buffers
pycryptodome 3.15.0 Cryptographic library for Python
pydantic 1.10.5 Data validation and settings management using python type hints
pyjwt 2.6.0 JSON Web Token implementation in Python
pyrsistent 0.19.2 Persistent/Functional/Immutable data structures
pytest 7.2.1 pytest: simple powerful testing with Python
pytest-asyncio 0.19.0 Pytest support for asyncio
python-dateutil 2.8.2 Extensions to the standard Python datetime module
python-dotenv 0.21.0 Read key-value pairs from a .env file and set them as environment variables
pytz 2022.7.1 World timezone definitions, modern and historical
pyyaml 6.0 YAML parser and emitter for Python
requests 2.28.1 Python HTTP for Humans.
rlp 2.0.1 A package for Recursive Length Prefix encoding and decoding
setuptools 67.4.0 Easily download, build, install, upgrade, and uninstall Python packages
simple-term-menu 1.5.2 A Python package which creates simple interactive menus on the command line.
six 1.16.0 Python 2 and 3 compatibility utilities
tabulate 0.8.10 Pretty-print tabular data
telliot-core 0.2.0 Telliot is a Python framework for interacting with the decentralized TellorX network.
telliot-feeds 0.1.6 Tools for interacting with Tellor Protocol smart contracts.
tomli 2.0.1 A lil' TOML parser
toolz 0.12.0 List processing tools and functional utilities
twilio 7.16.4 Twilio API client and TwiML generator
types-python-dateutil 2.8.19.8 Typing stubs for python-dateutil
typing-extensions 4.4.0 Backported and Experimental Type Hints for Python 3.7+
urllib3 1.26.12 HTTP library with thread-safe connection pooling, file post, and more.
varint 1.0.2 Simple python varint implementation
virtualenv 20.19.0 Virtual Python Environment builder
web3 5.28.0 Web3.py
websockets 9.1 An implementation of the WebSocket Protocol (RFC 6455 & 7692)
yarl 1.8.1 Yet another URL library
`
- endpoints.yml =
`type: EndpointList
endpoints:
- type: RPCEndpoint
chain_id: 1
network: mainnet
provider: Infura
url: wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}
explorer: https://etherscan.io
- type: RPCEndpoint
chain_id: 3
network: ropsten
provider: Infura
url: wss://ropsten.infura.io/ws/v3/{INFURA_API_KEY}
explorer: https://ropsten.etherscan.io
- type: RPCEndpoint
chain_id: 4
network: rinkeby
provider: Infura
url: wss://rinkeby.infura.io/ws/v3/{INFURA_API_KEY}
explorer: https://rinkeby.etherscan.io
- type: RPCEndpoint
chain_id: 5
network: goerli
provider: Infura
url: wss://goerli.infura.io/ws/v3/{INFURA_API_KEY}
explorer: https://goerli.etherscan.io
- type: RPCEndpoint
chain_id: 137
network: mainnet
provider: Matic
url: https://rpc-mainnet.matic.network
explorer: https://polygonscan.com/
- type: RPCEndpoint
chain_id: 122
network: mainnet
provider: Fuse
url: https://rpc.fuse.io
explorer: https://explorer.fuse.io
- type: RPCEndpoint
chain_id: 80001
network: mumbai
provider: Matic
url: https://rpc-mumbai.maticvigil.com
explorer: https://mumbai.polygonscan.com/
- type: RPCEndpoint
chain_id: 69
network: infura
provider: optimism-kovan
url: https://optimism-kovan.infura.io/v3/{INFURA_API_KEY}
explorer: https://kovan-optimistic.etherscan.io
- type: RPCEndpoint
chain_id: 1666600000
network: Harmony
provider: Harmony
url: https://api.harmony.one
explorer: https://explorer.harmony.one/
- type: RPCEndpoint
chain_id: 1666700000
network: Harmony Testnet
provider: Harmony
url: https://api.s0.b.hmny.io
explorer: https://explorer.pops.one/
- type: RPCEndpoint
chain_id: 421611
network: Arbitrum Rinkeby
provider: Infura
url: https://arbitrum-rinkeby.infura.io/v3/{INFURA_API_KEY}
explorer: https://rinkeby-explorer.arbitrum.io/#/
- type: RPCEndpoint
chain_id: 941
network: Pulsechain Testnet
provider: Pulsechain
url: https://rpc.v2b.testnet.pulsechain.com
explorer: https://scan.v2b.testnet.pulsechain.com
- type: RPCEndpoint
chain_id: 42161
network: Arbitrum One
provider: Infura
url: https://arbitrum-mainnet.infura.io/v3/{INFURA_API_KEY}
explorer: https://arbiscan.io
- type: RPCEndpoint
chain_id: 10200
network: Chiado testnet
provider: blockscout
url: https://rpc.chiadochain.net
explorer: https://blockscout.chiadochain.net/
- type: RPCEndpoint
chain_id: 100
network: gnosis
provider: ankr
url: https://rpc.ankr.com/gnosis
explorer: https://gnosisscan.io
`
Please let me know if you need more details.
Thanks
@Trick03 Thank you!! For context, the DVM reads tellor contract addresses from telliot-core/src/telliot_core/data/contract_directory.json
. I looked up pulsechain (chain 941) in the version of telliot-core
you have as a dependency, and I found your redeployment (If I understand correctly, you have redeployed tellor360 to pulsechain) has not been added to the contract_directory.json
. Can you make a PR in telliot-core
to add your new deployment addresses under the tellor360
keys? Please let me know if you need any help :))
For reference: https://github.com/tellor-io/telliot-core/blob/v0.2.0/src/telliot_core/data/contract_directory.json
Hi @tallywiesenberg, is it possible to use the old service tellorflex instead, this also includes the reporter using tellorflex. please advise on the possibilities.
Thanks
Hi @tallywiesenberg, is it possible to use the old service tellorflex instead, this also includes the reporter using tellorflex. please advise on the possibilities. Thanks
Hey @Trick03 , have you currently deployed the tellor 360 contract suite? Because what's listed is that you have the tellor flex ones deployed (can verify by searching for 941 on this page). If you've actually deployed the 360 ones, then there's the bug, and the simple fix will be to move those contract addresses to tellor360-oracle
and tellor360-autopay
instead.
If you have the flex ones deployed, then the bug is in the disputable values monitor code, as it's only watching contracts labeled "tellor360-oracle". When get_events
is called, get_contract_info
is called within, and logs the message you were getting (Could not find contract info for chain_id
) because there is no tellor360-oracle
contract address listed for chain id 941. See here.
Let us know, we're happy to help get this fixed and working for you!
Hi @tallywiesenberg and @oraclown thanks for the response, I'm just a bit confuse right now should I still need to change the get_events flag from this file I tested it by changing the flag and it does not show the error anymore however it does not catch the submit value I did on the contract stated above.
please advice the next steps for this.
Appreciate the great help.
Hi @tallywiesenberg and @oraclown thanks for the response, I'm just a bit confuse right now should I still need to change the get_events flag from this file I tested it by changing the flag and it does not show the error anymore however it does not catch the submit value I did on the contract stated above. please advice the next steps for this.
Appreciate the great help.
Hi @Trick03 , try pulling from the branch dvm-main
and please let me know your outcome, this branch reads both the tellor360-oracle
contracts and the tellorflex-oracle
contracts. It's also the new main branch of the repo, just a heads up :)
Also, let me know if you'd like assistance deploying the newest version of the tellorflex contract to pulsechain!
to kind of clarify the confusion all , tellor360 is the token contract on mainnet / goerli. But you guys have a version of tellorFelx that is older than the current version running on all the networks (post-tellor360 launch). Definitely relaunch, and you should be good, but in the meantime we made a small change for the DVM to work on your current version
Hi, thanks for all the support I got the trigger to alert the SMS now, we can close now this issue. moving forward please advice if the said branch dvm-main
will be merge to main for our future reference.