cosmos-sdk/store/types
mergify[bot] 811cb8a8cb
feat!: Add hooks to allow app modules to add things to state-sync (backport #10961) (#11267)
* feat!: Add hooks to allow app modules to add things to state-sync (#10961)

## Description

Closes: #7340

- Support registering multiple snapshotters in snapshot manager.
- Append the extension snapshotters to existing snapshot stream.

~TODO: testing.~
- existing tests are fixed

---

### Author Checklist

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

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### 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](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)

(cherry picked from commit 7e18e9f1bf)

# Conflicts:
#	api/cosmos/base/snapshots/v1beta1/snapshot.pulsar.go
#	server/mock/store.go
#	snapshots/helpers_test.go
#	snapshots/manager.go
#	store/rootmulti/store_test.go
#	store/v2/multi/store.go

* fix conflicts

* avoid api breakage

* changelog

* fix: rootmulti's Restore don't return the next unknown item as expected (#11286)

## Description
Solution:
- return the next unknown item and add a unit test to ensure that.





---

### Author Checklist

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

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### 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](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)

Co-authored-by: yihuang <huang@crypto.com>
2022-03-02 12:18:23 +01:00
..
commit_info.go tendermint: update to rc3 (#6892) 2020-08-14 13:58:53 -04:00
commit_info.pb.go Update gogo proto deps with v1.3.2 security fixes (#8350) 2021-01-15 19:45:34 +00:00
errors.go Switch IAVL Store query to use ics proofs (#6324) 2020-06-08 15:02:25 -04:00
gas.go fix: use full gas on overflow (backport #10897) (#10912) 2022-01-07 19:55:26 +01:00
gas_test.go feat: add `RefundGas` function to `GasMeter` (#9403) 2021-06-02 15:14:15 +00:00
iterator.go Merge PR #5435: Added iterator that allows to read only requested values 2019-12-26 10:33:34 -05:00
iterator_test.go feat: add configurable iavl cache size (backport #10561) (#10698) 2021-12-08 11:01:40 +01:00
listening.go codec: Rename codec and marshaler interfaces (#9226) 2021-04-29 10:46:22 +00:00
listening.pb.go chore: Add "Since:" on proto doc comments (backport #10434) (#10449) 2021-10-29 09:42:49 +02:00
listening_test.go codec: Rename codec and marshaler interfaces (#9226) 2021-04-29 10:46:22 +00:00
proof.go tendermint: update to rc3 (#6892) 2020-08-14 13:58:53 -04:00
pruning.go refactor: prune everything (backport #11177) (#11258) 2022-02-23 23:22:10 +01:00
pruning_test.go store/types: Fix pruning opts validation (#6511) 2020-06-25 16:41:44 +00:00
store.go feat: add configurable iavl cache size (backport #10561) (#10698) 2021-12-08 11:01:40 +01:00
store_test.go Add validation to prevent empty store keys (#6754) 2020-07-20 18:05:01 +02:00
utils.go types: add kv type (#6897) 2020-07-30 14:53:02 +00:00
utils_test.go fix DiffKVStores(), store/types gets 100% coverage (#5730) 2020-03-02 00:27:03 +00:00
validity.go Add validation to prevent empty store keys (#6754) 2020-07-20 18:05:01 +02:00
validity_test.go Add validation to prevent empty store keys (#6754) 2020-07-20 18:05:01 +02:00