You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


Abstract

Solang is a solidity compiler for Solana, Ewasm and substrate. What is required in the project three main subprojects: add overflow detection to integers represented with more than 64 bits, improve Solang's parser to continue parsing after encountering a parser error and finally, generate more optimized LLVM-IR for solidity code containing array bound checks.


Mentors and Mentee

MentorMentorMentee

Sean Young

Time zone: BST

Lucas Steuernagel

Timezone: BRT

Salaheldin Soliman

Timezone: GMT+2



Deliverables

  • Overflow detection for big unsigned/signed integers
  • improved LLVM-IR for array boundary checks
  • improved diagnostics generated by Solang's parser



Milestones

Evaluation 1 :

  • Creating temporary variables that hold dynamic array lengths after pushes and pops
  • Replace ArrayLength expression with the temporary variable mapped to the dynamic array


Evaluation 2 :

  • Make changes to __mul32() (the function that handles multiplication of big integers), and change how is it called by Solang's code emitter.
  • Add a signed version to __mul32 that handles signed numbers.
  • Add overflow detection to pow().


Evaluation 3 :

  • Integrate Larpop's error recovery technique for Solang's parser


Evaluation 4 :

  • Implement a recovery technique for semantic errors.







  • No labels