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

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

Merged
merged 8 commits into from
Apr 7, 2022

Conversation

loredanacirstea
Copy link
Contributor

Description

Part of #436

Closes: #XXX


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

@linear
Copy link

linear bot commented Apr 7, 2022

ENG-128 Fee distribution module

Distribute half of the EVM tx fees to contract owner address

Copy link
Contributor

@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.

Minor comments. Looks good to me!

x/fees/keeper/evm_hooks.go Outdated Show resolved Hide resolved
x/fees/keeper/evm_hooks.go Outdated Show resolved Hide resolved
x/fees/keeper/evm_hooks.go Show resolved Hide resolved
x/fees/keeper/evm_hooks.go Outdated Show resolved Hide resolved
x/fees/keeper/fees.go Outdated Show resolved Hide resolved
x/fees/keeper/fees.go Outdated Show resolved Hide resolved
Copy link
Contributor

@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.

Approved 💯 minor comments to reduce code dup. Great work 🎉

x/fees/keeper/evm_hooks.go Outdated Show resolved Hide resolved
x/fees/keeper/evm_hooks.go Outdated Show resolved Hide resolved
x/fees/keeper/fees.go Outdated Show resolved Hide resolved
Copy link
Contributor

@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.

ACK

@fedekunze fedekunze merged commit 48cd78e into main Apr 7, 2022
@fedekunze fedekunze deleted the loredana/ENG-128-fee-distribution-keeper branch April 7, 2022 16:40
loredanacirstea added a commit to loredanacirstea/evmos that referenced this pull request Apr 7, 2022
* main:
  [ENG-128] Fee distribution - add keeper code (evmos#469)
  docs: fix recovery spec titles (evmos#470)
  docs: x/recovery module spec (evmos#467)
  vesting: use coins.Min from Cosmos SDK (evmos#468)
@fedekunze fedekunze mentioned this pull request Apr 19, 2022
12 tasks
fedekunze added a commit that referenced this pull request Apr 19, 2022
* 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>
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>
SuperVenus0725 added a commit to loveFeynman/cascadia_evm_chain that referenced this pull request Jan 9, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
SuperVenus0725 added a commit to loveFeynman/cascadia_evm_chain that referenced this pull request Jan 9, 2023
* 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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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>
SuperVenus0725 pushed a commit to loveFeynman/cascadia_evm_chain that referenced this pull request Jan 9, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
SuperVenus0725 pushed a commit to loveFeynman/cascadia_evm_chain that referenced this pull request Jan 9, 2023
* 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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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>
SuperVenus0725 pushed a commit to SuperVenus0725/evm_chain that referenced this pull request Jan 9, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
SuperVenus0725 pushed a commit to SuperVenus0725/evm_chain that referenced this pull request Jan 9, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
T0psecurity added a commit to T0psecurity/cascadia-chain that referenced this pull request May 10, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
T0psecurity added a commit to T0psecurity/cascadia-chain that referenced this pull request May 10, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
supersenior017 added a commit to supersenior017/evm_chain that referenced this pull request Aug 16, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
supersenior017 added a commit to supersenior017/evm_chain that referenced this pull request Aug 16, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
niceDeve added a commit to niceDeve/cascadia_evm_chain that referenced this pull request Sep 1, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
niceDeve added a commit to niceDeve/cascadia_evm_chain that referenced this pull request Sep 1, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
niceDeve added a commit to niceDeve/cascadia-chain that referenced this pull request Sep 2, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
niceDeve added a commit to niceDeve/cascadia-chain that referenced this pull request Sep 2, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
jacksonmori755 added a commit to jacksonmori755/cascadia-chain that referenced this pull request Sep 13, 2023
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
jacksonmori755 added a commit to jacksonmori755/cascadia-chain that referenced this pull request Sep 13, 2023
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
kingpig-dev added a commit to kingpig-dev/cascadia-chain that referenced this pull request Feb 19, 2024
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
kingpig-dev added a commit to kingpig-dev/cascadia-chain that referenced this pull request Feb 19, 2024
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
slickcharmer added a commit to slickcharmer/evmos that referenced this pull request Mar 20, 2024
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
slickcharmer added a commit to slickcharmer/evmos that referenced this pull request Mar 20, 2024
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
dannyboy820 added a commit to dannyboy820/cascadia_evm_chain that referenced this pull request Jul 16, 2024
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
dannyboy820 added a commit to dannyboy820/cascadia_evm_chain that referenced this pull request Jul 16, 2024
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
lovenoble added a commit to lovenoble/evmos that referenced this pull request Jul 23, 2024
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
lovenoble added a commit to lovenoble/evmos that referenced this pull request Jul 23, 2024
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
dannyboy-820 added a commit to dannyboy-820/cascadia_evm_chain that referenced this pull request Jul 29, 2024
* 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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#469 (comment)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
dannyboy-820 added a commit to dannyboy-820/cascadia_evm_chain that referenced this pull request Jul 29, 2024
* 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 4ff712383896d59178d320bb80eeb333e2b00756)

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

evmos/evmos#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)

evmos/evmos#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

evmos/evmos#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)

evmos/evmos#469 (comment)
evmos/evmos#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

evmos/evmos#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)

evmos/evmos#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)

evmos/evmos#436 (review)

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

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

As discussed in evmos/evmos#464 (comment)

* Fix comments

* Remove redundant go.sum entries

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

Addressing PR review evmos/evmos#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 evmos/evmos#436 (comment)

* x/fees - simplify integration tests

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#436 (comment)

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

Addressing part of evmos/evmos#436 (review)

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

Addressing evmos/evmos#436 (comment)

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

Addressing evmos/evmos#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 evmos/evmos#436 (comment)
fee_contract -> dev_fee_info

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

Addressing evmos/evmos#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)

evmos/evmos#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 6bf8829d8174ff1fe4558bcd2197c00aa24ee277)

# 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 898159aedfd041e9bdd84317ca720ac2d2fe5d58)

# 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 de0a4dfe341c6eeb02ed3b81f60e4e4390a4f93c)

# 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 a722946123e02911ee1181e208a3ee9e481e561c)

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 72ec2c89ffac67f8adcbf1996a3321f35ec2e342)

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 0d16f15472f2edc7fb5cca66f7cdb760fd484673)

# 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants