dipdup-io / dipdup

Modular framework for creating selective indexers and featureful backends for dapps
https://dipdup.io
MIT License
92 stars 52 forks source link

Leading underscore in entry point name causes crash #96

Closed veqtor closed 3 years ago

veqtor commented 3 years ago

We have a leading underscore in some entry points to signify internal (cross-contract) or admin entry-points, this crashes dipdup init:


  File "/Users/goransandstrom/opt/anaconda3/bin/dipdup", line 8, in <module>
    sys.exit(cli())
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/cli.py", line 52, in wrapper
    return asyncio.run(fn(*args, **kwargs))
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/cli.py", line 109, in init
    await dipdup.init()
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/dipdup.py", line 159, in init
    await codegen.generate_types()
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/codegen.py", line 238, in generate_types
    name = snake_to_pascal(name)
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/utils.py", line 34, in snake_to_pascal
    return ''.join(map(lambda x: x[0].upper() + x[1:], value.replace('.', '_').split('_')))
  File "/Users/goransandstrom/opt/anaconda3/lib/python3.8/site-packages/dipdup/utils.py", line 34, in <lambda>
    return ''.join(map(lambda x: x[0].upper() + x[1:], value.replace('.', '_').split('_')))```
droserasprout commented 3 years ago

@veqtor, please specify a contract address (you can PM me in Discord)

droserasprout commented 3 years ago

Underscore in entrypoint name

veqtor commented 3 years ago

@veqtor, please specify a contract address (you can PM me in Discord)

will do

droserasprout commented 3 years ago

Fixed in master. I hope to cut a release soon.

veqtor commented 3 years ago

Issue resolved when calling dipdup init but issue is still there when calling dipdup run you get: ModuleNotFoundError: No module named '***.types.***.parameter.[entry point name with leading underscore]

m-kus commented 3 years ago

Thanks for the pr @veqtor , issue can be closed?

veqtor commented 3 years ago

Yes!