Daniel Burckhardt
cad7ff66b0
analytics(app): update telemetry to Ethermint modules ( #1106 )
...
* analytics(evm): replace telemetry gauges with counters and add gasUsed counter
* analytics(feemarket): add telemetry gauges for base fee and block gas
* analytics(feemarket): add telemetry gauges for gas_used per gas_limit
* analytics(feemarket): remove refund telemetry
* analytics(app): update CHANGELOG
* remove unwanted change
* address PR comments
* update comment
2022-06-02 15:04:33 +02:00
Daniel Burckhardt
928e018aa9
impr(evm): add tx_type, gas and counter telemetry for ethereum txs ( #1101 )
...
* impr(evm): add tx_type, gas and counter telemetry for ethereum txs
* impr(evm): Add CHANGELOG
2022-05-30 10:24:29 +02: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
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
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
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
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
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
cda968bddd
evm, rpc: fix tx log attribute value is not parsable by some client ( #615 )
...
* Problem: tx log attribute value not parsable by some client
Closes : #614
Solution:
- encode the value to json string rather than bytes
Apply suggestions from code review
* rm cdc and changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-05 10:26:31 +00:00
yihuang
116de54617
evm: remove tx logs and block bloom from chain state ( #556 )
...
Closes #452
fix unit tests
changelog and fix lint
fix unit test
Update ethereum/rpc/backend/backend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update ethereum/rpc/backend/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-15 09:45:03 +00:00
Federico Kunze Küllmer
540bd79f7f
all: remove telemetry ( #545 )
2021-09-09 16:39:55 +00:00
Federico Kunze Küllmer
098da6d0cc
evm: code comments and cleanup ( #404 )
...
* evm: code comments and cleanup
* context comment
* abci, tx type event and metrics
* statedb comments
2021-08-05 16:24:06 +00:00
yihuang
297a35dbdd
evm: treat all vm errors the same as reverted ( #276 )
...
Closes : #274
evm: fix `ExtraEIP` activation (#288 )
Closes : #287
Update x/evm/types/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Add `Failed` utility function and changelog
2021-07-15 02:01:05 -04:00
Thomas Nguy
735f00d4a3
evm: store reverted tx as not failed ( #228 )
...
* add tx when evm revert
* add comment
* use cache ctx
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-08 08:14:11 +00:00
Federico Kunze Küllmer
5f1f252361
evm: TxData
as proto.Any
( #220 )
...
* evm: TxData as proto.Any
* proto message
* fix protobuf any generation
* Int pointer
* fix build and tests
* ante tests
* swagger
* cleanup
* c++
2021-07-05 16:39:08 +00:00
Federico Kunze
6000ab2098
chore: un-fork from cosmos ( #166 )
...
* chore: un-fork from cosmos
* rm LoC
2021-06-22 06:49:18 -04:00
Federico Kunze
5fe785e917
evm: stacktrace errors for keeper ( #105 )
...
* evm: stacktrace errors for keeper
* fix godoc
2021-06-11 10:29:28 -04:00
Federico Kunze
0c6e44d3d3
evm: remove CommitStateDB
, journal
and stateObject
( #84 )
...
* evm: remove CommitStateDB and stateObject
* imported build fixes
* lint
* rm set nonce
* update account response
* changelog
2021-06-08 13:10:29 -04:00
Federico Kunze
6eadc8fdf8
rpc, evm: remove tx Receipt
( #81 )
...
* rpc, evm: remove tc receipt
* rm receipt from gRPC query service
* update eth block
* update tx service response
* rpc tx fixes
* update bloom
* fix
* more fixes
* c++
2021-06-08 07:11:37 -04:00
Federico Kunze
abcfc9a6ba
evm: error and block hash map updates ( #60 )
...
* evm: error and block hash map updates
* evm: update tests
2021-05-31 10:54:59 -04:00
Federico Kunze
6c1e7fec01
app, ante, evm: Keeper
StateDB
refactor ( #30 )
...
* evm: keeper statedb refactor
* keeper: implement stateDB account, balance, nonce and suicide functions
* keeper: implement stateDB code and iterator functions
* keeper: implement stateDB log and preimage functions
* update code to use CommitStateDB
* tests updates
* journal changes (wip)
* cache fields
* journal and logs
* minor cleanup
* evm: remove journal related changes
* evm: delete empty account code and storage state
* app, evm: transient store
* ante, evm: refund gas transient
* evm: remove transient keeper state fields
* address comments from review
* evm: undo revision change
2021-05-25 08:56:36 -04:00
Federico Kunze
b3066f2631
evm: SDK metrics ( #24 )
...
* evm: SDK metrics
* update BeginBlock
* changelog
2021-05-14 17:44:58 -04:00
Federico Kunze
ba5bf33f19
proto, evm: use string for address and hash protobuf message fields ( #23 )
...
* proto, evm: use string for address and hash protobuf message fields
* fix tests
* msg test
2021-05-14 02:52:18 -04:00
Federico Kunze
117342b1b3
all, deps: bump go-ethereum version ( #5 )
...
* evm, rpc: access lists, JSON-RPC and transaction updates (wip)
* ante, evm, rpc: update signature verification
* evm: msg server and tests updates
* evm: tests (wip)
* evm: fix cdc and params
* evm: cleanup state transition
* fix nil cases
* lint
2021-05-10 12:34:00 -04:00
Federico Kunze
77be0bc022
cherry picks ethermint
2021-05-05 15:10:21 +02:00
Federico Kunze
6f7470c2e0
build
2021-04-18 19:23:26 +02:00
Federico Kunze
614e62fb7e
additions
2021-04-18 17:54:18 +02:00
Federico Kunze
5a3d514ba0
conflicts
2021-04-17 12:00:07 +02:00
Ray Pierre
75fb3ccb89
fix incorrect blockHash in evm ( #780 )
...
* Fix wrong blockHash value in evm
* fix ut
* store current block hash in BeginBlock
* update ut
* update comment
* add changelog
2021-03-18 20:04:29 -07:00
Federico Kunze
9cbb4dcf6d
stargate: migrate types ( #670 )
...
* changelog v0.4.0
* stargate: types changes
* msg and handler changes
* validation
* fixes
* more fixes
* more test fixes
* changelog
* changelog
* lint
* rm comment
* lint
* redundant if condition
2021-01-06 17:56:40 -03:00