by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Just some guy
    @fubuloubu
    Not right now, but it's something we'd like to add
    arjuna sky kok
    @arjunaskykok_gitlab
    So I guess the bounty should be split into two tasks: 1. multiple versions of Vyper, 2. Porting Vyper to JavaScript/Wasm.
    Just some guy
    @fubuloubu
    wee have most of stuff needed to do those things, if you want to think of them logically that way, it helps
    Anh Dung Le
    @anhdungle93
    Hi, I heard that Vyper will receive more support in Ethereum2.0. Is it true? If yes what does it actually contain?
    conta16
    @conta16
    Hi, I read on the online documentation that it's possible to compute a precise upper bound for the gas consumption of any Vyper function call. Since I am trying to make a research on gas bounds, I would like to know, how do you calculate these bounds? Do you already have some kind of tools that statically estimate these bounds, or do you simulate the smart contract (which is known to terminate) in a local environment and then see how much gas it uses?
    Alexis Anand
    @zenithlight
    why isn't there a signed 256 bit integer type?
    Just some guy
    @fubuloubu
    @zenithlight working on adding all integer types
    @conta16 static analysis, since all variable data types have an explicit upper bound, and all operations on variable data types can use that to compute the worst case.
    obviously doesn't work for external calls
    @anhdungle93 ETH 2.0 is likely 2+ years away from having support for smart contracts, it's not something we currently support but will make plans to do so as it gets closer
    conta16
    @conta16
    Thank you for the reply! One more thing: do you have something online that does this static analysis? I would like to get a better understanding on the matter.
    Just some guy
    @fubuloubu
    @conta16 The compiler itself does it when it produces the gas cost estimates, it's not a separate tool
    it's not a terribly complicated algorithm, most of the gas costs are pretty well-defined already, we only leverage the maximum sizing on variable-length data operations
    Usually it overshoots a large amount, and it's often better to dynamically estimate costs to reduce the gas limit you'd set in a transaction, but it does lead to more predictable transaction costs and helps reduce a class of vulnerabilities using gas cost exploits
    Benjamin Cordes
    @benjyz
    question: does typing.py over ride standard python typing or how does it work. get an error here
    "ImportError: cannot import name 'Dict' from 'typing'"
    Just some guy
    @fubuloubu
    I don't believe so, you just have to fully qualify it I think, from vyper.typing import ... or from .typing import ...
    John D Allen
    @johnda98
    hi guys.. long time solidity guy here.. having probs with the make in the virtual env
    install: missing destination file operand after '.'
    doing a make in the vyper directory. all other instructions to install ok except its python3 for the virtualenv -p python3 --no-site-packages ~/vyper-venv NOT python3.6
    stuck on this bit make
    make dev-deps
    make test
    johnda@ymirjda:~/vyper-venv/vyper$ make
    install .
    install: missing destination file operand after '.'
    Try 'install --help' for more information.
    Makefile:12: recipe for target 'init' failed
    make: * [init] Error 1
    .
    thanks :-)
    arjuna sky kok
    @arjunaskykok_gitlab
    @johnda98 Have you activated the virtual environment?
    Here's what I do:
    $ python3 -m venv .venv
    $ source .venv/bin/activate
    $ make
    /MyDirectory/.venv/bin/pip install .
    Processing /MyDirectory/vyper
    Collection.... so on
    I'm already inside vyper directory.
    Anyway I created a first pull request to Vyper. vyperlang/vyper#1992
    I added a test case for validate_version_pragma. Anyway, I noticed that pragma in Vyper does not support more complex cases like ^, >=, etc. Pragma in Solidity supports those cases. Should we add semver capability in pragma checking in Vyper?
    arjuna sky kok
    @arjunaskykok_gitlab
    I am also thorn that the pragma checking is done in comment not using special keyword. But I don't want to make a fuss about it.
    On top of that, why do we install Vyper in "make" step? I think it's better to put the installation step in "make install" step. I used to contribute to Python (CPython) project. It's easier if we have the Python binary in the project root directory after the compilation ("make" step). But in Vyper case, the "vyper" binary is installed already. I have to put "import pdb; pdb.set_trace()" in files inside virtual environment (.venv/lib/python3.7/site-packages/vyper) to debug when I run "vyper" cli application. In a nutshell, I would like to run "./vyper" inside vyper project directory after "make" step. What do you think?
    Just some guy
    @fubuloubu

    Should we add semver capability in pragma checking in Vyper?

    Sure!

    I am also thorn that the pragma checking is done in comment not using special keyword.

    Yeah, I want to move it to the module-level natspec

    having it in the comment is gross
    John D Allen
    @johnda98

    @johnda98 Have you activated the virtual environment?
    Here's what I do:
    $ python3 -m venv .venv
    $ source .venv/bin/activate
    $ make
    /MyDirectory/.venv/bin/pip install .
    Processing /MyDirectory/vyper
    Collection.... so on

    yep.. see my post.. i'm in it johnda@ymirjda:~/vyper-venv/vyper$

    Just some guy
    @fubuloubu
    @arjunaskykok_gitlab @johnda98 also check out pyenv: https://github.com/pyenv/pyenv
    very useful tool for managing virtual envs and multiple python versions
    John D Allen
    @johnda98
    most humans on planet are following the popular instructions and clearly they are not clear
    git clone https://github.com/vyperlang/vyper.git
    cd vyper
    make
    make dev-deps
    make test
    doesnt cook

    @arjunaskykok_gitlab @johnda98 also check out pyenv: https://github.com/pyenv/pyenv

    thanks Bryant.. will do

    I just changed to johnda@ymirjda:~/vyper-venv/vyper$ directory... oh so i have to activate the environment

    johnda@ymirjda:~/vyper-venv/vyper$ python3 -m venv .venv
    The virtual environment was not created successfully because ensurepip is not
    available. On Debian/Ubuntu systems, you need to install the python3-venv
    package using the following command.

    apt-get install python3-venv

    You may need to use sudo with that command. After installing the python3-venv
    package, recreate your virtual environment.

    Failing command: ['/home/johnda/vyper-venv/vyper/.venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

    Just some guy
    @fubuloubu
    yeah, this is why we are trying to create a binary setup that's much easier to use for people who aren't pythonistas
    as an alternative currently, we have Docker images
    John D Allen
    @johnda98
    " apt-get install python3-venv
    " is not in https://vyper.readthedocs.io/en/latest/installing-vyper.html
    i'll pull that package in
    John D Allen
    @johnda98
    "virtualenv -p python3.6 --no-site-packages ~/vyper-venv
    in the docs .. i have 3.6 installed and I have to enter python3 NOT python3.6 to get the end to create
    Cool !@!@@@@@@!!! now I'm in "(vyper-venv) johnda@ymirjda:~/Python-3.6.2$
    "
    John D Allen
    @johnda98
    (vyper-venv) johnda@ymirjda:~/Python-3.6.2/vyper$ make
    /home/johnda/vyper-venv/bin/pip install .
    Processing /home/johnda/Python-3.6.2/vyper
    ERROR: Package 'vyper' requires a different Python: 3.5.2 not in '>=3.6'
    Makefile:12: recipe for target 'init' failed
    bonkers