by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 09 13:51
    bshastry labeled #9595
  • Aug 09 13:51
    bshastry opened #9595
  • Aug 09 13:46
    bshastry commented #9546
  • Aug 09 11:31
    ekpyron opened #9594
  • Aug 08 14:40
    cameel commented #9226
  • Aug 07 19:13
    axic closed #9593
  • Aug 07 19:13
    axic commented #9593
  • Aug 07 16:35
    fateTrick opened #9593
  • Aug 07 15:00
    bshastry commented #9546
  • Aug 07 15:00
    bshastry commented #9546
  • Aug 07 15:00
    bshastry commented #9546
  • Aug 07 14:59
    bshastry commented #9546
  • Aug 07 14:22
    ekpyron synchronize #9331
  • Aug 07 14:22

    ekpyron on yul-token

    (compare)

  • Aug 07 14:05
    ekpyron synchronize #9331
  • Aug 07 14:05

    ekpyron on yul-token

    Revert grammar and remove CI ru… (compare)

  • Aug 07 13:52
    adridadou opened #9592
  • Aug 07 11:28
    ekpyron commented #9581
  • Aug 07 11:21
    bshastry commented #9546
  • Aug 07 10:28
    leonardoalt commented #9437
Daniel Kirchner
@ekpyron
Well, the actions would of course run the tests before adding to the release page...
chriseth
@chriseth
anyone with write permission to the repo can exchange a binary without anyone noticing
Daniel Kirchner
@ekpyron
Well, that will still (and especially) be the case, if one uploads the release binaries there manually... to avoid that we'd rather need to say: no binaries on the release pages at all... but well, we can talk about all that later this week, when I'm officially back and you can catch me up on the current state of things, just wanted to mention this being easily possible.
chriseth
@chriseth
right!
@cameel another thing I remember is that one job pushes binaries for the first commit on the release branch and not for the git tag, which is very annoying (and the source of ethereum/solidity#7512 ) - I think we should also be able to fix this with the manual method
a3d4
@a3d4
Can I execute a syntax test with --error-recovery(or any other) compiler option, or do I need a command line test for that?
Kamil Śliwak
@cameel

There are quite a few moving parts and decisions so I have written down a summary of what we discussed today for my own reference: https://github.com/ethereum/solidity/issues/9258#issuecomment-651220312

@ekpyron This might be of interest to you. Sorry that it's a bit long. I tried to organize and trim it a little but it's still based on a live discussion so not very organized overall.

chriseth
@chriseth
@a3d4 do you need that for an error id?
there are error recovery tests, maybe we should just include them in the scan
Daniel Kirchner
@ekpyron

There are quite a few moving parts and decisions so I have written down a summary of what we discussed today for my own reference: https://github.com/ethereum/solidity/issues/9258#issuecomment-651220312

@ekpyron This might be of interest to you. Sorry that it's a bit long. I tried to organize and trim it a little but it's still based on a live discussion so not very organized overall.

:+1:

chriseth
@chriseth
@cameel updated a detail in the Hosting binaries on IPFS section
Kamil Śliwak
@cameel
@chriseth Thanks. That reminds me that we actually didn't discuss one important detail: what about the GH pages size limit?
chriseth
@chriseth
@cameel that will hopefully be solved by ignoring old nightly builds and replacing them by redirects to ipfs
Kamil Śliwak
@cameel
So we'll be manually deleting old nightlies once the repo fills up (still keeping them in history of course)?
Or should that be automated?
chriseth
@chriseth
no, the jekyll site renderer should do this
gh pages is the result of jekyll running on the gh-pages branch
Kamil Śliwak
@cameel
Ah, I see. So don't delete them, just don't render them?
chriseth
@chriseth
exactly
Kamil Śliwak
@cameel
Sounds good. I'll add it to the summary.
chriseth
@chriseth
one problem we should also check if the .js files are maybe too large for the ipfs gateway...
Kamil Śliwak
@cameel
Right.
Alex Beregszaszi
@axic
The new eth2 testent (altona) uses the solidity deposit contract 🎉
chriseth
@chriseth
nice!
Alex Beregszaszi
@axic
It is verified on goerli.etherscan.io, I tried verifying the Vyper weeks ago but it just never worked.
I’ll try to verify it on source-verify later today, for dogfooding
chriseth
@chriseth
@axic just push the medatata and sources to ipfs - it "should" just work
(depending on how long ago the deployment was)
Alex Beregszaszi
@axic
is it checking goerli?
chriseth
@chriseth
sure
Alex Beregszaszi
@axic
still compiling 0.6.8 as i deleted it
a3d4
@a3d4

@chriseth

do you need that for an error id?

Yes.

there are error recovery tests, maybe we should just include them in the scan

OK, makes sense to add recovery tests to the scan. What about command line tests?

chriseth
@chriseth
@a3d4 yes, add them, too
@leonardoalt is it true that with regards to the information about storage I can gather right after the statement, the following statements are equivalent: sstore(a, b) and b := sload(a)
chriseth
@chriseth
ah, I think literal content currently does not yet work :(
Alex Beregszaszi
@axic
too bad! it has been compiled with that
tried the manual tool:
Could not match on-chain deployed bytecode to recompiled bytecode for: { "deposit_contract.sol": "DepositContract" }
chriseth
@chriseth
ping edi to implement it :)
Alex Beregszaszi
@axic
the contract has 1684 transactions and most of them cost 60k gas
chriseth
@chriseth
nice: sol->yul optimizes function f(uint[] storage x) returns (uint sum) { for (uint i = 0; i < x.length; i ++) sum += i[x]; } into a single sload for the length that is moved in front of the loop, even though the original code contains 2 sloads per iteration!
ah, computing the slot is not pulled out of the loop yet :(
ah, and pulling out the computation of the slot would need memory objects, because if the loop is not executed at all, we do not write a zero to zero in memory, otherwise we do
Alex Beregszaszi
@axic
Solidity preprocessor: https://github.com/Lamarkaz/psol
Alex Beregszaszi
@axic
Leonardo
@leonardoalt
@chriseth that sounds correct to me. But what context are you talking about?
chriseth
@chriseth
@leonardoalt the optimizer. It is currently optimizign sstore(a, b) x := sload(a) -> sstore(a, b) x := b but not b := sload(a) c := sload(a) -> b := sload(a) c := b
and I think it can be done in exactly the same component
chriseth
@chriseth
@cameel it turns out that the ipfs gateway actually does use text/plain for our .js files :(
but I heard there might be a workaround, let me try that