Skip to content

Commit

Permalink
feat: global fee module (#1488)
Browse files Browse the repository at this point in the history
* remove non-46 packages until go mod tidy runs

* builds but had to remove IBC and E2E

* fix: undeclared identifier 'kIOMainPortDefault'

* restore E2E

* add back minimal upgrade handler

* Add local e2e docker

* fix: keys list

* fix: e2e test

* Fix e2e (#1479)

* adding debug lines to e2e

* adding debug lines to e2e

* Add local e2e docker

* removed logs, e2e runs but still no blocks produced

* fix: keys list

* nits

* adding debug lines to e2e

* adding debug lines to e2e

* removed logs, e2e runs but still no blocks produced

* fix conflicts

* Update tests/e2e/keys.go

* fix: e2e test

* adding debug lines to e2e

* fix conflicts

* removed logs, e2e runs but still no blocks produced

* fix conflicts

* adding debug lines to e2e

* fix conflicts

* removed logs, e2e runs but still no blocks produced

* format fixes

* try adding new tendermint --mode flag to ignite CLI for liveness-test CI

* validator mode, bank send test, no relayer

* passing!

* remove liveness test

* Add await block to token send e2e test to accomodate docker network lag

* Remove local e2e dockerfile experiment

* Replace commented out test with Skip

Co-authored-by: lg <[email protected]>
Co-authored-by: Yaru Wang <[email protected]>

* add global fee module

* add glob fee ante handler

* add glob fee to app

* add proto files

* add proto script and docs

* fix tests

* add globalfee README

* Update README.md

* fix: lint

* add: globfee antehandler

* fix lint

* custom global fee: make global accept fee bypass, define fee denoms (#1570)

* add globalfee decorator to bypass min fee decorator

* fix: fee.go

* add: tests for min_gas_price, globalfee and bypass fee

* fix: lint

* feat: check fee not paid in the denom of global fee

* feat: custom globalfee checks

* fix:global fee TestValidateGenesis

* fix: lint, add more testcases

* remove automatically sort globalfee denom

* remove original globalfee antehandler, add more testcases

* fix: build test

* Update ante/fee.go

Co-authored-by: billy rennekamp <[email protected]>

* add comments, change IsAnyGTEIncludingZero to consider empty sets

* refactor: fee_test.go

* refactor: add setTestGasLimit func

* fix: all fees (#1609)

* Updated roadmap, removed tendermint v0.35 and Budget module (#1571)

* swap out ignite for liveness test (#1574)

* swap out ignite for liveness test

* force liveness test to run

* add min-gas-price

* add validator mode flag

* show logs

* add more logs

* add more logs

* gopath

* more logs

* change to build dir

* change to pkg

* change sed for linux

* clean up

* fix ledger nano s dependency (#1575)

thanks @julienrbrt ! Will make a new issue to follow up on cosmos/ledger-go

* fumpt (#1581)

* fumpt

* remove gitpod

* Fix error handling and fix linting (#1507)

* Fix error handling and fix linting.

* Update lint.yml

* Update .golangci.yml

* keep actions same as main

Co-authored-by: billy rennekamp <[email protected]>

* gofumpt -w -l for consistency with cosmos-sdk (#1512)

* Update lint.yml (#1547)

* Update lint.yml

opening in place of #1509 to make gaia consistent with cosmos sdk

* Update .golangci.yml

* Update .github/workflows/lint.yml

Co-authored-by: Marko <[email protected]>

* Fix typo (#1583)

* Bump actions/cache from 3.0.4 to 3.0.5 (#1585)

Bumps [actions/cache](https://github.com/actions/cache) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.4...v3.0.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Update Docs: Overview page (#1586)

Made changes to the Wallet section:
 - Put Crypto.com in alphabetical order
 - Added Citadel.One

* Bump actions/stale from 5.0.0 to 5.1.0 (#1589)

Bumps [actions/stale](https://github.com/actions/stale) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5.0.0...v5.1.0)

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

Signed-off-by: dependabot[bot] <[email protected]>

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

* Fix formatting in join-testnet.md (#1588)

The code block endquote was misplaced.

* Update CODEOWNERS (#1591)

Remove tokamak-git from codeowners

* Update markdown links/config (#1590)

* Update mlc_config.json

Http header check to (hopefully) remove the 403 error for some url's

* Update mlc_config.json

Header check does not work, reverting.

* Update overview.md

Disabled check for token.im

* Update join-mainnet.md

Disabled check for cosmos.stake.id

* Bump github.com/golangci/golangci-lint from 1.46.0 to 1.47.0 (#1593)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.46.0 to 1.47.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.46.0...v1.47.0)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump github.com/golangci/golangci-lint from 1.47.0 to 1.47.1 (#1597)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.0 to 1.47.1.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.0...v1.47.1)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump docker/build-push-action from 2.5.0 to 3.1.0 (#1598)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.5.0 to 3.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/ad44023a93711e3deb337508980b4b5e9bcdc5dc...1cb9d22b932e4832bb29793b7777ec860fc1cde0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump terser from 4.8.0 to 4.8.1 in /docs (#1599)

Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Correcting the email address in Code of Conduct (#1600)

[email protected] is no longer active/monitored. Changing to [email protected]

* fix: globalfee antehandler to exclude the cases of zero paidfee

* increase validator set to 175 (#1603)

* add: test cases for globalfee contains zero coins

* Bump JamesIves/github-pages-deploy-action from 4.3.2 to 4.4.0 (#1606)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.3.2 to 4.4.0.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/v4.3.2...v4.4.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump github.com/golangci/golangci-lint from 1.47.1 to 1.47.2 (#1605)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.1 to 1.47.2.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.1...v1.47.2)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* fix: errlog

* Update release-sims.yml (#1613)

* Update sims.yml (#1612)

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Bump actions/stale from 5.1.0 to 5.1.1 (#1617)

Bumps [actions/stale](https://github.com/actions/stale) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/v5.1.1/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5.1.0...v5.1.1)

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

Signed-off-by: dependabot[bot] <[email protected]>

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

* Morelint (#1611)

* Update lint.yml

* Update lint.yml

* Update lint.yml

* Update lint.yml

* linting

* linting complete

* Cosmos Hub with ibc-go v5 and cosmos-sdk v0.46.0 (#1616)

* Cosmos Hub with ibc-go v5 and cosmos-sdk v0.46.0

* e2e cleanup

* fix e2e

* note the many golangci-lint warnings

* complete linting

* remove linters replaced by gofumpt

* tidy

* math

* tidy

* Update lint.yml

* use go workspace for e2e

* use go workspace

* remove unused but not deadcode

* pause

* fix e2e

* update figment.io for link CI

Co-authored-by: billy rennekamp <[email protected]>

* remove now-unnecessary replace statement in go.mod (#1626)

* remove now-unnecessary replace statement in go.mod

* name the decorator

* fixup

* Bump github.com/gravity-devs/liquidity/v2 from 2.0.0-rc3 to 2.0.0 (#1637)

[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [github.com/gravity-devs/liquidity/v2](https://github.com/gravity-devs/liquidity) from 2.0.0-rc3 to 2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/gravity-devs/liquidity/releases">github.com/gravity-devs/liquidity/v2's releases</a>.</em></p>
<blockquote>
<h3>v2.0.0 contain state-breaking changes <a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">Gravity-Devs/liquidity#15</a></h3>
<ul>
<li>bump cosmos-sdk to v0.46.0-rc2</li>
<li>remove swap functionality (circuit breaker enabled and deprecated on the cosmos-hub)</li>
<li>bump package name to liquididty/v2</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Gravity-Devs/liquidity/compare/v1.5.0...v2.0.0">https://github.com/Gravity-Devs/liquidity/compare/v1.5.0...v2.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Gravity-Devs/liquidity/blob/master/CHANGELOG.md">github.com/gravity-devs/liquidity/v2's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/Gravity-Devs/liquidity/releases/tag/v2.0.0">v2.0.0</a> - 2022.07.27</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">#15</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.46.0-rc1">v0.46.0-rc1</a></li>
<li><a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">#15</a> Remove swap functionality (circuit breaker enabled on cosmos-hub, deprecated)</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.5.0">v1.5.0</a> - 2022.02.23</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/466">#466</a> fix: exclude circuit breaking logic for MsgWithdrawWithinBatch</li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/473">#473</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1">v0.45.1</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.6">v1.4.6</a> - 2022.02.23</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/475">#475</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.6">v0.44.6</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.5">v1.4.5</a> - 2022.01.30</h2>
<ul>
<li>Unusable release</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.4">v1.4.4</a> - 2022.01.26</h2>
<ul>
<li>Unusable release</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.2">v1.4.2</a> - 2021.11.11</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/461">#461</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.3">v0.44.3</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.1">v1.4.1</a> - 2021.10.25</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/455">#455</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.2">v0.44.2</a></li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/446">#446</a> Fix: Pool Coin Decimal Truncation During Deposit</li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/448">#448</a> Fix: add overflow checking and test codes for cover edge cases</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.0">v1.4.0</a> - 2021.09.07</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/440">#440</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.0">v0.44.0</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.3.0">v1.3.0</a> - 2021-08-31</h2>
<h3>State Machine Breaking</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/433">#433</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0">v0.43.0</a>.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/436">#436</a> Validation <code>MsgSwapWithinBatch</code> and <code>OfferCoinFee</code> ceiling</p>
<ul>
<li>When calculating <code>OfferCoinFee</code>, the decimal points are rounded up.
<ul>
<li>before (v1.2.x):  <code>MsgSwapWithinBatch.OfferCoinFee</code> should be <code>OfferCoin</code> * <code>params.SwapFeeRate/2</code> with Truncate or 0</li>
<li>after (v1.3.x):  <code>MsgSwapWithinBatch.OfferCoinFee</code> should be <code>OfferCoin</code> * <code>params.SwapFeeRate/2</code> with Ceil</li>
</ul>
</li>
<li>Fix reserveOfferCoinFee residual Issue due to decimal error</li>
</ul>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/438">#438</a> Fix PoolBatch index, beginHeight issues and genesis logic</p>
</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/Gravity-Devs/liquidity/commit/05cd43d414ae0d3f0ad523e38b88b196bbf8ecfd"><code>05cd43d</code></a> bump gogo/proto down to a version that exists upstream</li>
<li><a href="https://github.com/Gravity-Devs/liquidity/commit/ba7b225e20d79dfeb8daa59db791ae6367ff7ef3"><code>ba7b225</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gravity-devs/liquidity/issues/15">#15</a> from Gravity-Devs/v2-rho-prepare</li>
<li>See full diff in <a href="https://github.com/gravity-devs/liquidity/compare/v2.0.0-rc3...v2.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gravity-devs/liquidity/v2&package-manager=go_modules&previous-version=2.0.0-rc3&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

* Bump github.com/golangci/golangci-lint from 1.47.2 to 1.47.3 (#1636)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.2 to 1.47.3.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.2...v1.47.3)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump cosmossdk.io/math from 1.0.0-beta.2 to 1.0.0-beta.3 (#1635)

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0-beta.2 to 1.0.0-beta.3.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.0.0-beta.2...math/v1.0.0-beta.3)

---
updated-dependencies:
- dependency-name: cosmossdk.io/math
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Update cosmos/ledger-go to release version (#1634)

Co-authored-by: billy rennekamp <[email protected]>

* work on the workspace (#1641)

thank you @faddat !

* closes #1621 (#1628)

* closes #1621

* run from root

* change to nonroot

* Create .gitpod.yml (#1601)

thanks @faddat !

* Revert "closes #1621 (#1628)" (#1646)

This reverts commit e911a62da68040290aabb38ab10645a940dc20f4.

* add back ibc e2e tests (#1625)

* add back ibc e2e tests

* added teardown but fund_community_pool fails now

* fixed calculation

* add sleep

* ensure correct endpoint

* try skipping cancel upgrade

* add back upgrade but make height further in future

* skip  cancel upgrade test

* docs: add testing building artifacts in release (#1647)

* Bump github.com/golangci/golangci-lint from 1.47.3 to 1.48.0 (#1649)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.3 to 1.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/releases">github.com/golangci/golangci-lint's releases</a>.</em></p>
<blockquote>
<h2>v1.48.0</h2>
<h2>Changelog</h2>
<ul>
<li>368c41cd build(deps): bump github.com/daixiang0/gci from 0.5.0 to 0.6.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3035">#3035</a>)</li>
<li>2d8fea81 build(deps): bump github.com/daixiang0/gci from 0.6.0 to 0.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3058">#3058</a>)</li>
<li>aeb5860c build(deps): bump github.com/kisielk/errcheck from 1.6.1 to 1.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3059">#3059</a>)</li>
<li>0559b922 build(deps): bump revgrep to HEAD (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3054">#3054</a>)</li>
<li>6313fa9a contextcheck: disable linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3050">#3050</a>)</li>
<li>0ba1388a feat: add usestdlibvars (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3016">#3016</a>)</li>
<li>1557692e feat: go1.19 support  (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3037">#3037</a>)</li>
<li>15cba447 gci: add missing <code>custom-order</code> setting (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3052">#3052</a>)</li>
<li>9a1b9492 ifshort: deprecate linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3034">#3034</a>)</li>
<li>f8f8f9a6 nolint: drop allow-leading-space option and add &quot;nolint:all&quot; (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3002">#3002</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md">github.com/golangci/golangci-lint's changelog</a>.</em></p>
<blockquote>
<h3>v1.48.0</h3>
<ol>
<li>new linters
<ul>
<li><code>usestdlibvars</code>:<a href="https://github.com/sashamelentyev/usestdlibvars">https://github.com/sashamelentyev/usestdlibvars</a></li>
</ul>
</li>
<li>updated linters
<ul>
<li><code>contextcheck</code>: disable linter</li>
<li><code>errcheck</code>: from 1.6.1 to 1.6.2</li>
<li><code>gci</code>: add missing <code>custom-order</code> setting</li>
<li><code>gci</code>: from 0.5.0 to 0.6.0</li>
<li><code>ifshort</code>: deprecate linter</li>
<li><code>nolint</code>: drop allow-leading-space option and add &quot;nolint:all&quot;</li>
<li><code>revgrep</code>: bump to HEAD</li>
</ul>
</li>
<li>documentation
<ul>
<li>remove outdated info on source install</li>
</ul>
</li>
<li>misc
<ul>
<li>go1.19 support</li>
</ul>
</li>
</ol>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/golangci/golangci-lint/commit/2d8fea819e651d384cf47784a5fb9c789cf5bd59"><code>2d8fea8</code></a> build(deps): bump github.com/daixiang0/gci from 0.6.0 to 0.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3058">#3058</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/aeb5860ca84aa6115f8c5b469cec174921350c29"><code>aeb5860</code></a> build(deps): bump github.com/kisielk/errcheck from 1.6.1 to 1.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3059">#3059</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/0559b9220bcc3b726041135fca2fd7f26c763a5c"><code>0559b92</code></a> build(deps): bump revgrep to HEAD (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3054">#3054</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/3ffde13a17071e61d3ab75a6ddd158cf81046d95"><code>3ffde13</code></a> dev: remove stable from actions/setup-go (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3055">#3055</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/1557692e59c0db1b6eaa771a5887f9434158683d"><code>1557692</code></a> feat: go1.19 support  (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3037">#3037</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/6313fa9a673cbbc339501f077154115254e28509"><code>6313fa9</code></a> contextcheck: disable linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3050">#3050</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/0ba1388a4194525dfea1e8b91211c49de9d260f2"><code>0ba1388</code></a> feat: add usestdlibvars (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3016">#3016</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/15cba447fd0e577f1f60170bb188b5c0eca04dab"><code>15cba44</code></a> gci: add missing <code>custom-order</code> setting (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3052">#3052</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/452544a2e7ae9a8fff6422298b0384818de77807"><code>452544a</code></a> build(deps): bump gatsby from 4.15.2 to 4.19.2 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3046">#3046</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/f9dfb687aa3a7ea9789219e9eb4842ece424b739"><code>f9dfb68</code></a> build(deps): bump gatsby-transformer-yaml from 4.13.0 to 4.19.0 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3045">#3045</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/golangci/golangci-lint/compare/v1.47.3...v1.48.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/golangci/golangci-lint&package-manager=go_modules&previous-version=1.47.3&new-version=1.48.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

* bump packet-forward-midddleware (#1651)

* bump packet-forward-middleware

* import packet-forward-middleware

* fix: lint

* fix: gofumpt

* formatting

* fix: formatting

* Bump actions/cache from 3.0.5 to 3.0.6 (#1650)

* Bump actions/cache from 3.0.5 to 3.0.6

Bumps [actions/cache](https://github.com/actions/cache) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Removed spacing for nolint directives

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

* PR review updates

* gofumpt lint

* Update ante/fee.go

* linting

* Update ante/fee_utils.go

Co-authored-by: lg <[email protected]>

* change hermes test to uatom

* convert tests from photon to uatom

Co-authored-by: Milan Mulji <[email protected]>
Co-authored-by: billy rennekamp <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Rootul Patel <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Syed C <[email protected]>
Co-authored-by: Kevin Yang <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Gjermund Bjaanes <[email protected]>
Co-authored-by: lg <[email protected]>

* last minute nits

Co-authored-by: billy rennekamp <[email protected]>
Co-authored-by: Milan Mulji <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Rootul Patel <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Syed C <[email protected]>
Co-authored-by: Kevin Yang <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Gjermund Bjaanes <[email protected]>
Co-authored-by: lg <[email protected]>

* test: global fee e2e tests, bypass fee e2e (#1594)

* add: globalfee e2e test

* add: genesis.go for global fee

* Update tests/e2e/e2e_test.go

Co-authored-by: lg <[email protected]>

* remove redundancy

* add globalfee decorator to bypass min fee decorator

* fix: fee.go

* add: tests for min_gas_price, globalfee and bypass fee

* fix: lint

* feat: check fee not paid in the denom of global fee

* fix ledger nano s dependency (#1575)

thanks @julienrbrt ! Will make a new issue to follow up on cosmos/ledger-go

* feat: custom globalfee checks

* fix:global fee TestValidateGenesis

* fix: lint, add more testcases

* remove automatically sort globalfee denom

* remove original globalfee antehandler, add more testcases

* fix: build test

* Update ante/fee.go

Co-authored-by: billy rennekamp <[email protected]>

* add comments, change IsAnyGTEIncludingZero to consider empty sets

* refactor: fee_test.go

* refactor: add setTestGasLimit func

* fumpt (#1581)

* fumpt

* remove gitpod

* Fix error handling and fix linting (#1507)

* Fix error handling and fix linting.

* Update lint.yml

* Update .golangci.yml

* keep actions same as main

Co-authored-by: billy rennekamp <[email protected]>

* gofumpt -w -l for consistency with cosmos-sdk (#1512)

* Update lint.yml (#1547)

* Update lint.yml

opening in place of #1509 to make gaia consistent with cosmos sdk

* Update .golangci.yml

* Update .github/workflows/lint.yml

Co-authored-by: Marko <[email protected]>

* Fix typo (#1583)

* Bump actions/cache from 3.0.4 to 3.0.5 (#1585)

Bumps [actions/cache](https://github.com/actions/cache) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.4...v3.0.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Update Docs: Overview page (#1586)

Made changes to the Wallet section:
 - Put Crypto.com in alphabetical order
 - Added Citadel.One

* Bump actions/stale from 5.0.0 to 5.1.0 (#1589)

Bumps [actions/stale](https://github.com/actions/stale) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5.0.0...v5.1.0)

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

Signed-off-by: dependabot[bot] <[email protected]>

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

* Fix formatting in join-testnet.md (#1588)

The code block endquote was misplaced.

* Update CODEOWNERS (#1591)

Remove tokamak-git from codeowners

* Update markdown links/config (#1590)

* Update mlc_config.json

Http header check to (hopefully) remove the 403 error for some url's

* Update mlc_config.json

Header check does not work, reverting.

* Update overview.md

Disabled check for token.im

* Update join-mainnet.md

Disabled check for cosmos.stake.id

* Bump github.com/golangci/golangci-lint from 1.46.0 to 1.47.0 (#1593)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.46.0 to 1.47.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.46.0...v1.47.0)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* add e2e test: gov propose globalfee

* add e2e test: empty globalfee

* Bump github.com/golangci/golangci-lint from 1.47.0 to 1.47.1 (#1597)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.0 to 1.47.1.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.0...v1.47.1)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump docker/build-push-action from 2.5.0 to 3.1.0 (#1598)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.5.0 to 3.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/ad44023a93711e3deb337508980b4b5e9bcdc5dc...1cb9d22b932e4832bb29793b7777ec860fc1cde0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump terser from 4.8.0 to 4.8.1 in /docs (#1599)

Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Correcting the email address in Code of Conduct (#1600)

[email protected] is no longer active/monitored. Changing to [email protected]

* fix: globalfee antehandler to exclude the cases of zero paidfee

* increase validator set to 175 (#1603)

* add: test cases for globalfee contains zero coins

* Bump JamesIves/github-pages-deploy-action from 4.3.2 to 4.4.0 (#1606)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/JamesIves/github-pages-deploy-action) from 4.3.2 to 4.4.0.
- [Release notes](https://github.com/JamesIves/github-pages-deploy-action/releases)
- [Commits](https://github.com/JamesIves/github-pages-deploy-action/compare/v4.3.2...v4.4.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump github.com/golangci/golangci-lint from 1.47.1 to 1.47.2 (#1605)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.1 to 1.47.2.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.1...v1.47.2)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* add: tests for global fee

* add: all tests

* tests: add e2e tests for bypass_min_fee

* Update release-sims.yml (#1613)

* Update sims.yml (#1612)

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Update sims.yml

* Bump actions/stale from 5.1.0 to 5.1.1 (#1617)

Bumps [actions/stale](https://github.com/actions/stale) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/v5.1.1/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5.1.0...v5.1.1)

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

Signed-off-by: dependabot[bot] <[email protected]>

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

* Morelint (#1611)

* Update lint.yml

* Update lint.yml

* Update lint.yml

* Update lint.yml

* linting

* linting complete

* Cosmos Hub with ibc-go v5 and cosmos-sdk v0.46.0 (#1616)

* Cosmos Hub with ibc-go v5 and cosmos-sdk v0.46.0

* e2e cleanup

* fix e2e

* note the many golangci-lint warnings

* complete linting

* remove linters replaced by gofumpt

* tidy

* math

* tidy

* Update lint.yml

* use go workspace for e2e

* use go workspace

* remove unused but not deadcode

* pause

* fix e2e

* update figment.io for link CI

Co-authored-by: billy rennekamp <[email protected]>

* remove now-unnecessary replace statement in go.mod (#1626)

* remove now-unnecessary replace statement in go.mod

* name the decorator

* fixup

* Bump github.com/gravity-devs/liquidity/v2 from 2.0.0-rc3 to 2.0.0 (#1637)

[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [github.com/gravity-devs/liquidity/v2](https://github.com/gravity-devs/liquidity) from 2.0.0-rc3 to 2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/gravity-devs/liquidity/releases">github.com/gravity-devs/liquidity/v2's releases</a>.</em></p>
<blockquote>
<h3>v2.0.0 contain state-breaking changes <a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">Gravity-Devs/liquidity#15</a></h3>
<ul>
<li>bump cosmos-sdk to v0.46.0-rc2</li>
<li>remove swap functionality (circuit breaker enabled and deprecated on the cosmos-hub)</li>
<li>bump package name to liquididty/v2</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Gravity-Devs/liquidity/compare/v1.5.0...v2.0.0">https://github.com/Gravity-Devs/liquidity/compare/v1.5.0...v2.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Gravity-Devs/liquidity/blob/master/CHANGELOG.md">github.com/gravity-devs/liquidity/v2's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/Gravity-Devs/liquidity/releases/tag/v2.0.0">v2.0.0</a> - 2022.07.27</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">#15</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.46.0-rc1">v0.46.0-rc1</a></li>
<li><a href="https://github-redirect.dependabot.com/Gravity-Devs/liquidity/pull/15">#15</a> Remove swap functionality (circuit breaker enabled on cosmos-hub, deprecated)</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.5.0">v1.5.0</a> - 2022.02.23</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/466">#466</a> fix: exclude circuit breaking logic for MsgWithdrawWithinBatch</li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/473">#473</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1">v0.45.1</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.6">v1.4.6</a> - 2022.02.23</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/475">#475</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.6">v0.44.6</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.5">v1.4.5</a> - 2022.01.30</h2>
<ul>
<li>Unusable release</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.4">v1.4.4</a> - 2022.01.26</h2>
<ul>
<li>Unusable release</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.2">v1.4.2</a> - 2021.11.11</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/461">#461</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.3">v0.44.3</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.1">v1.4.1</a> - 2021.10.25</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/455">#455</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.2">v0.44.2</a></li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/446">#446</a> Fix: Pool Coin Decimal Truncation During Deposit</li>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/448">#448</a> Fix: add overflow checking and test codes for cover edge cases</li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.4.0">v1.4.0</a> - 2021.09.07</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/440">#440</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.0">v0.44.0</a></li>
</ul>
<h2><a href="https://github.com/tendermint/liquidity/releases/tag/v1.3.0">v1.3.0</a> - 2021-08-31</h2>
<h3>State Machine Breaking</h3>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/433">#433</a> (sdk) Bump SDK version to <a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.43.0">v0.43.0</a>.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/436">#436</a> Validation <code>MsgSwapWithinBatch</code> and <code>OfferCoinFee</code> ceiling</p>
<ul>
<li>When calculating <code>OfferCoinFee</code>, the decimal points are rounded up.
<ul>
<li>before (v1.2.x):  <code>MsgSwapWithinBatch.OfferCoinFee</code> should be <code>OfferCoin</code> * <code>params.SwapFeeRate/2</code> with Truncate or 0</li>
<li>after (v1.3.x):  <code>MsgSwapWithinBatch.OfferCoinFee</code> should be <code>OfferCoin</code> * <code>params.SwapFeeRate/2</code> with Ceil</li>
</ul>
</li>
<li>Fix reserveOfferCoinFee residual Issue due to decimal error</li>
</ul>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/tendermint/liquidity/pull/438">#438</a> Fix PoolBatch index, beginHeight issues and genesis logic</p>
</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/Gravity-Devs/liquidity/commit/05cd43d414ae0d3f0ad523e38b88b196bbf8ecfd"><code>05cd43d</code></a> bump gogo/proto down to a version that exists upstream</li>
<li><a href="https://github.com/Gravity-Devs/liquidity/commit/ba7b225e20d79dfeb8daa59db791ae6367ff7ef3"><code>ba7b225</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gravity-devs/liquidity/issues/15">#15</a> from Gravity-Devs/v2-rho-prepare</li>
<li>See full diff in <a href="https://github.com/gravity-devs/liquidity/compare/v2.0.0-rc3...v2.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/gravity-devs/liquidity/v2&package-manager=go_modules&previous-version=2.0.0-rc3&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

* Bump github.com/golangci/golangci-lint from 1.47.2 to 1.47.3 (#1636)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.2 to 1.47.3.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.47.2...v1.47.3)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Bump cosmossdk.io/math from 1.0.0-beta.2 to 1.0.0-beta.3 (#1635)

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0-beta.2 to 1.0.0-beta.3.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.0.0-beta.2...math/v1.0.0-beta.3)

---
updated-dependencies:
- dependency-name: cosmossdk.io/math
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* Update cosmos/ledger-go to release version (#1634)

Co-authored-by: billy rennekamp <[email protected]>

* work on the workspace (#1641)

thank you @faddat !

* closes #1621 (#1628)

* closes #1621

* run from root

* change to nonroot

* Create .gitpod.yml (#1601)

thanks @faddat !

* Revert "closes #1621 (#1628)" (#1646)

This reverts commit e911a62da68040290aabb38ab10645a940dc20f4.

* add back ibc e2e tests (#1625)

* add back ibc e2e tests

* added teardown but fund_community_pool fails now

* fixed calculation

* add sleep

* ensure correct endpoint

* try skipping cancel upgrade

* add back upgrade but make height further in future

* skip  cancel upgrade test

* docs: add testing building artifacts in release (#1647)

* Bump github.com/golangci/golangci-lint from 1.47.3 to 1.48.0 (#1649)

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.47.3 to 1.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/releases">github.com/golangci/golangci-lint's releases</a>.</em></p>
<blockquote>
<h2>v1.48.0</h2>
<h2>Changelog</h2>
<ul>
<li>368c41cd build(deps): bump github.com/daixiang0/gci from 0.5.0 to 0.6.0 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3035">#3035</a>)</li>
<li>2d8fea81 build(deps): bump github.com/daixiang0/gci from 0.6.0 to 0.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3058">#3058</a>)</li>
<li>aeb5860c build(deps): bump github.com/kisielk/errcheck from 1.6.1 to 1.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3059">#3059</a>)</li>
<li>0559b922 build(deps): bump revgrep to HEAD (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3054">#3054</a>)</li>
<li>6313fa9a contextcheck: disable linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3050">#3050</a>)</li>
<li>0ba1388a feat: add usestdlibvars (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3016">#3016</a>)</li>
<li>1557692e feat: go1.19 support  (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3037">#3037</a>)</li>
<li>15cba447 gci: add missing <code>custom-order</code> setting (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3052">#3052</a>)</li>
<li>9a1b9492 ifshort: deprecate linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3034">#3034</a>)</li>
<li>f8f8f9a6 nolint: drop allow-leading-space option and add &quot;nolint:all&quot; (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3002">#3002</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md">github.com/golangci/golangci-lint's changelog</a>.</em></p>
<blockquote>
<h3>v1.48.0</h3>
<ol>
<li>new linters
<ul>
<li><code>usestdlibvars</code>:<a href="https://github.com/sashamelentyev/usestdlibvars">https://github.com/sashamelentyev/usestdlibvars</a></li>
</ul>
</li>
<li>updated linters
<ul>
<li><code>contextcheck</code>: disable linter</li>
<li><code>errcheck</code>: from 1.6.1 to 1.6.2</li>
<li><code>gci</code>: add missing <code>custom-order</code> setting</li>
<li><code>gci</code>: from 0.5.0 to 0.6.0</li>
<li><code>ifshort</code>: deprecate linter</li>
<li><code>nolint</code>: drop allow-leading-space option and add &quot;nolint:all&quot;</li>
<li><code>revgrep</code>: bump to HEAD</li>
</ul>
</li>
<li>documentation
<ul>
<li>remove outdated info on source install</li>
</ul>
</li>
<li>misc
<ul>
<li>go1.19 support</li>
</ul>
</li>
</ol>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/golangci/golangci-lint/commit/2d8fea819e651d384cf47784a5fb9c789cf5bd59"><code>2d8fea8</code></a> build(deps): bump github.com/daixiang0/gci from 0.6.0 to 0.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3058">#3058</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/aeb5860ca84aa6115f8c5b469cec174921350c29"><code>aeb5860</code></a> build(deps): bump github.com/kisielk/errcheck from 1.6.1 to 1.6.2 (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3059">#3059</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/0559b9220bcc3b726041135fca2fd7f26c763a5c"><code>0559b92</code></a> build(deps): bump revgrep to HEAD (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3054">#3054</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/3ffde13a17071e61d3ab75a6ddd158cf81046d95"><code>3ffde13</code></a> dev: remove stable from actions/setup-go (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3055">#3055</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/1557692e59c0db1b6eaa771a5887f9434158683d"><code>1557692</code></a> feat: go1.19 support  (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3037">#3037</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/6313fa9a673cbbc339501f077154115254e28509"><code>6313fa9</code></a> contextcheck: disable linter (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3050">#3050</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/0ba1388a4194525dfea1e8b91211c49de9d260f2"><code>0ba1388</code></a> feat: add usestdlibvars (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3016">#3016</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/15cba447fd0e577f1f60170bb188b5c0eca04dab"><code>15cba44</code></a> gci: add missing <code>custom-order</code> setting (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3052">#3052</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/452544a2e7ae9a8fff6422298b0384818de77807"><code>452544a</code></a> build(deps): bump gatsby from 4.15.2 to 4.19.2 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3046">#3046</a>)</li>
<li><a href="https://github.com/golangci/golangci-lint/commit/f9dfb687aa3a7ea9789219e9eb4842ece424b739"><code>f9dfb68</code></a> build(deps): bump gatsby-transformer-yaml from 4.13.0 to 4.19.0 in /docs (<a href="https://github-redirect.dependabot.com/golangci/golangci-lint/issues/3045">#3045</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/golangci/golangci-lint/compare/v1.47.3...v1.48.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/golangci/golangci-lint&package-manager=go_modules&previous-version=1.47.3&new-version=1.48.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

* bump packet-forward-midddleware (#1651)

* bump packet-forward-middleware

* import packet-forward-middleware

* fix: lint

* fix: gofumpt

* formatting

* fix: formatting

* Bump actions/cache from 3.0.5 to 3.0.6 (#1650)

* Bump actions/cache from 3.0.5 to 3.0.6

Bumps [actions/cache](https://github.com/actions/cache) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Removed spacing for nolint directives

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

* bump: update codeql version to v2 + Remove Python check (#1654)

* update-codeql-version-to-v2

* Remove Python from code quality check

* Bump docker/build-push-action from 3.1.0 to 3.1.1 (#1656)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/1cb9d22b932e4832bb29793b7777ec860fc1cde0...c84f38281176d4c9cdb1626ffafcd6b3911b5d94)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* fix merge

* fix unit tests

* fix: lint

* fix: e2e fee denoms swap

* fix: e2e

* fix: e2e reset global fee

* fix: dead link

* PR review updates

Co-authored-by: lg <[email protected]>
Co-authored-by: billy rennekamp <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Rootul Patel <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Syed C <[email protected]>
Co-authored-by: Kevin Yang <[email protected]>
Co-authored-by: Milan Mulji <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Gjermund Bjaanes <[email protected]>

* fix: dead link

* change disable all link to disable nextline

* Update proto/gaia/globalfee/v1beta1/genesis.proto

Co-authored-by: billy rennekamp <[email protected]>

Co-authored-by: billy rennekamp <[email protected]>
Co-authored-by: lg <[email protected]>
Co-authored-by: Milan Mulji <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Rootul Patel <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Syed C <[email protected]>
Co-authored-by: Kevin Yang <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Gjermund Bjaanes <[email protected]>
Co-authored-by: lg <[email protected]>
  • Loading branch information
13 people authored Aug 11, 2022
1 parent 2f35d37 commit c5c529e
Show file tree
Hide file tree
Showing 117 changed files with 9,821 additions and 2,025 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ start-localnet-ci:
./build/gaiad keys add val --home ~/.gaiad-liveness
./build/gaiad add-genesis-account val 10000000000000000000000000stake --home ~/.gaiad-liveness --keyring-backend test
./build/gaiad gentx val 1000000000stake --home ~/.gaiad-liveness --chain-id liveness
./build/gaiad collect-gentxs --home ~/.gaiad-liveness
./build/gaiad collect-gentxs --home ~/.gaiad-liveness
sed -i'' 's/minimum-gas-prices = ""/minimum-gas-prices = "0uatom"/' ~/.gaiad-liveness/config/app.toml
./build/gaiad start --home ~/.gaiad-liveness --x-crisis-skip-assert-invariants

Expand Down
12 changes: 8 additions & 4 deletions ante/ante.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/x/auth/ante"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
ibcante "github.com/cosmos/ibc-go/v5/modules/core/ante"
ibckeeper "github.com/cosmos/ibc-go/v5/modules/core/keeper"
)
Expand All @@ -14,6 +15,7 @@ type HandlerOptions struct {
ante.HandlerOptions
IBCkeeper *ibckeeper.Keeper
BypassMinFeeMsgTypes []string
GlobalFeeSubspace paramtypes.Subspace
}

func NewAnteHandler(opts HandlerOptions) (sdk.AnteHandler, error) {
Expand All @@ -26,10 +28,12 @@ func NewAnteHandler(opts HandlerOptions) (sdk.AnteHandler, error) {
if opts.SignModeHandler == nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "sign mode handler is required for ante builder")
}

if opts.IBCkeeper == nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "IBC keeper is required for middlewares")
}
if opts.GlobalFeeSubspace.Name() == "" {
return nil, sdkerrors.Wrap(sdkerrors.ErrLogic, "param store is required for ante builder")
}

sigGasConsumer := opts.SigGasConsumer
if sigGasConsumer == nil {
Expand All @@ -43,15 +47,15 @@ func NewAnteHandler(opts HandlerOptions) (sdk.AnteHandler, error) {
ante.NewTxTimeoutHeightDecorator(),
ante.NewValidateMemoDecorator(opts.AccountKeeper),
ante.NewConsumeGasForTxSizeDecorator(opts.AccountKeeper),
NewBypassMinFeeDecorator(opts.BypassMinFeeMsgTypes),
NewBypassMinFeeDecorator(opts.BypassMinFeeMsgTypes, opts.GlobalFeeSubspace),
// if opts.TxFeeCheck is nil, it is the default fee check
ante.NewDeductFeeDecorator(opts.AccountKeeper, opts.BankKeeper, opts.FeegrantKeeper, opts.TxFeeChecker),
// SetPubKeyDecorator must be called before all signature verification decorators
ante.NewSetPubKeyDecorator(opts.AccountKeeper),
ante.NewSetPubKeyDecorator(opts.AccountKeeper), // SetPubKeyDecorator must be called before all signature verification decorators
ante.NewValidateSigCountDecorator(opts.AccountKeeper),
ante.NewSigGasConsumeDecorator(opts.AccountKeeper, sigGasConsumer),
ante.NewSigVerificationDecorator(opts.AccountKeeper, opts.SignModeHandler),
ante.NewIncrementSequenceDecorator(opts.AccountKeeper),
// todo check
ibcante.NewRedundantRelayDecorator(opts.IBCkeeper),
}

Expand Down
16 changes: 13 additions & 3 deletions ante/ante_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,19 @@ import (
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/tx"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/simapp"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
xauthsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
"github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/stretchr/testify/suite"
tmrand "github.com/tendermint/tendermint/libs/rand"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"

gaiaapp "github.com/cosmos/gaia/v8/app"
gaiahelpers "github.com/cosmos/gaia/v8/app/helpers"
"github.com/cosmos/gaia/v8/x/globalfee"
globfeetypes "github.com/cosmos/gaia/v8/x/globalfee/types"
)

type IntegrationTestSuite struct {
Expand All @@ -41,7 +43,7 @@ func (s *IntegrationTestSuite) SetupTest() {
Height: 1,
})

encodingConfig := simapp.MakeTestEncodingConfig()
encodingConfig := gaiaapp.MakeTestEncodingConfig()
encodingConfig.Amino.RegisterConcrete(&testdata.TestMsg{}, "testdata.TestMsg", nil)
testdata.RegisterInterfaces(encodingConfig.InterfaceRegistry)

Expand All @@ -50,7 +52,15 @@ func (s *IntegrationTestSuite) SetupTest() {
s.clientCtx = client.Context{}.WithTxConfig(encodingConfig.TxConfig)
}

func (s *IntegrationTestSuite) CreateTestTx(privs []cryptotypes.PrivKey, accNums, accSeqs []uint64, chainID string) (xauthsigning.Tx, error) {
func (s *IntegrationTestSuite) setupTestGlobalFeeStoreAndMinGasPrice(minGasPrice []sdk.DecCoin, globalFeeParams *globfeetypes.Params) types.Subspace {
subspace := s.app.GetSubspace(globalfee.ModuleName)
subspace.SetParamSet(s.ctx, globalFeeParams)
s.ctx = s.ctx.WithMinGasPrices(minGasPrice).WithIsCheckTx(true)

return subspace
}

func (s *IntegrationTestSuite) CreateTestTx(privs []cryptotypes.PrivKey, accNums []uint64, accSeqs []uint64, chainID string) (xauthsigning.Tx, error) {
var sigsV2 []signing.SignatureV2
for i, priv := range privs {
sigV2 := signing.SignatureV2{
Expand Down
106 changes: 55 additions & 51 deletions ante/fee.go
Original file line number Diff line number Diff line change
@@ -1,95 +1,99 @@
package ante

import (
"math"

sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
tmstrings "github.com/tendermint/tendermint/libs/strings"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"

"github.com/cosmos/gaia/v8/x/globalfee"
)

const maxBypassMinFeeMsgGasUsage = uint64(200_000)

// FeeWithBypassDecorator will check if the transaction's fee is at least as large
// as the local validator's minimum gasFee (defined in validator config).
// as the local validator's minimum gasFee (defined in validator config) and global fee, and the fee denom should be in the global fees' denoms.
//
// If fee is too low, decorator returns error and tx is rejected from mempool.
// Note this only applies when ctx.CheckTx = true. If fee is high enough or not
// CheckTx, then call next AnteHandler.
//
// CONTRACT: Tx must implement FeeTx to use FeeWithBypassDecorator
// CONTRACT: Tx must implement FeeTx to use BypassMinFeeDecorator
// If the tx msg type is one of the bypass msg types, the tx is valid even if the min fee is lower than normally required.
// If the bypass tx still carries fees, the fee denom should be the same as global fee required.

var _ sdk.AnteDecorator = BypassMinFeeDecorator{}

type BypassMinFeeDecorator struct {
BypassMinFeeMsgTypes []string
GlobalMinFee globalfee.ParamSource
}

func NewBypassMinFeeDecorator(bypassMsgTypes []string) BypassMinFeeDecorator {
const defaultZeroGlobalFeeDenom = "uatom"

func DefaultZeroGlobalFee() []sdk.DecCoin {
return []sdk.DecCoin{sdk.NewDecCoinFromDec(defaultZeroGlobalFeeDenom, sdk.NewDec(0))}
}

func NewBypassMinFeeDecorator(bypassMsgTypes []string, paramSpace paramtypes.Subspace) BypassMinFeeDecorator {
if !paramSpace.HasKeyTable() {
panic("global fee paramspace was not set up via module")
}

return BypassMinFeeDecorator{
BypassMinFeeMsgTypes: bypassMsgTypes,
GlobalMinFee: paramSpace,
}
}

func (mfd BypassMinFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) {
// please note: after parsing feeflag, the zero fees are removed already
feeTx, ok := tx.(sdk.FeeTx)
if !ok {
return ctx, sdkerrors.Wrap(sdkerrors.ErrTxDecode, "Tx must be a FeeTx")
}

feeCoins := feeTx.GetFee()
feeCoins := feeTx.GetFee().Sort()
gas := feeTx.GetGas()
msgs := feeTx.GetMsgs()

// Only check for minimum fees if the execution mode is CheckTx and the tx does
// Only check for minimum fees and global fee if the execution mode is CheckTx and the tx does
// not contain operator configured bypass messages. If the tx does contain
// operator configured bypass messages only, it's total gas must be less than
// or equal to a constant, otherwise minimum fees are checked to prevent spam.
if ctx.IsCheckTx() && !simulate && !(mfd.bypassMinFeeMsgs(msgs) && gas <= uint64(len(msgs))*maxBypassMinFeeMsgGasUsage) {
minGasPrices := ctx.MinGasPrices()
if !minGasPrices.IsZero() {
requiredFees := make(sdk.Coins, len(minGasPrices))

// Determine the required fees by multiplying each required minimum gas
// price by the gas limit, where fee = ceil(minGasPrice * gasLimit).
glDec := sdk.NewDec(int64(gas))
for i, gp := range minGasPrices {
fee := gp.Amount.Mul(glDec)
requiredFees[i] = sdk.NewCoin(gp.Denom, fee.Ceil().RoundInt())
}

if !feeCoins.IsAnyGTE(requiredFees) {
return ctx, sdkerrors.Wrapf(sdkerrors.ErrInsufficientFee, "insufficient fees; got: %s required: %s", feeCoins, requiredFees)
}
}
}
// or equal to a constant, otherwise minimum fees and global fees are checked to prevent spam.
containsOnlyBypassMinFeeMsgs := mfd.bypassMinFeeMsgs(msgs)
doesNotExceedMaxGasUsage := gas <= uint64(len(msgs))*maxBypassMinFeeMsgGasUsage
allowedToBypassMinFee := containsOnlyBypassMinFeeMsgs && doesNotExceedMaxGasUsage

return next(ctx, tx, simulate)
}
var allFees sdk.Coins
requiredFees := getMinGasPrice(ctx, feeTx)

func (mfd BypassMinFeeDecorator) bypassMinFeeMsgs(msgs []sdk.Msg) bool {
for _, msg := range msgs {
if tmstrings.StringInSlice(sdk.MsgTypeURL(msg), mfd.BypassMinFeeMsgTypes) {
continue
}
if ctx.IsCheckTx() && !simulate && !allowedToBypassMinFee {

return false
}
requiredGlobalFees := mfd.getGlobalFee(ctx, feeTx)
allFees = CombinedFeeRequirement(requiredGlobalFees, requiredFees)

return true
}
// this is to ban 1stake passing if the globalfee is 1photon or 0photon
// if feeCoins=[] and requiredGlobalFees has 0denom coins then it should pass.
if !DenomsSubsetOfIncludingZero(feeCoins, allFees) {
return ctx, sdkerrors.Wrapf(sdkerrors.ErrInsufficientFee, "fees %s is not a subset of required fees %s", feeCoins, allFees)
}
// At least one feeCoin amount must be GTE to one of the requiredGlobalFees
if !IsAnyGTEIncludingZero(feeCoins, allFees) {
return ctx, sdkerrors.Wrapf(sdkerrors.ErrInsufficientFee, "insufficient fees for global fee; got: %s required: %s", feeCoins, allFees)
}
}

// utils function: GetTxPriority
// getTxPriority returns a naive tx priority based on the amount of the smallest denomination of the fee
// provided in a transaction.
func GetTxPriority(fee sdk.Coins) int64 {
var priority int64
for _, c := range fee {
p := int64(math.MaxInt64)
if c.Amount.IsInt64() {
p = c.Amount.Int64()
// when the tx is bypass msg type, still need to check the denom is not some unknown denom
if ctx.IsCheckTx() && !simulate && allowedToBypassMinFee {
requiredGlobalFees := mfd.getGlobalFee(ctx, feeTx)
// bypass tx without pay fee
if len(feeCoins) == 0 {
return next(ctx, tx, simulate)
}
if priority == 0 || p < priority {
priority = p
// bypass with fee, fee denom must in requiredGlobalFees
if !DenomsSubsetOfIncludingZero(feeCoins, requiredGlobalFees) {
return ctx, sdkerrors.Wrapf(sdkerrors.ErrInsufficientFee, "fees denom is wrong; got: %s required: %s", feeCoins, requiredGlobalFees)
}
}

return priority
return next(ctx, tx, simulate)
}
Loading

0 comments on commit c5c529e

Please sign in to comment.