Add registry lister stub
This commit is contained in:
parent
698ef3a30f
commit
0b2c79b4da
44
scripts/registry_list.py
Normal file
44
scripts/registry_list.py
Normal file
@ -0,0 +1,44 @@
|
||||
import sys
|
||||
|
||||
from chainlib.eth.constant import ZERO_ADDRESS
|
||||
from chainlib.eth.gas import DefaultGasOracle
|
||||
from chainlib.eth.nonce import DefaultNonceOracle
|
||||
from chainlib.eth.tx import TxFactory
|
||||
from chainlib.eth.connection import HTTPConnection
|
||||
from chainlib.eth.hash import keccak256_string_to_hex
|
||||
from chainlib.eth.rpc import jsonrpc_template
|
||||
from chainlib.eth.error import EthException
|
||||
import eth_abi
|
||||
from hexathon import (
|
||||
strip_0x,
|
||||
add_0x,
|
||||
)
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
conn = HTTPConnection('http://localhost:63545')
|
||||
gas_oracle = DefaultGasOracle(conn)
|
||||
nonce_oracle = DefaultNonceOracle(ZERO_ADDRESS, conn)
|
||||
|
||||
# Get Token registry address
|
||||
txf = TxFactory(signer=None, gas_oracle=gas_oracle, nonce_oracle=nonce_oracle, chain_id=8996)
|
||||
tx = txf.template(ZERO_ADDRESS, sys.argv[1])
|
||||
identifiers_method = keccak256_string_to_hex('identifiers(uint256)')[:8]
|
||||
data = add_0x(identifiers_method)
|
||||
data += eth_abi.encode_single('uint256', i).hex()
|
||||
txf.set_code(tx, data)
|
||||
|
||||
o = jsonrpc_template()
|
||||
o['method'] = 'eth_call'
|
||||
tx = txf.normalize(tx)
|
||||
o['params'].append(tx)
|
||||
o['params'].append('latest')
|
||||
try:
|
||||
r = conn.do(o)
|
||||
except EthException:
|
||||
break
|
||||
id_bytes = bytes.fromhex(strip_0x(r))
|
||||
id_str = id_bytes[:id_bytes.find(b'\x00')]
|
||||
print(id_str.decode('utf-8̈́'))
|
||||
i += 1
|
||||
|
Loading…
Reference in New Issue
Block a user