General
- Update readme (#3101)
- Remove the data_migrate program and special associated functions (#3123)
- Remove dead code (#3122)
- Force to lookup mode in isolated server (#3113)
- Skip check_guard.sh on OS X, as it seems to be failing (#3121)
- Add new websocket server and subscribe/unsubscribe (#3129)
- Persistence documentation (#3152)
- Dispatch all RPC API fns via websocket connections (#3176)
- API filters expiration + eliminating busyloop in messaging (#3186)
- Fix Zil contract address calculation (#3187)
- Add variable launch evm daemon to constants.xml (#3185)
- Mention
SCILLA_LIB
in isolated server documentation (#3198) - Less JSON, more Protobufs! (#3196)
- Break cyclic dependency with Logger (#3214)
- Upgrade to C++20 (#3211)
- Added diagnostic logging to AccountStore (#3231)
- Create a vcpkg port for CryptoUtils and remove the submodule (#3241)
- Create a json log for OpenSearch (#3242)
- Remove CUDA (#3243)
- Update scilla image (#3253)
EVM (Ethereum Virtual Machine)
- Fix payable constructor does not transfer the paid ethers to the contract address (#3120)
- Add Fireblocks endpoint and test for block receipts (#3124)
- Adding eth_estimateGas (#3133)
- Revert erc20 contract changes (#3136)
- Propagate multiple blockchain related values to evm-ds directly from blockchain (#3036)
- Add Fireblocks tracing v1 (#3144)
- Remove sleep on startup of evm-ds and remove the unixdomain socket (#3145)
- Correct constant for sha3Uncles (#3142)
- Gas estimation fixes (#3146)
- Fix contract size check (#3150)
- Fixing temporarily stoul usage (#3151)
- Adding strToInt helpers (#3153)
- Add blake2 precompile (#3154)
- Special-case revert handling to provide more compatible error handling (#3183)
- Fix simple send of value to an EVM contract (#3189)
- Remove the incorrect handling of eth_coinbase (#3158)
- Don't allow lookup receipt non-EVM (#3199)
- Deduplicate the code around TX creation for eth case (#3200)
- Disable call l64 after gas, disabling the EIP150 (#3228)
- Point to the new version of jsonrpc Rust libs with a more correct fix (#3225)
- Log JSON from evm-ds (#3184)
- Fix gas estimation (#3216)
- Attach proper bloom filter in block response (#3155)
Testing
- Change raw matchers to hardhat chai matchers (#3107)
- Add tags to tests (#3108)
- Move bcinfo contract from evm_ds_test to integration tests (#3080)
- Add FeedDevnet.js script to tests (#3112)
- Fix ParentChild tests (#3117)
- Relax python dependencies in integration test (#3114)
- Fix one failing test of Transfer scenario (#3127)
- Make integration tests work against the evmdev (#3130)
- Add openzeppelin ownable contract tests (#3132)
- Add openzeppelin ERC20 scenario to integration tests (#3134)
- Fix ERC20 test (#3137)
- Add openzeppelin role based contract tests (#3138)
- EVM client tests (#3139)
- Add eth_accounts tests (#3156)
- Add eth_getStorageAt tests (#3159)
- Add failing test of transferring ethers to contract address (#3160)
- Add delegatecall tests (#3203)
- Adding subscription tests (#3193)
- Add --log-jsonrpc option for ethers.js (#3208)
- Add unit tests to conversions where the byte order can be confusing (#3236)
- Fixing subscription tests (#3235)
Full Changelog: v8.3.0...release/v8.4.0rc3