Implement GetBalance for extended balances which passes through to `x/bank` for non-extended denoms. This diverges from `x/evmutil` behavior which will panic on non-"akava" calls.
Add bank / account keeper mocks for testing, with mockery config for [mockery package setup](https://vektra.github.io/mockery/latest/migrating_to_packages/)
- Validate total fractional amounts in genesis type
- Validate against fractional balances such that `(sum(balances) + remainder) % conversionFactor == 0`
- Add new utility type `SplitBalance` for splitting up full balances into each
* downgrade to ibc v7 for ibc tests
* add conformance test (does not pass consistently)
* limit number of nodes for more consistent passing
* update to upstream v7 branch of interchaintest
also, remove unnecessary go.mod replace statements
* better names for int pointers
* setup interchaintest IBC test
* e2e test of packet forwarding middleware
* rename interchain -> e2e-ibc & add make cmd
* add CI step that runs e2e-ibc tests
* use current branch for docker image in e2e-ibc
* set CDP block interval to 100 to only run interest synchronization
for risky cdps every 100 blocks instead of every block
* refactor and use constant for setting to improve clarity; update
block interval to 50 instead of 100. This will decrease risk by
running around every 6 minutes instead of 12 mintues for current
mainnet block times.
* revert back to iavl v1 to avoid hash changes on new modules like
we are seeing on the v0.24.x to v0.25.x upgrade block. Also, add
replace statements for exp and rapid to match upstream cosmos-sdk
* fix sharding prune store logging and error return.
* add comment to clarify WithKeyTable usage
* - add contract address for axlBNB
- seed EVM wallets with axlBNB
* update proposal to include new contract address
* Feedback
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
* reorder coins in alphabetical order
* clean up
---------
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
* optimize cdp begin blocker by removing unnecessary checks, reusing data
and prefix stores in loops, and reducing number of repeated calculations
* fix panic for new cdp types if both previous accural time and global
interest factor are not set
* do not touch global interest factor if no CDP's exist; revert to panic
if global interest factor is not found since this is an unreachable
state by normal keeper operation -- it can only be reached if store
is modified outside of public interface and normal operation
* optimize pricefeed endblocker to iterate all markets only once to remove
overhead of opening and closing iterator for each market individually.
In addition, extend tests to cover 100% of abci and price updating
behavior.
* use test cases that can't be confused with mean to ensure median is
always used
* Bump to cosmos-sdk to v0.47.10-kava.2
* Update go version in dockerfile to 1.21
* Fix shard logic for iavl v1
* Update changelog
(cherry picked from commit 969614d555)
Co-authored-by: Draco <draco@dracoli.com>