Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Diederik Loerakker
    @protolambda
    At airport now, will be back online for eth2 things in ~12h or so
    Goal is to get more input/contributions from implementers in spec testing (others are working on network testing etc).
    We have some tooling in place to write tests. A POC spec based deposits test. (There's an ongoing effort to unify setup of test scenarios between pytests and yaml gen, do others are on hold for a bit), and then we have updated shuffling + ssz tests
    Diederik Loerakker
    @protolambda
    Also, looking to deprecate old tests repo, to just have LFS from the start, and not have non-LFS yaml files in git history forever.
    And there's a good chance the spec-generators focus on spec tests, and we'll have network, execution, and other test types coming from elsewhere in the future. So it makes sense to not force a single tests repo
    Mamy Ratsimbazafy
    @mratsim
    sounds good to me
    specs tests is quite largeanyway:
    • state tests
    • BLS
    • shuffling
    • SSZ
    • fork choice
    Mamy Ratsimbazafy
    @mratsim
    Are the SSZ tests updated with SOS in https://github.com/ethereum/eth2.0-spec-tests?
    Diederik Loerakker
    @protolambda
    No, nog with SOS yet. But hashing is the same.
    Mamy Ratsimbazafy
    @mratsim
    oh, nice
    Diederik Loerakker
    @protolambda
    Will get to SOS + better SSZ typing in spec later this week. SOS was merged a bit too short before release 🙃
    Mamy Ratsimbazafy
    @mratsim
    it's fine :)
    Mamy Ratsimbazafy
    @mratsim

    I'm looking into the shuffling tests and realized that they were not in sync with the latest spec as they used get_permuted_index instead of get_shuffled_index: https://github.com/ethereum/eth2.0-specs/search?q=get_permuted_index&unscoped_q=get_permuted_index

    It seems like ethereum/eth2.0-specs#1045 was not complete @protolambda

    Diederik Loerakker
    @protolambda
    Yup, but fixed it when generating the tests, just a rename. Fix is on the v06x branch now I believe, where we work for 0.6 improvements, effectively 'dev' with non-breaking changes
    Also, see specs pr 1052, lots of state transition tests incoming
    Mamy Ratsimbazafy
    @mratsim
    aah so I put my fix on the wrong branch
    Mamy Ratsimbazafy
    @mratsim
    So the shuffling tests work fine on my side. At first I thought that I had long hours ahead, until I realized that we still were using keccak :sweat_smile: .
    Jacek Sieka
    @arnetheduck
    lol, feel you perfectly :)
    Mamy Ratsimbazafy
    @mratsim
    actually the most puzzling was this speed trick: https://github.com/status-im/nim-beacon-chain/pull/263/files#diff-9835c951698318fa2842b822ed8ac5c1L39 keccak256 context is initialized to an array of zero before hashing, and I forgot to do the init of SHA256 at first as well
    Jacek Sieka
    @arnetheduck
    oh yeah. I'd prefer we fixed nimcrypto there to be easier to work with in that regard
    Mamy Ratsimbazafy
    @mratsim
    I don't think there is an issue in nimcrypto for that, it's either init+update+finish or use digest.
    Jacek Sieka
    @arnetheduck
    well there was, sort of.. the need, or lack thereof, of init is an abstraction leak..
    Mamy Ratsimbazafy
    @mratsim
    If we can push the constructor discussion forward it would be solved ;)
    Diederik Loerakker
    @protolambda
    Current status and pain-points before getting full state-transition tests released: ethereum/eth2.0-specs#1074
    Mamy Ratsimbazafy
    @mratsim

    Some feedback on the presets. On Nim side it's very easy to use them at compile-time. We pass a compile-time switch to the compiler to tell it to import one preset or the other: status-im/nim-beacon-chain#269.

    We are passing the shuffling official shuffling minimal and mainnet shuffling tests for example

    Dmitry S.
    @zilm13

    We've finished adoption of latest github tests harmony-dev/beacon-chain-java#144 . There are still two cases which we ignore, but first is definitely minor, the other one is more about infrastructure and isn't associated with particular test case, so I could say we are passing all tests from https://github.com/ethereum/eth2.0-spec-tests now.

    I've found several issues with our spec implementation during adoption of tests, so the core goal of any tests is reached here! Thanks @protolambda for a big amount of work in tests development and building skeletons/core classes to simplify tests development.

    Dmitry S.
    @zilm13

    @protolambda

    5. Running tests in bitvector/invalid/bitvec_2_zero_3... FAILED

    serialized.ssz: 0x00
    size should be 2 as bitvec_2
    so what's wrong with it? it should be a valid case. looks like wrong fill

    works when 111 filled, but with 000 still valid
    plus several similar cases
    Diederik Loerakker
    @protolambda
    2 bits fits in one byte no?
    Oh I see, one zero case that's off due to no delimiting and same valid byte size. Will look into it more tomorrow, thanks
    Dmitry S.
    @zilm13
    :+1:
    Dmitry S.
    @zilm13
    here's my list
    5. Running tests in bitvector/invalid/bitvec_2_zero_3... FAILED
    6. Running tests in bitvector/invalid/bitvec_4_zero_5... FAILED
    11. Running tests in bitvector/invalid/bitvec_1_zero_2... FAILED
    14. Running tests in bitvector/invalid/bitvec_3_zero_4... FAILED
    16. Running tests in bitvector/invalid/bitvec_4_random_5... FAILED
    22. Running tests in bitvector/invalid/bitvec_5_zero_6... FAILED
    4_random_5, last one is 0 too so it fits in 4
    Dmitry S.
    @zilm13
    everything is cool now with v0.8.3
    trnhgquan
    @trnhgquan
    Does anyone here know how to create deposit agreements in javascript to test the Deposit_contract ?
    Gregory Markou
    @GregTheGreek
    @trnhgquan yes!
    trnhgquan
    @trnhgquan
    thanks @GregTheGreek , im done with this