Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: IBC attestation ordering #505

Merged
merged 25 commits into from Apr 21, 2022
Merged

Conversation

fedekunze
Copy link
Contributor

@fedekunze fedekunze commented Apr 19, 2022

Description

Closes: ENG-192


All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

PR review checkboxes:

I have...

  • added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • included the correct type prefix in the PR title
  • targeted the correct branch (see PR Targeting)
  • provided a link in the PR description to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all required CI checks have passed

Code maintenance:

I have...

  • written unit and integration tests
  • added relevant godoc and code comments.
  • updated relevant documentation (docs/) or specification (x/<module>/spec/)

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • confirmed that this PR does not change production code

@fedekunze fedekunze added the backport/3.0.x PR scheduled for inclusion in the v3.0's next stable release label Apr 19, 2022
@lgtm-com
Copy link

lgtm-com bot commented Apr 19, 2022

This pull request introduces 1 alert when merging 3227220 into 6bf8829 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@codecov
Copy link

codecov bot commented Apr 20, 2022

Codecov Report

Merging #505 (f9784c1) into main (0d16f15) will increase coverage by 0.03%.
The diff coverage is 100.00%.

❗ Current head f9784c1 differs from pull request most recent head 211afd4. Consider uploading reports for the commit 211afd4 to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #505      +/-   ##
==========================================
+ Coverage   81.01%   81.04%   +0.03%     
==========================================
  Files         116      116              
  Lines        6415     6426      +11     
==========================================
+ Hits         5197     5208      +11     
  Misses       1060     1060              
  Partials      158      158              
Impacted Files Coverage Δ
x/claims/keeper/ibc_callbacks.go 97.77% <100.00%> (+0.19%) ⬆️

@lgtm-com
Copy link

lgtm-com bot commented Apr 20, 2022

This pull request introduces 1 alert when merging ee521d4 into de0a4df - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 20, 2022

This pull request introduces 1 alert when merging 2219893 into a722946 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 20, 2022

This pull request introduces 1 alert when merging 5457200 into 72ec2c8 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@linear
Copy link

linear bot commented Apr 20, 2022

ENG-192 Fix ordering of IBC claims

For the 2nd case in IBC attestations, a user was able to migrate the claim record from the store before the ClaimAmountForAction was called, allowing them to perform unlimited migrations of claims records.

Relevant code:

https://github.com/tharsis/evmos/blob/rama/claims_recovery/x/claims/keeper/ibc_callbacks.go#L98-L108

The fix is to change the ordering of the code so that the ClaimAmountForAction is called before the record is migrated.

TODOs:

  • Change logic
  • Fix broken tests
  • Add tests to prevent that the records can only be migrated if the IBCTransfer action is not completed

PR: #505

@lgtm-com
Copy link

lgtm-com bot commented Apr 20, 2022

This pull request introduces 1 alert when merging 418053f into 72ec2c8 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 20, 2022

This pull request introduces 1 alert when merging c6329b9 into 72ec2c8 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 21, 2022

This pull request introduces 1 alert when merging 1c2bcb4 into 72ec2c8 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 21, 2022

This pull request introduces 1 alert when merging daa0e9f into 0d16f15 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@lgtm-com
Copy link

lgtm-com bot commented Apr 21, 2022

This pull request introduces 1 alert when merging f3ccd5e into 0d16f15 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

@danburck danburck marked this pull request as ready for review April 21, 2022 15:16
Copy link
Contributor Author

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, pending changelog entry

@fedekunze fedekunze enabled auto-merge (squash) April 21, 2022 15:25
@danburck
Copy link
Contributor

Approved, based on Fede's review confirmed on slack

@danburck danburck disabled auto-merge April 21, 2022 15:34
@danburck danburck enabled auto-merge (squash) April 21, 2022 15:34
@danburck danburck merged commit a8b8060 into main Apr 21, 2022
@danburck danburck deleted the fedekunze/update-ordering-claims branch April 21, 2022 15:39
mergify bot pushed a commit that referenced this pull request Apr 21, 2022
* fix: remove SpendableCoins from vesting

* fix: IBC attestation ordering and completed checks

* update

* tests

* Added case for deactivated claims params

* check sender claim deletion on tests

* Some ordering of unit tests to match callback checks

* split ibc callback tests into two files and add noop test for sender record found with ibc action already claimed

* uncomment ibc tests

* add test coverage for OnAcknowledgementPacket Keeper suite

* add case 2 test with insufficient escowed funds and reorder tests, so that the fails tests come first in each case

* uncomment ibc tests

* uncomment ibc tests

* rename SetupClaimTest to SetupTestWithEscrow

* Testing for migration when IBC action is false

* reordered TestOnAcknowledgementPacketIBC tests

* reorder and rename ibc callback ibc suite tests

* add CHANGELOG

* fix comments

Co-authored-by: Prosper Onogberie <sirpros@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
(cherry picked from commit a8b8060)

# Conflicts:
#	CHANGELOG.md
@lgtm-com
Copy link

lgtm-com bot commented Apr 21, 2022

This pull request introduces 1 alert when merging 211afd4 into 0d16f15 - view on LGTM.com

new alerts:

  • 1 for Useless assignment to local variable

danburck added a commit that referenced this pull request Apr 24, 2022
* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* ci: update mergify (#489) (#490)

(cherry picked from commit 4ff7123)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* release: v3.0.0 cherry-picks (#501)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* misc: changelog and fix test (#460)

* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#463)

* [ENG-128] Fee distribution - fees v1 proto and types (#461)

* x/fees v1 proto and types

* x/fees - PR review fixes

#461 (review)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* update testnet docs (#465)

* [ENG-128] Fee distribution - types tests (#464)

* x/fees - add unit tests for params & msg

* x/fees - add genesis unit tests

* x/fees - add unit tests for types/fee

* x/fees - 0 address unit test

* x/fees - testing setup changes (PR review)

#464 (review)

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* vesting: use coins.Min from Cosmos SDK (#468)

* vesting: use coins.Min from Cosmos SDK

* changelog

* docs: x/recovery module spec (#467)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>

* docs: fix recovery spec titles (#470)

* [ENG-128] Fee distribution - add keeper code (#469)

* x/fees - add keeper code

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees keeper - address PR review

* x/fees return nil if evm config not found in PostTxProcessing

#469 (comment)

* Update x/fees/keeper/evm_hooks.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees - add BuildFeeInfo helper, use EVM params not config (PR review)

#469 (comment)
#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - add cli commands for queries and transactions (#471)

* build(deps): bump actions/setup-go from 2 to 3 (#474)

* build(deps): bump actions/setup-go from 2 to 3

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Apply suggestions from code review

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump actions/stale from 4 to 5 (#473)

Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* impr(vesting): Remove unused vesting functions (ENG-146) (#480)

* impr(vesting): remove TransferUnbonding and TransferDelegation

* impr(vesting): fix linter issues

* docs: use evmos swagger instead of ethermint (#477)

* use evmos swagger instead of ethermint

* ignore lint

Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - x/fees (#436)

* x/fees module initial setup

* x/fees scaffold fee registration for a contract

* x/fees distribute to developers part of gasLimit * baseFee

* x/fees - test that developer fee distribution is correct

* x/fees temporarily use custom ethermint version

* x/fees - remove change to PostTxProcessing hook

* Update go.sum for genproto

* x/fees - add feeCollectorName as argument when initializing the keeper

Also fix address format for withdrawal

* x/fees address PR review, refactor proto, fix validations

* x/fees - contract registration and tests, better proto defs

* Update dependencies

* fees module - rename for clarity

* x/fees add reverse mapping

* x/fees - check contract is deployed before registering + test

* Split full transaction fees between validators and developers

- supports all transaction types

* x/fees - address PR review: rename "percentage" to "shares", add validation checks

#436 (review)

* x/fees disable by default, add params test

* x/fees - rename "FeeContract" to "DevFeeInfo"

* x/fees - rename for clarity

* Update temporary ethermint dependency

* x/fees - make withdrawal address default to deployer address

* x/fees - fix iterators, remove redundant pointer (PR review)

* x/fees - fix error, add debug log (PR review)

* x/fees - withdrawal address empty if not set, additional checks, tests (PR review)

#436 (review)
- leave withdrawal address empty if not set, instead of returning the deployer's address
- additional validation checks
- check deployer account exists and not a contract
- update tests

* Update x/fees/genesis.go (PR review)

#436 (review)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* x/fees - if withdraw == deployer, withdraw stored as empty string

As discussed in #464 (comment)

* Fix comments

* Remove redundant go.sum entries

* x/fees - remove redundant code, add comments (PR review)

Addressing PR review #436 (review)

* x/fees - additional tests

* test comments

* x/fees - add integration tests for factory-created contracts

* x/fees - check fee collector balance in integration tests

* x/fees - add cli commands to module.go (PR review)

Addressing #436 (comment)

* x/fees - simplify integration tests

* x/fees - additional integration tests (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use one denomination (PR review)

Addressing #436 (comment)

* x/fees - integration tests - remove redundant code (PR review)

Addressing part of #436 (review)

* x/fees - integration tests - rearrange to respect BDD principles (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use NewAddrKey to generate addresses (PR review)

Addressing #436 (comment)

* x/fees - integration tests - code style changes

* x/fees - consume gas for each address derivation at registration

* x/fees - fix tx proto names (PR review)

Addressing #436 (comment)
fee_contract -> dev_fee_info

* x/fees - add AddrDerivationCostCreate to params (PR review)

Addressing #436 (comment)

* x/fees - fix param types test

* Update CHANGELOG.md

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: recovery spec fixes (#476)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

* I made adjustment suggested...re assigned the page numbers, change client CLI and gRPC to H2 and queies to H4

* Removed repeat files from merge conflict

* Fixes from comments on PR

* Fixes from comments on PR

* More fix for table alignments

* More updates for recovery spec

* More updates for recovery spec

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* spec: fee distribution module (#481)

* Distribution module spec

* x/fees - update spec

- added new concepts
- added missing state table
- addressing spec reviews

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees spec - tables align left (PR review)

#481 (comment)

* x/fees - adding a "Future Improvements" section

* x/fees spec - small fix

* Update x/fees/spec/09_improvements.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix: clawback before vesting start time (#483)

* fix: clawback before vesting start time

* types test

* changelog

* imp: bump `x/erc20` test coverage (#482)

* add evm and evmhooks tests

* more test coverage

* fix todo

* pr comments

* check error on hooks

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: add security recommendations to mainnet join.md (#485)

* [ENG-177] Avoid unnecessary commits to StateDB (#484)

* add evm and evmhooks tests

* more test coverage

* fix todo

* dont commit queries

* pr comments

* unsaved files

* changelog

* imp: refactor vesting types and tests (#486)

* imp: refactor vesting types and tests

* update tests

* changelog

* update proto

* ci: update mergify (#489)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>

* fix: remove `SpendableCoins` from vesting (backport #502) (#503)

* fix: remove `SpendableCoins` from vesting (#502)

* fix: remove SpendableCoins from vesting

* changelog

(cherry picked from commit 6bf8829)

# Conflicts:
#	CHANGELOG.md
#	x/vesting/keeper/msg_server.go

* conflicts

* 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>

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (backport #478) (#506)

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (#478)

* deps: bump cosmos-sdk to v0.45.3

* changelog

* bump ethermint

* changelog

(cherry picked from commit 898159a)

# Conflicts:
#	CHANGELOG.md

* 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>

* [ENG-188] Claims grpc (backport #507) (#508)

* [ENG-188] Claims grpc (#507)

(cherry picked from commit de0a4df)

# Conflicts:
#	CHANGELOG.md

* fix changelog

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* tests(inflation): add integration tests for when chain resumes from being offline (ENG-186) (#509) (#511)

* Revert "imp: only delete records at the end of the claims period" (#512) (#513)

(cherry picked from commit a722946)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* impr(claims): move claimsRecords deletion out of iteration (#514) (#515)

* impr(claims): move claimsRecords deletion out of iteration

* refactor with testutil.FundModuleAccount()

* get balance instead of balances

* add test for claiming back multiple empty accounts

(cherry picked from commit 72ec2c8)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* impr(claims): Retain claims records when all actions have been completed (backport #516) (#517)

* impr(claims): Retain claims records when all actions have been completed (#516)

* impr(claims): retain tests when claimsRecord.HasClaimedAll is true

* add testcase: claimed all actions - with IBC as last action

* add tests for case 3 where ibc is the last action

* impr(claims): add evm channel to default authorized channels in params

* impr(claims): add CHANGELOG

* impr(claims): add test with EVM channel that is not authorized

* impr(claims): update specs

* remove EVM channel from authorized channels in DefualtParams() and adjust tests

(cherry picked from commit 0d16f15)

# Conflicts:
#	CHANGELOG.md

* resolve conflicts

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* fix: IBC attestation ordering (backport #505) (#519)

* changelog

* fix: update store loader

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
mergify bot pushed a commit that referenced this pull request Apr 24, 2022
* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* ci: update mergify (#489) (#490)

(cherry picked from commit 4ff7123)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* release: v3.0.0 cherry-picks (#501)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* misc: changelog and fix test (#460)

* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#463)

* [ENG-128] Fee distribution - fees v1 proto and types (#461)

* x/fees v1 proto and types

* x/fees - PR review fixes

#461 (review)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* update testnet docs (#465)

* [ENG-128] Fee distribution - types tests (#464)

* x/fees - add unit tests for params & msg

* x/fees - add genesis unit tests

* x/fees - add unit tests for types/fee

* x/fees - 0 address unit test

* x/fees - testing setup changes (PR review)

#464 (review)

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* vesting: use coins.Min from Cosmos SDK (#468)

* vesting: use coins.Min from Cosmos SDK

* changelog

* docs: x/recovery module spec (#467)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>

* docs: fix recovery spec titles (#470)

* [ENG-128] Fee distribution - add keeper code (#469)

* x/fees - add keeper code

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees keeper - address PR review

* x/fees return nil if evm config not found in PostTxProcessing

#469 (comment)

* Update x/fees/keeper/evm_hooks.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees - add BuildFeeInfo helper, use EVM params not config (PR review)

#469 (comment)
#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - add cli commands for queries and transactions (#471)

* build(deps): bump actions/setup-go from 2 to 3 (#474)

* build(deps): bump actions/setup-go from 2 to 3

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Apply suggestions from code review

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump actions/stale from 4 to 5 (#473)

Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* impr(vesting): Remove unused vesting functions (ENG-146) (#480)

* impr(vesting): remove TransferUnbonding and TransferDelegation

* impr(vesting): fix linter issues

* docs: use evmos swagger instead of ethermint (#477)

* use evmos swagger instead of ethermint

* ignore lint

Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - x/fees (#436)

* x/fees module initial setup

* x/fees scaffold fee registration for a contract

* x/fees distribute to developers part of gasLimit * baseFee

* x/fees - test that developer fee distribution is correct

* x/fees temporarily use custom ethermint version

* x/fees - remove change to PostTxProcessing hook

* Update go.sum for genproto

* x/fees - add feeCollectorName as argument when initializing the keeper

Also fix address format for withdrawal

* x/fees address PR review, refactor proto, fix validations

* x/fees - contract registration and tests, better proto defs

* Update dependencies

* fees module - rename for clarity

* x/fees add reverse mapping

* x/fees - check contract is deployed before registering + test

* Split full transaction fees between validators and developers

- supports all transaction types

* x/fees - address PR review: rename "percentage" to "shares", add validation checks

#436 (review)

* x/fees disable by default, add params test

* x/fees - rename "FeeContract" to "DevFeeInfo"

* x/fees - rename for clarity

* Update temporary ethermint dependency

* x/fees - make withdrawal address default to deployer address

* x/fees - fix iterators, remove redundant pointer (PR review)

* x/fees - fix error, add debug log (PR review)

* x/fees - withdrawal address empty if not set, additional checks, tests (PR review)

#436 (review)
- leave withdrawal address empty if not set, instead of returning the deployer's address
- additional validation checks
- check deployer account exists and not a contract
- update tests

* Update x/fees/genesis.go (PR review)

#436 (review)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* x/fees - if withdraw == deployer, withdraw stored as empty string

As discussed in #464 (comment)

* Fix comments

* Remove redundant go.sum entries

* x/fees - remove redundant code, add comments (PR review)

Addressing PR review #436 (review)

* x/fees - additional tests

* test comments

* x/fees - add integration tests for factory-created contracts

* x/fees - check fee collector balance in integration tests

* x/fees - add cli commands to module.go (PR review)

Addressing #436 (comment)

* x/fees - simplify integration tests

* x/fees - additional integration tests (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use one denomination (PR review)

Addressing #436 (comment)

* x/fees - integration tests - remove redundant code (PR review)

Addressing part of #436 (review)

* x/fees - integration tests - rearrange to respect BDD principles (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use NewAddrKey to generate addresses (PR review)

Addressing #436 (comment)

* x/fees - integration tests - code style changes

* x/fees - consume gas for each address derivation at registration

* x/fees - fix tx proto names (PR review)

Addressing #436 (comment)
fee_contract -> dev_fee_info

* x/fees - add AddrDerivationCostCreate to params (PR review)

Addressing #436 (comment)

* x/fees - fix param types test

* Update CHANGELOG.md

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: recovery spec fixes (#476)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

* I made adjustment suggested...re assigned the page numbers, change client CLI and gRPC to H2 and queies to H4

* Removed repeat files from merge conflict

* Fixes from comments on PR

* Fixes from comments on PR

* More fix for table alignments

* More updates for recovery spec

* More updates for recovery spec

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* spec: fee distribution module (#481)

* Distribution module spec

* x/fees - update spec

- added new concepts
- added missing state table
- addressing spec reviews

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees spec - tables align left (PR review)

#481 (comment)

* x/fees - adding a "Future Improvements" section

* x/fees spec - small fix

* Update x/fees/spec/09_improvements.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix: clawback before vesting start time (#483)

* fix: clawback before vesting start time

* types test

* changelog

* imp: bump `x/erc20` test coverage (#482)

* add evm and evmhooks tests

* more test coverage

* fix todo

* pr comments

* check error on hooks

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: add security recommendations to mainnet join.md (#485)

* [ENG-177] Avoid unnecessary commits to StateDB (#484)

* add evm and evmhooks tests

* more test coverage

* fix todo

* dont commit queries

* pr comments

* unsaved files

* changelog

* imp: refactor vesting types and tests (#486)

* imp: refactor vesting types and tests

* update tests

* changelog

* update proto

* ci: update mergify (#489)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>

* fix: remove `SpendableCoins` from vesting (backport #502) (#503)

* fix: remove `SpendableCoins` from vesting (#502)

* fix: remove SpendableCoins from vesting

* changelog

(cherry picked from commit 6bf8829)

# Conflicts:
#	CHANGELOG.md
#	x/vesting/keeper/msg_server.go

* conflicts

* 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>

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (backport #478) (#506)

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (#478)

* deps: bump cosmos-sdk to v0.45.3

* changelog

* bump ethermint

* changelog

(cherry picked from commit 898159a)

# Conflicts:
#	CHANGELOG.md

* 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>

* [ENG-188] Claims grpc (backport #507) (#508)

* [ENG-188] Claims grpc (#507)

(cherry picked from commit de0a4df)

# Conflicts:
#	CHANGELOG.md

* fix changelog

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* tests(inflation): add integration tests for when chain resumes from being offline (ENG-186) (#509) (#511)

* Revert "imp: only delete records at the end of the claims period" (#512) (#513)

(cherry picked from commit a722946)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* impr(claims): move claimsRecords deletion out of iteration (#514) (#515)

* impr(claims): move claimsRecords deletion out of iteration

* refactor with testutil.FundModuleAccount()

* get balance instead of balances

* add test for claiming back multiple empty accounts

(cherry picked from commit 72ec2c8)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* impr(claims): Retain claims records when all actions have been completed (backport #516) (#517)

* impr(claims): Retain claims records when all actions have been completed (#516)

* impr(claims): retain tests when claimsRecord.HasClaimedAll is true

* add testcase: claimed all actions - with IBC as last action

* add tests for case 3 where ibc is the last action

* impr(claims): add evm channel to default authorized channels in params

* impr(claims): add CHANGELOG

* impr(claims): add test with EVM channel that is not authorized

* impr(claims): update specs

* remove EVM channel from authorized channels in DefualtParams() and adjust tests

(cherry picked from commit 0d16f15)

# Conflicts:
#	CHANGELOG.md

* resolve conflicts

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* fix: IBC attestation ordering (backport #505) (#519)

* changelog

* fix: update store loader

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
(cherry picked from commit 5c2b541)

# Conflicts:
#	CHANGELOG.md
#	client/docs/statik/statik.go
fedekunze added a commit that referenced this pull request Apr 25, 2022
* fix: update store loader (#523)

* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* ci: update mergify (#489) (#490)

(cherry picked from commit 4ff7123)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* release: v3.0.0 cherry-picks (#501)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* misc: changelog and fix test (#460)

* release: v3.0.0 changelog (#433)

* release: v3.0.0-beta1 (#459)

* docs: governance (#431)

* docs: governance

* docs updates

* revert

* revert

* fix: docs build (#434)

* add UML diagrams

* rm tx flow

* build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 (#438)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* imp: remove unnecesary unpack public key (#440)

* docs: update testnet docs (#442)

* ENG-109 - impr(claims): remove claims merge/migrate cases where sender already completed an action as they are never reached (#443)

* impr(claims): remove claims merge/migrate cases where sender alreayd completed an action as they are never reached

* add CHANGELOG

* fix changelog

* impr(claims): address PR comments

* docs: add warnings for `keyring-backend test` (#444)

* docs: add warnings for keyring-backend test

* fix lint

* deps: bump ethermint to v0.12.1 (#445)

* impr(init.sh): remove increased blocktime (#447)

* audit(recovery): api and state machine (#439)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* impr(claims): address PR comments

* impr(claims): address PR comments

* impr(claims): address PR comments

* go mod tidy

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* imp: recovery fail transfer tests (#450)

* audit(recovery): improve comments and move GetIBCDenomDestinationIdentifiers method

* audit(recovery): refactor ibc_callback to use recipient where sender == recipient

* audit(recovery): remove pubkey nil check

* cleanup

* dont redeclare err

* Add fail transfer cases

* add case

* delete comment

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* tests(recovery): add genesis and partial recovery tests (#451)

* add partial recovery test

* tests(recovery): add genesis_test

* build(deps): bump github.com/tharsis/ethermint from 0.12.1 to 0.12.2 (#452)

* integration(recovery): add behaviour driven tests (#453)

* add bdd test structure

* start replacing tests

* refactor 3 chain cases

* add claims no merge case and clean up

* address comments

* deps: bump Cosmos SDK to v0.45.2 (#457)

* deps: bump Cosmos SDK to v0.45.2

* changelog

* fix

* fix: v3 migration (#446)

* fix: v3 migration

* fix

* fix

* fix 2

* fix empty basefee

* upgrade ethermint

* dont force migration

* [ENG-139] add v3testnet migrator (#456)

* add v3testnet migrator

* fix lint

* address comments

* set store loader

* add constants

* forced upgrade code

* Update app/forks.go

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* changelog

* fix comment

* remove existing modules from upgrade

* rm TODO

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* deps: bump ethermint to v0.13.0 (#458)

* deps: bump ethermint to v0.13.0

* changelog

* fix

* changelog

* fix lint

* fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>

* build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#463)

* [ENG-128] Fee distribution - fees v1 proto and types (#461)

* x/fees v1 proto and types

* x/fees - PR review fixes

#461 (review)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* update testnet docs (#465)

* [ENG-128] Fee distribution - types tests (#464)

* x/fees - add unit tests for params & msg

* x/fees - add genesis unit tests

* x/fees - add unit tests for types/fee

* x/fees - 0 address unit test

* x/fees - testing setup changes (PR review)

#464 (review)

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* vesting: use coins.Min from Cosmos SDK (#468)

* vesting: use coins.Min from Cosmos SDK

* changelog

* docs: x/recovery module spec (#467)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>

* docs: fix recovery spec titles (#470)

* [ENG-128] Fee distribution - add keeper code (#469)

* x/fees - add keeper code

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees keeper - address PR review

* x/fees return nil if evm config not found in PostTxProcessing

#469 (comment)

* Update x/fees/keeper/evm_hooks.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees - add BuildFeeInfo helper, use EVM params not config (PR review)

#469 (comment)
#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - add cli commands for queries and transactions (#471)

* build(deps): bump actions/setup-go from 2 to 3 (#474)

* build(deps): bump actions/setup-go from 2 to 3

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Apply suggestions from code review

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump actions/stale from 4 to 5 (#473)

Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* impr(vesting): Remove unused vesting functions (ENG-146) (#480)

* impr(vesting): remove TransferUnbonding and TransferDelegation

* impr(vesting): fix linter issues

* docs: use evmos swagger instead of ethermint (#477)

* use evmos swagger instead of ethermint

* ignore lint

Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* [ENG-128] Fee distribution module - x/fees (#436)

* x/fees module initial setup

* x/fees scaffold fee registration for a contract

* x/fees distribute to developers part of gasLimit * baseFee

* x/fees - test that developer fee distribution is correct

* x/fees temporarily use custom ethermint version

* x/fees - remove change to PostTxProcessing hook

* Update go.sum for genproto

* x/fees - add feeCollectorName as argument when initializing the keeper

Also fix address format for withdrawal

* x/fees address PR review, refactor proto, fix validations

* x/fees - contract registration and tests, better proto defs

* Update dependencies

* fees module - rename for clarity

* x/fees add reverse mapping

* x/fees - check contract is deployed before registering + test

* Split full transaction fees between validators and developers

- supports all transaction types

* x/fees - address PR review: rename "percentage" to "shares", add validation checks

#436 (review)

* x/fees disable by default, add params test

* x/fees - rename "FeeContract" to "DevFeeInfo"

* x/fees - rename for clarity

* Update temporary ethermint dependency

* x/fees - make withdrawal address default to deployer address

* x/fees - fix iterators, remove redundant pointer (PR review)

* x/fees - fix error, add debug log (PR review)

* x/fees - withdrawal address empty if not set, additional checks, tests (PR review)

#436 (review)
- leave withdrawal address empty if not set, instead of returning the deployer's address
- additional validation checks
- check deployer account exists and not a contract
- update tests

* Update x/fees/genesis.go (PR review)

#436 (review)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* x/fees - if withdraw == deployer, withdraw stored as empty string

As discussed in #464 (comment)

* Fix comments

* Remove redundant go.sum entries

* x/fees - remove redundant code, add comments (PR review)

Addressing PR review #436 (review)

* x/fees - additional tests

* test comments

* x/fees - add integration tests for factory-created contracts

* x/fees - check fee collector balance in integration tests

* x/fees - add cli commands to module.go (PR review)

Addressing #436 (comment)

* x/fees - simplify integration tests

* x/fees - additional integration tests (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use one denomination (PR review)

Addressing #436 (comment)

* x/fees - integration tests - remove redundant code (PR review)

Addressing part of #436 (review)

* x/fees - integration tests - rearrange to respect BDD principles (PR review)

Addressing #436 (comment)

* x/fees - integration tests - use NewAddrKey to generate addresses (PR review)

Addressing #436 (comment)

* x/fees - integration tests - code style changes

* x/fees - consume gas for each address derivation at registration

* x/fees - fix tx proto names (PR review)

Addressing #436 (comment)
fee_contract -> dev_fee_info

* x/fees - add AddrDerivationCostCreate to params (PR review)

Addressing #436 (comment)

* x/fees - fix param types test

* Update CHANGELOG.md

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: recovery spec fixes (#476)

* Created empty documents with title names

* Added all spec content to their various .md sections

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added atable modificaions

* Added a table modificaions

* Added complete content for clients

* Added complete content for clients

* Made updates based on reviews

* More updates from reviews

* Update x/recovery/spec/03_hooks.md

* fix lint

* update events

* I made adjustment suggested...re assigned the page numbers, change client CLI and gRPC to H2 and queies to H4

* Removed repeat files from merge conflict

* Fixes from comments on PR

* Fixes from comments on PR

* More fix for table alignments

* More updates for recovery spec

* More updates for recovery spec

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* Update x/recovery/spec/05_clients.md

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* spec: fee distribution module (#481)

* Distribution module spec

* x/fees - update spec

- added new concepts
- added missing state table
- addressing spec reviews

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* x/fees spec - tables align left (PR review)

#481 (comment)

* x/fees - adding a "Future Improvements" section

* x/fees spec - small fix

* Update x/fees/spec/09_improvements.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix: clawback before vesting start time (#483)

* fix: clawback before vesting start time

* types test

* changelog

* imp: bump `x/erc20` test coverage (#482)

* add evm and evmhooks tests

* more test coverage

* fix todo

* pr comments

* check error on hooks

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* docs: add security recommendations to mainnet join.md (#485)

* [ENG-177] Avoid unnecessary commits to StateDB (#484)

* add evm and evmhooks tests

* more test coverage

* fix todo

* dont commit queries

* pr comments

* unsaved files

* changelog

* imp: refactor vesting types and tests (#486)

* imp: refactor vesting types and tests

* update tests

* changelog

* update proto

* ci: update mergify (#489)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>

* fix: remove `SpendableCoins` from vesting (backport #502) (#503)

* fix: remove `SpendableCoins` from vesting (#502)

* fix: remove SpendableCoins from vesting

* changelog

(cherry picked from commit 6bf8829)

# Conflicts:
#	CHANGELOG.md
#	x/vesting/keeper/msg_server.go

* conflicts

* 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>

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (backport #478) (#506)

* deps: bump cosmos-sdk to v0.45.3 and ethermint to v0.14.0 (#478)

* deps: bump cosmos-sdk to v0.45.3

* changelog

* bump ethermint

* changelog

(cherry picked from commit 898159a)

# Conflicts:
#	CHANGELOG.md

* 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>

* [ENG-188] Claims grpc (backport #507) (#508)

* [ENG-188] Claims grpc (#507)

(cherry picked from commit de0a4df)

# Conflicts:
#	CHANGELOG.md

* fix changelog

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* tests(inflation): add integration tests for when chain resumes from being offline (ENG-186) (#509) (#511)

* Revert "imp: only delete records at the end of the claims period" (#512) (#513)

(cherry picked from commit a722946)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* impr(claims): move claimsRecords deletion out of iteration (#514) (#515)

* impr(claims): move claimsRecords deletion out of iteration

* refactor with testutil.FundModuleAccount()

* get balance instead of balances

* add test for claiming back multiple empty accounts

(cherry picked from commit 72ec2c8)

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* impr(claims): Retain claims records when all actions have been completed (backport #516) (#517)

* impr(claims): Retain claims records when all actions have been completed (#516)

* impr(claims): retain tests when claimsRecord.HasClaimedAll is true

* add testcase: claimed all actions - with IBC as last action

* add tests for case 3 where ibc is the last action

* impr(claims): add evm channel to default authorized channels in params

* impr(claims): add CHANGELOG

* impr(claims): add test with EVM channel that is not authorized

* impr(claims): update specs

* remove EVM channel from authorized channels in DefualtParams() and adjust tests

(cherry picked from commit 0d16f15)

# Conflicts:
#	CHANGELOG.md

* resolve conflicts

Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>

* fix: IBC attestation ordering (backport #505) (#519)

* changelog

* fix: update store loader

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Loredana Cirstea <loredana.cirstea@gmail.com>
Co-authored-by: Prosper <sirpros@gmail.com>
Co-authored-by: vincent <vincent.ch.cn@gmail.com>
Co-authored-by: chengwenxi <22697326+chengwenxi@users.noreply.github.com>
(cherry picked from commit 5c2b541)

# Conflicts:
#	CHANGELOG.md
#	client/docs/statik/statik.go

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport/3.0.x PR scheduled for inclusion in the v3.0's next stable release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants