SOLL 0.0.6
0.0.6 (2020-03-31)
Language Features:
- Solidity:
- Support abi.encode and abi.encodePacked. (excluding array type)
- Support fallback keyword. (solidity spec >= 0.6.0)
- Support struct decleration. (with limited members’ types)
- Yul:
- Support tuple usage.
- return, declaration, assignment
- Support built-in functions.
return
,revert
log0
,log1
,log2
,log3
,log4
blockcoinbase
,blockdifficulty
,blockgaslimit
blocknumber
,blocktimestamp
,txorigin
,txgasprice
,gasleft
caller
,callvalue
,calldatasize
codecopy
,datacopy
datasize
,dataoffset
(limitation: couldn't be used apply on object itself)
- Support leave statement. (Yul spec >= 0.6.0)
- Support generate and deploy ewasm from Yul file. (Yul file was compiled from solc)
- Support tuple usage.
Compiler Features:
- Diagnostic Tool:
- Throw error messages for unimplemented features:
- Redefine constructor or fallback function.
- Add color on/off option.
- Throw error messages for unimplemented features:
- Add command-line action options for distinguishing generate ewasm could be deployed on-chain or normal case.
-deploy=Chain
: Ewasm VM (Hera) not support keccak256 yet, so for workaround use sha256 instead. (Default)-deploy=Normal
: Normal behavior.
- Add command-line action options for generating object files.
-action=EmitAssembly
: Emit a .s file.-action=EmitBC
: Emit a .bc file.-action=EmitLLVM
: Emit a .bc file.-action=EmitLLVMOnly
: Generate LLVM IR, but do not emit anything.-action=EmitCodeGenOnly
: Generate machine code, but don't emit anything.-action=EmitObj
: Emit a .o file.-action=EmitWasm
: Emit a .wasm file.
- Add command-line action options for misc.
-action=ParseSyntaxOnly
: Parse and perform semantic analysis.
Bugfixes:
- Add ImplicitCastExpr on return statement.
- Fix mismatch EEI functions
blockhash
. - Keep full event signature as topic 0 field when emitting event.
- Fix built-in function minor issues:
iszero
,shl
,shr
,sar
- Remove unexpected message when
soll -action=EmitFuncSig
. - Remove redundant slot access when load/store storage with bytes and string.