Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

solidity implementation for ics23 #58

Closed
wants to merge 7 commits into from

Commits on Nov 29, 2021

  1. solidity implementation for ics23

    Code is splitted in 4 different libraries, following the layout of
    functions and files of the go implementation
    - Ops -> go/ops.go
    - Proof -> go/proof.go
    - Compress -> go/compress.go
    - Ics23 -> go/ics23.go
    
    Missing parts of the current implementation:
    - sha512 hash option: solidity does not have built-in function for this
    hash. A solidity implementation would be utterly inefficient and very
    costly (gas-wise)
    - compress functions: this implementation is meant be used for
    verification, not for proof generation
    - ProofSpec for tendermint and iavl definition: again, this
    implementation is just to verify, not to generate
    - Decompress functions are present but not working: currently
    investigating a potention buf in the protobuf runtime
    - Batch verification functions are temporarily disabled due to above
    Giulio committed Nov 29, 2021
    Configuration menu
    Copy the full SHA
    b1cfb00 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2021

  1. first partial round of review

    Giulio committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    67821e5 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2021

  1. 2nd round of reviews

    Changing the return values of functions throughout the libraries to
    avoid using ``require`` and ``revert``. Function callers will receive an
    enum encoding the Error
    Giulio committed Dec 14, 2021
    Configuration menu
    Copy the full SHA
    725563f View commit details
    Browse the repository at this point in the history
  2. 3rd round of review

    Separating Mock contracts from libraries
    Giulio committed Dec 14, 2021
    Configuration menu
    Copy the full SHA
    2ce6204 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2022

  1. first round of PR review

    Giulio committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    36d0587 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2022

  1. updating with last solidity-protobuf compiler

    Giulio committed Jan 17, 2022
    Configuration menu
    Copy the full SHA
    83f9d68 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2022

  1. updating the decompress functions with ErrorEnum

    Giulio committed Jan 31, 2022
    Configuration menu
    Copy the full SHA
    1e41626 View commit details
    Browse the repository at this point in the history