<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->
## Description
ref: https://github.com/cosmos/cosmos-sdk/issues/9237, https://github.com/cosmos/cosmos-sdk/discussions/9156
This is the first step towards the migration of the [Table-Store (ORM) package](c99dbedd1f/orm) currently in regen-ledger into the SDK. This won't be exposed as a public API to start with but rather be internal to `x/group`.
This first PR brings these core concepts:
- `table` is the high level object for storage mapper functionality where entities are stored by an unique identifier called `RowID`
- `Indexable` types can be used to setup new tables.
There will be follow-up PRs for adding the following features:
- table types with auto-incrementing `uint64` primary keys and natural primary keys
- secondary indexes
- iterator and pagination
- import/export genesis
---
### 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...
- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] 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) _not applicable_
- [x] 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` _not applicable_
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [x] updated the relevant documentation or specification
- [x] reviewed "Files changed" and left comments if necessary
- [x] 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)
90 lines
3.9 KiB
Modula-2
90 lines
3.9 KiB
Modula-2
go 1.17
|
|
|
|
module github.com/cosmos/cosmos-sdk/x/group
|
|
|
|
require (
|
|
github.com/cockroachdb/apd/v2 v2.0.2
|
|
github.com/cosmos/cosmos-proto v0.0.0-20210914142853-23ed61ac79ce
|
|
github.com/cosmos/cosmos-sdk v0.44.0
|
|
github.com/gogo/protobuf v1.3.3
|
|
github.com/stretchr/testify v1.7.0
|
|
google.golang.org/grpc v1.41.0
|
|
google.golang.org/protobuf v1.27.1
|
|
pgregory.net/rapid v0.4.7
|
|
)
|
|
|
|
require github.com/tendermint/tm-db v0.6.4
|
|
|
|
require (
|
|
github.com/DataDog/zstd v1.4.5 // indirect
|
|
github.com/armon/go-metrics v0.3.9 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/btcsuite/btcd v0.22.0-beta // indirect
|
|
github.com/cespare/xxhash v1.1.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
|
github.com/confio/ics23/go v0.6.6 // indirect
|
|
github.com/cosmos/btcutil v1.0.4 // indirect
|
|
github.com/cosmos/iavl v0.17.1 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/dgraph-io/badger/v2 v2.2007.2 // indirect
|
|
github.com/dgraph-io/ristretto v0.0.3 // indirect
|
|
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/fsnotify/fsnotify v1.5.1 // indirect
|
|
github.com/go-kit/kit v0.10.0 // indirect
|
|
github.com/go-logfmt/logfmt v0.5.0 // indirect
|
|
github.com/golang/protobuf v1.5.2 // indirect
|
|
github.com/golang/snappy v0.0.3 // indirect
|
|
github.com/google/btree v1.0.0 // indirect
|
|
github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
|
github.com/gtank/merlin v0.1.1 // indirect
|
|
github.com/hashicorp/go-immutable-radix v1.0.0 // indirect
|
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/jmhodges/levigo v1.0.0 // indirect
|
|
github.com/libp2p/go-buffer-pool v0.0.2 // indirect
|
|
github.com/magiconair/properties v1.8.5 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
|
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect
|
|
github.com/mitchellh/mapstructure v1.4.2 // indirect
|
|
github.com/nxadm/tail v1.4.8 // indirect
|
|
github.com/pelletier/go-toml v1.9.4 // indirect
|
|
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/prometheus/client_golang v1.11.0 // indirect
|
|
github.com/prometheus/client_model v0.2.0 // indirect
|
|
github.com/prometheus/common v0.31.1 // indirect
|
|
github.com/prometheus/procfs v0.6.0 // indirect
|
|
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect
|
|
github.com/spf13/afero v1.6.0 // indirect
|
|
github.com/spf13/cast v1.4.1 // indirect
|
|
github.com/spf13/cobra v1.2.1 // indirect
|
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/spf13/viper v1.9.0 // indirect
|
|
github.com/subosito/gotenv v1.2.0 // indirect
|
|
github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect
|
|
github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect
|
|
github.com/tendermint/go-amino v0.16.0 // indirect
|
|
github.com/tendermint/tendermint v0.34.13 // indirect
|
|
go.etcd.io/bbolt v1.3.5 // indirect
|
|
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
|
|
golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f // indirect
|
|
golang.org/x/sys v0.0.0-20210903071746-97244b99971b // indirect
|
|
golang.org/x/text v0.3.6 // indirect
|
|
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 // indirect
|
|
gopkg.in/ini.v1 v1.63.2 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
|
)
|
|
|
|
replace google.golang.org/grpc => google.golang.org/grpc v1.33.2
|
|
|
|
replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
|
|
|
|
replace github.com/cosmos/cosmos-sdk => ../../
|