8000 [ENG-128] Fee distribution - types tests by loredanacirstea · Pull Request #464 · evmos/evmos · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[ENG-128] Fee distribution - types tests #464

8000
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

Merged
merged 8 commits into from
Apr 7, 2022

Conversation

loredanacirstea
Copy link
Contributor

Description

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 6, 2022
ENG-128 Fee distribution module

Distribute half of the EVM tx fees to contract owner address

@codecov
Copy link
codecov bot commented Apr 6, 2022

Codecov Report

Merging #464 (8ee39ee) into main (1f7cb75) will increase coverage by 0.28%.
The diff coverage is 100.00%.

❗ Current head 8ee39ee differs from pull request most recent head 1f091fd. Consider uploading reports for the commit 1f091fd to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #464      +/-   ##
==========================================
+ Coverage   79.10%   79.39%   +0.28%     
==========================================
  Files         105      110       +5     
  Lines        5950     6164     +214     
==========================================
+ Hits         4707     4894     +187     
- Misses       1083     1107      +24     
- Partials      160      163       +3     
Impacted Files Coverage Δ
x/fees/types/fee.go 100.00% <100.00%> (ø)
x/fees/types/msg.go 100.00% <100.00%> (ø)
x/fees/types/params.go 69.64% <100.00%> (ø)
x/fees/types/genesis.go 100.00% <0.00%> (ø)
x/fees/types/codec.go 0.00% <0.00%> (ø)

Copy link
Collaborator
@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.

Looks good! minor comments

@jolube
Copy link
Contributor
jolube commented Apr 6, 2022

Seems to me to be a strange quirk that deployer/withdraw addresses can only be in bech32 format. Apologies if I am out of the loop here, but is there a reason for this?

@loredanacirstea
Copy link
Contributor Author
loredanacirstea commented Apr 6, 2022

Seems to me to be a strange quirk that deployer/withdraw addresses can only be in bech32 format.

@jolube what should I change to support both?

Copy link
Collaborator
@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 enabled auto-merge (squash) April 7, 2022 10:34
@fedekunze
Copy link
Collaborator

@loredanacirstea can you fix the test failures?

x/fees/types/fee_test.go:8:2: imported and not used: "github.com/stretchr/testify/require"
x/fees/types/genesis_test.go:7:2: imported and not used: "github.com/stretchr/testify/require"
x/fees/types/msg_test.go:6:2: imported and not used: "github.com/stretchr/testify/require"

@fedekunze fedekunze merged commit fe29d7d into main Apr 7, 2022
@fedekunze fedekunze deleted the loredana/ENG-128-fee-distribution-types-tests branch April 7, 2022 11:52
loredanacirstea added a commit to loredanacirstea/evmos that referenced this pull request Apr 7, 2022
* main:
  [ENG-128] Fee distribution - types tests (evmos#464)
loredanacirstea added a commit to loredanacirstea/evmos that referenced this pull request Apr 7, 2022
loredanacirstea added a commit that referenced this pull request Apr 13, 2022
* 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>
@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
niceDeve added a commit to niceDeve/cascadia_evm_chain that referenced this pull request Sep 1, 2023
* 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>
niceDeve added a commit to niceDeve/cascadia_evm_chain that referenced this pull request Sep 1, 2023
* 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>
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 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>
niceDeve added a commit to niceDeve/cascadia-chain that referenced this pull request Sep 2, 2023
* 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>
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 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>
jacksonmori755 added a commit to jacksonmori755/cascadia-chain that referenced this pull request Sep 13, 2023
* 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>
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

* ch
F41A
angelog

* 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 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>
kingpig-dev added a commit to kingpig-dev/cascadia-chain that referenced this pull request Feb 19, 2024
* 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>
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: Federic
10000
o 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>
camerodev added a commit to camerodev/evmos that referenced this pull request Mar 20, 2024
* 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>
camerodev added a commit to camerodev/evmos that referenced this pull request Mar 20, 2024
* 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>
camerodev added a commit to camerodev/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] <496993
10000
33+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 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>
dannyboy820 added a commit to dannyboy820/cascadia_evm_chain that referenced this pull request Jul 16, 2024
* 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>
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 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>
lovenoble added a commit to lovenoble/evmos that referenced this pull request Jul 23, 2024
* 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>
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 t
10000
ests (#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 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>
dannyboy-820 added a commit to dannyboy-820/cascadia_evm_chain that referenced this pull request Jul 29, 2024
* 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>
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>
ranupthestairs added a commit to ranupthestairs/cascadia-chain that referenced this pull request Sep 30, 2024
* 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>
ranupthestairs added a commit to ranupthestairs/cascadia-chain that referenced this pull request Sep 30, 2024
* 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>
ranupthestairs added a commit to ranupthestairs/cascadia-chain that referenced this pull request Sep 30, 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-depe
10000
ndencies:
- 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>
togetherAll7 pushed a commit to togetherAll7/evmos that referenced this pull request Nov 18, 2024
* 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>
togetherAll7 pushed a commit to togetherAll7/evmos that referenced this pull request Nov 18, 2024
* 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>
togetherAll7 pushed a commit to togetherAll7/evmos that referenced this pull request Nov 18, 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.

3 participants
0