* (refactor): Added new MsgUpdateParams tx and generated new proto files
* (refactor): Refactor for migration of x/params
* (fix): Refactor to use single Params store key for easier more readable code
* (fix): removed unused
* (fix): add validation
* (fix): fix linter
* remove line
* Added changes from code review
* Apply changes from code review
* (fix): Made ParamKey back to a string
* Added CHANGELOG entry
* Apply suggestions from code review
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>
* (fix): remove HTTP endpoint exposure
* Apply suggestions from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
* fix: Apply changes from code review and run linter
* Update x/feemarket/keeper/params.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/feemarket/types/msg.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* tests: added tests for msg_server and msg
* tests: add failing test for migration
* Update x/feemarket/keeper/params.go
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* (refactor): Migrated to new Typed Events
* (fix): fixed tests and initialized the logs array in the proto message
* Added CHANGELOG entry
* (refactor): Made migration to Typedevent to feemarket module
* (fix): replace error returning with error logging.
* fix: linter and formatter
* fix: handle error by logging it
* fix: ran formatter and linter
* Apply suggestions from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
* fix: increase sleep time to 5s initially
* fix: comment out failing tests to investigate in a separate PR
* fix: update timeout to 10 minutes
* fix: added 15 min timeout
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* imp(evm): Migrate from old Cosmos SDK params module to new way of keeping params in module Keeper
* Updated changelog
* Apply changes from code review
* (impv): Added Shanghai and Cancun blocks to current types and latest migration
* (tests): Update unit tests to include Shanghai and Cancun blocks
* (fix) - ran golangci-lint on the entire project
* (fix) - remove deprecated params method
* (impv): added marshaling of booleans per individual param key
* (impv): added individual param getting and setting
* (impv): replaced getters with individual param
* (impv): added amino codec for MsgEthereumTx
* Added changes suggested in code review
* (fix): updated the migration files for v4
* (fix): fixed unit tests panic for incorrect interface
* (fix): updated module msg handler
* (fix): rename to original params getter method
* (refactor): registered implementation for the new msg
* (refactor): added correct amino codec for MsgUpdateParams and removed for MsgEthTx
* Applied changes from code review
* (fix): removed unnecessary duplicate
* (fix): removed params_legacy from the types and moved logic to migration
* (fix): Added v4 mocks to the migrations_test
* (fix): undo all the non related work regarding the Cancun and Shanghai blocks
* (fix): reverted linting the entire project - will make a separate PR for it
* Applied changes from review
* Applied changes from code review
* (fix): removed comments
* (fix): Ran formatter and fixed linting issues on unsed functions
* (fix): Linting issues resolved
* (fix): refactor migrations and added default EIPs
* (fix): Combined into one call
* (fix): Added more straightforward way to handle migration
* (fix): corrected migration test
* Applied changes from code review
* (fix): Linter fix
* (fix): Linter
* (fix): Lint proto files
* Apply suggestions from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
* (fix): Added new block to migration
* (fix): Added additional comments and formatted proto files
* (fix): Added name to unit test cases
* (fix): removed unused import
* Apply changes from code review
* (fix): typo
* (fix): remove HTTP endpoint exposure
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* applied changes from code review
* fix: extra line added in merge removed
* fix: applied changes from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* (refactor): Added Cancun and Shanghai blocks to ChainConfig
* (tests): Added test for invalid Shanghai and Cancun block
* (fix): ran proto linter
* Applied changes from code review
* Added CHANGELOG entry
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* add protolint yaml
* Update .protolint.yml with Evmos settings
* Add super-linter.yml for GH action
* Copy .markdownlint.yml settings from Evmos
* Sort proto imports
* address protolint error in all Protobuf files
* update Makefile to mirror Proto commands for Evmos
* remove unnecessary go get command in protocgen.sh when using cosmos docker image
* copy .clang-format from Evmos repo
* apply make proto-format
* Execute make proto-all after changes to config are complete
* address last linter comment
* Update proto make commands to use cosmos docker image and add notes for possible problems
* Apply make proto-all with new docker container
* Remove stale DOCKER_BUF variable
* Revert to using the tendermintdev/sdk-proto-gen docker image
* remove '@' in proto-lint and proto-check-breaking for consistency with other commands
* Remove unnecessary go get from protocgen.sh (only works after adding --network host to docker run)
* Add --network host to docker run for compatibility on linux
* use cosmos/proto-builder docker image for proto-format because clang-format is not installed on tendermintdev/sdk-proto-gen
* update swagger docs after recent additions to evm.proto in #1413
Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com>
* fix: chain-id in grpc query is not initialized without abci event
Closes: #1404
Solution:
- pass the chain-id from caller.
* Update CHANGELOG.md
* only override if input is not empty
* add comment to chain id
* pass chain-id to state transition
* Update x/evm/keeper/grpc_query.go
* Apply suggestions from code review
* fix golang lint
* update gomod2nix.toml
* fix unit tests
* update gomod2nix
* api breaking changelog
* add unit tests, and fix TraceBlock by the way
* Update CHANGELOG.md
* test --grpc-only mode in integration tests
* remove tmp var
* Update tests/integration_tests/test_grpc_only.py
* Update x/evm/keeper/grpc_query_test.go
Co-authored-by: mmsqe <tqd0800210105@gmail.com>
* fix linters
* fix nil pointer in tests
* fix conflicts
* fix conflicts
* fixes
* fix lint
* fix unit test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mmsqe <tqd0800210105@gmail.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Delete local copy of third party proto files
* Update protocgen script and buf yaml files to mirror cosmos-sdk
* Update makefile commands for proto-gen and proto-swagger-gen to correctly use docker
* Commit changed .pb.go files after updating the protogen scripts
* Adjust grep in proto-tools-installer script to look for correct gogoproto replacement
* address reviews - remove unnecessary ignore in buf.yaml and cosmos-sdk download in the protocgen script
* remove proto-update-deps from makefile as we don't store local copies of third party protofiles anymore
* Add changelog entry
* Update protoc-swagger-gen.sh
* Remove third party queries from swagger-ui config (for now)
* fix integrations tests
* fix dead changelog links (markdown-link-check)
Co-authored-by: Freddy Caceres <facs95@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Store eth tx index separately
Closes: #1075
Solution:
- run a optional indexer service
- adapt the json-rpc to the more efficient query
changelog
changelog
fix lint
fix backward compatibility
fix lint
timeout
better strconv
fix linter
fix package name
add cli command to index old tx
fix for loop
indexer cmd don't have access to local rpc
workaround exceed block gas limit situation
add unit tests for indexer
refactor
polish the indexer module
Update server/config/toml.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
improve comments
share code between GetTxByEthHash and GetTxByIndex
fix unit test
Update server/indexer.go
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Apply suggestions from code review
* test enable-indexer in integration test
* fix go lint
* address review suggestions
* fix linter
* address review suggestions
- test indexer in backend unit test
- add comments
* fix build
* fix test
* service name
Co-authored-by: Freddy Caceres <facs95@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Problem: feemarket's query cli has redundant height parameter
Soluton:
- remove the positional height parameter, since there's a flag already.
Update CHANGELOG.md
* Apply feemarket to native cosmos tx
- add tx extension option for user to input tip price
- apply feemarket's base fee to native tx
comments and cleanup
fallback to default sdk logic when london hardfork not enabled
integration test
cleanup feemarket query cli commands
Update CHANGELOG.md
update unit tests
disable feemarket in simulation tests for now
fix lint
Update app/simulation_test.go
fix python lint
fix lint
Update x/evm/types/extension_option.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
address review suggestions
* fix unit tests
* fix integration test
* improve unit test coverage
* fix go lint
* refactor
* fix integration test
* fix simulation tests
* fix go linter
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Fix eth tx hashes in json-rpc responses
Closes: #1175
- Remove Size_ field
- Validate From/Hash fields in ante handler
- Recompute tx hashes in json-rpc apis to cope with old blocks
Update CHANGELOG.md
remove Size_, validate Hash/From, add unit tests
update spec
Update CHANGELOG.md
Update app/ante/eth.go
populate From in SendRawTransaction
Apply suggestions from code review
keep Size_ field to avoid breaking tx format
* move some validation to ValidateBasic
* move validation to ValidateBasic
* make ToTransaction returns a valid msg
* restructure the protoTxProvider check
* add comment
* workaround tx hash issue in event parsing
* fix integration test
* fix unit test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Add min_gas_price to feemarket params
* Add MinGasPriceDecorators
* feemarket integration tests for MinGasPrice
* Restructure integration tests
* Simplify integration tests context
We use DeliverTx context to set up the app, otherwise not all settings are initialized.
We test CheckTx with `s.app.BaseApp.CheckTx(req)`, which uses the `CheckTx` mode and context.
* Update MinGasPrice spec in feemarket module
* reorder ethermint module order for initializing genesis
* feemarket migrations for adding MinGasPrice param
* update changelog
* Additional unit tests for MinGasPrice = 0, tx gas price > 0 (PR review)
https://github.com/tharsis/ethermint/pull/1104#discussion_r884991661
* Use 0 MinGasPrice for transaction simulations
* Fix duplicate registration of feemarket GenesisState and Params (PR review)
https://github.com/tharsis/ethermint/pull/1104#issuecomment-1141893712
* min gas denominator implementation
* update changelog
* modify MinGasDenominator type to sdk.Dec
* fix typo in comments
* add comments
* update comment
* refactor logic
* remove unnecesary test
* fix typo on proto
* rename param
* fix tests
* use truncate and run mod tidy
* comment to default value
* update changelog
* rename temporary gas used
* integration tests
* add migrations
* add default as var
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Closes: #868
Solution:
- contract address in receipt should only be the newly created contract
- fix the order of operations in state transition
- compute contract address in `ApplyTransaction` on the fly
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* do binary search to estimate gas
Closes#268
- Also refactor ApplyMessage to be more reuseable
move binary search to rpc api side to have a clean context each try
remove EstimateGas grpc api
* extract BinSearch function and add unit test
* do estimateGas in grpc query
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>