github.com/pdaian/flashboys2@v0.0.0-20190718175736-b101c35361f0/gastoken.py (about)

     1  from web3 import Web3
     2  import os, binascii
     3  
     4  my_provider = Web3.IPCProvider('/home/geth/parity_mainnet/jsonrpc.ipc')
     5  w3 = Web3(my_provider)
     6  
     7  
     8  def is_using_gastoken(hash):
     9      while True:
    10          try:
    11              trace = w3.parity.traceReplayTransaction(hash,mode=["vmTrace"])
    12              break
    13          except Exception as e:
    14              print(e)
    15      zerostores = 0
    16      if trace['vmTrace'] is None or trace['vmTrace']['ops'] is None:
    17          return -1
    18      for op in trace['vmTrace']['ops']:
    19          if op['ex'] is None or op['ex']['store'] is None:
    20              continue
    21          storeop = op['ex']['store']
    22          if storeop is not None and storeop['val'] == '0x0':
    23              zerostores += 1
    24      return (zerostores)
    25  
    26