Thomas Nguy
bf54193669
feemarket: change basefee to be a module param ( #943 )
...
* change basefee to a module params
* add changelog and fix linter
* change params type of basefee and remove default base fee
* restaure event
* clean code
* fix proto
* fix protos
* fix logic
* update rpc tests
* fix comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-02-23 19:48:44 +01:00
dependabot[bot]
f21592ebfe
build(deps): bump github.com/ethereum/go-ethereum from 1.10.15 to 1.10.16 ( #945 )
...
* build(deps): bump github.com/ethereum/go-ethereum
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum ) from 1.10.15 to 1.10.16.
- [Release notes](https://github.com/ethereum/go-ethereum/releases )
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.10.15...v1.10.16 )
---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* add extra param to config rules
* update changelog
* update comments
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
2022-02-19 00:57:43 +00:00
yihuang
dcd2891b73
imp: redirect go-ethereum's logs to cosmos logger ( #948 )
...
* redirect go-ethereum's logs to cosmos logger
Closes : #862
Map go-ethereum's log levels to cosmos ones:
trace -> debug
debug -> debug
info -> info
warn -> info
error -> error
crit -> error
* changelog
* Apply suggestions from code review
* Apply suggestions from code review
2022-02-19 01:49:34 +01:00
Daniel Burckhardt
d02cc63c2f
danburck/release changelog ( #942 )
...
* release: v0.10.0-alpha changelog (#891 )
* release: v0.10.0-alpha changelog
* deps: IBC v3 alpha2 (#892 )
* release: v0.10.0-alpha2 (#923 )
* deps: IBC v3 alpha2 (#892 )
* Problem: newPendingTransactions filter don't return ethereum tx hash (#900 )
* impr: support batch eth txs (#901 )
* support batch eth tx
Closes: 896
Allow multiple MsgEthereumTx in single tx
* fix transaction receipt api
* fix tx receipt api and accumulate tx gas used
* fix lint
* fix test
* fix rpc test
* cleanup
* fix cumulativeGasUsed and gasUsed
* fix lint
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update rpc/ethereum/backend/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* typo
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* build(deps): bump follow-redirects in /tests/solidity (#909 )
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects ) from 1.14.4 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.4...v1.14.7 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* rpc: make trace transaction api work with batch tx (#907 )
* make trace transaction api work with batch tx
Closes : #906
fix linter
* review suggestion
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix insufficient fee error message (#911 )
* server: add `api.enable` flag for Cosmos SDK API server (#908 )
* add api.enable flag for Cosmos SDK Rest server
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* deps: bump Cosmos SDK version to `v0.45.0` (#912 )
* deps: bump SDK version to v0.45.0
* changelog
* deprecation fix
* deprecation fix 2
* Integration tests (#913 )
* ci: semgrep config (#917 )
* ci: enable semgrep config
* fix config
* ignore grpc web
* fix: default base fee state in genesis (#919 )
* fix defualt base fee state in genesis
Closes : #918
Solution:
- initialise the default base fee value in genesis
* changelog
* fix: minimal-gas-prices and baseFeePerGas conflicts (#916 )
* Problem: minimal-gas-prices and baseFeePerGas conflicts
Closes : #915
Solution:
- Don't check min-gas-price for evm tx if london hardfork and feemarket enabled.
comments and cleanup
changelog
* fix zero fee coins
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
* release: v0.10.0-beta1 changelog (#941 )
* deps: IBC v3 alpha2 (#892 )
* Problem: newPendingTransactions filter don't return ethereum tx hash (#900 )
* impr: support batch eth txs (#901 )
* support batch eth tx
Closes: 896
Allow multiple MsgEthereumTx in single tx
* fix transaction receipt api
* fix tx receipt api and accumulate tx gas used
* fix lint
* fix test
* fix rpc test
* cleanup
* fix cumulativeGasUsed and gasUsed
* fix lint
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update rpc/ethereum/backend/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* typo
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* build(deps): bump follow-redirects in /tests/solidity (#909 )
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects ) from 1.14.4 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.4...v1.14.7 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* rpc: make trace transaction api work with batch tx (#907 )
* make trace transaction api work with batch tx
Closes : #906
fix linter
* review suggestion
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix insufficient fee error message (#911 )
* server: add `api.enable` flag for Cosmos SDK API server (#908 )
* add api.enable flag for Cosmos SDK Rest server
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* deps: bump Cosmos SDK version to `v0.45.0` (#912 )
* deps: bump SDK version to v0.45.0
* changelog
* deprecation fix
* deprecation fix 2
* Integration tests (#913 )
* ci: semgrep config (#917 )
* ci: enable semgrep config
* fix config
* ignore grpc web
* fix: default base fee state in genesis (#919 )
* fix defualt base fee state in genesis
Closes : #918
Solution:
- initialise the default base fee value in genesis
* changelog
* fix: minimal-gas-prices and baseFeePerGas conflicts (#916 )
* Problem: minimal-gas-prices and baseFeePerGas conflicts
Closes : #915
Solution:
- Don't check min-gas-price for evm tx if london hardfork and feemarket enabled.
comments and cleanup
changelog
* fix zero fee coins
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* build(deps): bump github.com/cosmos/ibc-go/v3 (#925 )
* build(deps): bump simple-get from 2.8.1 to 2.8.2 in /tests/solidity (#927 )
* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#926 )
Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk ) from 0.45.0 to 0.45.1.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases )
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md )
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1 )
---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: separate out rpc and integration tests (#931 )
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix: wrong comment in EthGasConsumeDecorator (#929 )
* fix newPendingTransactions subscription deadlock issue (#933 )
* remove unused parameters from evm spec (#934 )
* build(deps): bump follow-redirects in /tests/solidity (#939 )
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects ) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* deps: upgrade geth to v1.10.15 (#935 )
* upgrade geth to v1.10.15
* fix lint
* fix imports
* revert makefile change
* update changelog
* Update CHANGELOG.md
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
* update chain config
* add getblockvalue for chain config fork
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix: base fee check logic in state transition (#932 )
* fix base fee check logic in state transition
- should check london hardfork first, otherwise it panic if feemarket not registered.
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* add release v0.10.0-beta1 CHANGELOG
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Prajjwol Gautam <not@acyb.org>
Co-authored-by: HaeSung <hea9549.github@gmail.com>
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: yihuang <huang@crypto.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Prajjwol Gautam <not@acyb.org>
Co-authored-by: HaeSung <hea9549.github@gmail.com>
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
2022-02-15 19:55:37 +00:00
yihuang
f7009b0e94
fix: base fee check logic in state transition ( #932 )
...
* fix base fee check logic in state transition
- should check london hardfork first, otherwise it panic if feemarket not registered.
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-02-15 12:01:30 +01:00
crypto-facs
aeedef9b4b
deps: upgrade geth to v1.10.15 ( #935 )
...
* upgrade geth to v1.10.15
* fix lint
* fix imports
* revert makefile change
* update changelog
* Update CHANGELOG.md
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
* update chain config
* add getblockvalue for chain config fork
Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-02-14 23:08:41 +00:00
crypto-facs
e16b7f8ab0
fix newPendingTransactions subscription deadlock issue ( #933 )
2022-02-10 03:10:37 +01:00
yihuang
724a06632b
fix: minimal-gas-prices and baseFeePerGas conflicts ( #916 )
...
* Problem: minimal-gas-prices and baseFeePerGas conflicts
Closes : #915
Solution:
- Don't check min-gas-price for evm tx if london hardfork and feemarket enabled.
comments and cleanup
changelog
* fix zero fee coins
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-26 10:44:41 +00:00
yihuang
e39a74998e
fix: default base fee state in genesis ( #919 )
...
* fix defualt base fee state in genesis
Closes : #918
Solution:
- initialise the default base fee value in genesis
* changelog
2022-01-26 11:36:07 +01:00
Federico Kunze Küllmer
43c4d7c3fb
deps: bump Cosmos SDK version to v0.45.0
( #912 )
...
* deps: bump SDK version to v0.45.0
* changelog
* deprecation fix
* deprecation fix 2
2022-01-18 22:02:10 +01:00
crypto-facs
0a01cead67
server: add api.enable
flag for Cosmos SDK API server ( #908 )
...
* add api.enable flag for Cosmos SDK Rest server
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-17 19:08:02 +01:00
yihuang
7d8664043e
impr: support batch eth txs ( #901 )
...
* support batch eth tx
Closes: 896
Allow multiple MsgEthereumTx in single tx
* fix transaction receipt api
* fix tx receipt api and accumulate tx gas used
* fix lint
* fix test
* fix rpc test
* cleanup
* fix cumulativeGasUsed and gasUsed
* fix lint
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update rpc/ethereum/backend/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* typo
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-14 10:37:33 +01:00
yihuang
aeb6aeb715
Problem: newPendingTransactions filter don't return ethereum tx hash ( #900 )
2022-01-13 13:12:57 +00:00
Federico Kunze Küllmer
4320f46fc8
types, evm: refactor accounts ( #884 )
...
* types,evm: refactor accounts
* fix
* fix panic
* changelog
* fix
* lint, rm dbErr
2022-01-05 19:18:02 +01:00
yihuang
ade84319e6
evm: refactor statedb implementation ( #729 )
...
* initial statedb module
unit tests
unit tests
keeper implementation
extract TxConfig
remove unused code
* keeper integration
* fix unit tests
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fixup! initial statedb module
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-05 08:28:27 +01:00
yihuang
e9f1ab646c
fix: GetBlock rpc api reports wrong gasUsed ( #878 )
...
* GetBlock rpc api report wrong gasUsed
Closes : #877
Solution:
- workaround at rpc side, ignore the gasUsed in such cases.
* Update rpc/ethereum/backend/backend.go
* changelog
2022-01-05 08:26:59 +01:00
yihuang
8e4ff5aae2
evm: validate code hash in GenesisAccount
( #873 )
...
* Validate code hash in GenesisAccount
Closes : #872
* changelog
2022-01-04 15:21:32 +01:00
yihuang
7ec5e5fdef
fix: set correct nonce in EthCall/EstimateGas ( #871 )
...
* fix: set correct nonce in EthCall/EstimateGas
Closes : #870
* Update CHANGELOG.md
* unit test
2022-01-04 11:55:30 +01:00
Ramiro Carlucho
b9804505a3
evm: change Hook
to use tx Receipt
( #849 )
...
* Change evm_hook to use Transaction Receipt
* use ethtypes.Receipt
* wip changes
* fix receipt creation
* receipt fixes
* check for contract addr
* changelog
* test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2022-01-03 17:18:13 +01:00
Federico Kunze Küllmer
4cb2737647
ante: update ante handler internals ( #866 )
...
* update ante handler internals
* update options
* changelog
2022-01-02 23:44:46 +01:00
crypto-facs
42cd3f5a4d
Add criteria to filter ( #865 )
2021-12-31 18:08:08 +01:00
yihuang
ced5280571
fix: OOM when eth_getLogs response too large ( #860 )
...
* fix: OOM when eth_getLogs response too large
Closes : #858
- add limit to number of logs of filter response
- make block limit and log limit configurable
* return error if exceeds log limit
* Apply suggestions from code review
* parse from config
* read cli flags
* add to config template
* fix bloomFilter
* changelog
* add validation
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-29 22:47:25 +01:00
yihuang
eb17366dcc
fix: consistent BaseFee check logic ( #855 )
...
Closes : #755
```
if not london_hardfork {
# reject DynamicFeeTx
# no `baseFeePerGas` field in block response
# baseFee = nil
} else {
# allow DynamicFeeTx
# add `baseFeePerGas` field in block response
if feemarketParams.NoBaseFee or height < feemarketParams.EnableHeight {
# baseFee = 0
} else {
# init baseFee to initBaseFee and adjust in later blocks
}
}
```
Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
add unit tests
Update app/ante/utils_test.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
changelog
2021-12-28 07:59:28 +00:00
yihuang
d822fee5c1
fix: contract address in contract creation receipt ( #851 )
...
* Problem: contract address in contract creation receipt is wrong
Closes : #850
- decrease nonce before evm.create
- add unit tests and rpc tests
* add changelog
2021-12-28 08:55:40 +01:00
Prajjwol Gautam
0777d0b670
Merge pull request from GHSA-mx3r-7hpq-fr4g
...
* reject invalid `MsgEthereumTx` wrapping tx
Update CHANGELOG.md
* added a unit test
* reject invalid `MsgEthereumTx` wrapping tx in a non-breaking way
Update CHANGELOG.md
* delete code and state on suicide
* fix suicide tests
* update changelog
* update changelog
* delete code hash on suicide
* simplifies delete code
* Apply suggestions from code review
* Update app/ante/ante.go
Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-23 08:07:23 -08:00
yihuang
e437c4331d
fix: increase nonce in ante handler for contract creation tx ( #809 )
...
Closes : #808
Solution:
- move nonce increment to ante handler
- revert nonce increment in apply message
build(deps): bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#833 )
Bumps [github.com/spf13/viper](https://github.com/spf13/viper ) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/spf13/viper/releases )
- [Commits](https://github.com/spf13/viper/compare/v1.9.0...v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/viper
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: remove unused code (#834 )
Co-authored-by: Marko Baricevic <markobaricevic3778@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
rm
rm pkg
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-16 22:35:28 +00:00
yihuang
514785bd89
rpc: optimize tx index lookup ( #810 )
...
Closes : #760
Solution:
- emit tx index to cosmos events
- rpc side try to use the events, but fallback to heavier approach when fails.
Update rpc/ethereum/namespaces/eth/api.go
changelog
fix lint
fix TxIndexFromEvents
fix
Update rpc/ethereum/backend/backend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-16 22:30:22 +00:00
yihuang
9828964f1f
fix: remove redundant ante handler ( #819 )
...
* remove redundant ante handler
They are already checked in EthValidateBasicDecorator
* changelog
2021-12-15 02:53:03 +00:00
Emmanuel T Odeke
66292080e4
x/evm/types: properly split in 32 chunks trace.Memory ( #838 )
...
This change fixes an insidious bug that unfortunately
tried to split values in multiples of 32, but unfortunately
due to the loop conditions, if the length of trace.Memory
was less than 32, nothing would be added; if the value wasn't
a multiple of 32, the ends wouldn't be added in.
Fixes #837
2021-12-15 02:29:49 +00:00
yihuang
ccc6f5b53d
fix: use EffectiveGasPrice
in ante handler for dynamic fee tx ( #817 )
...
* Use effectiveGasPrice in ante handler for dynamic fee tx
Closes : #814
Solution:
- use effectiveGasPrice when check minimal-gas-prices, and deduct fee in ante handler
- implement an EthMempoolFeeDecorator
* add effectiveGasPrice to tx receipt
* changelog
* fix unit test
* fix comments
* add comments
* Apply suggestions from code review
Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
* review suggestions
Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-15 02:17:03 +00:00
yihuang
50e463725e
feemarket: update base fee in BeginBlock
( #822 )
...
* Update base fee in begin blocker
Closes : #820
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-15 02:10:52 +00:00
yihuang
924232f02e
fix: empty log topics shouldn't be encoded as nil ( #840 )
...
* Problem: empty topics shouldn't be encoded as nil
Closes : #839
Solution:
- encode it as empty array
* fix unit tests
* changelog
2021-12-14 15:52:22 +01:00
Emmanuel T Odeke
a2f246c2a6
x/evm/keeper: use the fastest slice making idiom for Keeper.EthereumTx.Logs ( #827 )
...
Uses the fastest slice making idiom of creating the well known
size of a slice using
make([]sdk.Attribute, len(response.Logs))
for i, log := range response.Logs {
txLogAttrs[i] = ...
}
instead of
make([]sdk.Attribute, 0)
for _, log := range response.Logs {
txLogAttrs = append(txLogAttrs, ...)
}
which had a few problems:
1. Using 0 for size then appending is quite slow yet we know the exact size
2. Using append instead of indexing is slower
If we examine the advisory at https://bencher.orijtech.com/perfclinic/sliceupdate/
and the verdict at https://bencher.orijtech.com/perfclinic/sliceupdate/#verdict
this new scheme shows a massive improvement in that call site.
Fixes #825
2021-12-14 00:05:12 +00:00
Thomas Nguy
4ee1d86377
fix: NobaseFee
value should be consistent with height ( #831 )
...
* nobasefee param value should be consistent with block height
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-13 23:55:41 +00:00
Emmanuel T Odeke
8333765b27
x/evm/keeper: save 24B with Go in-condition variable idiom ( #828 )
...
* x/evm/keeper: save 24B with Go in-condition variable idiom
The prior code doubly invoked (*ethereum/go-ethereum/core/types.Transaction).To()
which is quite expensive, and firstly copies 20 bytes each time, then
that gets rounded up to the proper size class/pointer alignment so on
64-bit machines 20B -> 24B.
Isolating a benchmark for this code per issue #826 shows this saves
quite a bit of bytes and some nano seconds which all count up towards
the transactions per seconds being processed:
```shell
$ benchstat before.txt after.txt
name old time/op new time/op delta
CopyAddr-8 38.4ns ± 3% 19.3ns ± 3% -49.66% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
CopyAddr-8 48.0B ± 0% 24.0B ± 0% -50.00% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
CopyAddr-8 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
```
Fixes #826
* changelog
* lint
* Revert stray changes that were used in testing
* rm log
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-12-14 00:51:36 +01:00
Federico Kunze Küllmer
4e87775f68
docs: backport changelog updates ( #807 )
...
* release: changelog `v0.9.0` (#806 )
* release: `v0.8.0` changelog (#757 )
* release: v0.8.1 changes (#775 )
* docs: update changelog (#765 )
* feemarket: unit tests EIP1559 (#758 )
* Fee-Market(Types): Setup Params tests
* Fee-Market(Types): Add all Params tests
* Fee-Market(Types): Add genesis tests
* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests
* Fee-Market(Keeper): Add Keeper tests
* Fee-Market(Keeper): Add review comments
* Fee-Market(Keeper): WIP grpc tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests maxGas influences on baseFee
* Fee-Market(Keeper): Add last ERIP1559 tests
* Fee-Market(Keeper): Add abci tests
* rpc: fix default signer (#769 )
* rpc: fix default signer
* changelog
* build(deps): bump actions/cache from 2.1.6 to 2.1.7 (#772 )
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: RPC tests fail if FeeMarket `BaseFee` is enabled by default (#770 )
* Fix(FeeMarket): Enable FeeMarkat BaseFee
* fix rpc tests
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
* changelog `v0.8.1` (#805 )
* release: `v0.8.0` changelog (#757 )
* release: v0.8.1 changes (#775 )
* docs: update changelog (#765 )
* feemarket: unit tests EIP1559 (#758 )
* Fee-Market(Types): Setup Params tests
* Fee-Market(Types): Add all Params tests
* Fee-Market(Types): Add genesis tests
* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests
* Fee-Market(Keeper): Add Keeper tests
* Fee-Market(Keeper): Add review comments
* Fee-Market(Keeper): WIP grpc tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests maxGas influences on baseFee
* Fee-Market(Keeper): Add last ERIP1559 tests
* Fee-Market(Keeper): Add abci tests
* rpc: fix default signer (#769 )
* rpc: fix default signer
* changelog
* build(deps): bump actions/cache from 2.1.6 to 2.1.7 (#772 )
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: RPC tests fail if FeeMarket `BaseFee` is enabled by default (#770 )
* Fix(FeeMarket): Enable FeeMarkat BaseFee
* fix rpc tests
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
* docs: backport changelog updates
* unreleased
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
2021-12-01 09:58:41 +01:00
Federico Kunze Küllmer
11a1225ebd
changelog v0.8.1
( #805 )
...
* release: `v0.8.0` changelog (#757 )
* release: v0.8.1 changes (#775 )
* docs: update changelog (#765 )
* feemarket: unit tests EIP1559 (#758 )
* Fee-Market(Types): Setup Params tests
* Fee-Market(Types): Add all Params tests
* Fee-Market(Types): Add genesis tests
* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests
* Fee-Market(Keeper): Add Keeper tests
* Fee-Market(Keeper): Add review comments
* Fee-Market(Keeper): WIP grpc tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests maxGas influences on baseFee
* Fee-Market(Keeper): Add last ERIP1559 tests
* Fee-Market(Keeper): Add abci tests
* rpc: fix default signer (#769 )
* rpc: fix default signer
* changelog
* build(deps): bump actions/cache from 2.1.6 to 2.1.7 (#772 )
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: RPC tests fail if FeeMarket `BaseFee` is enabled by default (#770 )
* Fix(FeeMarket): Enable FeeMarkat BaseFee
* fix rpc tests
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
* changelog
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
2021-12-01 09:47:01 +01:00
yihuang
3b0fa63832
evm: clear access list for each transaction ( #802 )
...
* Clear access list for each transaction
Closes : #801
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-30 12:36:10 +01:00
yihuang
e6d0eff957
evm: ForEachStorage
semantic not compatible with go-ethereum ( #798 )
...
* Problem: ForEachStorage sematic not compatible with go-ethereum
Solution:
- reversed the semantic of return value of the callback function.
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-30 10:34:33 +00:00
Federico Kunze Küllmer
5d2798aa7e
docs: re-license to LGPLv3 ( #800 )
...
* docs: re-license to LGPLv3
* changelog
2021-11-30 09:22:21 +01:00
Federico Kunze Küllmer
841c93cd65
feat: store migration setup ( #794 )
...
* feat: store migration setup
* comment
* changelog
2021-11-29 16:46:20 +01:00
crypto-facs
bfe059e43e
Fix get block ( #781 )
2021-11-26 18:10:40 +00:00
yihuang
c8d4d3f9a3
fix: improve error message in SendTransaction
json-rpc api ( #786 )
...
* fix error message in `SendTransaction` json-rpc api
Closes : #785
Solution:
- Remove `stacktrace.Propagate`s, and recover error message in jsonrpc server
changelog
fix error messages
* Update x/evm/keeper/msg_server.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-26 15:19:28 +01:00
yihuang
32eaec8d99
fix: web3 rpc api returns wrong block gas limit ( #782 )
...
* Problem: web3 rpc api returns wrong block gas limit
Closes : #777
Solution:
- pass in specific block height to the query
* Apply suggestions from code review
* changelog
2021-11-25 11:30:03 +00:00
Federico Kunze Küllmer
16db5cabb5
ci: enable backport for v0.8 and v0.7 ( #784 )
...
* ci: enable backport for v0.8 and v0.7
* changelog
2021-11-25 11:06:30 +00:00
Daniel Burckhardt
2bf2b6758b
fix: RPC tests fail if FeeMarket BaseFee
is enabled by default ( #770 )
...
* Fix(FeeMarket): Enable FeeMarkat BaseFee
* fix rpc tests
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-11-23 15:00:25 +00:00
Federico Kunze Küllmer
be8fd869ff
rpc: fix default signer ( #769 )
...
* rpc: fix default signer
* changelog
2021-11-22 16:39:25 +01:00
Federico Kunze Küllmer
d6a6bb5c9d
docs: update changelog ( #765 )
2021-11-19 01:17:53 +01:00
Jongwhan Lee
392d1dd8cf
rpc: eth_feeHistory
( #734 )
...
* Problem: missing json rpc of eth_feeHistory #685
add oracle backend
space ready
structure ok
refactoring
return feehistory
data flow ok
basefee
set gas used ratio
computing reward
add testing
add gas used
prepare data
fill reward
increase coin
fixing api
add mac
add launch
gas used ratio ok
print element
reward workes
reward working
fix panic
value correct
remove debugging log
tidy up
tidy up
remove oracle
tidy up
fix handler crash
add unit test
tidy up
add limit check
reformat
fix lint
fix lint
fix lint
fix lint
Update rpc/ethereum/backend/feebackend.go
thanks
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update rpc/ethereum/backend/feebackend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update rpc/ethereum/backend/feebackend.go
thanks
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update rpc/ethereum/backend/feebackend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
fix compile error
split lines
remove temporary string conversion
return error if gaslimit is 0
move OneFeeHistory to types
add comment
only err check
Update rpc/ethereum/backend/feebackend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update rpc/ethereum/backend/feebackend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
tidy up
add feehistory-cap
* Apply suggestions from code review
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-11-17 11:58:52 +00:00
yihuang
b7e8dd8216
fix: don't revert gas refund logic when transaction reverted ( #751 )
...
* fix gas consumption when reverted
Apply suggestions from code review
changelog
* comments
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-16 14:49:59 +00:00