by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Ben Hauser
    @iamdefinitelyahuman
    well... SWAP{n} where n is 1-16
    are you defining the interface in vyper code or via an ABI?
    Sergey Goncharov
    @gonchs
    in vyper code
    Ben Hauser
    @iamdefinitelyahuman
    it might work to implement it via an ABI. if it doesn't, i feel like it probably should and might be worth opening an issue over.
    Sergey Goncharov
    @gonchs
    I have zero knowledge in how to write a programming language itself but shouldn't interpreter only "translate" words that are explicitly set that it should translate? I don't see "swap" used anywhere by doing the search on the repo: https://github.com/vyperlang/vyper/search?q=swap&unscoped_q=swap While the rest of the reserved keywords are used. Could this be a bug?
    I'm thinking of removing "swap" from the reserved keywords and compiling vyper just to see if it would work. But it would probably be faster for me to just use raw_call.
    Sergey Goncharov
    @gonchs
    Opened an issue: vyperlang/vyper#1938
    Ben Hauser
    @iamdefinitelyahuman
    yeah, i can't find much looking through past issues or at git blame. we'll discuss it on the next call for sure.
    Sergey Goncharov
    @gonchs
    Is there a docker for vyper-json?
    Just some guy
    @fubuloubu
    No, but we could make one. Can you open an issue for that? (publish vyper-json in docker image)
    Jacques Wagener
    @jacqueswww
    I think we should remove the opcodes check
    Never really made sense that you could inject opcodes like that.
    Jacques Wagener
    @jacqueswww
    In 3.9 beta
    Daniel Dias
    @1140251
    image.png
    I'm not very experienced in python, but I tried to install vyper through makefile and the error occurred
    I had to run the - pip3 install . by hand
    Just some guy
    @fubuloubu
    @1140251 do you have Python installed? (pip is included in most Python distros)
    It seems likely that you do not, and that the Makefile failed to find pip to install with
    What OS are you using? Also, have you tried the docker image?
    Richard Moore
    @ricmoo
    Heya! Was wondering if I could get some feedback on ethers-io/ethers.js#816 ? I’m not sure if Vyper output this ABI or if Uniswap modifies it manually afterward?
    Just some guy
    @fubuloubu
    @ricmoo we most likely output that (as of the version UniSwap was compiled with). I don't think the ABI specification dictates that named outputs must be unique for tuples, but we can certainly fix that by ensuring they have unique names
    Indeed, the latest version of Vyper does not give them names at all
    Richard Moore
    @ricmoo
    No names is better than conflicting names. :)
    Thanks. :)
    For now, I'm going to make it so that conflicting names don't throw, but instead make result properties available positionally, but not by kwargs.
    (and log a warning)
    Just some guy
    @fubuloubu
    @ricmoo cool, and if there are no names you will skip making them available via name?
    I think that's what other libraries have done
    Richard Moore
    @ricmoo
    Yeah. They are only available positionally if there is non name. So, I will treat name collisions the same as having no names.
    So, (address foo, uint bar), have result[0] === result.foo and result[1] === result.bar, but (address, uint) and (address out, uint out) only have result[0] and result[1].
    Ben Scherrey
    @scherrey

    Any ideas when the following issues will be merged into a release? They're causing a lot of frustration and code bloat. Having to initialize our large array at declaration time actually doubles the size of our contract! #1676

    Can't use constant 2D arrays in code.
    ethereum/vyper#1915

    Private functions may blow up with parameters in different orders. (we've got this patched in our custom beta17 now)
    ethereum/vyper#1848

    Add zeroing function for array initialization.
    vyperlang/vyper#1676

    @inline private functions decorator.
    vyperlang/vyper#1677

    Just some guy
    @fubuloubu
    @ricmoo sounds good to me!
    @scherrey 2 of them are merged, 1 is WIP for 0.2.0 (@iamdefinitelyahuman is working on this), unsure how @charles-cooper is making out on #1848 but that is a lower priority (not blocking for 0.2.0). Seems like #1677 may depend on some stuff in #1848, I can't comment further.
    The type checking updates are the only thing blocking the new release from coming out, they are a significant breaking change and I want all the breaking changes to make it in together.
    Just some guy
    @fubuloubu
    Some other things to look forward are changing syntax for defining events (similar to structs), emitting events (I think either log MyEvent(...) or log(MyEvent(...))), and yes a lot more consistency around how constants are defined and used
    Sorry it has been so long, we've all been pretty busy lately with other things. Keep in mind we are all volunteers (currently)
    Ben Scherrey
    @scherrey
    @fubuloubu yep understand - was just curious if there was any sense of timeframe based on present progress.
    Just some guy
    @fubuloubu
    I hear if you say nice things about Brownie, type checking might ship faster
    Ben Scherrey
    @scherrey
    haha I haven't tried Brownie yet but it looks really promising.
    arjuna sky kok
    @arjunaskykok_gitlab
    @scherrey Don't forget to try Mamba (https://mamba.black) too. I'll try to add a basic smart contract auditor to Mamba in this year.
    1 reply
    Just some guy
    @fubuloubu
    you mean static analysis tool?
    @scherrey yeah, Brownie is legitimately awesome
    @iamdefinitelyahuman added a mainnet interaction tool, you can do testing against mainnet with your contracts!
    arjuna sky kok
    @arjunaskykok_gitlab
    @fubuloubu sort of. I would explore approaches like formal verification, and machine learning. I need to add some stuff first to Mamba, like GUI support, box (like Truffle box), EPM support, then I would start studying Vyper in depth. Hopefully I have something to show in Q4 of this year.
    Sylvain Bellemare
    @sbellem
    @iamdefinitelyahuman Hey Ben, just in case that it may be of some use for this black/isort thing: timothycrosley/isort#694
    Ben Hauser
    @iamdefinitelyahuman
    @sbellem thanks! i have a PR waiting to be merged with new linting rules that will make black compatible with isort - vyperlang/vyper#1964
    Sylvain Bellemare
    @sbellem
    :+1:
    Timothy O'Reilly
    @crazykid080

    Hi, I'm currently working on learning Vyper and I pulled the sample Prysmaticlabs Contract on etherscan and started to adapt it to the newest version and I ran into and issue:

    vyper.exceptions.StructureException: line 44:16 Cannot call public functions via 'self'
         43
    ---> 44     log.Deposit(self.get_deposit_root(), deposit_data, self.to_bytes(index))
    ------------------------^
         45
    .......
    vyper.exceptions.StructureException: line 44:16 Not a top-level function: get_deposit_root. Did you mean self.get_deposit_root?
         43
    ---> 44     log.Deposit(get_deposit_root(), deposit_data, self.to_bytes(index))
    ------------------------^

    Can anyone help me out here?