SOLL 0.0.5 Release
0.0.5 (2020-01-18)
Language Features:
- Common:
- Support big number literal (
> uint64
)
- Support big number literal (
- Solidity:
- Support built-in units:
ether
,finney
,szabo
,wei
weeks
,days
,hours
,minutes
,seconds
- Replace
keccak256
andsha256
withsha3
for EVM backend. - Implement exponentiation operator.
- Support
this
to access member functions in the same contract.
- Support built-in units:
- Yul:
- Support
switch
statement. - Support function definition.
- Implement scoping logic and delay identifier lookup
- Support alias operators:
slt
->lts256
sgt
->gts256
sdiv
->divs256
- Handle memory relative mechanism:
- Use global variable to record memory size.
- Use
__heap_size
as memory offset. - Add helper functions to increase memory usage.
- Implement built-in functions:
calldataload
mload
,mstore
,mstore8
,msize
exp
- Support
- Diagnostic Tool:
- Throw error messages for unimplemented features:
- Constructor doesn’t support parameters. SOLL only accept constructor without any parameters.
- SOLL doesn’t support
array.push, array.pop
- Terminate codegen when error occurs
- Throw error messages for unimplemented features:
Bugfixes:
- Hex number literal:
- Support hex number literal (
0x...
)
- Support hex number literal (
<address>.balance
should return uint256 instead of uint128.- Reduce some useless endian transformation.
- Fix mismatch EEI functions:
<address>.balance
,<address>.send
,blockhash