diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ea0a412..5e682f5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.16 + go-version: 1.18 env: GOOS: ${{ matrix.targetos }} GOARCH: ${{ matrix.arch }} diff --git a/app/app.go b/app/app.go index 4990e83..43a0e38 100644 --- a/app/app.go +++ b/app/app.go @@ -1,7 +1,9 @@ package app import ( + "fmt" "github.com/OmniFlix/onft/docs" + store "github.com/cosmos/cosmos-sdk/store/types" "io" "net/http" "os" @@ -223,6 +225,8 @@ type App struct { // the module manager mm *module.Manager + + configurator module.Configurator } // New returns a reference to an initialized Gaia. @@ -457,8 +461,8 @@ func New( app.mm.RegisterInvariants(&app.CrisisKeeper) app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino) - app.mm.RegisterServices(module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())) - + app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) + app.mm.RegisterServices(app.configurator) // initialize stores app.MountKVStores(keys) app.MountTransientStores(tkeys) @@ -484,6 +488,30 @@ func New( app.SetAnteHandler(anteHandler) app.SetEndBlocker(app.EndBlocker) + app.UpgradeKeeper.SetUpgradeHandler( + "v2", + func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) { + app.MarketplaceKeeper.SetParams(ctx, marketplacemoduletypes.DefaultParams()) + app.MarketplaceKeeper.SetNextAuctionNumber(ctx, 1) + + return app.mm.RunMigrations(ctx, app.configurator, fromVM) + }, + ) + + upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk() + if err != nil { + panic(fmt.Sprintf("failed to read upgrade info from disk %s", err)) + } + + if upgradeInfo.Name == "v2" && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) { + storeUpgrades := store.StoreUpgrades{ + Added: []string{}, + } + + // configure store loader that checks if version == upgradeHeight and applies store upgrades + app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades)) + } + if loadLatest { if err := app.LoadLatestVersion(); err != nil { tmos.Exit(err.Error()) diff --git a/go.mod b/go.mod index 6cff829..7c69574 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module github.com/OmniFlix/marketplace -go 1.16 +go 1.18 require ( - github.com/OmniFlix/onft v0.3.0-alpha.1 - github.com/cosmos/cosmos-sdk v0.45.1 + github.com/OmniFlix/onft v0.3.0 + github.com/cosmos/cosmos-sdk v0.45.6 github.com/cosmos/ibc-go v1.2.2 github.com/gogo/protobuf v1.3.3 github.com/golang/protobuf v1.5.2 @@ -12,13 +12,115 @@ require ( github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/spf13/cast v1.4.1 - github.com/spf13/cobra v1.2.1 + github.com/spf13/cobra v1.4.0 github.com/spf13/pflag v1.0.5 github.com/tendermint/spm v0.1.9 - github.com/tendermint/tendermint v0.34.15 + github.com/tendermint/tendermint v0.34.19 github.com/tendermint/tm-db v0.6.6 - google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 - google.golang.org/grpc v1.42.0 + golang.org/x/exp v0.0.0-20220609121020-a51bd0440498 + google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb + google.golang.org/grpc v1.45.0 + google.golang.org/protobuf v1.27.1 +) + +require ( + filippo.io/edwards25519 v1.0.0-beta.2 // indirect + github.com/99designs/keyring v1.1.6 // indirect + github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect + github.com/DataDog/zstd v1.4.5 // indirect + github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/armon/go-metrics v0.3.10 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/speakeasy v0.1.0 // 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.2 // indirect + github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect + github.com/confio/ics23/go v0.6.6 // indirect + github.com/cosmos/btcutil v1.0.4 // indirect + github.com/cosmos/go-bip39 v1.0.0 // indirect + github.com/cosmos/iavl v0.17.3 // indirect + github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect + github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/danieljoos/wincred v1.0.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // 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/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/go-kit/kit v0.12.0 // indirect + github.com/go-kit/log v0.2.0 // indirect + github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-playground/validator/v10 v10.4.1 // indirect + github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gogo/gateway v1.1.0 // indirect + github.com/golang/snappy v0.0.3 // indirect + github.com/google/btree v1.0.0 // indirect + github.com/google/orderedcode v0.0.1 // indirect + github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/gtank/merlin v0.1.1 // indirect + github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect + github.com/improbable-eng/grpc-web v0.14.1 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect + github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect + github.com/klauspost/compress v1.13.6 // indirect + github.com/lib/pq v1.10.4 // indirect + github.com/libp2p/go-buffer-pool v0.0.2 // indirect + github.com/magiconair/properties v1.8.5 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect + github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/mtibben/percent v0.2.1 // 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.12.1 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/rakyll/statik v0.1.7 // indirect + github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rs/cors v1.8.2 // indirect + github.com/rs/zerolog v1.23.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/jwalterweatherman v1.1.0 // indirect + github.com/spf13/viper v1.10.1 // indirect + github.com/stretchr/testify v1.7.1 // 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/btcd v0.1.1 // indirect + github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/tendermint/go-amino v0.16.0 // indirect + github.com/zondax/hid v0.9.0 // indirect + go.etcd.io/bbolt v1.3.6 // indirect + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect + golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b // indirect + golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect + golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/ini.v1 v1.66.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + nhooyr.io/websocket v1.8.6 // indirect ) replace ( diff --git a/go.sum b/go.sum index 57cafdf..63dacf1 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,9 @@ cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSU cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -36,7 +39,7 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -57,6 +60,9 @@ github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5 github.com/Antonboom/errname v0.1.4/go.mod h1:jRXo3m0E0EuCnK3wbsSVH3X55Z4iTDLl6ZfCxwFj4TM= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= @@ -73,9 +79,11 @@ github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6L github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= @@ -90,12 +98,13 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OmniFlix/onft v0.3.0-alpha.1 h1:r52CUJOohS7FMhGwF8eZXd9evm2O8+1DIoobmbhq6gg= -github.com/OmniFlix/onft v0.3.0-alpha.1/go.mod h1:y1RknOuWIm2FhShS8Cb03mgyryYu7xZa+PzG5lN3O3A= +github.com/OmniFlix/onft v0.3.0 h1:VDMFJuBEI+OyvcPCBXph+sS6OY7i1uQ9H0I0ZpleU8Q= +github.com/OmniFlix/onft v0.3.0/go.mod h1:y1RknOuWIm2FhShS8Cb03mgyryYu7xZa+PzG5lN3O3A= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= @@ -111,8 +120,8 @@ github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSa github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= -github.com/adlio/schema v1.1.14 h1:lIjyp5/2wSuEOmeQGNPpaRsVGZRqz9A/B+PaMtEotaU= -github.com/adlio/schema v1.1.14/go.mod h1:hQveFEMiDlG/M9yz9RAajnH5DzT6nAfqOG9YkEQU2pg= +github.com/adlio/schema v1.3.0 h1:eSVYLxYWbm/6ReZBCkLw4Fz7uqC+ZNoPvA39bOwi52A= +github.com/adlio/schema v1.3.0/go.mod h1:51QzxkpeFs6lRY11kPye26IaFPOV+HqEj01t5aXXKfs= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= @@ -133,8 +142,9 @@ github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1: github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= @@ -190,6 +200,7 @@ github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEe github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -209,6 +220,10 @@ github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5P github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.6.10/go.mod h1:J/JFMsfcePrjJZkwQFLh+hJErkAmdm9Iyy3D5Y0LfXo= @@ -221,8 +236,8 @@ github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4ur github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= -github.com/containerd/continuity v0.2.0 h1:j/9Wnn+hrEWjLvHuIxUU1YI5JjEjVlT2AA68cse9rwY= -github.com/containerd/continuity v0.2.0/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg= +github.com/containerd/continuity v0.2.1 h1:/EeEo2EtN3umhbbgCveyjifoMYg0pS+nMMEemaYw634= +github.com/containerd/continuity v0.2.1/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -239,9 +254,8 @@ github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= -github.com/cosmos/cosmos-sdk v0.44.5/go.mod h1:maUA6m2TBxOJZkbwl0eRtEBgTX37kcaiOWU5t1HEGaY= -github.com/cosmos/cosmos-sdk v0.45.1 h1:PY79YxPea5qlRLExRnzg8/rT1Scc8GGgRs22p7DX99Q= -github.com/cosmos/cosmos-sdk v0.45.1/go.mod h1:XXS/asyCqWNWkx2rW6pSuen+EVcpAFxq6khrhnZgHaQ= +github.com/cosmos/cosmos-sdk v0.45.6 h1:bnYLOcDp0cKWMLeUTTJIttq6xxRep52ulPxXC3BCfuQ= +github.com/cosmos/cosmos-sdk v0.45.6/go.mod h1:bPeeVMEtVvH3y3xAGHVbK+/CZlpaazzh77hG8ZrcJpI= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -253,7 +267,6 @@ github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y= github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= github.com/cosmos/ibc-go v1.2.2 h1:bs6TZ8Es1kycIu2AHlRZ9dzJ+mveqlLN/0sjWtRH88o= github.com/cosmos/ibc-go v1.2.2/go.mod h1:XmYjsRFOs6Q9Cz+CSsX21icNoH27vQKb3squgnCOCbs= -github.com/cosmos/ibc-go/v2 v2.0.3/go.mod h1:XUmW7wmubCRhIEAGtMGS+5IjiSSmcAwihoN/yPGd6Kk= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= @@ -261,6 +274,7 @@ github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -275,6 +289,7 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= +github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= @@ -289,6 +304,7 @@ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WA github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= @@ -308,8 +324,10 @@ github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25/go.mod h1:hTr8+TLQmkUkgcuh3mcr5fjrT9c64ZzsBCdCEC6UppY= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= @@ -324,6 +342,7 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -345,10 +364,8 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= -github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= github.com/go-critic/go-critic v0.5.6/go.mod h1:cVjj0DfqewQVIlIAGexPCaGaZDAqGE29PYDDADIVNEo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -369,10 +386,8 @@ github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KE github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= @@ -382,6 +397,7 @@ github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8w github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= @@ -410,6 +426,8 @@ github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14j github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -517,6 +535,7 @@ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= @@ -533,8 +552,9 @@ github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= @@ -570,6 +590,7 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -579,6 +600,7 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -605,10 +627,13 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= @@ -619,6 +644,7 @@ github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmK github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= @@ -701,7 +727,6 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= github.com/ldez/gomoddirectives v0.2.2/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.2.0/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= -github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= @@ -710,7 +735,6 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.3/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= @@ -719,6 +743,7 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= @@ -730,13 +755,14 @@ github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= @@ -748,6 +774,7 @@ github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -757,6 +784,7 @@ github.com/mgechev/revive v1.1.1/go.mod h1:PKqk4L74K6wVNwY2b6fr+9Qqr/3hIsHVfZCJd github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= @@ -779,8 +807,9 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= @@ -791,6 +820,7 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= @@ -857,11 +887,13 @@ github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWEr github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.0.3 h1:1hbqejyQWCJBvtKAfdO0b1FmaEf2z/bxnjqbARass5k= +github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= @@ -902,6 +934,7 @@ github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7 github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -922,8 +955,9 @@ github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeD github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -942,8 +976,9 @@ github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16 github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -983,18 +1018,19 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.0 h1:P2KMzcFwrPoSjkF1WLRPsp3UMLyql8L4v9hQpVeK5so= -github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= +github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= @@ -1029,6 +1065,7 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -1039,8 +1076,9 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -1053,8 +1091,8 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.9.0 h1:yR6EXjTp0y0cLN8OZg1CRZmOBdI88UcGkhgyJhu6nZk= -github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= +github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= +github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= @@ -1075,8 +1113,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -1098,8 +1137,8 @@ github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tendermint v0.34.15 h1:45OEYTBD/TL0YFn8MF7yYJvC5iubyN4AbEjctPi1UqA= -github.com/tendermint/tendermint v0.34.15/go.mod h1:/7EDAw02rD7GT8syC317cX9ZhZTCdaFVvYjU8W+yJSs= +github.com/tendermint/tendermint v0.34.19 h1:y0P1qI5wSa9IRuhKnTDA6IUcOrLi1hXJuALR+R7HFEk= +github.com/tendermint/tendermint v0.34.19/go.mod h1:R5+wgIwSxMdKQcmOaeudL0Cjkr3HDkhpcdum6VeU3R4= github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= @@ -1170,8 +1209,11 @@ go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1183,6 +1225,7 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1228,8 +1271,9 @@ golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210915214749-c084706c2272 h1:3erb+vDS8lU1sxfDHF4/hhWyaXnhIaO+7RgL4fDZORA= golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1245,6 +1289,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20220609121020-a51bd0440498 h1:TF0FvLUGEq/8wOt/9AV1nj6D4ViZGUIGCMQfCv7VRXY= +golang.org/x/exp v0.0.0-20220609121020-a51bd0440498/go.mod h1:yh0Ynu2b5ZUe3MQfp2nM0ecK7wsgouWTDN0FNeJuIys= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -1272,6 +1318,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1324,14 +1371,17 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211005001312-d4b1ae081e3b h1:SXy8Ld8oKlcogOvUAh0J5Pm5RKzgYBMMxLxt6n5XW50= -golang.org/x/net v0.0.0-20211005001312-d4b1ae081e3b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b h1:MWaHNqZy3KTpuTMAGvv+Kw+ylsEpmyJZizz1dqxnu28= +golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1348,6 +1398,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1382,7 +1434,6 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1449,11 +1500,18 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211004093028-2c5d950f24ef h1:fPxZ3Umkct3LZ8gK9nbk+DWDJ9fstZa2grBn+lWVKPs= -golang.org/x/sys v0.0.0-20211004093028-2c5d950f24ef/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1611,7 +1669,12 @@ google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtuk google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1684,8 +1747,18 @@ google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKr google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 h1:ysnBoUyeL/H6RCvNRhWHjKoDEmguI+mPU+qHgK8qv/w= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb h1:ZrsicilzPCS/Xr8qtBZZLpy4P9TYXAfl49ctG1/5tgw= +google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -1716,12 +1789,10 @@ gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.63.2 h1:tGK/CyBg7SMzb60vP1M03vNZ3VDu3wGQJwn7Sxi9r3c= -gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= diff --git a/proto/marketplace/v1beta1/auction.proto b/proto/marketplace/v1beta1/auction.proto new file mode 100644 index 0000000..25ae0f1 --- /dev/null +++ b/proto/marketplace/v1beta1/auction.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; +package OmniFlix.marketplace.v1beta1; + +import "cosmos/base/v1beta1/coin.proto"; +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "marketplace/v1beta1/listing.proto"; + +option go_package = "github.com/OmniFlix/marketplace/x/marketplace/types"; +option (gogoproto.goproto_getters_all) = false; +option (gogoproto.goproto_enum_prefix_all) = false; + +message AuctionListing { + uint64 id = 1; + string nft_id = 2 [(gogoproto.moretags) = "yaml:\"nft_id\""]; + string denom_id = 3 [(gogoproto.moretags) = "yaml:\"denom_id\""]; + cosmos.base.v1beta1.Coin start_price = 4 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"start_price\"", + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin" + ]; + google.protobuf.Timestamp start_time = 5 [ + (gogoproto.stdtime) = true, + (gogoproto.moretags) = "yaml:\"start_time\"" + ]; + google.protobuf.Timestamp end_time = 6 [ + (gogoproto.stdtime) = true, + (gogoproto.moretags) = "yaml:\"end_time\"" + ]; + string owner = 7; + string increment_percentage = 8 [ + (gogoproto.moretags) = "yaml:\"increment_percentage\"", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + repeated string whitelist_accounts = 9 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"whitelist_accounts\"" + ]; + repeated WeightedAddress split_shares = 10 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"split_shares\"" + ]; +} + +enum AuctionStatus { + AUCTION_STATUS_UNSPECIFIED = 0; + AUCTION_STATUS_INACTIVE = 1; + AUCTION_STATUS_ACTIVE = 2; +} + +message Bid { + option (gogoproto.equal) = true; + + uint64 auction_id = 1 [(gogoproto.moretags) = "yaml:\"auction_id\""]; + string bidder = 2; + cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + google.protobuf.Timestamp time = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; +} \ No newline at end of file diff --git a/proto/marketplace/v1beta1/events.proto b/proto/marketplace/v1beta1/events.proto index a300d91..7f0cd7f 100644 --- a/proto/marketplace/v1beta1/events.proto +++ b/proto/marketplace/v1beta1/events.proto @@ -33,4 +33,31 @@ message EventBuyNFT { string denom_id = 3; string owner = 4; string buyer = 5; -} \ No newline at end of file +} + +// EventCreateAuction is emitted on creating auction +message EventCreateAuction { + string id = 1; + string nft_id = 2; + string denom_id = 3; + string owner = 4; + string min_price = 5; +} + +// EventCancelAuction is emitted on canceling auction +message EventCancelAuction { + string id = 1; + string nft_id = 2; + string denom_id = 3; + string owner = 4; +} + +// EventPlaceBid is emitted on placing bid for an auction +message EventPlaceBid { + string auction_id = 1; + string nft_id = 2; + string denom_id = 3; + string bidder = 4; + string amount = 5; +} + diff --git a/proto/marketplace/v1beta1/genesis.proto b/proto/marketplace/v1beta1/genesis.proto index f5663cd..d78df5f 100644 --- a/proto/marketplace/v1beta1/genesis.proto +++ b/proto/marketplace/v1beta1/genesis.proto @@ -3,13 +3,17 @@ package OmniFlix.marketplace.v1beta1; import "gogoproto/gogo.proto"; import "marketplace/v1beta1/listing.proto"; +import "marketplace/v1beta1/auction.proto"; import "marketplace/v1beta1/params.proto"; option go_package = "github.com/OmniFlix/marketplace/x/marketplace/types"; message GenesisState { // NFTs that are listed in marketplace - repeated Listing listings = 1 [(gogoproto.nullable) = false]; - uint64 ListingCount = 2; - Params params = 3 [(gogoproto.nullable) = false]; + repeated Listing listings = 1 [(gogoproto.nullable) = false]; + uint64 ListingCount = 2; + Params params = 3 [(gogoproto.nullable) = false]; + repeated AuctionListing auctions = 4 [(gogoproto.nullable) = false]; + repeated Bid bids = 5 [(gogoproto.nullable) = false]; + uint64 next_auction_number = 6; } \ No newline at end of file diff --git a/proto/marketplace/v1beta1/params.proto b/proto/marketplace/v1beta1/params.proto index 43c4db9..3beaa95 100644 --- a/proto/marketplace/v1beta1/params.proto +++ b/proto/marketplace/v1beta1/params.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package OmniFlix.marketplace.v1beta1; import "gogoproto/gogo.proto"; +import "google/protobuf/duration.proto"; option go_package = "github.com/OmniFlix/marketplace/x/marketplace/types"; option (gogoproto.goproto_getters_all) = false; @@ -9,12 +10,17 @@ option (gogoproto.goproto_getters_all) = false; message Params { - string sale_commission = 1 [ + string sale_commission = 1 [ (gogoproto.moretags) = "yaml:\"sale_commission\"", (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false ]; - Distribution distribution = 2 [(gogoproto.nullable) = false]; + Distribution distribution = 2 [(gogoproto.nullable) = false]; + google.protobuf.Duration bid_close_duration = 3 [ + (gogoproto.moretags) = "yaml:\"bid_close_duration\"", + (gogoproto.stdduration) = true, + (gogoproto.nullable) = false + ]; } message Distribution { diff --git a/proto/marketplace/v1beta1/query.proto b/proto/marketplace/v1beta1/query.proto index 7580e7e..f090e99 100644 --- a/proto/marketplace/v1beta1/query.proto +++ b/proto/marketplace/v1beta1/query.proto @@ -5,6 +5,7 @@ import "cosmos/base/query/v1beta1/pagination.proto"; import "google/api/annotations.proto"; import "marketplace/v1beta1/listing.proto"; import "marketplace/v1beta1/params.proto"; +import "marketplace/v1beta1/auction.proto"; import "gogoproto/gogo.proto"; option go_package = "github.com/OmniFlix/marketplace/x/marketplace/types"; @@ -34,6 +35,35 @@ service Query { rpc ListingByNftId(QueryListingByNFTIDRequest) returns (QueryListingResponse) { option (google.api.http).get = "/omniflix/marketplace/v1beta1/listing-by-nft/{nft_id}"; } + + // auction queries + rpc Auctions(QueryAuctionsRequest) returns (QueryAuctionsResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/auctions"; + } + + rpc Auction(QueryAuctionRequest) returns (QueryAuctionResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/auctions/{id}"; + } + + rpc AuctionsByOwner(QueryAuctionsByOwnerRequest) returns (QueryAuctionsResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/auctions-by-owner/{owner}"; + } + + rpc AuctionsByPriceDenom(QueryAuctionsByPriceDenomRequest) returns (QueryAuctionsResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/auctions-by-price-denom/{price_denom}"; + } + + rpc AuctionByNftId(QueryAuctionByNFTIDRequest) returns (QueryAuctionResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/auction-by-nft/{nft_id}"; + } + + rpc Bids(QueryBidsRequest) returns (QueryBidsResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/bids"; + } + + rpc Bid(QueryBidRequest) returns (QueryBidResponse) { + option (google.api.http).get = "/omniflix/marketplace/v1beta1/bids/{id}"; + } } @@ -87,4 +117,57 @@ message QueryListingsByPriceDenomRequest { message QueryListingsByPriceDenomResponse { repeated Listing listings = 1 [(gogoproto.nullable) = false]; cosmos.base.query.v1beta1.PageResponse pagination = 2; -} \ No newline at end of file +} + +message QueryAuctionsRequest { + AuctionStatus status = 1; + string owner = 2; + string price_denom = 3 [(gogoproto.moretags) = "yaml:\"price_denom\""]; + cosmos.base.query.v1beta1.PageRequest pagination = 4; +} + +message QueryAuctionsResponse { + repeated AuctionListing auctions = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; +} + +message QueryAuctionRequest { + uint64 id = 1; +} + +message QueryAuctionResponse { + AuctionListing auction = 1; +} + +message QueryAuctionsByOwnerRequest { + string owner = 1; + cosmos.base.query.v1beta1.PageRequest pagination = 2; +} + +message QueryAuctionByNFTIDRequest { + string nft_id = 1 [(gogoproto.moretags) = "yaml:\"nft_id\""]; +} + +message QueryAuctionsByPriceDenomRequest { + string price_denom = 1 [(gogoproto.moretags) = "yaml:\"price_denom\""]; + cosmos.base.query.v1beta1.PageRequest pagination = 2; +} + +message QueryBidsRequest { + string bidder = 1; + cosmos.base.query.v1beta1.PageRequest pagination = 2; +} + +message QueryBidsResponse { + repeated Bid bids = 1 [(gogoproto.nullable) = false]; + cosmos.base.query.v1beta1.PageResponse pagination = 2; + +} + +message QueryBidRequest { + uint64 id = 1; +} + +message QueryBidResponse { + Bid bid = 1; +} diff --git a/proto/marketplace/v1beta1/tx.proto b/proto/marketplace/v1beta1/tx.proto index a8c69e9..dc2fddf 100644 --- a/proto/marketplace/v1beta1/tx.proto +++ b/proto/marketplace/v1beta1/tx.proto @@ -3,7 +3,10 @@ package OmniFlix.marketplace.v1beta1; import "cosmos/base/v1beta1/coin.proto"; import "marketplace/v1beta1/listing.proto"; +import "marketplace/v1beta1/auction.proto"; import "gogoproto/gogo.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; option go_package = "github.com/OmniFlix/marketplace/x/marketplace/types"; option (gogoproto.goproto_getters_all) = false; @@ -18,8 +21,15 @@ service Msg { rpc BuyNFT(MsgBuyNFT) returns (MsgBuyNFTResponse); + rpc CreateAuction(MsgCreateAuction) returns (MsgCreateAuctionResponse); + + rpc CancelAuction(MsgCancelAuction) returns (MsgCancelAuctionResponse); + + rpc PlaceBid(MsgPlaceBid) returns (MsgPlaceBidResponse); + } + message MsgListNFT { string id = 1; string nft_id = 2; @@ -63,3 +73,54 @@ message MsgBuyNFT { } message MsgBuyNFTResponse {} + +message MsgCreateAuction { + string nft_id = 1; + string denom_id = 2; + google.protobuf.Timestamp start_time = 3 [ + (gogoproto.stdtime) = true, + (gogoproto.moretags) = "yaml:\"start_time\"" + ]; + cosmos.base.v1beta1.Coin start_price = 4 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin", + (gogoproto.moretags) = "yaml:\"start_price\"" + ]; + google.protobuf.Duration duration = 5 [(gogoproto.stdduration) = true]; + string increment_percentage = 6 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"increment_percentage\"", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec" + ]; + repeated string whitelist_accounts = 7 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"whitelist_accounts\"" + ]; + repeated WeightedAddress split_shares = 8 [ + (gogoproto.nullable) = false, + (gogoproto.moretags) = "yaml:\"split_shares\"" + ]; + string owner = 9; +} + +message MsgCreateAuctionResponse { + AuctionListing auction = 1; +} + +message MsgCancelAuction { + uint64 auction_id = 1 [(gogoproto.moretags) = "yaml:\"auction_id\""]; + string owner = 2; +} + +message MsgCancelAuctionResponse {} + +message MsgPlaceBid { + uint64 auction_id = 1 [(gogoproto.moretags) = "yaml:\"auction_id\""]; + cosmos.base.v1beta1.Coin amount = 2 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin" + ]; + string bidder = 3; +} + +message MsgPlaceBidResponse {} \ No newline at end of file diff --git a/x/marketplace/abci.go b/x/marketplace/abci.go new file mode 100644 index 0000000..47aefdb --- /dev/null +++ b/x/marketplace/abci.go @@ -0,0 +1,17 @@ +package marketplace + +import ( + "github.com/OmniFlix/marketplace/x/marketplace/keeper" + sdk "github.com/cosmos/cosmos-sdk/types" + abcitypes "github.com/tendermint/tendermint/abci/types" +) + +func EndBlock(ctx sdk.Context, k keeper.Keeper) []abcitypes.ValidatorUpdate { + var log = k.Logger(ctx) + err := k.UpdateAuctionStatusesAndProcessBids(ctx) + if err != nil { + panic(err) + } + log.Info("Updated Auctions and Processed bids.. ") + return []abcitypes.ValidatorUpdate{} +} diff --git a/x/marketplace/client/cli/flags.go b/x/marketplace/client/cli/flags.go index 29da78c..16939a3 100644 --- a/x/marketplace/client/cli/flags.go +++ b/x/marketplace/client/cli/flags.go @@ -9,14 +9,24 @@ const ( FlagNftId = "nft-id" FlagPrice = "price" FlagOwner = "owner" + FlagBidder = "bidder" FlagPriceDenom = "price-denom" FlagSplitShares = "split-shares" + FlagWhiteListAccounts = "whitelist-accounts" + FlagStartTime = "start-time" + FlagStartPrice = "start-price" + FlagIncrementPercentage = "increment-percentage" + FlagDuration = "duration" + FlagAmount = "amount" ) var ( FsListNft = flag.NewFlagSet("", flag.ContinueOnError) FsEditListing = flag.NewFlagSet("", flag.ContinueOnError) FsBuyNFT = flag.NewFlagSet("", flag.ContinueOnError) + + FsCreateAuction = flag.NewFlagSet("", flag.ContinueOnError) + FsPlaceBid = flag.NewFlagSet("", flag.ContinueOnError) ) func init() { @@ -28,4 +38,15 @@ func init() { FsEditListing.String(FlagPrice, "", "listing price of nft") FsBuyNFT.String(FlagPrice, "", "buying price of nft") + + FsCreateAuction.String(FlagDenomId, "", "nft denom id") + FsCreateAuction.String(FlagNftId, "", "nft id") + FsCreateAuction.String(FlagStartPrice, "", "auction bid start price of nft") + FsCreateAuction.String(FlagStartTime, "", "auction start time") + FsCreateAuction.String(FlagDuration, "", "auction duration") + FsCreateAuction.String(FlagIncrementPercentage, "0.01", "bid increment percentage") + FsCreateAuction.String(FlagWhiteListAccounts, "", "whitelist accounts for private auction") + FsCreateAuction.String(FlagSplitShares, "", "split shares for listing") + + FsPlaceBid.String(FlagAmount, "", "auction bid amount") } diff --git a/x/marketplace/client/cli/query.go b/x/marketplace/client/cli/query.go index 41fd0d7..2c42b2c 100644 --- a/x/marketplace/client/cli/query.go +++ b/x/marketplace/client/cli/query.go @@ -7,6 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" + "strconv" "strings" "github.com/OmniFlix/marketplace/x/marketplace/types" @@ -28,6 +29,11 @@ func GetQueryCmd() *cobra.Command { GetCmdQueryListing(), GetCmdQueryAllListings(), GetCmdQueryListingsByOwner(), + GetCmdQueryAuction(), + GetCmdQueryAllAuctions(), + GetCmdQueryAuctionsByOwner(), + GetCmdQueryAuctionBid(), + GetCmdQueryAllBids(), ) return cmd @@ -189,3 +195,220 @@ func GetCmdQueryListingsByOwner() *cobra.Command { return cmd } + + +// GetCmdQueryAuctionListing implements the query auction command. +func GetCmdQueryAuction() *cobra.Command { + cmd := &cobra.Command{ + Use: "auction [id]", + Long: "Query a auction by id.", + Example: fmt.Sprintf("$ %s query marketplace auction ", version.AppName), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + + if err != nil { + return err + } + + auctionId, err := strconv.ParseUint(strings.ToLower(strings.TrimSpace(args[0])), 10, 64) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.Auction(context.Background(), &types.QueryAuctionRequest{ + Id: auctionId, + }) + + if err != nil { + return err + } + + return clientCtx.PrintProto(res.Auction) + }, + } + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} + +// GetCmdQueryAllAuctions implements the query all auctions command. +func GetCmdQueryAllAuctions() *cobra.Command { + cmd := &cobra.Command{ + Use: "auctions", + Long: "Query auctions.", + Example: fmt.Sprintf("$ %s query marketplace auctions", version.AppName), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + + if err != nil { + return err + } + owner, err := cmd.Flags().GetString(FlagOwner) + if err != nil { + return err + } + priceDenom, err := cmd.Flags().GetString(FlagPriceDenom) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + pageReq, err := client.ReadPageRequest(cmd.Flags()) + if err != nil { + return err + } + resp, err := queryClient.Auctions( + context.Background(), + &types.QueryAuctionsRequest{ + Owner: owner, + PriceDenom: priceDenom, + Pagination: pageReq, + }, + ) + if err != nil { + return err + } + + return clientCtx.PrintProto(resp) + }, + } + flags.AddQueryFlagsToCmd(cmd) + cmd.Flags().String(FlagOwner, "", "filter by owner address") + cmd.Flags().String(FlagPriceDenom, "", "filter by auction price-denom") + flags.AddPaginationFlagsToCmd(cmd, "all auctions") + + return cmd +} + +// GetCmdQueryAuctionsByOwner implements the query auctions by owner command. +func GetCmdQueryAuctionsByOwner() *cobra.Command { + cmd := &cobra.Command{ + Use: "auctions-by-owner [owner]", + Long: "Query auctions by the owner.", + Example: fmt.Sprintf("$ %s query marketplace auctions ", version.AppName), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + if err != nil { + return err + } + + var owner sdk.AccAddress + if len(args) > 0 { + owner, err = sdk.AccAddressFromBech32(args[0]) + if err != nil { + return err + } + } + + queryClient := types.NewQueryClient(clientCtx) + pageReq, err := client.ReadPageRequest(cmd.Flags()) + if err != nil { + return err + } + resp, err := queryClient.AuctionsByOwner( + context.Background(), + &types.QueryAuctionsByOwnerRequest{ + Owner: owner.String(), + Pagination: pageReq, + }, + ) + if err != nil { + return err + } + + return clientCtx.PrintProto(resp) + }, + } + flags.AddQueryFlagsToCmd(cmd) + flags.AddPaginationFlagsToCmd(cmd, "owner auctions") + + return cmd +} + +// GetCmdQueryAuctionBid implements the query bid command. +func GetCmdQueryAuctionBid() *cobra.Command { + cmd := &cobra.Command{ + Use: "bid [id]", + Long: "Query a bid by auction id.", + Example: fmt.Sprintf("$ %s query marketplace bid ", version.AppName), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + + if err != nil { + return err + } + + auctionId, err := strconv.ParseUint(strings.ToLower(strings.TrimSpace(args[0])), 10, 64) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.Bid(context.Background(), &types.QueryBidRequest{ + Id: auctionId, + }) + + if err != nil { + return err + } + + return clientCtx.PrintProto(res.Bid) + }, + } + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} + +// GetCmdQueryAllBids implements the query all bids command. +func GetCmdQueryAllBids() *cobra.Command { + cmd := &cobra.Command{ + Use: "bids", + Long: "Query bids.", + Example: fmt.Sprintf("$ %s query marketplace bids", version.AppName), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + clientCtx, err := client.ReadPersistentCommandFlags(clientCtx, cmd.Flags()) + + if err != nil { + return err + } + bidder, err := cmd.Flags().GetString(FlagBidder) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + pageReq, err := client.ReadPageRequest(cmd.Flags()) + if err != nil { + return err + } + resp, err := queryClient.Bids( + context.Background(), + &types.QueryBidsRequest{ + Bidder: bidder, + Pagination: pageReq, + }, + ) + if err != nil { + return err + } + + return clientCtx.PrintProto(resp) + }, + } + flags.AddQueryFlagsToCmd(cmd) + cmd.Flags().String(FlagBidder, "", "filter by bidder address") + flags.AddPaginationFlagsToCmd(cmd, "all bids") + + return cmd +} \ No newline at end of file diff --git a/x/marketplace/client/cli/tx.go b/x/marketplace/client/cli/tx.go index 1d5be13..896e732 100644 --- a/x/marketplace/client/cli/tx.go +++ b/x/marketplace/client/cli/tx.go @@ -7,7 +7,9 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" "github.com/spf13/cobra" + "strconv" "strings" + "time" "github.com/OmniFlix/marketplace/x/marketplace/types" "github.com/cosmos/cosmos-sdk/client" @@ -27,6 +29,9 @@ func GetTxCmd() *cobra.Command { GetCmdEditListing(), GetCmdDeListNft(), GetCmdBuyNft(), + GetCmdCreateAuction(), + GetCmdCancelAuction(), + GetCmdPlaceBid(), ) return marketplaceTxCmd @@ -215,7 +220,7 @@ func GetCmdBuyNft() *cobra.Command { } price, err := sdk.ParseCoinNormalized(priceStr) if err != nil { - return fmt.Errorf("failed to parse price: %s", price) + return fmt.Errorf("failed to parse price: %s", priceStr) } msg := types.NewMsgBuyNFT(listingId, price, buyer) @@ -229,6 +234,7 @@ func GetCmdBuyNft() *cobra.Command { } cmd.Flags().AddFlagSet(FsBuyNFT) + _ = cmd.MarkFlagRequired(FlagPrice) flags.AddTxFlagsToCmd(cmd) return cmd @@ -255,3 +261,219 @@ func parseSplitShares(splitsharesStr string) ([]types.WeightedAddress, error) { } return weightedAddrsList, nil } + +func parseWhitelistAccounts(whitelistStr string) ([]string, error) { + whitelistStr = strings.TrimSpace(whitelistStr) + whitelist := strings.Split(whitelistStr, ",") + return whitelist, nil +} + +// GetCmdCreateAuction implements the create-auction command +func GetCmdCreateAuction() *cobra.Command { + cmd := &cobra.Command{ + Use: "create-auction", + Long: "creates an auction on marketplace", + Example: fmt.Sprintf( + "$ %s tx marketplace create-auction "+ + "--nft-id= "+ + "--denom-id= "+ + "--start-price=\"1000000uflix\" "+ + "--start-time=\"2022-06-13T13:02:49.389Z\" "+ + "--increment-percentage=\"0.01\""+ + "--from= "+ + "--chain-id= "+ + "--fees=", + version.AppName, + ), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + owner := clientCtx.GetFromAddress() + denomId, err := cmd.Flags().GetString(FlagDenomId) + if err != nil { + return err + } + nftId, err := cmd.Flags().GetString(FlagNftId) + if err != nil { + return err + } + startPriceStr, err := cmd.Flags().GetString(FlagStartPrice) + if err != nil { + return err + } + startPrice, err := sdk.ParseCoinNormalized(startPriceStr) + if err != nil { + return fmt.Errorf("failed to parse start price: %s", startPrice) + } + startTimeStr, err := cmd.Flags().GetString(FlagStartTime) + if err != nil { + return err + } + + var startTime time.Time + if startTimeStr != "" { + startTime, err = time.Parse(time.RFC3339, startTimeStr) + if err != nil { + return err + } + } else { + return fmt.Errorf("failed to parse start time: %s", startTime) + } + splitSharesStr, err := cmd.Flags().GetString(FlagSplitShares) + if err != nil { + return err + } + var splitShares []types.WeightedAddress + if len(splitSharesStr) > 0 { + splitShares, err = parseSplitShares(splitSharesStr) + if err != nil { + return err + } + } + durationStr, err := cmd.Flags().GetString(FlagDuration) + if err != nil { + return err + } + var duration *time.Duration + if len(durationStr) > 0 { + dur, err := time.ParseDuration(durationStr) + if err != nil { + return err + } + duration = &dur + } else { + duration = nil + } + incrementStr, err := cmd.Flags().GetString(FlagIncrementPercentage) + if err != nil { + return err + } + increment, err := sdk.NewDecFromStr(incrementStr) + if err != nil { + return err + } + whitelistAccountsStr, err := cmd.Flags().GetString(FlagWhiteListAccounts) + if err != nil { + return err + } + var whitelist []string + if len(whitelistAccountsStr) > 0 { + whitelist, err = parseWhitelistAccounts(whitelistAccountsStr) + if err != nil { + return err + } + } + msg := types.NewMsgCreateAuction(denomId, nftId, startTime, duration, startPrice, owner, increment, whitelist, splitShares) + + if err := msg.ValidateBasic(); err != nil { + return err + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + cmd.Flags().AddFlagSet(FsCreateAuction) + _ = cmd.MarkFlagRequired(FlagDenomId) + _ = cmd.MarkFlagRequired(FlagNftId) + _ = cmd.MarkFlagRequired(FlagStartPrice) + _ = cmd.MarkFlagRequired(FlagStartTime) + flags.AddTxFlagsToCmd(cmd) + + return cmd +} + + +// GetCmdCancelAuction implements the cancel-auction command +func GetCmdCancelAuction() *cobra.Command { + cmd := &cobra.Command{ + Use: "cancel-auction", + Long: "cancel an existing auction from marketplace with no bids", + Example: fmt.Sprintf( + "$ %s tx marketplace cancel-auction [auction-id] "+ + "--from= "+ + "--chain-id= "+ + "--fees=", + version.AppName, + ), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + owner := clientCtx.GetFromAddress() + + auctionId, err := strconv.ParseUint(strings.TrimSpace(args[0]),10, 64) + if err != nil { + return err + } + + msg := types.NewMsgCancelAuction(auctionId, owner) + if err := msg.ValidateBasic(); err != nil { + return err + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + flags.AddTxFlagsToCmd(cmd) + + return cmd +} + +// GetCmdBid implements the bid command +func GetCmdPlaceBid() *cobra.Command { + cmd := &cobra.Command{ + Use: "place-bid", + Short: "Bid for an nft on marketplace", + Example: fmt.Sprintf( + "$ %s tx marketplace place-bid [auction-id]"+ + "--amount="+ + "--from= "+ + "--chain-id= "+ + "--fees=", + version.AppName, + ), + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + buyer := clientCtx.GetFromAddress() + auctionId, err := strconv.ParseUint(args[0], 10, 64) + if err != nil { + return err + } + + amountStr, err := cmd.Flags().GetString(FlagAmount) + if err != nil { + return err + } + amount, err := sdk.ParseCoinNormalized(amountStr) + if err != nil { + return fmt.Errorf("failed to parse price: %s", amountStr) + } + + msg := types.NewMsgPlaceBid(auctionId, amount, buyer) + + if err := msg.ValidateBasic(); err != nil { + return err + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + cmd.Flags().AddFlagSet(FsPlaceBid) + _ = cmd.MarkFlagRequired(FlagAmount) + flags.AddTxFlagsToCmd(cmd) + + return cmd +} \ No newline at end of file diff --git a/x/marketplace/exported/marketplace.go b/x/marketplace/exported/marketplace.go index 6dfd25a..0d209c4 100644 --- a/x/marketplace/exported/marketplace.go +++ b/x/marketplace/exported/marketplace.go @@ -1,6 +1,9 @@ package exported -import sdk "github.com/cosmos/cosmos-sdk/types" +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "time" +) type ListingI interface { GetId() string @@ -10,3 +13,21 @@ type ListingI interface { GetOwner() sdk.AccAddress GetSplitShares() interface{} } + +type AuctionListingI interface { + GetId() uint64 + GetDenomId() string + GetNftId() string + GetStartPrice() sdk.Coin + GetStartTime() time.Time + GetIncrementPercentage() sdk.Dec + GetOwner() sdk.AccAddress + GetSplitShares() interface{} + GetStatus() string +} + +type BidI interface { + GetAuctionId() uint64 + GetAmount() sdk.Coin + GetBidder() sdk.AccAddress +} \ No newline at end of file diff --git a/x/marketplace/genesis.go b/x/marketplace/genesis.go index eee6715..5b1c0b3 100644 --- a/x/marketplace/genesis.go +++ b/x/marketplace/genesis.go @@ -22,6 +22,18 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) k.SetListingCount(ctx, genState.ListingCount) k.SetParams(ctx, genState.Params) + for _, al := range genState.Auctions { + k.SetAuctionListing(ctx, al) + k.SetAuctionListingWithOwner(ctx, al.GetOwner(), al.GetId()) + k.SetAuctionListingWithNFTID(ctx, al.GetNftId(), al.GetId()) + k.SetAuctionListingWithPriceDenom(ctx, al.StartPrice.GetDenom(), al.GetId()) + } + + for _, b := range genState.Bids { + k.SetBid(ctx, b) + } + k.SetNextAuctionNumber(ctx, genState.NextAuctionNumber) + // check if the module account exists moduleAcc := k.GetMarketplaceAccount(ctx) if moduleAcc == nil { @@ -30,9 +42,16 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) } func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { - return types.NewGenesisState(k.GetAllListings(ctx), k.GetListingCount(ctx), k.GetParams(ctx)) + return types.NewGenesisState( + k.GetAllListings(ctx), + k.GetListingCount(ctx), + k.GetParams(ctx), + k.GetAllAuctionListings(ctx), + k.GetAllBids(ctx), + k.GetNextAuctionNumber(ctx), + ) } func DefaultGenesisState() *types.GenesisState { - return types.NewGenesisState([]types.Listing{}, 0, types.DefaultParams()) + return types.NewGenesisState([]types.Listing{}, 0, types.DefaultParams(), []types.AuctionListing{}, []types.Bid{}, 1) } diff --git a/x/marketplace/handler.go b/x/marketplace/handler.go index b9c21cb..404483d 100644 --- a/x/marketplace/handler.go +++ b/x/marketplace/handler.go @@ -29,6 +29,18 @@ func NewHandler(k keeper.Keeper) sdk.Handler { case *types.MsgBuyNFT: res, err := msgServer.BuyNFT(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) + + // Auction messages + case *types.MsgCreateAuction: + res, err := msgServer.CreateAuction(sdk.WrapSDKContext(ctx), msg) + return sdk.WrapServiceResult(ctx, res, err) + case *types.MsgCancelAuction: + res, err := msgServer.CancelAuction(sdk.WrapSDKContext(ctx), msg) + return sdk.WrapServiceResult(ctx, res, err) + case *types.MsgPlaceBid: + res, err := msgServer.PlaceBid(sdk.WrapSDKContext(ctx), msg) + return sdk.WrapServiceResult(ctx, res, err) + default: errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg) return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg) diff --git a/x/marketplace/keeper/auction.go b/x/marketplace/keeper/auction.go new file mode 100644 index 0000000..663f4e9 --- /dev/null +++ b/x/marketplace/keeper/auction.go @@ -0,0 +1,334 @@ +package keeper + +import ( + "fmt" + "github.com/OmniFlix/marketplace/x/marketplace/types" + "github.com/cosmos/cosmos-sdk/store/prefix" + sdk "github.com/cosmos/cosmos-sdk/types" + gogotypes "github.com/gogo/protobuf/types" +) + +// GetNextAuctionNumber get the next auction number +func (k Keeper) GetNextAuctionNumber(ctx sdk.Context) uint64 { + var nextAuctionNumber uint64 + store := ctx.KVStore(k.storeKey) + + bz := store.Get(types.PrefixNextAuctionNumber) + if bz == nil { + panic(fmt.Errorf("%s module not initialized -- Should have been done in InitGenesis", types.ModuleName)) + } else { + val := gogotypes.UInt64Value{} + + err := k.cdc.Unmarshal(bz, &val) + if err != nil { + panic(err) + } + + nextAuctionNumber = val.GetValue() + } + return nextAuctionNumber +} + +// SetNextAuctionNumber set the next auction number +func (k Keeper) SetNextAuctionNumber(ctx sdk.Context, number uint64) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: number}) + store.Set(types.PrefixNextAuctionNumber, bz) +} + +// SetAuctionListing set a specific auction listing in the store +func (k Keeper) SetAuctionListing(ctx sdk.Context, auctionListing types.AuctionListing) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionId) + bz := k.cdc.MustMarshal(&auctionListing) + store.Set(types.KeyAuctionIdPrefix(auctionListing.Id), bz) +} + +// GetAuctionListing returns a auction listing by its id +func (k Keeper) GetAuctionListing(ctx sdk.Context, id uint64) (val types.AuctionListing, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionId) + b := store.Get(types.KeyAuctionIdPrefix(id)) + if b == nil { + return val, false + } + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// GetListing returns a listing from its nft id +func (k Keeper) GetAuctionListingIdByNftId(ctx sdk.Context, nftId string) (val uint64, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionNFTID) + bz := store.Get(types.KeyAuctionNFTIDPrefix(nftId)) + if bz == nil { + return val, false + } + var auctionId gogotypes.UInt64Value + k.cdc.MustUnmarshal(bz, &auctionId) + return auctionId.Value, true +} + +// RemoveAuctionListing removes a auction listing from the store +func (k Keeper) RemoveAuctionListing(ctx sdk.Context, id uint64) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionId) + store.Delete(types.KeyAuctionIdPrefix(id)) +} + +// GetAllAuctionListings returns all auction listings +func (k Keeper) GetAllAuctionListings(ctx sdk.Context) (list []types.AuctionListing) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionId) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.AuctionListing + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} + +// GetAuctionListingsByOwner returns all auction listings of specific owner +func (k Keeper) GetAuctionListingsByOwner(ctx sdk.Context, owner sdk.AccAddress) (auctionListings []types.AuctionListing) { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, append(types.PrefixAuctionOwner, owner.Bytes()...)) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(iterator.Value(), &id) + listing, found := k.GetAuctionListing(ctx, id.Value) + if !found { + continue + } + auctionListings = append(auctionListings, listing) + } + + return +} + +func (k Keeper) HasAuctionListing(ctx sdk.Context, id uint64) bool { + store := ctx.KVStore(k.storeKey) + return store.Has(types.KeyAuctionIdPrefix(id)) +} + +func (k Keeper) SetAuctionListingWithOwner(ctx sdk.Context, owner sdk.AccAddress, id uint64) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: id}) + + store.Set(types.KeyAuctionOwnerPrefix(owner, id), bz) +} +func (k Keeper) UnsetAuctionListingWithOwner(ctx sdk.Context, owner sdk.AccAddress, id uint64) { + store := ctx.KVStore(k.storeKey) + store.Delete(types.KeyAuctionOwnerPrefix(owner, id)) +} + +func (k Keeper) SetAuctionListingWithNFTID(ctx sdk.Context, nftId string, id uint64) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionNFTID) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: id}) + store.Set(types.KeyAuctionNFTIDPrefix(nftId), bz) +} + +func (k Keeper) UnsetAuctionListingWithNFTID(ctx sdk.Context, nftId string) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionNFTID) + store.Delete(types.KeyAuctionNFTIDPrefix(nftId)) +} + +func (k Keeper) SetAuctionListingWithPriceDenom(ctx sdk.Context, priceDenom string, id uint64) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: id}) + + store.Set(types.KeyAuctionPriceDenomPrefix(priceDenom, id), bz) +} + +func (k Keeper) UnsetAuctionListingWithPriceDenom(ctx sdk.Context, priceDenom string, id uint64) { + store := ctx.KVStore(k.storeKey) + store.Delete(types.KeyAuctionPriceDenomPrefix(priceDenom, id)) +} + +func (k Keeper) SetInactiveAuction(ctx sdk.Context, auctionId uint64) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: auctionId}) + + store.Set(types.KeyInActiveAuctionPrefix(auctionId), bz) +} + +func (k Keeper) UnsetInactiveAuction(ctx sdk.Context, auctionId uint64) { + store := ctx.KVStore(k.storeKey) + store.Delete(types.KeyInActiveAuctionPrefix(auctionId)) +} + +func (k Keeper) SetActiveAuction(ctx sdk.Context, auctionId uint64) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: auctionId}) + + store.Set(types.KeyActiveAuctionPrefix(auctionId), bz) +} + +func (k Keeper) UnsetActiveAuction(ctx sdk.Context, auctionId uint64) { + store := ctx.KVStore(k.storeKey) + store.Delete(types.KeyActiveAuctionPrefix(auctionId)) +} + +func (k Keeper) IterateInactiveAuctions(ctx sdk.Context, fn func(index int, item types.AuctionListing) (stop bool)) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixInactiveAuction) + iter := sdk.KVStorePrefixIterator(store, []byte{}) + defer iter.Close() + + for i := 0; iter.Valid(); iter.Next() { + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(iter.Value(), &id) + var ( + auction, _ = k.GetAuctionListing(ctx, id.Value) + ) + + if stop := fn(i, auction); stop { + break + } + i++ + } +} + +func (k Keeper) IterateActiveAuctions(ctx sdk.Context, fn func(index int, item types.AuctionListing) (stop bool)) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixActiveAuction) + iter := sdk.KVStorePrefixIterator(store, []byte{}) + defer iter.Close() + + for i := 0; iter.Valid(); iter.Next() { + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(iter.Value(), &id) + var ( + auction, _ = k.GetAuctionListing(ctx, id.Value) + ) + + if stop := fn(i, auction); stop { + break + } + i++ + } +} + +// UpdateAuctionStatusesAndProcessBids update all auction listings status +func (k Keeper) UpdateAuctionStatusesAndProcessBids(ctx sdk.Context) error { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixAuctionId) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var auction types.AuctionListing + k.cdc.MustUnmarshal(iterator.Value(), &auction) + if auction.StartTime.Before(ctx.BlockTime()) { + bid, found := k.GetBid(ctx, auction.GetId()) + if !found && auction.EndTime != nil && auction.EndTime.Before(ctx.BlockTime()) { + err := k.nftKeeper.TransferOwnership(ctx, auction.GetDenomId(), auction.GetNftId(), + k.accountKeeper.GetModuleAddress(types.ModuleName), auction.GetOwner()) + if err != nil { + return err + } + k.RemoveAuctionListing(ctx, auction.GetId()) + k.removeAuctionEvent(ctx, auction) + } else if !found && auction.EndTime == nil && + ctx.BlockTime().Sub(*auction.StartTime).Seconds() > k.GetBidCloseDuration(ctx).Seconds() { + err := k.nftKeeper.TransferOwnership(ctx, auction.GetDenomId(), auction.GetNftId(), + k.accountKeeper.GetModuleAddress(types.ModuleName), auction.GetOwner()) + if err != nil { + return err + } + k.RemoveAuctionListing(ctx, auction.GetId()) + k.removeAuctionEvent(ctx, auction) + + } else if found && ctx.BlockTime().Sub(bid.Time).Seconds() > k.GetBidCloseDuration(ctx).Seconds() { + err := k.processBid(ctx, auction, bid) + if err != nil { + return err + } + } + } + } + return nil +} + +func (k Keeper) processBid(ctx sdk.Context, auction types.AuctionListing, bid types.Bid) error { + owner, err := sdk.AccAddressFromBech32(auction.Owner) + if err != nil { + return err + } + denom, err := k.nftKeeper.GetDenom(ctx, auction.DenomId) + if err != nil { + return err + } + nft, err := k.nftKeeper.GetONFT(ctx, auction.DenomId, auction.NftId) + if err != nil { + return err + } + BidAmountCoin := bid.Amount + auctionSaleAmountCoin := BidAmountCoin + err = k.nftKeeper.TransferOwnership(ctx, auction.GetDenomId(), auction.GetNftId(), + k.accountKeeper.GetModuleAddress(types.ModuleName), bid.GetBidder()) + if err != nil { + return err + } + saleCommission := k.GetSaleCommission(ctx) + marketplaceCoin := k.GetProportions(bid.Amount, saleCommission) + if marketplaceCoin.Amount.GTE(sdk.OneInt()) { + err = k.DistributeCommission(ctx, marketplaceCoin) + if err != nil { + return err + } + auctionSaleAmountCoin = BidAmountCoin.Sub(marketplaceCoin) + } + if nft.GetRoyaltyShare().GT(sdk.ZeroDec()) { + nftRoyaltyShareCoin := k.GetProportions(auctionSaleAmountCoin, nft.GetRoyaltyShare()) + creator, err := sdk.AccAddressFromBech32(denom.Creator) + if err != nil { + return err + } + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, creator, sdk.NewCoins(nftRoyaltyShareCoin)) + if err != nil { + return err + } + k.createRoyaltyShareTransferEvent(ctx, k.accountKeeper.GetModuleAddress(types.ModuleName), creator, nftRoyaltyShareCoin) + auctionSaleAmountCoin = auctionSaleAmountCoin.Sub(nftRoyaltyShareCoin) + } + remaining := auctionSaleAmountCoin + + if len(auction.SplitShares) > 0 { + for _, share := range auction.SplitShares { + sharePortionCoin := k.GetProportions(auctionSaleAmountCoin, share.Weight) + sharePortionCoins := sdk.NewCoins(sharePortionCoin) + if share.Address == "" { + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, owner, sharePortionCoins) + if err != nil { + return err + } + } else { + saleSplitAddr, err := sdk.AccAddressFromBech32(share.Address) + if err != nil { + return err + } + err = k.bankKeeper.SendCoinsFromModuleToAccount( + ctx, types.ModuleName, saleSplitAddr, sharePortionCoins) + if err != nil { + return err + } + k.createSplitShareTransferEvent(ctx, k.accountKeeper.GetModuleAddress(types.ModuleName), saleSplitAddr, sharePortionCoin) + } + remaining = remaining.Sub(sharePortionCoin) + } + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, owner, sdk.NewCoins(remaining)) + if err != nil { + return err + } + } else { + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, owner, sdk.NewCoins(remaining)) + if err != nil { + return err + } + } + k.processBidEvent(ctx, auction, bid) + k.RemoveAuctionListing(ctx, auction.GetId()) + k.RemoveBid(ctx, auction.GetId()) + return nil +} diff --git a/x/marketplace/keeper/bid.go b/x/marketplace/keeper/bid.go new file mode 100644 index 0000000..47131cc --- /dev/null +++ b/x/marketplace/keeper/bid.go @@ -0,0 +1,73 @@ +package keeper + +import ( + "github.com/OmniFlix/marketplace/x/marketplace/types" + "github.com/cosmos/cosmos-sdk/store/prefix" + sdk "github.com/cosmos/cosmos-sdk/types" + gogotypes "github.com/gogo/protobuf/types" +) + +// SetBid set a specific bid for an auction listing in the store +func (k Keeper) SetBid(ctx sdk.Context, bid types.Bid) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixBidByAuctionId) + bz := k.cdc.MustMarshal(&bid) + store.Set(types.KeyBidPrefix(bid.AuctionId), bz) +} + +// GetBid returns a bid of an auction listing by its id +func (k Keeper) GetBid(ctx sdk.Context, id uint64) (val types.Bid, found bool) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixBidByAuctionId) + b := store.Get(types.KeyBidPrefix(id)) + if b == nil { + return val, false + } + k.cdc.MustUnmarshal(b, &val) + return val, true +} + +// RemoveBid removes a bid of an auction listing from the store +func (k Keeper) RemoveBid(ctx sdk.Context, id uint64) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixBidByAuctionId) + store.Delete(types.KeyBidPrefix(id)) +} + +// GetAllBids returns all bids +func (k Keeper) GetAllBids(ctx sdk.Context) (list []types.Bid) { + store := prefix.NewStore(ctx.KVStore(k.storeKey), types.PrefixBidByAuctionId) + iterator := sdk.KVStorePrefixIterator(store, []byte{}) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var val types.Bid + k.cdc.MustUnmarshal(iterator.Value(), &val) + list = append(list, val) + } + + return +} + +// GetBidsByBidder returns all bids of specific bidder +func (k Keeper) GetBidsByBidder(ctx sdk.Context, bidder sdk.AccAddress) (bids []types.Bid) { + store := ctx.KVStore(k.storeKey) + iterator := sdk.KVStorePrefixIterator(store, append(types.PrefixBidByBidder, bidder.Bytes()...)) + + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(iterator.Value(), &id) + bid, found := k.GetBid(ctx, id.Value) + if !found { + continue + } + bids = append(bids, bid) + } + + return +} + +func (k Keeper) HasBid(ctx sdk.Context, id uint64) bool { + store := ctx.KVStore(k.storeKey) + return store.Has(types.KeyBidPrefix(id)) +} diff --git a/x/marketplace/keeper/events.go b/x/marketplace/keeper/events.go index 9aaebfb..fa89729 100644 --- a/x/marketplace/keeper/events.go +++ b/x/marketplace/keeper/events.go @@ -1,6 +1,7 @@ package keeper import ( + "fmt" "github.com/OmniFlix/marketplace/x/marketplace/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -90,3 +91,71 @@ func (k *Keeper) createSaleCommissionTransferEvent(ctx sdk.Context, sender, reci ), }) } + +func (k *Keeper) createAuctionEvent(ctx sdk.Context, auction types.AuctionListing) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeCreateAuction, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(types.AttributeKeyOwner, auction.GetOwner().String()), + sdk.NewAttribute(types.AttributeKeyAuctionId, fmt.Sprint(auction.GetId())), + sdk.NewAttribute(types.AttributeKeyDenomId, auction.GetDenomId()), + sdk.NewAttribute(types.AttributeKeyNftId, auction.GetNftId()), + sdk.NewAttribute(types.AttributeKeyStartPrice, auction.GetStartPrice().String()), + ), + }) +} + +func (k *Keeper) cancelAuctionEvent(ctx sdk.Context, auction types.AuctionListing) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeCancelAuction, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(types.AttributeKeyOwner, auction.GetOwner().String()), + sdk.NewAttribute(types.AttributeKeyAuctionId, fmt.Sprint(auction.GetId())), + sdk.NewAttribute(types.AttributeKeyDenomId, auction.GetDenomId()), + sdk.NewAttribute(types.AttributeKeyNftId, auction.GetNftId()), + ), + }) +} + +func (k *Keeper) placeBidEvent(ctx sdk.Context, auction types.AuctionListing, bid types.Bid) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypePlaceBid, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(types.AttributeKeyBidder, bid.GetBidder().String()), + sdk.NewAttribute(types.AttributeKeyAuctionId, fmt.Sprint(auction.GetId())), + sdk.NewAttribute(types.AttributeKeyDenomId, auction.GetDenomId()), + sdk.NewAttribute(types.AttributeKeyNftId, auction.GetNftId()), + sdk.NewAttribute(types.AttributeKeyAmount, bid.GetAmount().String()), + ), + }) +} + +func (k *Keeper) removeAuctionEvent(ctx sdk.Context, auction types.AuctionListing) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeRemoveAuction, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(types.AttributeKeyAuctionId, fmt.Sprint(auction.GetId())), + sdk.NewAttribute(types.AttributeKeyDenomId, auction.GetDenomId()), + sdk.NewAttribute(types.AttributeKeyNftId, auction.GetNftId()), + ), + }) +} + + +func (k *Keeper) processBidEvent(ctx sdk.Context, auction types.AuctionListing, bid types.Bid) { + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + types.EventTypeProcessBid, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(types.AttributeKeyAuctionId, fmt.Sprint(auction.GetId())), + sdk.NewAttribute(types.AttributeKeyDenomId, auction.GetDenomId()), + sdk.NewAttribute(types.AttributeKeyNftId, auction.GetNftId()), + sdk.NewAttribute(types.AttributeKeyBidder, bid.GetBidder().String()), + sdk.NewAttribute(types.AttributeKeyAmount, bid.GetAmount().String()), + ), + }) +} \ No newline at end of file diff --git a/x/marketplace/keeper/grpc_query.go b/x/marketplace/keeper/grpc_query.go index 075b0f4..65cdccf 100644 --- a/x/marketplace/keeper/grpc_query.go +++ b/x/marketplace/keeper/grpc_query.go @@ -3,6 +3,7 @@ package keeper import ( "context" "fmt" + "time" "github.com/OmniFlix/marketplace/x/marketplace/types" "github.com/cosmos/cosmos-sdk/store/prefix" @@ -188,3 +189,206 @@ func (k Keeper) ListingByNftId( } return nil, status.Errorf(codes.NotFound, "listing not found with given nft id") } + +func (k Keeper) Auctions(goCtx context.Context, req *types.QueryAuctionsRequest) (*types.QueryAuctionsResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + var filteredAuctions []types.AuctionListing + var pageRes *query.PageResponse + store := ctx.KVStore(k.storeKey) + auctionStore := prefix.NewStore(store, types.PrefixAuctionId) + pageRes, err := query.FilteredPaginate(auctionStore, req.Pagination, func(key []byte, value []byte, accumulate bool) (bool, error) { + var al types.AuctionListing + k.cdc.MustUnmarshal(value, &al) + matchOwner, matchPriceDenom, matchStatus := true, true, true + // match status (if supplied/valid) + if types.ValidAuctionStatus(req.Status) { + if req.Status == types.AUCTION_STATUS_ACTIVE { + matchStatus = al.StartTime.Before(time.Now()) + } else { + matchStatus = al.StartTime.After(time.Now()) + } + } + + // match owner address (if supplied) + if len(req.Owner) > 0 { + owner, err := sdk.AccAddressFromBech32(req.Owner) + if err != nil { + return false, err + } + + matchOwner = al.Owner == owner.String() + } + + // match Price Denom (if supplied) + if len(req.PriceDenom) > 0 { + matchPriceDenom = al.StartPrice.Denom == req.PriceDenom + } + + if matchOwner && matchPriceDenom && matchStatus { + if accumulate { + filteredAuctions = append(filteredAuctions, al) + } + + return true, nil + } + + return false, nil + }) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "paginate: %v", err) + } + + return &types.QueryAuctionsResponse{Auctions: filteredAuctions, Pagination: pageRes}, nil +} + +func (k Keeper) Auction(goCtx context.Context, req *types.QueryAuctionRequest) (*types.QueryAuctionResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + auction, found := k.GetAuctionListing(ctx, req.Id) + if !found { + return nil, status.Errorf(codes.NotFound, "auction %d not found", req.Id) + } + return &types.QueryAuctionResponse{Auction: &auction}, nil +} + +func (k Keeper) AuctionsByOwner(goCtx context.Context, req *types.QueryAuctionsByOwnerRequest) (*types.QueryAuctionsResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + var owner sdk.AccAddress + var err error + if len(req.Owner) > 0 { + owner, err = sdk.AccAddressFromBech32(req.Owner) + if err != nil || owner == nil { + return nil, status.Errorf(codes.InvalidArgument, fmt.Sprintf("invalid owner address (%s)", err)) + } + } + + var auctions []types.AuctionListing + var pageRes *query.PageResponse + store := ctx.KVStore(k.storeKey) + + auctionStore := prefix.NewStore(store, append(types.PrefixAuctionOwner, owner.Bytes()...)) + pageRes, err = query.Paginate(auctionStore, req.Pagination, func(key []byte, value []byte) error { + var auctionId gogotypes.UInt64Value + k.cdc.MustUnmarshal(value, &auctionId) + auction, found := k.GetAuctionListing(ctx, auctionId.Value) + if found { + auctions = append(auctions, auction) + } + return nil + }) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "paginate: %v", err) + } + + return &types.QueryAuctionsResponse{Auctions: auctions, Pagination: pageRes}, nil +} +func (k Keeper) AuctionsByPriceDenom(goCtx context.Context, req *types.QueryAuctionsByPriceDenomRequest) (*types.QueryAuctionsResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + var err error + + var auctions []types.AuctionListing + var pageRes *query.PageResponse + store := ctx.KVStore(k.storeKey) + + auctionStore := prefix.NewStore(store, append(types.PrefixAuctionPriceDenom, []byte(req.PriceDenom)...)) + pageRes, err = query.Paginate(auctionStore, req.Pagination, func(key []byte, value []byte) error { + var auctionId gogotypes.UInt64Value + k.cdc.MustUnmarshal(value, &auctionId) + auction, found := k.GetAuctionListing(ctx, auctionId.Value) + if found { + auctions = append(auctions, auction) + } + return nil + }) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "paginate: %v", err) + } + + return &types.QueryAuctionsResponse{Auctions: auctions, Pagination: pageRes}, nil +} + +func (k Keeper) AuctionByNftId(goCtx context.Context, req *types.QueryAuctionByNFTIDRequest) (*types.QueryAuctionResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + if req.NftId == "" { + return nil, status.Errorf(codes.InvalidArgument, "need nft id to request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + auctionId, found := k.GetAuctionListingIdByNftId(ctx, req.NftId) + if found { + auction, err := k.Auction(goCtx, &types.QueryAuctionRequest{ + Id: auctionId, + }) + if err != nil { + return nil, err + } + return auction, nil + } + return nil, status.Errorf(codes.NotFound, "auction not found with given nft id") +} + +func (k Keeper) Bid(goCtx context.Context, req *types.QueryBidRequest) (*types.QueryBidResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + bid, found := k.GetBid(ctx, req.Id) + if !found { + return nil, status.Errorf(codes.NotFound, "bid not found for auction %d", req.Id) + } + return &types.QueryBidResponse{Bid: &bid}, nil +} + +func (k Keeper) Bids(goCtx context.Context, req *types.QueryBidsRequest) (*types.QueryBidsResponse, error) { + if req == nil { + return nil, status.Errorf(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + var bids []types.Bid + var pageRes *query.PageResponse + store := ctx.KVStore(k.storeKey) + + if len(req.Bidder) > 0 { + _, err := sdk.AccAddressFromBech32(req.Bidder) + if err != nil { + return nil, err + } + } + + bidStore := prefix.NewStore(store, types.PrefixBidByAuctionId) + pageRes, err := query.Paginate(bidStore, req.Pagination, func(key []byte, value []byte) error { + var bid types.Bid + k.cdc.MustUnmarshal(value, &bid) + if len(req.Bidder) > 0 { + if bid.Bidder == req.Bidder { + bids = append(bids, bid) + } + } else { + bids = append(bids, bid) + } + return nil + }) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "paginate: %v", err) + } + return &types.QueryBidsResponse{Bids: bids, Pagination: pageRes}, nil +} diff --git a/x/marketplace/keeper/keeper.go b/x/marketplace/keeper/keeper.go index 1551a7f..88422bf 100644 --- a/x/marketplace/keeper/keeper.go +++ b/x/marketplace/keeper/keeper.go @@ -222,3 +222,90 @@ func (k Keeper) DistributeCommission(ctx sdk.Context, marketplaceCoin sdk.Coin) return nil } + +// CreateAuctionListing creates a auction in the store and set owner to auction and updates the next auction number +func (k Keeper) CreateAuctionListing(ctx sdk.Context, auction types.AuctionListing) error { + + // check auction already exists or not + if k.HasAuctionListing(ctx, auction.GetId()) { + return sdkerrors.Wrapf(types.ErrListingAlreadyExists, "auction listing already exists: %s", auction.GetId()) + } + + err := k.nftKeeper.TransferOwnership(ctx, + auction.GetDenomId(), auction.GetNftId(), auction.GetOwner(), + k.accountKeeper.GetModuleAddress(types.ModuleName)) + + if err != nil { + return err + } + // set auction listing + k.SetAuctionListing(ctx, auction) + + if len(auction.GetOwner()) != 0 { + // set auction listing id with owner prefix + k.SetAuctionListingWithOwner(ctx, auction.GetOwner(), auction.GetId()) + } + // Update auction listing next number + auctionId := k.GetNextAuctionNumber(ctx) + k.SetNextAuctionNumber(ctx, auctionId+1) + k.SetAuctionListingWithNFTID(ctx, auction.NftId, auction.Id) + + if len(auction.StartPrice.Denom) > 0 { + k.SetAuctionListingWithPriceDenom(ctx, auction.StartPrice.Denom, auction.Id) + } + return nil +} + +func (k Keeper) CancelAuctionListing(ctx sdk.Context, auction types.AuctionListing) error { + // Check bid Exists or Not + if k.HasBid(ctx, auction.Id) { + return sdkerrors.Wrapf(types.ErrBidExists, "cannot cancel auction %s, bid exists ", auction.Id) + } + + // Transfer Back NFT ownership to auction owner + err := k.nftKeeper.TransferOwnership(ctx, auction.GetDenomId(), auction.GetNftId(), + k.accountKeeper.GetModuleAddress(types.ModuleName), auction.GetOwner()) + if err != nil { + return err + } + k.RemoveAuctionListing(ctx, auction.GetId()) + k.UnsetAuctionListingWithOwner(ctx, auction.GetOwner(), auction.GetId()) + k.UnsetAuctionListingWithNFTID(ctx, auction.GetNftId()) + k.UnsetAuctionListingWithPriceDenom(ctx, auction.StartPrice.Denom, auction.GetId()) + + return nil +} + +func (k Keeper) PlaceBid(ctx sdk.Context, auction types.AuctionListing, newBid types.Bid) error { + // Check bids of auction + newBidPrice := auction.StartPrice + prevBid, bidExists := k.GetBid(ctx, auction.Id) + if bidExists { + newBidPrice = k.GetNewBidPrice(auction.StartPrice.Denom, prevBid.Amount, auction.IncrementPercentage) + } else { + newBidPrice = k.GetNewBidPrice(auction.StartPrice.Denom, newBidPrice, auction.IncrementPercentage) + } + if newBid.Amount.IsLT(newBidPrice) { + return sdkerrors.Wrapf(types.ErrBidAmountNotEnough, + "cannot place bid for given auction %d, required amount to bid is %s", auction.Id, newBidPrice.String()) + } + + // Transfer amount from bidder to module account + err := k.bankKeeper.SendCoinsFromAccountToModule(ctx, newBid.GetBidder(), types.ModuleName, sdk.NewCoins(newBid.Amount)) + if err != nil { + return err + } + // Release previous Bid + if bidExists { + _ = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, prevBid.GetBidder(), sdk.NewCoins(prevBid.Amount)) + k.RemoveBid(ctx, prevBid.AuctionId) + } + // Set new bid + k.SetBid(ctx, newBid) + + return nil +} + +func (k Keeper) GetNewBidPrice(denom string, amount sdk.Coin, increment sdk.Dec) sdk.Coin { + return sdk.NewCoin(denom, amount.Amount.Add(amount.Amount.ToDec().Mul(increment).TruncateInt())) +} \ No newline at end of file diff --git a/x/marketplace/keeper/msg_server.go b/x/marketplace/keeper/msg_server.go index 6b863e0..74ad98d 100644 --- a/x/marketplace/keeper/msg_server.go +++ b/x/marketplace/keeper/msg_server.go @@ -2,9 +2,11 @@ package keeper import ( "context" + "golang.org/x/exp/slices" "github.com/OmniFlix/marketplace/x/marketplace/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "time" ) type msgServer struct { @@ -61,7 +63,7 @@ func (m msgServer) EditListing(goCtx context.Context, listing, found := m.Keeper.GetListing(ctx, msg.Id) if !found { - return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", listing.Id) + return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", msg.Id) } if owner.String() != listing.Owner { return nil, sdkerrors.Wrapf(types.ErrUnauthorized, "unauthorized address %s", owner) @@ -87,7 +89,7 @@ func (m msgServer) DeListNFT(goCtx context.Context, } listing, found := m.Keeper.GetListing(ctx, msg.Id) if !found { - return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", listing.Id) + return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", msg.Id) } if owner.String() != listing.Owner { return nil, sdkerrors.Wrapf(types.ErrUnauthorized, "unauthorized address %s", owner) @@ -114,7 +116,7 @@ func (m msgServer) BuyNFT(goCtx context.Context, msg *types.MsgBuyNFT) (*types.M listing, found := m.Keeper.GetListing(ctx, msg.Id) if !found { - return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", listing.Id) + return nil, sdkerrors.Wrapf(types.ErrListingDoesNotExists, "listing id %s not exists", msg.Id) } if err := types.ValidatePrice(msg.Price); err != nil { return nil, err @@ -139,3 +141,113 @@ func (m msgServer) BuyNFT(goCtx context.Context, msg *types.MsgBuyNFT) (*types.M return &types.MsgBuyNFTResponse{}, nil } + +// CreateAuction +func (m msgServer) CreateAuction(goCtx context.Context, msg *types.MsgCreateAuction, ) (*types.MsgCreateAuctionResponse, error) { + + ctx := sdk.UnwrapSDKContext(goCtx) + + owner, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + return nil, err + } + if err := msg.Validate(ctx.BlockTime()); err != nil { + return nil, err + } + + nft, err := m.nftKeeper.GetONFT(ctx, msg.DenomId, msg.NftId) + if err != nil { + return nil, sdkerrors.Wrapf(types.ErrNftNotExists, + "invalid nft and or denomId, nftId %s, denomId %s", msg.NftId, msg.DenomId) + } + if owner.String() != nft.GetOwner().String() { + return nil, sdkerrors.Wrapf(types.ErrUnauthorized, "unauthorized address %s", owner) + } + if !nft.IsTransferable() { + return nil, sdkerrors.Wrapf( + types.ErrNftNonTransferable, "non-transferable nfts not allowed to list in marketplace") + } + var endTime *time.Time + if msg.Duration != nil { + endAt := msg.StartTime.Add(*msg.Duration) + endTime = &endAt + } + auctionNumber := m.Keeper.GetNextAuctionNumber(ctx) + auction := types.NewAuctionListing(auctionNumber, msg.NftId, msg.DenomId, + msg.StartTime, endTime, msg.StartPrice, + msg.IncrementPercentage, owner, msg.WhitelistAccounts, msg.SplitShares) + err = m.Keeper.CreateAuctionListing(ctx, auction) + if err != nil { + return nil, err + } + + m.Keeper.createAuctionEvent(ctx, auction) + + return &types.MsgCreateAuctionResponse{ + Auction: &auction, + }, nil +} + +// CancelAuction +func (m msgServer) CancelAuction(goCtx context.Context, msg *types.MsgCancelAuction, ) (*types.MsgCancelAuctionResponse, error) { + + ctx := sdk.UnwrapSDKContext(goCtx) + + owner, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + return nil, err + } + + auction, found := m.Keeper.GetAuctionListing(ctx, msg.AuctionId) + if !found { + return nil, sdkerrors.Wrapf(types.ErrAuctionDoesNotExists, "auction id %d not exists", msg.AuctionId) + } + if owner.String() != auction.Owner { + return nil, sdkerrors.Wrapf(types.ErrUnauthorized, "unauthorized address %s", owner.String()) + } + + err = m.Keeper.CancelAuctionListing(ctx, auction) + if err != nil { + return nil, err + } + + m.Keeper.cancelAuctionEvent(ctx, auction) + + return &types.MsgCancelAuctionResponse{}, nil +} + +// PlaceBid +func (m msgServer) PlaceBid(goCtx context.Context, msg *types.MsgPlaceBid, ) (*types.MsgPlaceBidResponse, error) { + + ctx := sdk.UnwrapSDKContext(goCtx) + + bidder, err := sdk.AccAddressFromBech32(msg.Bidder) + if err != nil { + return nil, err + } + + auction, found := m.Keeper.GetAuctionListing(ctx, msg.AuctionId) + if !found { + return nil, sdkerrors.Wrapf(types.ErrAuctionDoesNotExists, "auction id %d not exists", msg.AuctionId) + } + if !auction.StartTime.Before(ctx.BlockTime()) { + return nil, sdkerrors.Wrapf(types.ErrInActiveAuction, "cannot place a bid for inactive auction %d, ", auction.Id) + } + if len(auction.WhitelistAccounts) > 0 && !slices.Contains(auction.WhitelistAccounts, bidder.String()) { + return nil, sdkerrors.Wrapf(types.ErrUnauthorized, "cannot place a bid for this auction %d, only whitelisted accounts allowed to bid", auction.Id) + } + if msg.Amount.GetDenom() != auction.StartPrice.GetDenom() { + return nil, sdkerrors.Wrapf(types.ErrInvalidPriceDenom, "given auction only accepts bids in %s, ", auction.StartPrice.GetDenom()) + } + + bid := types.NewBid(auction.Id, msg.Amount, ctx.BlockTime(), bidder) + + err = m.Keeper.PlaceBid(ctx, auction, bid) + if err != nil { + return nil, err + } + + m.Keeper.placeBidEvent(ctx, auction, bid) + + return &types.MsgPlaceBidResponse{}, nil +} diff --git a/x/marketplace/keeper/params.go b/x/marketplace/keeper/params.go index 745eb11..450d737 100644 --- a/x/marketplace/keeper/params.go +++ b/x/marketplace/keeper/params.go @@ -1,8 +1,11 @@ package keeper import ( + "time" + "github.com/OmniFlix/marketplace/x/marketplace/types" sdk "github.com/cosmos/cosmos-sdk/types" + ) // GetParams gets the parameters for the marketplace module. @@ -27,3 +30,9 @@ func (k Keeper) GetMarketplaceDistributionParams(ctx sdk.Context) (distParams ty k.paramSpace.Get(ctx, types.ParamStoreKeyDistribution, &distParams) return distParams } + +// GetBidCloseDuration returns the closing duration for bid for auctions. +func (k Keeper) GetBidCloseDuration(ctx sdk.Context) (duration time.Duration) { + k.paramSpace.Get(ctx, types.ParamStoreKeyBidCloseDuration, &duration) + return duration +} diff --git a/x/marketplace/keeper/querier.go b/x/marketplace/keeper/querier.go index 3b6e405..cc0a086 100644 --- a/x/marketplace/keeper/querier.go +++ b/x/marketplace/keeper/querier.go @@ -24,6 +24,16 @@ func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { return queryAllListings(ctx, req, k, legacyQuerierCdc) case types.QueryListingsByOwner: return queryListingsByOwner(ctx, req, k, legacyQuerierCdc) + case types.QueryAuction: + return queryAuction(ctx, req, k, legacyQuerierCdc) + case types.QueryAllAuctions: + return queryAllAuctions(ctx, req, k, legacyQuerierCdc) + case types.QueryAuctionsByOwner: + return queryAuctionsByOwner(ctx, req, k, legacyQuerierCdc) + case types.QueryBid: + return queryBid(ctx, req, k, legacyQuerierCdc) + case types.QueryAllBids: + return queryAllBids(ctx, req, k, legacyQuerierCdc) default: return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unknown query path: %s", path[0]) } @@ -82,3 +92,71 @@ func queryListingsByOwner(ctx sdk.Context, req abci.RequestQuery, k Keeper, lega listings := k.GetListingsByOwner(ctx, params.Owner) return codec.MarshalJSONIndent(legacyQuerierCdc, listings) } + +func queryAuction(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { + var params types.QueryAuctionParams + + err := legacyQuerierCdc.UnmarshalJSON(req.Data, ¶ms) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + + auction, found := k.GetAuctionListing(ctx, params.Id) + if !found { + return nil, sdkerrors.Wrap(types.ErrAuctionDoesNotExists, fmt.Sprintf("auction %d does not exist", params.Id)) + } + return codec.MarshalJSONIndent(legacyQuerierCdc, auction) +} + +func queryAllAuctions(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { + var params types.QueryAllAuctionsParams + + err := legacyQuerierCdc.UnmarshalJSON(req.Data, ¶ms) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + + auctions := k.GetAllAuctionListings(ctx) + + return codec.MarshalJSONIndent(legacyQuerierCdc, auctions) +} + +func queryAuctionsByOwner(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { + var params types.QueryAuctionsByOwnerParams + + err := legacyQuerierCdc.UnmarshalJSON(req.Data, ¶ms) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + + auctions := k.GetAuctionListingsByOwner(ctx, params.Owner) + return codec.MarshalJSONIndent(legacyQuerierCdc, auctions) +} + +func queryBid(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { + var params types.QueryBidParams + + err := legacyQuerierCdc.UnmarshalJSON(req.Data, ¶ms) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + + bid, found := k.GetBid(ctx, params.Id) + if !found { + return nil, sdkerrors.Wrap(types.ErrBidDoesNotExists, fmt.Sprintf("auction %d does not have any bid", params.Id)) + } + return codec.MarshalJSONIndent(legacyQuerierCdc, bid) +} + +func queryAllBids(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { + var params types.QueryAllBidsParams + + err := legacyQuerierCdc.UnmarshalJSON(req.Data, ¶ms) + if err != nil { + return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) + } + + bids := k.GetAllBids(ctx) + + return codec.MarshalJSONIndent(legacyQuerierCdc, bids) +} diff --git a/x/marketplace/module.go b/x/marketplace/module.go index 3c965d4..80b0470 100644 --- a/x/marketplace/module.go +++ b/x/marketplace/module.go @@ -160,6 +160,6 @@ func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} // EndBlock executes all ABCI EndBlock logic respective to the marketplace module. It // returns no validator updates. -func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { - return []abci.ValidatorUpdate{} +func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { + return EndBlock(ctx, am.keeper) } diff --git a/x/marketplace/types/auction.go b/x/marketplace/types/auction.go new file mode 100644 index 0000000..e9767a5 --- /dev/null +++ b/x/marketplace/types/auction.go @@ -0,0 +1,76 @@ +package types + +import ( + "github.com/OmniFlix/marketplace/x/marketplace/exported" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/gogo/protobuf/proto" + "time" +) + +var ( + _ proto.Message = &AuctionListing{} + _ exported.AuctionListingI = &AuctionListing{} +) + +func NewAuctionListing(id uint64, nftId, denomId string, startTime, endTime *time.Time, startPrice sdk.Coin, incrementPercentage sdk.Dec, + owner sdk.AccAddress, whitelistAccounts []string, splitShares []WeightedAddress) AuctionListing { + return AuctionListing{ + Id: id, + NftId: nftId, + DenomId: denomId, + StartTime: startTime, + EndTime: endTime, + StartPrice: startPrice, + IncrementPercentage: incrementPercentage, + Owner: owner.String(), + WhitelistAccounts: whitelistAccounts, + SplitShares: splitShares, + } +} + +func (al AuctionListing) GetId() uint64 { + return al.Id +} + +func (al AuctionListing) GetDenomId() string { + return al.DenomId +} + +func (al AuctionListing) GetNftId() string { + return al.NftId +} +func (al AuctionListing) GetStartTime() time.Time { + return *al.StartTime +} + +func (al AuctionListing) GetStartPrice() sdk.Coin { + return al.StartPrice +} + +func (al AuctionListing) GetIncrementPercentage() sdk.Dec { + return al.IncrementPercentage +} + +func (al AuctionListing) GetOwner() sdk.AccAddress { + owner, _ := sdk.AccAddressFromBech32(al.Owner) + return owner +} + +func (al AuctionListing) GetSplitShares() interface{} { + return al.SplitShares +} + +func (al AuctionListing) GetStatus() string { + if al.StartTime.Before(time.Now()) { + return AUCTION_STATUS_ACTIVE.String() + } + return AUCTION_STATUS_INACTIVE.String() +} + +func ValidAuctionStatus(status AuctionStatus) bool { + if status == AUCTION_STATUS_INACTIVE || + status == AUCTION_STATUS_ACTIVE { + return true + } + return false +} \ No newline at end of file diff --git a/x/marketplace/types/auction.pb.go b/x/marketplace/types/auction.pb.go new file mode 100644 index 0000000..e180c93 --- /dev/null +++ b/x/marketplace/types/auction.pb.go @@ -0,0 +1,1108 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: marketplace/v1beta1/auction.proto + +package types + +import ( + fmt "fmt" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + _ "google.golang.org/protobuf/types/known/timestamppb" + io "io" + math "math" + math_bits "math/bits" + time "time" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf +var _ = time.Kitchen + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type AuctionStatus int32 + +const ( + AUCTION_STATUS_UNSPECIFIED AuctionStatus = 0 + AUCTION_STATUS_INACTIVE AuctionStatus = 1 + AUCTION_STATUS_ACTIVE AuctionStatus = 2 +) + +var AuctionStatus_name = map[int32]string{ + 0: "AUCTION_STATUS_UNSPECIFIED", + 1: "AUCTION_STATUS_INACTIVE", + 2: "AUCTION_STATUS_ACTIVE", +} + +var AuctionStatus_value = map[string]int32{ + "AUCTION_STATUS_UNSPECIFIED": 0, + "AUCTION_STATUS_INACTIVE": 1, + "AUCTION_STATUS_ACTIVE": 2, +} + +func (x AuctionStatus) String() string { + return proto.EnumName(AuctionStatus_name, int32(x)) +} + +func (AuctionStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_05488866ddad330f, []int{0} +} + +type AuctionListing struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + NftId string `protobuf:"bytes,2,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty" yaml:"nft_id"` + DenomId string `protobuf:"bytes,3,opt,name=denom_id,json=denomId,proto3" json:"denom_id,omitempty" yaml:"denom_id"` + StartPrice types.Coin `protobuf:"bytes,4,opt,name=start_price,json=startPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"start_price" yaml:"start_price"` + StartTime *time.Time `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3,stdtime" json:"start_time,omitempty" yaml:"start_time"` + EndTime *time.Time `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3,stdtime" json:"end_time,omitempty" yaml:"end_time"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner,omitempty"` + IncrementPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=increment_percentage,json=incrementPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"increment_percentage" yaml:"increment_percentage"` + WhitelistAccounts []string `protobuf:"bytes,9,rep,name=whitelist_accounts,json=whitelistAccounts,proto3" json:"whitelist_accounts,omitempty" yaml:"whitelist_accounts"` + SplitShares []WeightedAddress `protobuf:"bytes,10,rep,name=split_shares,json=splitShares,proto3" json:"split_shares" yaml:"split_shares"` +} + +func (m *AuctionListing) Reset() { *m = AuctionListing{} } +func (m *AuctionListing) String() string { return proto.CompactTextString(m) } +func (*AuctionListing) ProtoMessage() {} +func (*AuctionListing) Descriptor() ([]byte, []int) { + return fileDescriptor_05488866ddad330f, []int{0} +} +func (m *AuctionListing) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AuctionListing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AuctionListing.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AuctionListing) XXX_Merge(src proto.Message) { + xxx_messageInfo_AuctionListing.Merge(m, src) +} +func (m *AuctionListing) XXX_Size() int { + return m.Size() +} +func (m *AuctionListing) XXX_DiscardUnknown() { + xxx_messageInfo_AuctionListing.DiscardUnknown(m) +} + +var xxx_messageInfo_AuctionListing proto.InternalMessageInfo + +type Bid struct { + AuctionId uint64 `protobuf:"varint,1,opt,name=auction_id,json=auctionId,proto3" json:"auction_id,omitempty" yaml:"auction_id"` + Bidder string `protobuf:"bytes,2,opt,name=bidder,proto3" json:"bidder,omitempty"` + Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` + Time time.Time `protobuf:"bytes,4,opt,name=time,proto3,stdtime" json:"time"` +} + +func (m *Bid) Reset() { *m = Bid{} } +func (m *Bid) String() string { return proto.CompactTextString(m) } +func (*Bid) ProtoMessage() {} +func (*Bid) Descriptor() ([]byte, []int) { + return fileDescriptor_05488866ddad330f, []int{1} +} +func (m *Bid) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Bid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Bid.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Bid) XXX_Merge(src proto.Message) { + xxx_messageInfo_Bid.Merge(m, src) +} +func (m *Bid) XXX_Size() int { + return m.Size() +} +func (m *Bid) XXX_DiscardUnknown() { + xxx_messageInfo_Bid.DiscardUnknown(m) +} + +var xxx_messageInfo_Bid proto.InternalMessageInfo + +func init() { + proto.RegisterEnum("OmniFlix.marketplace.v1beta1.AuctionStatus", AuctionStatus_name, AuctionStatus_value) + proto.RegisterType((*AuctionListing)(nil), "OmniFlix.marketplace.v1beta1.AuctionListing") + proto.RegisterType((*Bid)(nil), "OmniFlix.marketplace.v1beta1.Bid") +} + +func init() { proto.RegisterFile("marketplace/v1beta1/auction.proto", fileDescriptor_05488866ddad330f) } + +var fileDescriptor_05488866ddad330f = []byte{ + // 746 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x4f, 0x4f, 0xe3, 0x46, + 0x14, 0x8f, 0xf3, 0x8f, 0x64, 0x52, 0x28, 0x0c, 0x50, 0x9c, 0x50, 0xd9, 0xc1, 0x87, 0x36, 0xaa, + 0x84, 0x2d, 0xa0, 0x52, 0x2b, 0x6e, 0x71, 0x08, 0x92, 0xa5, 0x36, 0x44, 0x4e, 0xd2, 0x4a, 0xbd, + 0x58, 0x8e, 0x67, 0x70, 0x46, 0xc4, 0x76, 0x64, 0x4f, 0x4a, 0xb9, 0x75, 0xbf, 0x01, 0x1f, 0x61, + 0xcf, 0xfb, 0x49, 0x38, 0xec, 0x81, 0xe3, 0x6a, 0x0f, 0x61, 0x81, 0xcb, 0x9e, 0xf3, 0x01, 0x56, + 0x2b, 0xcf, 0x38, 0x24, 0xcb, 0x22, 0xd8, 0x53, 0xe6, 0xbd, 0xf7, 0x7b, 0x3f, 0xbf, 0xf9, 0xcd, + 0xef, 0x05, 0xec, 0x78, 0x76, 0x78, 0x86, 0xe9, 0x68, 0x68, 0x3b, 0x58, 0xfb, 0x77, 0xaf, 0x8f, + 0xa9, 0xbd, 0xa7, 0xd9, 0x63, 0x87, 0x92, 0xc0, 0x57, 0x47, 0x61, 0x40, 0x03, 0xf8, 0xe3, 0x89, + 0xe7, 0x93, 0xe3, 0x21, 0xf9, 0x4f, 0x5d, 0xc0, 0xaa, 0x09, 0xb6, 0x22, 0x39, 0x41, 0xe4, 0x05, + 0x91, 0xd6, 0xb7, 0xa3, 0x39, 0x81, 0x13, 0x90, 0xa4, 0xbb, 0xb2, 0xe1, 0x06, 0x6e, 0xc0, 0x8e, + 0x5a, 0x7c, 0x4a, 0xb2, 0xb2, 0x1b, 0x04, 0xee, 0x10, 0x6b, 0x2c, 0xea, 0x8f, 0x4f, 0x35, 0x4a, + 0x3c, 0x1c, 0x51, 0xdb, 0x1b, 0x25, 0x80, 0x27, 0xe7, 0x1a, 0x92, 0x88, 0x12, 0xdf, 0xe5, 0x10, + 0xe5, 0x53, 0x0e, 0xac, 0xd4, 0xf9, 0xa4, 0x7f, 0xf0, 0x02, 0x5c, 0x01, 0x69, 0x82, 0x44, 0xa1, + 0x2a, 0xd4, 0xb2, 0x66, 0x9a, 0x20, 0x58, 0x03, 0x79, 0xff, 0x94, 0x5a, 0x04, 0x89, 0xe9, 0xaa, + 0x50, 0x2b, 0xea, 0x6b, 0xd3, 0x89, 0xbc, 0x7c, 0x61, 0x7b, 0xc3, 0x43, 0x85, 0xe7, 0x15, 0x33, + 0xe7, 0x9f, 0x52, 0x03, 0x41, 0x15, 0x14, 0x10, 0xf6, 0x03, 0x2f, 0xc6, 0x66, 0x18, 0x76, 0x7d, + 0x3a, 0x91, 0xbf, 0xe7, 0xd8, 0x59, 0x45, 0x31, 0x97, 0xd8, 0xd1, 0x40, 0xf0, 0x95, 0x00, 0x4a, + 0x11, 0xb5, 0x43, 0x6a, 0x8d, 0x42, 0xe2, 0x60, 0x31, 0x5b, 0x15, 0x6a, 0xa5, 0xfd, 0xb2, 0xca, + 0xd5, 0x50, 0x63, 0x35, 0x66, 0x12, 0xa9, 0x8d, 0x80, 0xf8, 0x7a, 0xf3, 0x6a, 0x22, 0xa7, 0xa6, + 0x13, 0x19, 0x72, 0xca, 0x85, 0x5e, 0xe5, 0xcd, 0x8d, 0xfc, 0xb3, 0x4b, 0xe8, 0x60, 0xdc, 0x57, + 0x9d, 0xc0, 0xd3, 0x12, 0x41, 0xf9, 0xcf, 0x6e, 0x84, 0xce, 0x34, 0x7a, 0x31, 0xc2, 0x11, 0xa3, + 0x31, 0x01, 0x6b, 0x6c, 0xc7, 0x7d, 0xb0, 0x0b, 0x78, 0x64, 0xc5, 0xe2, 0x89, 0x39, 0x36, 0x41, + 0x45, 0xe5, 0xca, 0xaa, 0x33, 0x65, 0xd5, 0xee, 0x4c, 0x59, 0xbd, 0x3c, 0x9d, 0xc8, 0x6b, 0x8b, + 0x9f, 0x8f, 0xfb, 0x94, 0xcb, 0x1b, 0x59, 0x30, 0x8b, 0x2c, 0x11, 0x43, 0x61, 0x0b, 0x14, 0xb0, + 0x8f, 0x38, 0x67, 0xfe, 0x45, 0xce, 0xad, 0xb9, 0x4a, 0xb3, 0x2e, 0xce, 0xb8, 0x84, 0x7d, 0xc4, + 0xf8, 0x36, 0x40, 0x2e, 0x38, 0xf7, 0x71, 0x28, 0x2e, 0xc5, 0xb2, 0x9a, 0x3c, 0x80, 0xff, 0x0b, + 0x60, 0x83, 0xf8, 0x4e, 0x88, 0x3d, 0xec, 0x53, 0x6b, 0x84, 0x43, 0x07, 0xfb, 0xd4, 0x76, 0xb1, + 0x58, 0x60, 0xe2, 0xff, 0x19, 0xab, 0xf5, 0x7e, 0x22, 0xff, 0xf4, 0x0d, 0xba, 0x1c, 0x61, 0x67, + 0x3a, 0x91, 0xb7, 0xf9, 0x10, 0x4f, 0x71, 0x2a, 0xe6, 0xfa, 0x43, 0xba, 0xfd, 0x90, 0x85, 0x6d, + 0x00, 0xcf, 0x07, 0x84, 0xe2, 0xd8, 0x55, 0x96, 0xed, 0x38, 0xc1, 0xd8, 0xa7, 0x91, 0x58, 0xac, + 0x66, 0x6a, 0x45, 0x7d, 0x27, 0x79, 0xad, 0x32, 0x67, 0xfd, 0x1a, 0xa7, 0x98, 0x6b, 0x0f, 0xc9, + 0x7a, 0x92, 0x83, 0x1e, 0xf8, 0x2e, 0x1a, 0x0d, 0x09, 0xb5, 0xa2, 0x81, 0x1d, 0xe2, 0x48, 0x04, + 0xd5, 0x4c, 0xad, 0xb4, 0xbf, 0xab, 0x3e, 0xb7, 0x40, 0xea, 0xdf, 0x98, 0xb8, 0x03, 0x8a, 0x51, + 0x1d, 0xa1, 0x10, 0x47, 0x91, 0xbe, 0x9d, 0x7c, 0x7a, 0x3d, 0x79, 0xa9, 0x05, 0x42, 0xc5, 0x2c, + 0xb1, 0xb0, 0xc3, 0xa3, 0xb7, 0x02, 0xc8, 0xe8, 0x04, 0xc1, 0x5f, 0x01, 0x48, 0x36, 0xd6, 0x9a, + 0xb9, 0x5f, 0xdf, 0x9c, 0xbf, 0xf5, 0xbc, 0xa6, 0x98, 0xc5, 0x24, 0x30, 0x10, 0xfc, 0x01, 0xe4, + 0xfb, 0x04, 0x21, 0x1c, 0xf2, 0xdd, 0x30, 0x93, 0x08, 0xfe, 0x06, 0xf2, 0xb6, 0x17, 0xdf, 0x87, + 0xed, 0xc1, 0xb3, 0x9e, 0xce, 0xc6, 0xa3, 0x9a, 0x09, 0x1c, 0xfe, 0x0e, 0xb2, 0xcc, 0x34, 0xd9, + 0x17, 0x4d, 0x53, 0x88, 0xfb, 0x98, 0x4b, 0x58, 0xc7, 0x61, 0xf6, 0xe3, 0x6b, 0x59, 0xf8, 0xc5, + 0x05, 0xcb, 0xc9, 0x3a, 0x77, 0xa8, 0x4d, 0xc7, 0x11, 0x94, 0x40, 0xa5, 0xde, 0x6b, 0x74, 0x8d, + 0x93, 0x96, 0xd5, 0xe9, 0xd6, 0xbb, 0xbd, 0x8e, 0xd5, 0x6b, 0x75, 0xda, 0xcd, 0x86, 0x71, 0x6c, + 0x34, 0x8f, 0x56, 0x53, 0x70, 0x1b, 0x6c, 0x3d, 0xaa, 0x1b, 0xad, 0x7a, 0xa3, 0x6b, 0xfc, 0xd5, + 0x5c, 0x15, 0x60, 0x19, 0x6c, 0x3e, 0x2a, 0x26, 0xa5, 0xb4, 0xde, 0xbb, 0xba, 0x95, 0x52, 0xd7, + 0xb7, 0x52, 0xea, 0xea, 0x4e, 0x12, 0xae, 0xef, 0x24, 0xe1, 0xc3, 0x9d, 0x24, 0x5c, 0xde, 0x4b, + 0xa9, 0xeb, 0x7b, 0x29, 0xf5, 0xee, 0x5e, 0x4a, 0xfd, 0x73, 0xb0, 0x60, 0xbb, 0xd9, 0xe3, 0x69, + 0x8b, 0xff, 0x48, 0x5f, 0x46, 0xcc, 0x87, 0xfd, 0x3c, 0xbb, 0xe9, 0xc1, 0xe7, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xde, 0xb7, 0xff, 0x73, 0x53, 0x05, 0x00, 0x00, +} + +func (this *Bid) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Bid) + if !ok { + that2, ok := that.(Bid) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.AuctionId != that1.AuctionId { + return false + } + if this.Bidder != that1.Bidder { + return false + } + if !this.Amount.Equal(&that1.Amount) { + return false + } + if !this.Time.Equal(that1.Time) { + return false + } + return true +} +func (m *AuctionListing) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AuctionListing) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AuctionListing) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SplitShares) > 0 { + for iNdEx := len(m.SplitShares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SplitShares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } + } + if len(m.WhitelistAccounts) > 0 { + for iNdEx := len(m.WhitelistAccounts) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.WhitelistAccounts[iNdEx]) + copy(dAtA[i:], m.WhitelistAccounts[iNdEx]) + i = encodeVarintAuction(dAtA, i, uint64(len(m.WhitelistAccounts[iNdEx]))) + i-- + dAtA[i] = 0x4a + } + } + { + size := m.IncrementPercentage.Size() + i -= size + if _, err := m.IncrementPercentage.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintAuction(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x3a + } + if m.EndTime != nil { + n1, err1 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndTime):]) + if err1 != nil { + return 0, err1 + } + i -= n1 + i = encodeVarintAuction(dAtA, i, uint64(n1)) + i-- + dAtA[i] = 0x32 + } + if m.StartTime != nil { + n2, err2 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartTime):]) + if err2 != nil { + return 0, err2 + } + i -= n2 + i = encodeVarintAuction(dAtA, i, uint64(n2)) + i-- + dAtA[i] = 0x2a + } + { + size, err := m.StartPrice.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.DenomId) > 0 { + i -= len(m.DenomId) + copy(dAtA[i:], m.DenomId) + i = encodeVarintAuction(dAtA, i, uint64(len(m.DenomId))) + i-- + dAtA[i] = 0x1a + } + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintAuction(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0x12 + } + if m.Id != 0 { + i = encodeVarintAuction(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Bid) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Bid) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Bid) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err4 != nil { + return 0, err4 + } + i -= n4 + i = encodeVarintAuction(dAtA, i, uint64(n4)) + i-- + dAtA[i] = 0x22 + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.Bidder) > 0 { + i -= len(m.Bidder) + copy(dAtA[i:], m.Bidder) + i = encodeVarintAuction(dAtA, i, uint64(len(m.Bidder))) + i-- + dAtA[i] = 0x12 + } + if m.AuctionId != 0 { + i = encodeVarintAuction(dAtA, i, uint64(m.AuctionId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintAuction(dAtA []byte, offset int, v uint64) int { + offset -= sovAuction(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *AuctionListing) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovAuction(uint64(m.Id)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = m.StartPrice.Size() + n += 1 + l + sovAuction(uint64(l)) + if m.StartTime != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartTime) + n += 1 + l + sovAuction(uint64(l)) + } + if m.EndTime != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndTime) + n += 1 + l + sovAuction(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = m.IncrementPercentage.Size() + n += 1 + l + sovAuction(uint64(l)) + if len(m.WhitelistAccounts) > 0 { + for _, s := range m.WhitelistAccounts { + l = len(s) + n += 1 + l + sovAuction(uint64(l)) + } + } + if len(m.SplitShares) > 0 { + for _, e := range m.SplitShares { + l = e.Size() + n += 1 + l + sovAuction(uint64(l)) + } + } + return n +} + +func (m *Bid) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AuctionId != 0 { + n += 1 + sovAuction(uint64(m.AuctionId)) + } + l = len(m.Bidder) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovAuction(uint64(l)) + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Time) + n += 1 + l + sovAuction(uint64(l)) + return n +} + +func sovAuction(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozAuction(x uint64) (n int) { + return sovAuction(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *AuctionListing) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AuctionListing: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AuctionListing: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartPrice", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.StartPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartTime == nil { + m.StartTime = new(time.Time) + } + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.StartTime, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EndTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.EndTime == nil { + m.EndTime = new(time.Time) + } + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.EndTime, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IncrementPercentage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.IncrementPercentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WhitelistAccounts", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WhitelistAccounts = append(m.WhitelistAccounts, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SplitShares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SplitShares = append(m.SplitShares, WeightedAddress{}) + if err := m.SplitShares[len(m.SplitShares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipAuction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAuction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Bid) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Bid: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Bid: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AuctionId", wireType) + } + m.AuctionId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AuctionId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bidder", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bidder = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthAuction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipAuction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAuction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipAuction(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAuction + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAuction + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowAuction + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthAuction + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupAuction + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthAuction + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthAuction = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowAuction = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupAuction = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/marketplace/types/bid.go b/x/marketplace/types/bid.go new file mode 100644 index 0000000..adb8c7d --- /dev/null +++ b/x/marketplace/types/bid.go @@ -0,0 +1,35 @@ +package types + +import ( + "github.com/OmniFlix/marketplace/x/marketplace/exported" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/gogo/protobuf/proto" + "time" +) + +var ( + _ proto.Message = &Bid{} + _ exported.BidI = &Bid{} +) + +func NewBid(auctionId uint64, amount sdk.Coin, bidTime time.Time, bidder sdk.AccAddress) Bid { + return Bid{ + AuctionId: auctionId, + Amount: amount, + Time: bidTime, + Bidder: bidder.String(), + } +} + +func (b Bid) GetAuctionId() uint64 { + return b.AuctionId +} + +func (b Bid) GetAmount() sdk.Coin { + return b.Amount +} + +func (b Bid) GetBidder() sdk.AccAddress { + bidder, _ := sdk.AccAddressFromBech32(b.Bidder) + return bidder +} diff --git a/x/marketplace/types/codec.go b/x/marketplace/types/codec.go index 4ad1694..4df5aef 100644 --- a/x/marketplace/types/codec.go +++ b/x/marketplace/types/codec.go @@ -15,9 +15,14 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgEditListing{}, "OmniFlix/marketplace/MsgEditListing", nil) cdc.RegisterConcrete(&MsgDeListNFT{}, "OmniFlix/marketplace/MsgDeListNFT", nil) cdc.RegisterConcrete(&MsgBuyNFT{}, "OmniFlix/marketplace/MsgBuyNFT", nil) + cdc.RegisterConcrete(&MsgCreateAuction{}, "OmniFlix/marketplace/MsgCreateAuction", nil) + cdc.RegisterConcrete(&MsgCancelAuction{}, "OmniFlix/marketplace/MsgCancelAuction", nil) + cdc.RegisterConcrete(&MsgPlaceBid{}, "OmniFlix/marketplace/MsgPlaceBid", nil) cdc.RegisterInterface((*exported.ListingI)(nil), nil) cdc.RegisterConcrete(&Listing{}, "OmniFlix/marketplace/Listing", nil) + cdc.RegisterInterface((*exported.AuctionListingI)(nil), nil) + cdc.RegisterConcrete(&AuctionListing{}, "OmniFlix/marketplace/AuctionListing", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -26,11 +31,17 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgEditListing{}, &MsgDeListNFT{}, &MsgBuyNFT{}, + &MsgCreateAuction{}, + &MsgCancelAuction{}, + &MsgPlaceBid{}, ) registry.RegisterImplementations((*exported.ListingI)(nil), &Listing{}, ) + registry.RegisterImplementations((*exported.AuctionListingI)(nil), + &AuctionListing{}, + ) } var ( diff --git a/x/marketplace/types/constants.go b/x/marketplace/types/constants.go index 21fa44c..bf6ab3d 100644 --- a/x/marketplace/types/constants.go +++ b/x/marketplace/types/constants.go @@ -4,4 +4,5 @@ const ( MinListingIdLength = 4 MaxListingIdLength = 64 MaxSplits = 5 + MaxWhitelistAccounts = 10 ) diff --git a/x/marketplace/types/errors.go b/x/marketplace/types/errors.go index 8cd998d..ffacff2 100644 --- a/x/marketplace/types/errors.go +++ b/x/marketplace/types/errors.go @@ -6,18 +6,30 @@ import ( // Listing module errors var ( - ErrListingNotExists = sdkerrors.Register(ModuleName, 2, "Listing does not exist") - ErrInvalidOwner = sdkerrors.Register(ModuleName, 3, "invalid Listing owner") - ErrInvalidPrice = sdkerrors.Register(ModuleName, 4, "invalid amount") - ErrInvalidListing = sdkerrors.Register(ModuleName, 5, "invalid Listing") - ErrListingAlreadyExists = sdkerrors.Register(ModuleName, 6, "Listing already exists") - ErrNotEnoughAmount = sdkerrors.Register(ModuleName, 7, "amount is not enough to buy") - ErrInvalidPriceDenom = sdkerrors.Register(ModuleName, 8, "invalid price denom") - ErrInvalidListingId = sdkerrors.Register(ModuleName, 9, "invalid Listing id") - ErrInvalidNftId = sdkerrors.Register(ModuleName, 10, "invalid nft id") - ErrNftNotExists = sdkerrors.Register(ModuleName, 11, "nft not exists with given details") - ErrUnauthorized = sdkerrors.Register(ModuleName, 12, "unauthorized") - ErrNftNonTransferable = sdkerrors.Register(ModuleName, 13, "non-transferable nft") - ErrListingDoesNotExists = sdkerrors.Register(ModuleName, 14, "listing doesn't exists") - ErrInvalidSplits = sdkerrors.Register(ModuleName, 15, "invalid split shares") + ErrListingNotExists = sdkerrors.Register(ModuleName, 2, "Listing does not exist") + ErrInvalidOwner = sdkerrors.Register(ModuleName, 3, "invalid Listing owner") + ErrInvalidPrice = sdkerrors.Register(ModuleName, 4, "invalid amount") + ErrInvalidListing = sdkerrors.Register(ModuleName, 5, "invalid Listing") + ErrListingAlreadyExists = sdkerrors.Register(ModuleName, 6, "Listing already exists") + ErrNotEnoughAmount = sdkerrors.Register(ModuleName, 7, "amount is not enough to buy") + ErrInvalidPriceDenom = sdkerrors.Register(ModuleName, 8, "invalid price denom") + ErrInvalidListingId = sdkerrors.Register(ModuleName, 9, "invalid Listing id") + ErrInvalidNftId = sdkerrors.Register(ModuleName, 10, "invalid nft id") + ErrNftNotExists = sdkerrors.Register(ModuleName, 11, "nft not exists with given details") + ErrUnauthorized = sdkerrors.Register(ModuleName, 12, "unauthorized") + ErrNftNonTransferable = sdkerrors.Register(ModuleName, 13, "non-transferable nft") + ErrListingDoesNotExists = sdkerrors.Register(ModuleName, 14, "listing doesn't exists") + ErrInvalidSplits = sdkerrors.Register(ModuleName, 15, "invalid split shares") + ErrNonPositiveNumber = sdkerrors.Register(ModuleName, 16, "non positive number") + ErrInvalidAuctionId = sdkerrors.Register(ModuleName, 17, "invalid auction id") + ErrInvalidWhitelistAccounts = sdkerrors.Register(ModuleName, 18, "invalid whitelist accounts") + ErrAuctionDoesNotExists = sdkerrors.Register(ModuleName, 19, "auction listing doesn't exists") + ErrBidExists = sdkerrors.Register(ModuleName, 20, "bid exists") + ErrEndedAuction = sdkerrors.Register(ModuleName, 21, "auction ended") + ErrInActiveAuction = sdkerrors.Register(ModuleName, 22, "inactive auction") + ErrBidAmountNotEnough = sdkerrors.Register(ModuleName, 23, "amount is not enough to bid") + ErrBidDoesNotExists = sdkerrors.Register(ModuleName, 24, "bid does not exists") + ErrInvalidStartTime = sdkerrors.Register(ModuleName, 25, "invalid start time") + ErrInvalidPercentage = sdkerrors.Register(ModuleName, 26, "invalid percentage decimal value") + ErrInvalidTime = sdkerrors.Register(ModuleName, 27, "invalid timestamp value") ) diff --git a/x/marketplace/types/events.go b/x/marketplace/types/events.go index 9dd91d1..ab49efd 100644 --- a/x/marketplace/types/events.go +++ b/x/marketplace/types/events.go @@ -9,6 +9,12 @@ const ( EventTypeSplitShareTransfer = "split_share_transfer" EventTypeSaleCommissionTransfer = "sale_commission_transfer" + EventTypeCreateAuction = "create_auction" + EventTypeCancelAuction = "cancel_auction" + EventTypePlaceBid = "place_bid" + EventTypeRemoveAuction = "remove_auction" + EventTypeProcessBid = "process_bid" + AttributeValueCategory = ModuleName AttributeKeyListingId = "listing-id" AttributeKeyDenomId = "denom-id" @@ -17,4 +23,7 @@ const ( AttributeKeyOwner = "owner" AttributeKeyRecipient = "recipient" AttributeKeyAmount = "amount" + AttributeKeyAuctionId = "auction-id" + AttributeKeyStartPrice = "start-price" + AttributeKeyBidder = "bidder" ) diff --git a/x/marketplace/types/events.pb.go b/x/marketplace/types/events.pb.go index b60b072..780c295 100644 --- a/x/marketplace/types/events.pb.go +++ b/x/marketplace/types/events.pb.go @@ -306,34 +306,266 @@ func (m *EventBuyNFT) GetBuyer() string { return "" } +// EventCreateAuction is emitted on creating auction +type EventCreateAuction struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NftId string `protobuf:"bytes,2,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty"` + DenomId string `protobuf:"bytes,3,opt,name=denom_id,json=denomId,proto3" json:"denom_id,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` + MinPrice string `protobuf:"bytes,5,opt,name=min_price,json=minPrice,proto3" json:"min_price,omitempty"` +} + +func (m *EventCreateAuction) Reset() { *m = EventCreateAuction{} } +func (m *EventCreateAuction) String() string { return proto.CompactTextString(m) } +func (*EventCreateAuction) ProtoMessage() {} +func (*EventCreateAuction) Descriptor() ([]byte, []int) { + return fileDescriptor_2f87cf3dcd9bbe14, []int{4} +} +func (m *EventCreateAuction) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventCreateAuction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventCreateAuction.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventCreateAuction) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventCreateAuction.Merge(m, src) +} +func (m *EventCreateAuction) XXX_Size() int { + return m.Size() +} +func (m *EventCreateAuction) XXX_DiscardUnknown() { + xxx_messageInfo_EventCreateAuction.DiscardUnknown(m) +} + +var xxx_messageInfo_EventCreateAuction proto.InternalMessageInfo + +func (m *EventCreateAuction) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *EventCreateAuction) GetNftId() string { + if m != nil { + return m.NftId + } + return "" +} + +func (m *EventCreateAuction) GetDenomId() string { + if m != nil { + return m.DenomId + } + return "" +} + +func (m *EventCreateAuction) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *EventCreateAuction) GetMinPrice() string { + if m != nil { + return m.MinPrice + } + return "" +} + +// EventCancelAuction is emitted on canceling auction +type EventCancelAuction struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NftId string `protobuf:"bytes,2,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty"` + DenomId string `protobuf:"bytes,3,opt,name=denom_id,json=denomId,proto3" json:"denom_id,omitempty"` + Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (m *EventCancelAuction) Reset() { *m = EventCancelAuction{} } +func (m *EventCancelAuction) String() string { return proto.CompactTextString(m) } +func (*EventCancelAuction) ProtoMessage() {} +func (*EventCancelAuction) Descriptor() ([]byte, []int) { + return fileDescriptor_2f87cf3dcd9bbe14, []int{5} +} +func (m *EventCancelAuction) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventCancelAuction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventCancelAuction.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventCancelAuction) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventCancelAuction.Merge(m, src) +} +func (m *EventCancelAuction) XXX_Size() int { + return m.Size() +} +func (m *EventCancelAuction) XXX_DiscardUnknown() { + xxx_messageInfo_EventCancelAuction.DiscardUnknown(m) +} + +var xxx_messageInfo_EventCancelAuction proto.InternalMessageInfo + +func (m *EventCancelAuction) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *EventCancelAuction) GetNftId() string { + if m != nil { + return m.NftId + } + return "" +} + +func (m *EventCancelAuction) GetDenomId() string { + if m != nil { + return m.DenomId + } + return "" +} + +func (m *EventCancelAuction) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +// EventPlaceBid is emitted on placing bid for an auction +type EventPlaceBid struct { + AuctionId string `protobuf:"bytes,1,opt,name=auction_id,json=auctionId,proto3" json:"auction_id,omitempty"` + NftId string `protobuf:"bytes,2,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty"` + DenomId string `protobuf:"bytes,3,opt,name=denom_id,json=denomId,proto3" json:"denom_id,omitempty"` + Bidder string `protobuf:"bytes,4,opt,name=bidder,proto3" json:"bidder,omitempty"` + Amount string `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (m *EventPlaceBid) Reset() { *m = EventPlaceBid{} } +func (m *EventPlaceBid) String() string { return proto.CompactTextString(m) } +func (*EventPlaceBid) ProtoMessage() {} +func (*EventPlaceBid) Descriptor() ([]byte, []int) { + return fileDescriptor_2f87cf3dcd9bbe14, []int{6} +} +func (m *EventPlaceBid) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventPlaceBid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventPlaceBid.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventPlaceBid) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventPlaceBid.Merge(m, src) +} +func (m *EventPlaceBid) XXX_Size() int { + return m.Size() +} +func (m *EventPlaceBid) XXX_DiscardUnknown() { + xxx_messageInfo_EventPlaceBid.DiscardUnknown(m) +} + +var xxx_messageInfo_EventPlaceBid proto.InternalMessageInfo + +func (m *EventPlaceBid) GetAuctionId() string { + if m != nil { + return m.AuctionId + } + return "" +} + +func (m *EventPlaceBid) GetNftId() string { + if m != nil { + return m.NftId + } + return "" +} + +func (m *EventPlaceBid) GetDenomId() string { + if m != nil { + return m.DenomId + } + return "" +} + +func (m *EventPlaceBid) GetBidder() string { + if m != nil { + return m.Bidder + } + return "" +} + +func (m *EventPlaceBid) GetAmount() string { + if m != nil { + return m.Amount + } + return "" +} + func init() { proto.RegisterType((*EventListNFT)(nil), "OmniFlix.marketplace.v1beta1.EventListNFT") proto.RegisterType((*EventEditListing)(nil), "OmniFlix.marketplace.v1beta1.EventEditListing") proto.RegisterType((*EventDeListNFT)(nil), "OmniFlix.marketplace.v1beta1.EventDeListNFT") proto.RegisterType((*EventBuyNFT)(nil), "OmniFlix.marketplace.v1beta1.EventBuyNFT") + proto.RegisterType((*EventCreateAuction)(nil), "OmniFlix.marketplace.v1beta1.EventCreateAuction") + proto.RegisterType((*EventCancelAuction)(nil), "OmniFlix.marketplace.v1beta1.EventCancelAuction") + proto.RegisterType((*EventPlaceBid)(nil), "OmniFlix.marketplace.v1beta1.EventPlaceBid") } func init() { proto.RegisterFile("marketplace/v1beta1/events.proto", fileDescriptor_2f87cf3dcd9bbe14) } var fileDescriptor_2f87cf3dcd9bbe14 = []byte{ - // 266 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xc8, 0x4d, 0x2c, 0xca, - 0x4e, 0x2d, 0x29, 0xc8, 0x49, 0x4c, 0x4e, 0xd5, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, - 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xf1, 0xcf, - 0xcd, 0xcb, 0x74, 0xcb, 0xc9, 0xac, 0xd0, 0x43, 0x52, 0xaa, 0x07, 0x55, 0xaa, 0x94, 0xc6, 0xc5, - 0xe3, 0x0a, 0x52, 0xed, 0x93, 0x59, 0x5c, 0xe2, 0xe7, 0x16, 0x22, 0xc4, 0xc7, 0xc5, 0x94, 0x99, - 0x22, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x19, 0xc4, 0x94, 0x99, 0x22, 0x24, 0xca, 0xc5, 0x96, 0x97, - 0x56, 0x12, 0x9f, 0x99, 0x22, 0xc1, 0x04, 0x16, 0x63, 0xcd, 0x4b, 0x2b, 0xf1, 0x4c, 0x11, 0x92, - 0xe4, 0xe2, 0x48, 0x49, 0xcd, 0xcb, 0xcf, 0x05, 0x49, 0x30, 0x83, 0x25, 0xd8, 0xc1, 0x7c, 0xcf, - 0x14, 0x21, 0x11, 0x2e, 0xd6, 0xfc, 0xf2, 0xbc, 0xd4, 0x22, 0x09, 0x16, 0x88, 0x06, 0x30, 0x47, - 0x29, 0x8b, 0x4b, 0x00, 0x6c, 0x8f, 0x6b, 0x4a, 0x26, 0xd8, 0xae, 0xcc, 0xbc, 0x74, 0x9a, 0xd9, - 0x95, 0xc1, 0xc5, 0x07, 0xb6, 0xcb, 0x25, 0x95, 0xd6, 0xbe, 0xaa, 0xe6, 0xe2, 0x06, 0xdb, 0xe4, - 0x54, 0x5a, 0x49, 0x43, 0x6b, 0x40, 0xa2, 0x49, 0xa5, 0x95, 0xa9, 0x45, 0x12, 0xac, 0x10, 0x51, - 0x30, 0xc7, 0xc9, 0xf7, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, - 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0x8c, 0xd3, - 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x61, 0xb1, 0xaf, 0x8f, 0x9c, 0x50, - 0x50, 0x79, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0xe0, 0xe4, 0x62, 0x0c, 0x08, 0x00, 0x00, - 0xff, 0xff, 0xe4, 0xc8, 0xc8, 0xbe, 0x52, 0x02, 0x00, 0x00, + // 361 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0xcd, 0x4e, 0xf2, 0x50, + 0x10, 0x86, 0x29, 0xdf, 0x07, 0xc2, 0xa8, 0xc4, 0x34, 0x6a, 0x6a, 0xd4, 0x86, 0x74, 0xe5, 0xaa, + 0x0d, 0xe1, 0x0a, 0x44, 0x21, 0x21, 0xf1, 0x87, 0x18, 0x57, 0x6e, 0x48, 0xdb, 0x33, 0xc0, 0x68, + 0x7b, 0x4e, 0x53, 0x4e, 0x51, 0xe2, 0x15, 0xb8, 0xe3, 0xb2, 0x5c, 0xb2, 0x74, 0x69, 0xe0, 0x46, + 0x4c, 0x0f, 0x85, 0xe0, 0xd6, 0xa4, 0xcb, 0xe7, 0x9d, 0x69, 0x9e, 0xb7, 0x4d, 0x07, 0xea, 0xa1, + 0x1b, 0xbf, 0xa0, 0x8c, 0x02, 0xd7, 0x47, 0x67, 0xd2, 0xf0, 0x50, 0xba, 0x0d, 0x07, 0x27, 0xc8, + 0xe5, 0xd8, 0x8e, 0x62, 0x21, 0x85, 0x7e, 0x76, 0x1f, 0x72, 0xea, 0x04, 0xf4, 0x66, 0x6f, 0xad, + 0xda, 0xd9, 0xaa, 0x35, 0x80, 0xbd, 0x76, 0xba, 0x7d, 0x43, 0x63, 0x79, 0xd7, 0x79, 0xd4, 0x6b, + 0x50, 0x24, 0x66, 0x68, 0x75, 0xed, 0xa2, 0xfa, 0x50, 0x24, 0xa6, 0x1f, 0x41, 0x99, 0x0f, 0x64, + 0x9f, 0x98, 0x51, 0x54, 0x59, 0x89, 0x0f, 0x64, 0x97, 0xe9, 0x27, 0x50, 0x61, 0xc8, 0x45, 0x98, + 0x0e, 0xfe, 0xa9, 0xc1, 0x8e, 0xe2, 0x2e, 0xd3, 0x0f, 0xa1, 0x24, 0x5e, 0x39, 0xc6, 0xc6, 0xff, + 0xd5, 0x03, 0x0a, 0xac, 0x67, 0x38, 0x50, 0x9e, 0x36, 0x23, 0xe5, 0x22, 0x3e, 0xcc, 0xcd, 0x35, + 0x82, 0x9a, 0x72, 0x5d, 0x63, 0xde, 0x6f, 0xf5, 0x0e, 0xbb, 0xca, 0xd4, 0x4a, 0xa6, 0x39, 0x6a, + 0xd2, 0xd4, 0x4b, 0xa6, 0x18, 0x1b, 0xa5, 0x55, 0xaa, 0xc0, 0xfa, 0xd0, 0x40, 0x57, 0xf6, 0xab, + 0x18, 0x5d, 0x89, 0x97, 0x89, 0x2f, 0x49, 0xf0, 0xdc, 0x4a, 0x9c, 0x42, 0x35, 0x24, 0xde, 0x8f, + 0x62, 0xf2, 0x31, 0x2b, 0x52, 0x09, 0x89, 0xf7, 0x52, 0xb6, 0x82, 0x75, 0x15, 0x97, 0xfb, 0x18, + 0xe4, 0x5c, 0xc5, 0x9a, 0x69, 0xb0, 0xaf, 0x74, 0xbd, 0xf4, 0x5f, 0x6e, 0x11, 0xd3, 0xcf, 0x01, + 0xdc, 0x95, 0xb4, 0xbf, 0x31, 0x56, 0xb3, 0xa4, 0xfb, 0x17, 0xf1, 0x31, 0x94, 0x3d, 0x62, 0x6c, + 0x63, 0xce, 0x28, 0xcd, 0xdd, 0x50, 0x24, 0x5c, 0x66, 0x9f, 0x20, 0xa3, 0xd6, 0xed, 0xe7, 0xc2, + 0xd4, 0xe6, 0x0b, 0x53, 0xfb, 0x5e, 0x98, 0xda, 0x6c, 0x69, 0x16, 0xe6, 0x4b, 0xb3, 0xf0, 0xb5, + 0x34, 0x0b, 0x4f, 0xcd, 0x21, 0xc9, 0x51, 0xe2, 0xd9, 0xbe, 0x08, 0x9d, 0xf5, 0x29, 0x3a, 0xdb, + 0x57, 0xfb, 0x9b, 0xe4, 0x34, 0xc2, 0xb1, 0x57, 0x56, 0xb7, 0xdb, 0xfc, 0x09, 0x00, 0x00, 0xff, + 0xff, 0x8a, 0x60, 0xf1, 0x2a, 0xdf, 0x03, 0x00, 0x00, } func (m *EventListNFT) Marshal() (dAtA []byte, err error) { @@ -547,77 +779,244 @@ func (m *EventBuyNFT) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { - offset -= sovEvents(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *EventCreateAuction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *EventListNFT) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - l = len(m.NftId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - l = len(m.DenomId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - return n + +func (m *EventCreateAuction) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *EventEditListing) Size() (n int) { - if m == nil { - return 0 - } +func (m *EventCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) + if len(m.MinPrice) > 0 { + i -= len(m.MinPrice) + copy(dAtA[i:], m.MinPrice) + i = encodeVarintEvents(dAtA, i, uint64(len(m.MinPrice))) + i-- + dAtA[i] = 0x2a } - l = len(m.NftId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x22 } - l = len(m.DenomId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) + if len(m.DenomId) > 0 { + i -= len(m.DenomId) + copy(dAtA[i:], m.DenomId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.DenomId))) + i-- + dAtA[i] = 0x1a } - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0x12 } - return n + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *EventDeListNFT) Size() (n int) { - if m == nil { - return 0 +func (m *EventCancelAuction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *EventCancelAuction) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventCancelAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x22 + } + if len(m.DenomId) > 0 { + i -= len(m.DenomId) + copy(dAtA[i:], m.DenomId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.DenomId))) + i-- + dAtA[i] = 0x1a + } + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventPlaceBid) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventPlaceBid) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventPlaceBid) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Amount) > 0 { + i -= len(m.Amount) + copy(dAtA[i:], m.Amount) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Amount))) + i-- + dAtA[i] = 0x2a + } + if len(m.Bidder) > 0 { + i -= len(m.Bidder) + copy(dAtA[i:], m.Bidder) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Bidder))) + i-- + dAtA[i] = 0x22 + } + if len(m.DenomId) > 0 { + i -= len(m.DenomId) + copy(dAtA[i:], m.DenomId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.DenomId))) + i-- + dAtA[i] = 0x1a + } + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0x12 + } + if len(m.AuctionId) > 0 { + i -= len(m.AuctionId) + copy(dAtA[i:], m.AuctionId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.AuctionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { + offset -= sovEvents(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *EventListNFT) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventEditListing) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventDeListNFT) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } l = len(m.NftId) if l > 0 { n += 1 + l + sovEvents(uint64(l)) @@ -662,13 +1061,452 @@ func (m *EventBuyNFT) Size() (n int) { return n } +func (m *EventCreateAuction) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.MinPrice) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventCancelAuction) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventPlaceBid) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AuctionId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Bidder) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Amount) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + func sovEvents(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } func sozEvents(x uint64) (n int) { return sovEvents(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *EventListNFT) Unmarshal(dAtA []byte) error { +func (m *EventListNFT) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventListNFT: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventEditListing) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventEditListing: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventEditListing: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventDeListNFT) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -691,10 +1529,10 @@ func (m *EventListNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventListNFT: wiretype end group for non-group") + return fmt.Errorf("proto: EventDeListNFT: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventDeListNFT: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -846,7 +1684,7 @@ func (m *EventListNFT) Unmarshal(dAtA []byte) error { } return nil } -func (m *EventEditListing) Unmarshal(dAtA []byte) error { +func (m *EventBuyNFT) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -869,10 +1707,10 @@ func (m *EventEditListing) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventEditListing: wiretype end group for non-group") + return fmt.Errorf("proto: EventBuyNFT: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventEditListing: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventBuyNFT: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1003,6 +1841,38 @@ func (m *EventEditListing) Unmarshal(dAtA []byte) error { } m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -1024,7 +1894,7 @@ func (m *EventEditListing) Unmarshal(dAtA []byte) error { } return nil } -func (m *EventDeListNFT) Unmarshal(dAtA []byte) error { +func (m *EventCreateAuction) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1047,10 +1917,10 @@ func (m *EventDeListNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventDeListNFT: wiretype end group for non-group") + return fmt.Errorf("proto: EventCreateAuction: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventDeListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventCreateAuction: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1181,6 +2051,38 @@ func (m *EventDeListNFT) Unmarshal(dAtA []byte) error { } m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinPrice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MinPrice = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -1202,7 +2104,7 @@ func (m *EventDeListNFT) Unmarshal(dAtA []byte) error { } return nil } -func (m *EventBuyNFT) Unmarshal(dAtA []byte) error { +func (m *EventCancelAuction) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1225,10 +2127,10 @@ func (m *EventBuyNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventBuyNFT: wiretype end group for non-group") + return fmt.Errorf("proto: EventCancelAuction: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventBuyNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventCancelAuction: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1359,9 +2261,187 @@ func (m *EventBuyNFT) Unmarshal(dAtA []byte) error { } m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventPlaceBid) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventPlaceBid: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventPlaceBid: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AuctionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AuctionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bidder", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bidder = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1389,7 +2469,7 @@ func (m *EventBuyNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Buyer = string(dAtA[iNdEx:postIndex]) + m.Amount = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/marketplace/types/genesis.go b/x/marketplace/types/genesis.go index 42a74ef..1d7a204 100644 --- a/x/marketplace/types/genesis.go +++ b/x/marketplace/types/genesis.go @@ -2,11 +2,15 @@ package types import sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -func NewGenesisState(listings []Listing, listingCount uint64, params Params) *GenesisState { +func NewGenesisState(listings []Listing, listingCount uint64, params Params, + auctions []AuctionListing, bids []Bid, nextAuctionNumber uint64) *GenesisState { return &GenesisState{ - Listings: listings, - ListingCount: listingCount, - Params: params, + Listings: listings, + ListingCount: listingCount, + Params: params, + Auctions: auctions, + Bids: bids, + NextAuctionNumber: nextAuctionNumber, } } @@ -19,5 +23,24 @@ func (m *GenesisState) ValidateGenesis() error { return err } } + if m.ListingCount < 0 { + return sdkerrors.Wrap(ErrNonPositiveNumber, "must be a positive number") + } + if err := m.Params.ValidateBasic(); err != nil { + return err + } + for _, auction := range m.Auctions { + if err := ValidateAuctionListing(auction); err != nil { + return err + } + } + for _, bid := range m.Bids { + if err := ValidateBid(bid); err != nil { + return err + } + } + if m.NextAuctionNumber <= 0 { + return sdkerrors.Wrap(ErrNonPositiveNumber, "must be a number and greater than 0.") + } return nil } diff --git a/x/marketplace/types/genesis.pb.go b/x/marketplace/types/genesis.pb.go index 95ab84d..7bcd80d 100644 --- a/x/marketplace/types/genesis.pb.go +++ b/x/marketplace/types/genesis.pb.go @@ -25,9 +25,12 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type GenesisState struct { // NFTs that are listed in marketplace - Listings []Listing `protobuf:"bytes,1,rep,name=listings,proto3" json:"listings"` - ListingCount uint64 `protobuf:"varint,2,opt,name=ListingCount,proto3" json:"ListingCount,omitempty"` - Params Params `protobuf:"bytes,3,opt,name=params,proto3" json:"params"` + Listings []Listing `protobuf:"bytes,1,rep,name=listings,proto3" json:"listings"` + ListingCount uint64 `protobuf:"varint,2,opt,name=ListingCount,proto3" json:"ListingCount,omitempty"` + Params Params `protobuf:"bytes,3,opt,name=params,proto3" json:"params"` + Auctions []AuctionListing `protobuf:"bytes,4,rep,name=auctions,proto3" json:"auctions"` + Bids []Bid `protobuf:"bytes,5,rep,name=bids,proto3" json:"bids"` + NextAuctionNumber uint64 `protobuf:"varint,6,opt,name=next_auction_number,json=nextAuctionNumber,proto3" json:"next_auction_number,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -84,6 +87,27 @@ func (m *GenesisState) GetParams() Params { return Params{} } +func (m *GenesisState) GetAuctions() []AuctionListing { + if m != nil { + return m.Auctions + } + return nil +} + +func (m *GenesisState) GetBids() []Bid { + if m != nil { + return m.Bids + } + return nil +} + +func (m *GenesisState) GetNextAuctionNumber() uint64 { + if m != nil { + return m.NextAuctionNumber + } + return 0 +} + func init() { proto.RegisterType((*GenesisState)(nil), "OmniFlix.marketplace.v1beta1.GenesisState") } @@ -91,23 +115,28 @@ func init() { func init() { proto.RegisterFile("marketplace/v1beta1/genesis.proto", fileDescriptor_95d6349590cf6647) } var fileDescriptor_95d6349590cf6647 = []byte{ - // 258 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0x4d, 0x2c, 0xca, - 0x4e, 0x2d, 0x29, 0xc8, 0x49, 0x4c, 0x4e, 0xd5, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, - 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xf1, - 0xcf, 0xcd, 0xcb, 0x74, 0xcb, 0xc9, 0xac, 0xd0, 0x43, 0x52, 0xab, 0x07, 0x55, 0x2b, 0x25, 0x92, - 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa8, 0x0f, 0x62, 0x41, 0xf4, 0x48, 0x61, 0x35, 0x36, 0x27, 0xb3, - 0xb8, 0x24, 0x33, 0x2f, 0x1d, 0xaa, 0x44, 0x01, 0x9b, 0x92, 0x82, 0xc4, 0xa2, 0xc4, 0x5c, 0xa8, - 0xc5, 0x4a, 0xfb, 0x19, 0xb9, 0x78, 0xdc, 0x21, 0x4e, 0x09, 0x2e, 0x49, 0x2c, 0x49, 0x15, 0x72, - 0xe7, 0xe2, 0x80, 0x9a, 0x51, 0x2c, 0xc1, 0xa8, 0xc0, 0xac, 0xc1, 0x6d, 0xa4, 0xaa, 0x87, 0xcf, - 0x71, 0x7a, 0x3e, 0x10, 0xd5, 0x4e, 0x2c, 0x27, 0xee, 0xc9, 0x33, 0x04, 0xc1, 0x35, 0x0b, 0x29, - 0x71, 0xf1, 0x40, 0xa5, 0x9c, 0xf3, 0x4b, 0xf3, 0x4a, 0x24, 0x98, 0x14, 0x18, 0x35, 0x58, 0x82, - 0x50, 0xc4, 0x84, 0x9c, 0xb8, 0xd8, 0x20, 0xae, 0x91, 0x60, 0x56, 0x60, 0xd4, 0xe0, 0x36, 0x52, - 0xc1, 0x6f, 0x55, 0x00, 0x58, 0x2d, 0xd4, 0x26, 0xa8, 0x4e, 0x27, 0xdf, 0x13, 0x8f, 0xe4, 0x18, - 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, - 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x32, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0x87, 0x99, 0xab, 0x8f, 0x1c, 0x22, 0xa8, 0xbc, 0x92, 0xca, 0x82, 0xd4, 0xe2, 0x24, - 0x36, 0x70, 0xb8, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x90, 0xb5, 0xee, 0xcc, 0xb5, 0x01, + // 338 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x4f, 0x4f, 0xfa, 0x30, + 0x18, 0xc7, 0x37, 0xd8, 0x8f, 0x90, 0xc2, 0xe5, 0x57, 0x3d, 0x2c, 0xc4, 0xd4, 0x41, 0x34, 0xe1, + 0x60, 0xba, 0x00, 0x47, 0x4f, 0xce, 0x44, 0x2e, 0x8a, 0x06, 0x6f, 0x5e, 0x48, 0x07, 0xcd, 0x6c, + 0x64, 0xed, 0xb2, 0x76, 0x06, 0xdf, 0x85, 0x2f, 0x8b, 0x23, 0x47, 0x4f, 0xc6, 0xb0, 0xb7, 0xe1, + 0xc1, 0xd0, 0x15, 0x03, 0x86, 0xec, 0xb6, 0xf5, 0xf9, 0x7c, 0xff, 0x3c, 0x79, 0x40, 0x3b, 0x26, + 0xe9, 0x0b, 0x55, 0xc9, 0x9c, 0x4c, 0xa9, 0xff, 0xda, 0x0b, 0xa9, 0x22, 0x3d, 0x3f, 0xa2, 0x9c, + 0x4a, 0x26, 0x71, 0x92, 0x0a, 0x25, 0xe0, 0xc9, 0x7d, 0xcc, 0xd9, 0xcd, 0x9c, 0x2d, 0xf0, 0x0e, + 0x8b, 0x0d, 0xdb, 0x3a, 0x8e, 0x44, 0x24, 0x34, 0xe8, 0x6f, 0xbe, 0x0a, 0x4d, 0xeb, 0xa0, 0xed, + 0x9c, 0x49, 0xc5, 0x78, 0x54, 0x86, 0x90, 0x6c, 0xaa, 0x98, 0xe0, 0x06, 0xf1, 0x0e, 0x21, 0x09, + 0x49, 0x49, 0x6c, 0xba, 0x75, 0xbe, 0x2b, 0xa0, 0x39, 0x2c, 0xda, 0x3e, 0x2a, 0xa2, 0x28, 0x1c, + 0x82, 0xba, 0x89, 0x91, 0xae, 0xed, 0x55, 0xbb, 0x8d, 0xfe, 0x39, 0x2e, 0xeb, 0x8f, 0x6f, 0x0b, + 0x3a, 0x70, 0x96, 0x9f, 0xa7, 0xd6, 0xf8, 0x57, 0x0c, 0x3b, 0xa0, 0x69, 0x46, 0xd7, 0x22, 0xe3, + 0xca, 0xad, 0x78, 0x76, 0xd7, 0x19, 0xef, 0xbd, 0xc1, 0x00, 0xd4, 0x8a, 0x36, 0x6e, 0xd5, 0xb3, + 0xbb, 0x8d, 0xfe, 0x59, 0x79, 0xd4, 0x83, 0x66, 0x4d, 0x92, 0x51, 0xc2, 0x11, 0xa8, 0x9b, 0xa5, + 0xa5, 0xeb, 0xe8, 0xc2, 0x17, 0xe5, 0x2e, 0x57, 0x05, 0xfd, 0xa7, 0xf7, 0xd6, 0x03, 0x5e, 0x02, + 0x27, 0x64, 0x33, 0xe9, 0xfe, 0xd3, 0x5e, 0xed, 0x72, 0xaf, 0x80, 0xcd, 0x8c, 0x81, 0x16, 0x41, + 0x0c, 0x8e, 0x38, 0x5d, 0xa8, 0x89, 0x71, 0x9b, 0xf0, 0x2c, 0x0e, 0x69, 0xea, 0xd6, 0xf4, 0xee, + 0xff, 0x37, 0x23, 0x93, 0x3e, 0xd2, 0x83, 0xe0, 0x6e, 0xb9, 0x46, 0xf6, 0x6a, 0x8d, 0xec, 0xaf, + 0x35, 0xb2, 0xdf, 0x73, 0x64, 0xad, 0x72, 0x64, 0x7d, 0xe4, 0xc8, 0x7a, 0x1a, 0x44, 0x4c, 0x3d, + 0x67, 0x21, 0x9e, 0x8a, 0xd8, 0xdf, 0x56, 0xf0, 0x77, 0xcf, 0xb9, 0xff, 0xa7, 0xde, 0x12, 0x2a, + 0xc3, 0x9a, 0x3e, 0xea, 0xe0, 0x27, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x4f, 0xac, 0x9f, 0x95, 0x02, 0x00, 0x00, } @@ -131,6 +160,39 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NextAuctionNumber != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.NextAuctionNumber)) + i-- + dAtA[i] = 0x30 + } + if len(m.Bids) > 0 { + for iNdEx := len(m.Bids) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Bids[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.Auctions) > 0 { + for iNdEx := len(m.Auctions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Auctions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } { size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -191,6 +253,21 @@ func (m *GenesisState) Size() (n int) { } l = m.Params.Size() n += 1 + l + sovGenesis(uint64(l)) + if len(m.Auctions) > 0 { + for _, e := range m.Auctions { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if len(m.Bids) > 0 { + for _, e := range m.Bids { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if m.NextAuctionNumber != 0 { + n += 1 + sovGenesis(uint64(m.NextAuctionNumber)) + } return n } @@ -315,6 +392,93 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Auctions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Auctions = append(m.Auctions, AuctionListing{}) + if err := m.Auctions[len(m.Auctions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bids", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Bids = append(m.Bids, Bid{}) + if err := m.Bids[len(m.Bids)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NextAuctionNumber", wireType) + } + m.NextAuctionNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NextAuctionNumber |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/marketplace/types/keys.go b/x/marketplace/types/keys.go index c8f7067..d7ecf63 100644 --- a/x/marketplace/types/keys.go +++ b/x/marketplace/types/keys.go @@ -18,6 +18,15 @@ var ( PrefixListingsCount = []byte{0x03} PrefixListingNFTID = []byte{0x04} PrefixListingPriceDenom = []byte{0x05} + PrefixAuctionId = []byte{0x06} + PrefixAuctionOwner = []byte{0x07} + PrefixAuctionNFTID = []byte{0x08} + PrefixAuctionPriceDenom = []byte{0x09} + PrefixNextAuctionNumber = []byte{0x10} + PrefixBidByAuctionId = []byte{0x11} + PrefixBidByBidder = []byte{0x12} + PrefixInactiveAuction = []byte{0x13} + PrefixActiveAuction = []byte{0x14} ) func KeyListingIdPrefix(id string) []byte { @@ -35,3 +44,29 @@ func KeyListingNFTIDPrefix(nftId string) []byte { func KeyListingPriceDenomPrefix(priceDenom, id string) []byte { return append(append(PrefixListingPriceDenom, []byte(priceDenom)...), []byte(id)...) } + +func KeyAuctionIdPrefix(id uint64) []byte { + return append(PrefixAuctionId, sdk.Uint64ToBigEndian(id)...) +} + +func KeyAuctionOwnerPrefix(owner sdk.AccAddress, id uint64) []byte { + return append(append(PrefixAuctionOwner, owner.Bytes()...), sdk.Uint64ToBigEndian(id)...) +} + +func KeyAuctionNFTIDPrefix(nftId string) []byte { + return append(PrefixAuctionNFTID, []byte(nftId)...) +} + +func KeyAuctionPriceDenomPrefix(priceDenom string, id uint64) []byte { + return append(append(PrefixAuctionPriceDenom, []byte(priceDenom)...), sdk.Uint64ToBigEndian(id)...) +} +func KeyBidPrefix(id uint64) []byte { + return append(PrefixBidByAuctionId, sdk.Uint64ToBigEndian(id)...) +} +func KeyInActiveAuctionPrefix(id uint64) []byte { + return append(PrefixInactiveAuction, sdk.Uint64ToBigEndian(id)...) +} + +func KeyActiveAuctionPrefix(id uint64) []byte { + return append(PrefixActiveAuction, sdk.Uint64ToBigEndian(id)...) +} \ No newline at end of file diff --git a/x/marketplace/types/msgs.go b/x/marketplace/types/msgs.go index cc94271..fa36e3c 100644 --- a/x/marketplace/types/msgs.go +++ b/x/marketplace/types/msgs.go @@ -1,6 +1,8 @@ package types import ( + "time" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) @@ -12,6 +14,9 @@ const ( TypeMsgEditListing = "edit_listing" TypeMsgDeListNFT = "de_list_nft" TypeMsgBuyNFT = "buy_nft" + TypeMsgCreateAuction = "create_auction" + TypeMsgCancelAuction = "cancel_auction" + TypeMsgPlaceBid = "place_bid" // DoNotModify used to indicate that some field should not be updated DoNotModify = "[do-not-modify]" @@ -23,6 +28,9 @@ var ( _ sdk.Msg = &MsgEditListing{} _ sdk.Msg = &MsgDeListNFT{} _ sdk.Msg = &MsgBuyNFT{} + _ sdk.Msg = &MsgCreateAuction{} + _ sdk.Msg = &MsgCancelAuction{} + _ sdk.Msg = &MsgPlaceBid{} ) func NewMsgListNFT(denomId, nftId string, price sdk.Coin, owner sdk.AccAddress, splitShares []WeightedAddress) *MsgListNFT { @@ -191,3 +199,149 @@ func (msg MsgBuyNFT) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{from} } + +// Auction messages + +func NewMsgCreateAuction(denomId, nftId string, startTime time.Time, duration *time.Duration, startPrice sdk.Coin, owner sdk.AccAddress, + incrementPercentage sdk.Dec, whitelistAccounts []string, splitShares []WeightedAddress) *MsgCreateAuction { + return &MsgCreateAuction{ + NftId: nftId, + DenomId: denomId, + Duration: duration, + StartTime: &startTime, + StartPrice: startPrice, + Owner: owner.String(), + IncrementPercentage: incrementPercentage, + WhitelistAccounts: whitelistAccounts, + SplitShares: splitShares, + } +} + +func (msg MsgCreateAuction) Route() string { return MsgRoute } + +func (msg MsgCreateAuction) Type() string { return TypeMsgCreateAuction } + +func (msg MsgCreateAuction) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid sender address (%s)", err) + } + if err = ValidatePrice(msg.StartPrice); err != nil { + return err + } + if !msg.IncrementPercentage.IsPositive() || !msg.IncrementPercentage.LTE(sdk.NewDec(1)) { + return sdkerrors.Wrapf(ErrInvalidPercentage, "invalid percentage value (%s)", msg.IncrementPercentage.String()) + } + if err = ValidateSplitShares(msg.SplitShares); err != nil { + return err + } + if err = ValidateWhiteListAccounts(msg.WhitelistAccounts); err != nil { + return err + } + return nil +} +func (msg MsgCreateAuction ) Validate(now time.Time) error { + if err := msg.ValidateBasic(); err != nil { + return err + } + if msg.StartTime.Before(now) { + return sdkerrors.Wrapf(ErrInvalidStartTime, "start time must be after current time %s", now.String()) + } + return nil +} + +// GetSignBytes Implements Msg. +func (msg MsgCreateAuction) GetSignBytes() []byte { + b, err := ModuleCdc.MarshalJSON(&msg) + if err != nil { + panic(err) + } + return sdk.MustSortJSON(b) +} + +// GetSigners Implements Msg. +func (msg MsgCreateAuction) GetSigners() []sdk.AccAddress { + from, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + panic(err) + } + return []sdk.AccAddress{from} +} + +func NewMsgCancelAuction(auctionId uint64, owner sdk.AccAddress) *MsgCancelAuction { + return &MsgCancelAuction{ + AuctionId: auctionId, + Owner: owner.String(), + } +} + +func (msg MsgCancelAuction) Route() string { return MsgRoute } + +func (msg MsgCancelAuction) Type() string { return TypeMsgCancelAuction } + +func (msg MsgCancelAuction) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid owner address (%s)", err) + } + return nil +} + +// GetSignBytes Implements Msg. +func (msg MsgCancelAuction) GetSignBytes() []byte { + b, err := ModuleCdc.MarshalJSON(&msg) + if err != nil { + panic(err) + } + return sdk.MustSortJSON(b) +} + +// GetSigners Implements Msg. +func (msg MsgCancelAuction) GetSigners() []sdk.AccAddress { + from, err := sdk.AccAddressFromBech32(msg.Owner) + if err != nil { + panic(err) + } + return []sdk.AccAddress{from} +} + +func NewMsgPlaceBid(auctionId uint64, amount sdk.Coin, bidder sdk.AccAddress) *MsgPlaceBid { + return &MsgPlaceBid{ + AuctionId: auctionId, + Amount: amount, + Bidder: bidder.String(), + } +} + +func (msg MsgPlaceBid) Route() string { return MsgRoute } + +func (msg MsgPlaceBid) Type() string { return TypeMsgPlaceBid } + +func (msg MsgPlaceBid) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Bidder) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid bidder address (%s)", err) + } + if err := ValidatePrice(msg.Amount); err != nil { + return err + } + return nil +} + +// GetSignBytes Implements Msg. +func (msg MsgPlaceBid) GetSignBytes() []byte { + b, err := ModuleCdc.MarshalJSON(&msg) + if err != nil { + panic(err) + } + return sdk.MustSortJSON(b) +} + +// GetSigners Implements Msg. +func (msg MsgPlaceBid) GetSigners() []sdk.AccAddress { + from, err := sdk.AccAddressFromBech32(msg.Bidder) + if err != nil { + panic(err) + } + return []sdk.AccAddress{from} +} \ No newline at end of file diff --git a/x/marketplace/types/params.go b/x/marketplace/types/params.go index baf5643..d88fe5b 100644 --- a/x/marketplace/types/params.go +++ b/x/marketplace/types/params.go @@ -2,15 +2,22 @@ package types import ( "fmt" + "time" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) +// Default period for closing bids for an auction +const ( + DefaultBidClosePeriod time.Duration = time.Minute * 12 // 12 Minutes +) + // Parameter keys var ( ParamStoreKeySaleCommission = []byte("SaleCommission") ParamStoreKeyDistribution = []byte("MarketplaceDistribution") + ParamStoreKeyBidCloseDuration = []byte("BidCloseDuration") ) var _ paramtypes.ParamSet = (*Params)(nil) @@ -20,15 +27,24 @@ func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) } +func NewMarketplaceParams( saleCommission sdk.Dec, distribution Distribution, bidCloseDuration time.Duration) Params { + return Params{ + SaleCommission: saleCommission, + Distribution: distribution, + BidCloseDuration: bidCloseDuration, + } +} + // DefaultParams returns default marketplace parameters func DefaultParams() Params { - return Params{ - SaleCommission: sdk.NewDecWithPrec(1, 2), // 1% - Distribution: Distribution{ + return NewMarketplaceParams( + sdk.NewDecWithPrec(1, 2), // 1% + Distribution{ Staking: sdk.NewDecWithPrec(50, 2), // 50% CommunityPool: sdk.NewDecWithPrec(50, 2), // 50% }, - } + DefaultBidClosePeriod, + ) } // ParamSetPairs returns the parameter set pairs. @@ -36,6 +52,7 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair(ParamStoreKeySaleCommission, &p.SaleCommission, validateSaleCommission), paramtypes.NewParamSetPair(ParamStoreKeyDistribution, &p.Distribution, validateMarketplaceDistributionParams), + paramtypes.NewParamSetPair(ParamStoreKeyBidCloseDuration, &p.BidCloseDuration, validateBidCloseDuration), } } @@ -47,6 +64,9 @@ func (p Params) ValidateBasic() error { if err := validateMarketplaceDistributionParams(p.Distribution); err != nil { return err } + if err := validateBidCloseDuration(p.BidCloseDuration); err != nil { + return err + } return nil } @@ -124,3 +144,16 @@ func validateMarketplaceDistributionParams(i interface{}) error { } return nil } + +func validateBidCloseDuration(i interface{}) error { + v, ok := i.(time.Duration) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v.Seconds() <= 0 { + return fmt.Errorf("bid close duration must be positive: %f", v.Seconds()) + } + + return nil +} \ No newline at end of file diff --git a/x/marketplace/types/params.pb.go b/x/marketplace/types/params.pb.go index dd2bdd9..821a486 100644 --- a/x/marketplace/types/params.pb.go +++ b/x/marketplace/types/params.pb.go @@ -8,15 +8,19 @@ import ( github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + _ "google.golang.org/protobuf/types/known/durationpb" io "io" math "math" math_bits "math/bits" + time "time" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -25,8 +29,9 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Params struct { - SaleCommission github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=sale_commission,json=saleCommission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sale_commission" yaml:"sale_commission"` - Distribution Distribution `protobuf:"bytes,2,opt,name=distribution,proto3" json:"distribution"` + SaleCommission github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=sale_commission,json=saleCommission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"sale_commission" yaml:"sale_commission"` + Distribution Distribution `protobuf:"bytes,2,opt,name=distribution,proto3" json:"distribution"` + BidCloseDuration time.Duration `protobuf:"bytes,3,opt,name=bid_close_duration,json=bidCloseDuration,proto3,stdduration" json:"bid_close_duration" yaml:"bid_close_duration"` } func (m *Params) Reset() { *m = Params{} } @@ -108,29 +113,34 @@ func init() { func init() { proto.RegisterFile("marketplace/v1beta1/params.proto", fileDescriptor_930108a08bf00b01) } var fileDescriptor_930108a08bf00b01 = []byte{ - // 344 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xc1, 0x4a, 0xc3, 0x30, - 0x1c, 0xc6, 0x1b, 0x91, 0xc9, 0xe2, 0x9c, 0x50, 0x54, 0x44, 0x24, 0x1b, 0x3d, 0xc8, 0x10, 0x4c, - 0x99, 0xbb, 0x79, 0x92, 0x3a, 0xd4, 0x9b, 0xb3, 0x78, 0xda, 0x65, 0xa4, 0x5d, 0xa9, 0x61, 0x4d, - 0xff, 0xb5, 0xc9, 0xc4, 0xbd, 0x85, 0x8f, 0xb5, 0xe3, 0xbc, 0xc9, 0x0e, 0x43, 0xb7, 0x37, 0xf0, - 0x09, 0xa4, 0x5d, 0x37, 0x5a, 0x0f, 0xc2, 0x4e, 0x6d, 0x3e, 0xbe, 0xff, 0xf7, 0xe5, 0x17, 0xfe, - 0xb8, 0x2e, 0x58, 0x3c, 0xf0, 0x54, 0x14, 0x30, 0xd7, 0x33, 0x5f, 0x9b, 0x8e, 0xa7, 0x58, 0xd3, - 0x8c, 0x58, 0xcc, 0x84, 0xa4, 0x51, 0x0c, 0x0a, 0xf4, 0xd3, 0x07, 0x11, 0xf2, 0xdb, 0x80, 0xbf, - 0xd1, 0x9c, 0x95, 0x66, 0xd6, 0x93, 0x03, 0x1f, 0x7c, 0x48, 0x8d, 0x66, 0xf2, 0xb7, 0x9c, 0x31, - 0x3e, 0x10, 0x2e, 0x75, 0xd2, 0x10, 0xfd, 0x05, 0xef, 0x4b, 0x16, 0x78, 0x3d, 0x17, 0x84, 0xe0, - 0x52, 0x72, 0x08, 0x8f, 0x51, 0x1d, 0x35, 0xca, 0xd6, 0xfd, 0x78, 0x56, 0xd3, 0xa6, 0xb3, 0xda, - 0x99, 0xcf, 0xd5, 0xf3, 0xd0, 0xa1, 0x2e, 0x08, 0xd3, 0x05, 0x29, 0x40, 0x66, 0x9f, 0x0b, 0xd9, - 0x1f, 0x98, 0x6a, 0x14, 0x79, 0x92, 0xb6, 0x3d, 0xf7, 0x67, 0x56, 0x3b, 0x1a, 0x31, 0x11, 0x5c, - 0x19, 0x7f, 0xe2, 0x0c, 0xbb, 0x9a, 0x28, 0x37, 0x6b, 0x41, 0x7f, 0xc2, 0x95, 0x3e, 0x97, 0x2a, - 0xe6, 0xce, 0x50, 0x25, 0x7d, 0x5b, 0x75, 0xd4, 0xd8, 0xbd, 0x3c, 0xa7, 0xff, 0x81, 0xd0, 0x76, - 0x6e, 0xc2, 0xda, 0x4e, 0xee, 0x66, 0x17, 0x52, 0x8c, 0x29, 0xc2, 0x95, 0xbc, 0x49, 0xef, 0xe2, - 0x1d, 0xa9, 0xd8, 0x80, 0x87, 0x7e, 0x46, 0x74, 0xbd, 0x31, 0x51, 0x35, 0x23, 0x5a, 0xc6, 0x18, - 0xf6, 0x2a, 0x50, 0x0f, 0x71, 0x35, 0x21, 0x1c, 0x86, 0x5c, 0x8d, 0x7a, 0x11, 0x40, 0x90, 0x42, - 0x94, 0xad, 0xbb, 0x8d, 0x2b, 0x0e, 0x97, 0x15, 0xc5, 0x34, 0xc3, 0xde, 0x5b, 0x0b, 0x1d, 0x80, - 0xc0, 0x7a, 0x1c, 0x7f, 0x13, 0x6d, 0x3c, 0x27, 0x68, 0x32, 0x27, 0xe8, 0x6b, 0x4e, 0xd0, 0xfb, - 0x82, 0x68, 0x93, 0x05, 0xd1, 0x3e, 0x17, 0x44, 0xeb, 0xb6, 0x72, 0x6d, 0xab, 0x47, 0x34, 0xf3, - 0x8b, 0x53, 0x3c, 0xa5, 0xf5, 0x4e, 0x29, 0x5d, 0x85, 0xd6, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x83, 0x54, 0x65, 0x55, 0x62, 0x02, 0x00, 0x00, + // 422 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x4f, 0x6b, 0xd4, 0x40, + 0x18, 0xc6, 0x33, 0x55, 0x2a, 0x1d, 0xeb, 0x2a, 0x41, 0x65, 0x5b, 0x64, 0xb2, 0x04, 0x94, 0x22, + 0x38, 0x43, 0xed, 0xcd, 0x93, 0xa4, 0x8b, 0x7a, 0xb3, 0x06, 0x4f, 0xbd, 0x2c, 0x93, 0x64, 0x8c, + 0xc3, 0xce, 0xe4, 0x8d, 0x99, 0x89, 0xb8, 0xdf, 0xc2, 0xa3, 0x5f, 0xc7, 0xdb, 0x1e, 0x7b, 0x94, + 0x1e, 0xa2, 0xee, 0x7e, 0x83, 0x7e, 0x02, 0xc9, 0xbf, 0x92, 0x55, 0x10, 0xf6, 0x94, 0xcc, 0x9b, + 0xf7, 0x7d, 0x9e, 0xe7, 0xfd, 0x65, 0xf0, 0x44, 0xf3, 0x62, 0x2e, 0x6c, 0xae, 0x78, 0x2c, 0xd8, + 0xe7, 0xe3, 0x48, 0x58, 0x7e, 0xcc, 0x72, 0x5e, 0x70, 0x6d, 0x68, 0x5e, 0x80, 0x05, 0xf7, 0xd1, + 0x5b, 0x9d, 0xc9, 0x57, 0x4a, 0x7e, 0xa1, 0x83, 0x56, 0xda, 0xb5, 0x1e, 0xde, 0x4f, 0x21, 0x85, + 0xa6, 0x91, 0xd5, 0x6f, 0xed, 0xcc, 0x21, 0x49, 0x01, 0x52, 0x25, 0x58, 0x73, 0x8a, 0xca, 0x0f, + 0x2c, 0x29, 0x0b, 0x6e, 0x25, 0x64, 0xed, 0x77, 0xff, 0xfb, 0x0e, 0xde, 0x3d, 0x6b, 0x4c, 0xdc, + 0x4f, 0xf8, 0xae, 0xe1, 0x4a, 0xcc, 0x62, 0xd0, 0x5a, 0x1a, 0x23, 0x21, 0x1b, 0xa3, 0x09, 0x3a, + 0xda, 0x0b, 0xde, 0x2c, 0x2b, 0xcf, 0xb9, 0xac, 0xbc, 0x27, 0xa9, 0xb4, 0x1f, 0xcb, 0x88, 0xc6, + 0xa0, 0x59, 0x0c, 0x46, 0x83, 0xe9, 0x1e, 0xcf, 0x4c, 0x32, 0x67, 0x76, 0x91, 0x0b, 0x43, 0xa7, + 0x22, 0xbe, 0xaa, 0xbc, 0x87, 0x0b, 0xae, 0xd5, 0x0b, 0xff, 0x2f, 0x39, 0x3f, 0x1c, 0xd5, 0x95, + 0xd3, 0xeb, 0x82, 0xfb, 0x1e, 0xef, 0x27, 0xd2, 0xd8, 0x42, 0x46, 0x65, 0x9d, 0x69, 0xbc, 0x33, + 0x41, 0x47, 0xb7, 0x9f, 0x3f, 0xa5, 0xff, 0x5b, 0x94, 0x4e, 0x07, 0x13, 0xc1, 0xcd, 0x3a, 0x5b, + 0xb8, 0xa1, 0xe2, 0x66, 0xd8, 0x8d, 0x64, 0x32, 0x8b, 0x15, 0x18, 0x31, 0xeb, 0xf7, 0x1d, 0xdf, + 0x68, 0xb4, 0x0f, 0x68, 0x0b, 0x84, 0xf6, 0x40, 0xe8, 0xb4, 0x6b, 0x08, 0x1e, 0xd7, 0x52, 0x57, + 0x95, 0x77, 0xd0, 0x86, 0xff, 0x57, 0xc2, 0xff, 0xf6, 0xd3, 0x43, 0xe1, 0xbd, 0x48, 0x26, 0xa7, + 0x75, 0xbd, 0x1f, 0xf4, 0x2f, 0x11, 0xde, 0x1f, 0x86, 0x72, 0xcf, 0xf1, 0x2d, 0x63, 0xf9, 0x5c, + 0x66, 0x69, 0x47, 0xf0, 0xe5, 0xd6, 0x04, 0x47, 0x1d, 0xc1, 0x56, 0xc6, 0x0f, 0x7b, 0x41, 0x37, + 0xc3, 0xa3, 0x9a, 0x68, 0x99, 0x49, 0xbb, 0x98, 0xe5, 0x00, 0xaa, 0x81, 0xb6, 0x17, 0xbc, 0xde, + 0xda, 0xe2, 0x41, 0x6b, 0xb1, 0xa9, 0xe6, 0x87, 0x77, 0xae, 0x0b, 0x67, 0x00, 0x2a, 0x78, 0xb7, + 0xfc, 0x4d, 0x9c, 0xe5, 0x8a, 0xa0, 0x8b, 0x15, 0x41, 0xbf, 0x56, 0x04, 0x7d, 0x5d, 0x13, 0xe7, + 0x62, 0x4d, 0x9c, 0x1f, 0x6b, 0xe2, 0x9c, 0x9f, 0x0c, 0xdc, 0xfa, 0x9f, 0xc6, 0x86, 0x17, 0x79, + 0xf3, 0xd4, 0xd8, 0x47, 0xbb, 0x0d, 0xfb, 0x93, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x52, + 0xa1, 0x98, 0xf2, 0x02, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -153,6 +163,14 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + n1, err1 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.BidCloseDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.BidCloseDuration):]) + if err1 != nil { + return 0, err1 + } + i -= n1 + i = encodeVarintParams(dAtA, i, uint64(n1)) + i-- + dAtA[i] = 0x1a { size, err := m.Distribution.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -240,6 +258,8 @@ func (m *Params) Size() (n int) { n += 1 + l + sovParams(uint64(l)) l = m.Distribution.Size() n += 1 + l + sovParams(uint64(l)) + l = github_com_gogo_protobuf_types.SizeOfStdDuration(m.BidCloseDuration) + n += 1 + l + sovParams(uint64(l)) return n } @@ -358,6 +378,39 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BidCloseDuration", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(&m.BidCloseDuration, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/x/marketplace/types/querier.go b/x/marketplace/types/querier.go index d8de3fb..93d4f0d 100644 --- a/x/marketplace/types/querier.go +++ b/x/marketplace/types/querier.go @@ -7,6 +7,11 @@ const ( QueryListing = "listing" QueryAllListings = "listings" QueryListingsByOwner = "listings-by-owner" + QueryAuction = "auction" + QueryAllAuctions = "auctions" + QueryBid = "bid" + QueryAllBids = "bids" + QueryAuctionsByOwner = "auctions-by-owner" ) // QueryListingParams is the query parameters for '/marketplace/listings/{id}' @@ -41,3 +46,58 @@ func NewQueryListingsByOwnerParams(owner sdk.AccAddress) QueryListingsByOwnerPar Owner: owner, } } + +// QueryAuctionParams is the query parameters for '/marketplace/auctions/{id}' +type QueryAuctionParams struct { + Id uint64 +} + +// NewQueryAuctionParams +func NewQueryAuctionParams(id uint64) QueryAuctionParams { + return QueryAuctionParams{ + Id: id, + } +} + +// QueryAllListingsParams is the query parameters for 'marketplace/auctions' +type QueryAllAuctionsParams struct { +} + +// NewQueryAllListingsParams +func NewQueryAllAuctionsParams() QueryAllAuctionsParams { + return QueryAllAuctionsParams{} +} + +// QueryListingsByOwnerParams is the query parameters for 'marketplace/auctions/{owner}' +type QueryAuctionsByOwnerParams struct { + Owner sdk.AccAddress +} + +// NewQueryAuctionsByOwnerParams +func NewQueryAuctionsByOwnerParams(owner sdk.AccAddress) QueryAuctionsByOwnerParams { + return QueryAuctionsByOwnerParams{ + Owner: owner, + } +} + + +// QueryBidParams is the query parameters for '/marketplace/bids/{id}' +type QueryBidParams struct { + Id uint64 +} + +// NewQueryAuctionParams +func NewQueryBidParams(id uint64) QueryBidParams { + return QueryBidParams{ + Id: id, + } +} + +// QueryAllBidsParams is the query parameters for 'marketplace/bids' +type QueryAllBidsParams struct { +} + +// NewQueryAllListingsParams +func NewQueryAllBidsParams() QueryAllBidsParams { + return QueryAllBidsParams{} +} \ No newline at end of file diff --git a/x/marketplace/types/query.pb.go b/x/marketplace/types/query.pb.go index 8fa23b3..eb9acbb 100644 --- a/x/marketplace/types/query.pb.go +++ b/x/marketplace/types/query.pb.go @@ -565,957 +565,3293 @@ func (m *QueryListingsByPriceDenomResponse) GetPagination() *query.PageResponse return nil } -func init() { - proto.RegisterType((*QueryParamsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryParamsResponse") - proto.RegisterType((*QueryListingsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsRequest") - proto.RegisterType((*QueryListingsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsResponse") - proto.RegisterType((*QueryListingRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingRequest") - proto.RegisterType((*QueryListingResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingResponse") - proto.RegisterType((*QueryListingsByOwnerRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByOwnerRequest") - proto.RegisterType((*QueryListingsByOwnerResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByOwnerResponse") - proto.RegisterType((*QueryListingByNFTIDRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingByNFTIDRequest") - proto.RegisterType((*QueryListingsByPriceDenomRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByPriceDenomRequest") - proto.RegisterType((*QueryListingsByPriceDenomResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByPriceDenomResponse") +type QueryAuctionsRequest struct { + Status AuctionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=OmniFlix.marketplace.v1beta1.AuctionStatus" json:"status,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + PriceDenom string `protobuf:"bytes,3,opt,name=price_denom,json=priceDenom,proto3" json:"price_denom,omitempty" yaml:"price_denom"` + Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func init() { proto.RegisterFile("marketplace/v1beta1/query.proto", fileDescriptor_cbd1b93dec0689d9) } - -var fileDescriptor_cbd1b93dec0689d9 = []byte{ - // 782 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x4f, 0x4f, 0x13, 0x4f, - 0x18, 0xc7, 0x3b, 0xe5, 0x47, 0xe1, 0x37, 0x44, 0x8c, 0x63, 0x35, 0xa4, 0x92, 0x16, 0x36, 0x80, - 0x8d, 0xda, 0x5d, 0xdb, 0xc6, 0x20, 0x24, 0x4a, 0xb2, 0x62, 0x09, 0xf1, 0x0f, 0xb8, 0x31, 0x31, - 0x7a, 0x21, 0xdb, 0x76, 0xba, 0x4e, 0xec, 0xee, 0x2c, 0xdd, 0x45, 0x69, 0x9a, 0x5e, 0x7c, 0x05, - 0x26, 0x1e, 0x3d, 0x12, 0x0f, 0x1e, 0x4c, 0xbc, 0x78, 0xf4, 0x8e, 0x37, 0x12, 0x2f, 0x9e, 0x88, - 0x01, 0xe2, 0x0b, 0xe0, 0x15, 0x98, 0x9d, 0x99, 0x2d, 0xdd, 0x52, 0xeb, 0xb6, 0x27, 0x4e, 0xdd, - 0xd9, 0x99, 0xe7, 0x79, 0x3e, 0xcf, 0xf3, 0xdd, 0xf9, 0xa6, 0x30, 0x65, 0xea, 0xb5, 0x57, 0xd8, - 0xb5, 0xab, 0x7a, 0x09, 0x2b, 0xaf, 0xb3, 0x45, 0xec, 0xea, 0x59, 0x65, 0x73, 0x0b, 0xd7, 0xea, - 0xb2, 0x5d, 0xa3, 0x2e, 0x45, 0x93, 0x6b, 0xa6, 0x45, 0x0a, 0x55, 0xb2, 0x2d, 0xb7, 0x9d, 0x94, - 0xc5, 0xc9, 0xc4, 0xb5, 0x12, 0x75, 0x4c, 0xea, 0x28, 0x45, 0xdd, 0xc1, 0x3c, 0xac, 0x95, 0xc4, - 0xd6, 0x0d, 0x62, 0xe9, 0x2e, 0xa1, 0x16, 0xcf, 0x94, 0x98, 0x34, 0x28, 0x35, 0xaa, 0x58, 0xd1, - 0x6d, 0xa2, 0xe8, 0x96, 0x45, 0x5d, 0xb6, 0xe9, 0x88, 0xdd, 0xe9, 0x6e, 0x20, 0x55, 0xe2, 0xb8, - 0xc4, 0x32, 0xc4, 0x91, 0xa9, 0x6e, 0x47, 0x6c, 0xbd, 0xa6, 0x9b, 0x7e, 0x92, 0xb8, 0x41, 0x0d, - 0xca, 0x1e, 0x15, 0xef, 0x89, 0xbf, 0x95, 0xe2, 0x10, 0x3d, 0xf1, 0xd0, 0xd6, 0xd9, 0x51, 0x0d, - 0x6f, 0x6e, 0x61, 0xc7, 0x95, 0x9e, 0xc3, 0x8b, 0x81, 0xb7, 0x8e, 0x4d, 0x2d, 0x07, 0x23, 0x15, - 0xc6, 0x78, 0xca, 0x09, 0x30, 0x05, 0xd2, 0x63, 0xb9, 0x19, 0xb9, 0xd7, 0x00, 0x64, 0x1e, 0xad, - 0xfe, 0xb7, 0xbb, 0x9f, 0x8a, 0x68, 0x22, 0x52, 0xfa, 0x0c, 0x60, 0x9c, 0xe5, 0x7e, 0xc8, 0xf9, - 0xfd, 0x9a, 0x28, 0x0e, 0x87, 0xe9, 0x1b, 0x0b, 0xd7, 0x58, 0xee, 0xff, 0x35, 0xbe, 0x40, 0xf3, - 0x70, 0xcc, 0xae, 0x91, 0x12, 0xde, 0x28, 0x63, 0x8b, 0x9a, 0x13, 0x51, 0x6f, 0x4f, 0xbd, 0x7c, - 0xbc, 0x9f, 0x42, 0x75, 0xdd, 0xac, 0x2e, 0x4a, 0x6d, 0x9b, 0x92, 0x06, 0xd9, 0x6a, 0xd9, 0x5b, - 0xa0, 0x02, 0x84, 0x27, 0x53, 0x9e, 0x18, 0x62, 0xbc, 0x73, 0x32, 0x97, 0x44, 0xf6, 0x24, 0x91, - 0xb9, 0x92, 0x27, 0xb0, 0x06, 0x16, 0x28, 0x5a, 0x5b, 0xa4, 0xf4, 0x09, 0xc0, 0x4b, 0x1d, 0xbc, - 0x62, 0x1a, 0x2b, 0x70, 0x54, 0x68, 0xe0, 0xcd, 0x63, 0x28, 0x3d, 0x96, 0x9b, 0xed, 0x3d, 0x0f, - 0x91, 0x41, 0x0c, 0xa4, 0x15, 0x8c, 0x56, 0x02, 0xa8, 0x51, 0x86, 0x7a, 0xf5, 0x9f, 0xa8, 0x9c, - 0x22, 0xc0, 0x3a, 0x2b, 0x64, 0x13, 0x85, 0xfc, 0xc9, 0x8e, 0xc3, 0x28, 0x29, 0x8b, 0xb1, 0x46, - 0x49, 0x59, 0x7a, 0x16, 0x54, 0xa0, 0xd5, 0xd0, 0x12, 0x1c, 0x11, 0x4c, 0x42, 0xdf, 0x70, 0xfd, - 0x68, 0x7e, 0x94, 0xd4, 0x80, 0x57, 0x02, 0xa3, 0x52, 0xeb, 0x6b, 0x9e, 0x88, 0xbd, 0x15, 0x2e, - 0x74, 0xe9, 0x7e, 0x10, 0xa1, 0xbe, 0x00, 0x38, 0xd9, 0xbd, 0xfa, 0x99, 0xd5, 0xab, 0x00, 0x13, - 0xed, 0xc4, 0x6a, 0xfd, 0x71, 0xe1, 0xe9, 0xea, 0xb2, 0x3f, 0xae, 0x34, 0x8c, 0x59, 0x15, 0x77, - 0xc3, 0x97, 0x4e, 0xbd, 0x70, 0xbc, 0x9f, 0x3a, 0xc7, 0xbf, 0x7a, 0xfe, 0x5e, 0xd2, 0x86, 0xad, - 0x8a, 0xbb, 0x5a, 0x96, 0x76, 0x00, 0x9c, 0xea, 0x68, 0x7d, 0xbd, 0x75, 0x13, 0xfc, 0x74, 0x1d, - 0x37, 0x09, 0x0c, 0x78, 0x93, 0x06, 0x17, 0xe8, 0x2b, 0x80, 0xd3, 0x3d, 0x28, 0xcf, 0xaa, 0x4a, - 0xb9, 0xdf, 0xa3, 0x70, 0x98, 0x71, 0xa3, 0x0f, 0x00, 0xc6, 0xb8, 0xa9, 0xa1, 0x9b, 0xbd, 0xa1, - 0x4e, 0x7b, 0x6a, 0x22, 0xdb, 0x47, 0x04, 0xa7, 0x90, 0x6e, 0xbc, 0xfd, 0x71, 0xf4, 0x3e, 0x3a, - 0x87, 0x66, 0x14, 0x6a, 0x5a, 0xa4, 0x52, 0x25, 0xdb, 0xca, 0xdf, 0x6d, 0x1e, 0xed, 0x00, 0x38, - 0xea, 0x8f, 0x16, 0xe5, 0x42, 0x54, 0xeb, 0x70, 0xe0, 0x44, 0xbe, 0xaf, 0x18, 0xc1, 0x28, 0x33, - 0xc6, 0x34, 0x9a, 0xeb, 0xcd, 0xd8, 0x92, 0xe5, 0x23, 0x80, 0x23, 0x22, 0x09, 0xca, 0x86, 0x2f, - 0xe8, 0x33, 0xe6, 0xfa, 0x09, 0x11, 0x88, 0x79, 0x86, 0x98, 0x41, 0xd7, 0xc3, 0x21, 0x2a, 0x0d, - 0x52, 0x6e, 0xa2, 0xef, 0x00, 0x9e, 0xef, 0x70, 0x12, 0xb4, 0xd0, 0xc7, 0x80, 0x82, 0xde, 0x97, - 0x58, 0x1c, 0x24, 0x54, 0xf0, 0x2f, 0x31, 0xfe, 0x05, 0x34, 0x1f, 0x8e, 0x3f, 0x53, 0xac, 0x67, - 0x98, 0xb5, 0x2a, 0x0d, 0xf6, 0xd3, 0x44, 0x47, 0x00, 0xc6, 0xbb, 0x5d, 0x3a, 0x74, 0xb7, 0x2f, - 0xaa, 0x53, 0x9e, 0x92, 0x58, 0x1a, 0x38, 0x5e, 0xb4, 0xf6, 0x80, 0xb5, 0x76, 0x1f, 0xdd, 0x0b, - 0xdf, 0x1a, 0x73, 0xa6, 0x0c, 0xf3, 0x29, 0xa5, 0xd1, 0x66, 0x5a, 0x4d, 0xf4, 0x0d, 0xc0, 0xf1, - 0x13, 0x2b, 0xf5, 0x9c, 0x11, 0xdd, 0x0e, 0x0f, 0x18, 0x74, 0xdf, 0x81, 0x3e, 0xb4, 0x3b, 0xac, - 0x9b, 0x79, 0x74, 0x2b, 0x54, 0x37, 0x5e, 0x33, 0x56, 0xc5, 0x55, 0x1a, 0xdc, 0xcd, 0x9b, 0xea, - 0xa3, 0xdd, 0x83, 0x24, 0xd8, 0x3b, 0x48, 0x82, 0x5f, 0x07, 0x49, 0xf0, 0xee, 0x30, 0x19, 0xd9, - 0x3b, 0x4c, 0x46, 0x7e, 0x1e, 0x26, 0x23, 0x2f, 0xf2, 0x06, 0x71, 0x5f, 0x6e, 0x15, 0xe5, 0x12, - 0x35, 0x15, 0x1f, 0x2b, 0x90, 0x3a, 0xb8, 0x72, 0xeb, 0x36, 0x76, 0x8a, 0x31, 0xf6, 0x0f, 0x2f, - 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x31, 0x8d, 0x5b, 0x06, 0xc7, 0x0a, 0x00, 0x00, +func (m *QueryAuctionsRequest) Reset() { *m = QueryAuctionsRequest{} } +func (m *QueryAuctionsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionsRequest) ProtoMessage() {} +func (*QueryAuctionsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{11} +} +func (m *QueryAuctionsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryAuctionsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionsRequest.Merge(m, src) +} +func (m *QueryAuctionsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionsRequest.DiscardUnknown(m) } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +var xxx_messageInfo_QueryAuctionsRequest proto.InternalMessageInfo -// QueryClient is the client API for Query service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - // Params queries params of the marketplace module. - Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - Listings(ctx context.Context, in *QueryListingsRequest, opts ...grpc.CallOption) (*QueryListingsResponse, error) - Listing(ctx context.Context, in *QueryListingRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) - ListingsByOwner(ctx context.Context, in *QueryListingsByOwnerRequest, opts ...grpc.CallOption) (*QueryListingsByOwnerResponse, error) - ListingsByPriceDenom(ctx context.Context, in *QueryListingsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryListingsByPriceDenomResponse, error) - ListingByNftId(ctx context.Context, in *QueryListingByNFTIDRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) +func (m *QueryAuctionsRequest) GetStatus() AuctionStatus { + if m != nil { + return m.Status + } + return AUCTION_STATUS_UNSPECIFIED } -type queryClient struct { - cc grpc1.ClientConn +func (m *QueryAuctionsRequest) GetOwner() string { + if m != nil { + return m.Owner + } + return "" } -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} +func (m *QueryAuctionsRequest) GetPriceDenom() string { + if m != nil { + return m.PriceDenom + } + return "" } -func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { - out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Params", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryAuctionsRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination } - return out, nil + return nil } -func (c *queryClient) Listings(ctx context.Context, in *QueryListingsRequest, opts ...grpc.CallOption) (*QueryListingsResponse, error) { - out := new(QueryListingsResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Listings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +type QueryAuctionsResponse struct { + Auctions []AuctionListing `protobuf:"bytes,1,rep,name=auctions,proto3" json:"auctions"` + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (c *queryClient) Listing(ctx context.Context, in *QueryListingRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) { - out := new(QueryListingResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Listing", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryAuctionsResponse) Reset() { *m = QueryAuctionsResponse{} } +func (m *QueryAuctionsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionsResponse) ProtoMessage() {} +func (*QueryAuctionsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{12} +} +func (m *QueryAuctionsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *QueryAuctionsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionsResponse.Merge(m, src) +} +func (m *QueryAuctionsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionsResponse.DiscardUnknown(m) } -func (c *queryClient) ListingsByOwner(ctx context.Context, in *QueryListingsByOwnerRequest, opts ...grpc.CallOption) (*QueryListingsByOwnerResponse, error) { - out := new(QueryListingsByOwnerResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingsByOwner", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_QueryAuctionsResponse proto.InternalMessageInfo + +func (m *QueryAuctionsResponse) GetAuctions() []AuctionListing { + if m != nil { + return m.Auctions } - return out, nil + return nil } -func (c *queryClient) ListingsByPriceDenom(ctx context.Context, in *QueryListingsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryListingsByPriceDenomResponse, error) { - out := new(QueryListingsByPriceDenomResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingsByPriceDenom", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryAuctionsResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination } - return out, nil + return nil } -func (c *queryClient) ListingByNftId(ctx context.Context, in *QueryListingByNFTIDRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) { - out := new(QueryListingResponse) - err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingByNftId", in, out, opts...) - if err != nil { - return nil, err +type QueryAuctionRequest struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (m *QueryAuctionRequest) Reset() { *m = QueryAuctionRequest{} } +func (m *QueryAuctionRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionRequest) ProtoMessage() {} +func (*QueryAuctionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{13} +} +func (m *QueryAuctionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *QueryAuctionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionRequest.Merge(m, src) +} +func (m *QueryAuctionRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionRequest.DiscardUnknown(m) } -// QueryServer is the server API for Query service. -type QueryServer interface { - // Params queries params of the marketplace module. - Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - Listings(context.Context, *QueryListingsRequest) (*QueryListingsResponse, error) - Listing(context.Context, *QueryListingRequest) (*QueryListingResponse, error) - ListingsByOwner(context.Context, *QueryListingsByOwnerRequest) (*QueryListingsByOwnerResponse, error) - ListingsByPriceDenom(context.Context, *QueryListingsByPriceDenomRequest) (*QueryListingsByPriceDenomResponse, error) - ListingByNftId(context.Context, *QueryListingByNFTIDRequest) (*QueryListingResponse, error) +var xxx_messageInfo_QueryAuctionRequest proto.InternalMessageInfo + +func (m *QueryAuctionRequest) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 } -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { +type QueryAuctionResponse struct { + Auction *AuctionListing `protobuf:"bytes,1,opt,name=auction,proto3" json:"auction,omitempty"` } -func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +func (m *QueryAuctionResponse) Reset() { *m = QueryAuctionResponse{} } +func (m *QueryAuctionResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionResponse) ProtoMessage() {} +func (*QueryAuctionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{14} } -func (*UnimplementedQueryServer) Listings(ctx context.Context, req *QueryListingsRequest) (*QueryListingsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Listings not implemented") +func (m *QueryAuctionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedQueryServer) Listing(ctx context.Context, req *QueryListingRequest) (*QueryListingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Listing not implemented") +func (m *QueryAuctionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } -func (*UnimplementedQueryServer) ListingsByOwner(ctx context.Context, req *QueryListingsByOwnerRequest) (*QueryListingsByOwnerResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListingsByOwner not implemented") +func (m *QueryAuctionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionResponse.Merge(m, src) } -func (*UnimplementedQueryServer) ListingsByPriceDenom(ctx context.Context, req *QueryListingsByPriceDenomRequest) (*QueryListingsByPriceDenomResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListingsByPriceDenom not implemented") +func (m *QueryAuctionResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedQueryServer) ListingByNftId(ctx context.Context, req *QueryListingByNFTIDRequest) (*QueryListingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListingByNftId not implemented") +func (m *QueryAuctionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionResponse.DiscardUnknown(m) } -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) -} +var xxx_messageInfo_QueryAuctionResponse proto.InternalMessageInfo -func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Params(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Params", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) +func (m *QueryAuctionResponse) GetAuction() *AuctionListing { + if m != nil { + return m.Auction } - return interceptor(ctx, in, info, handler) + return nil } -func _Query_Listings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListingsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Listings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Listings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Listings(ctx, req.(*QueryListingsRequest)) - } - return interceptor(ctx, in, info, handler) +type QueryAuctionsByOwnerRequest struct { + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func _Query_Listing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListingRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Listing(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Listing", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Listing(ctx, req.(*QueryListingRequest)) +func (m *QueryAuctionsByOwnerRequest) Reset() { *m = QueryAuctionsByOwnerRequest{} } +func (m *QueryAuctionsByOwnerRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionsByOwnerRequest) ProtoMessage() {} +func (*QueryAuctionsByOwnerRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{15} +} +func (m *QueryAuctionsByOwnerRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionsByOwnerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionsByOwnerRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryAuctionsByOwnerRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionsByOwnerRequest.Merge(m, src) +} +func (m *QueryAuctionsByOwnerRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionsByOwnerRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionsByOwnerRequest.DiscardUnknown(m) } -func _Query_ListingsByOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListingsByOwnerRequest) - if err := dec(in); err != nil { - return nil, err +var xxx_messageInfo_QueryAuctionsByOwnerRequest proto.InternalMessageInfo + +func (m *QueryAuctionsByOwnerRequest) GetOwner() string { + if m != nil { + return m.Owner } - if interceptor == nil { - return srv.(QueryServer).ListingsByOwner(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingsByOwner", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ListingsByOwner(ctx, req.(*QueryListingsByOwnerRequest)) - } - return interceptor(ctx, in, info, handler) + return "" } -func _Query_ListingsByPriceDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListingsByPriceDenomRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ListingsByPriceDenom(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingsByPriceDenom", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ListingsByPriceDenom(ctx, req.(*QueryListingsByPriceDenomRequest)) +func (m *QueryAuctionsByOwnerRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination } - return interceptor(ctx, in, info, handler) + return nil } -func _Query_ListingByNftId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryListingByNFTIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ListingByNftId(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingByNftId", +type QueryAuctionByNFTIDRequest struct { + NftId string `protobuf:"bytes,1,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty" yaml:"nft_id"` +} + +func (m *QueryAuctionByNFTIDRequest) Reset() { *m = QueryAuctionByNFTIDRequest{} } +func (m *QueryAuctionByNFTIDRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionByNFTIDRequest) ProtoMessage() {} +func (*QueryAuctionByNFTIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{16} +} +func (m *QueryAuctionByNFTIDRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionByNFTIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionByNFTIDRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ListingByNftId(ctx, req.(*QueryListingByNFTIDRequest)) +} +func (m *QueryAuctionByNFTIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionByNFTIDRequest.Merge(m, src) +} +func (m *QueryAuctionByNFTIDRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionByNFTIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionByNFTIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAuctionByNFTIDRequest proto.InternalMessageInfo + +func (m *QueryAuctionByNFTIDRequest) GetNftId() string { + if m != nil { + return m.NftId } - return interceptor(ctx, in, info, handler) + return "" } -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "OmniFlix.marketplace.v1beta1.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Params", - Handler: _Query_Params_Handler, - }, - { - MethodName: "Listings", - Handler: _Query_Listings_Handler, - }, - { - MethodName: "Listing", - Handler: _Query_Listing_Handler, - }, - { - MethodName: "ListingsByOwner", - Handler: _Query_ListingsByOwner_Handler, - }, - { - MethodName: "ListingsByPriceDenom", - Handler: _Query_ListingsByPriceDenom_Handler, - }, - { - MethodName: "ListingByNftId", - Handler: _Query_ListingByNftId_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "marketplace/v1beta1/query.proto", +type QueryAuctionsByPriceDenomRequest struct { + PriceDenom string `protobuf:"bytes,1,opt,name=price_denom,json=priceDenom,proto3" json:"price_denom,omitempty" yaml:"price_denom"` + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryAuctionsByPriceDenomRequest) Reset() { *m = QueryAuctionsByPriceDenomRequest{} } +func (m *QueryAuctionsByPriceDenomRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAuctionsByPriceDenomRequest) ProtoMessage() {} +func (*QueryAuctionsByPriceDenomRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{17} +} +func (m *QueryAuctionsByPriceDenomRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAuctionsByPriceDenomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAuctionsByPriceDenomRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil } - -func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryAuctionsByPriceDenomRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAuctionsByPriceDenomRequest.Merge(m, src) +} +func (m *QueryAuctionsByPriceDenomRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAuctionsByPriceDenomRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAuctionsByPriceDenomRequest.DiscardUnknown(m) } -func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +var xxx_messageInfo_QueryAuctionsByPriceDenomRequest proto.InternalMessageInfo + +func (m *QueryAuctionsByPriceDenomRequest) GetPriceDenom() string { + if m != nil { + return m.PriceDenom + } + return "" } -func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryAuctionsByPriceDenomRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination } - return dAtA[:n], nil + return nil } -func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type QueryBidsRequest struct { + Bidder string `protobuf:"bytes,1,opt,name=bidder,proto3" json:"bidder,omitempty"` + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) +func (m *QueryBidsRequest) Reset() { *m = QueryBidsRequest{} } +func (m *QueryBidsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryBidsRequest) ProtoMessage() {} +func (*QueryBidsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{18} +} +func (m *QueryBidsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBidsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBidsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + return b[:n], nil } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil +} +func (m *QueryBidsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBidsRequest.Merge(m, src) +} +func (m *QueryBidsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryBidsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBidsRequest.DiscardUnknown(m) } -func (m *QueryListingsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +var xxx_messageInfo_QueryBidsRequest proto.InternalMessageInfo + +func (m *QueryBidsRequest) GetBidder() string { + if m != nil { + return m.Bidder } - return dAtA[:n], nil + return "" } -func (m *QueryListingsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryBidsRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil } -func (m *QueryListingsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) +type QueryBidsResponse struct { + Bids []Bid `protobuf:"bytes,1,rep,name=bids,proto3" json:"bids"` + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryBidsResponse) Reset() { *m = QueryBidsResponse{} } +func (m *QueryBidsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryBidsResponse) ProtoMessage() {} +func (*QueryBidsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{19} +} +func (m *QueryBidsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBidsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBidsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x1a - } - if len(m.PriceDenom) > 0 { - i -= len(m.PriceDenom) - copy(dAtA[i:], m.PriceDenom) - i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) - i-- - dAtA[i] = 0x12 + return b[:n], nil } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa +} +func (m *QueryBidsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBidsResponse.Merge(m, src) +} +func (m *QueryBidsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryBidsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBidsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryBidsResponse proto.InternalMessageInfo + +func (m *QueryBidsResponse) GetBids() []Bid { + if m != nil { + return m.Bids } - return len(dAtA) - i, nil + return nil } -func (m *QueryListingsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryBidsResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination } - return dAtA[:n], nil + return nil } -func (m *QueryListingsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +type QueryBidRequest struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func (m *QueryListingsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) +func (m *QueryBidRequest) Reset() { *m = QueryBidRequest{} } +func (m *QueryBidRequest) String() string { return proto.CompactTextString(m) } +func (*QueryBidRequest) ProtoMessage() {} +func (*QueryBidRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{20} +} +func (m *QueryBidRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBidRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBidRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0x12 + return b[:n], nil } - if len(m.Listings) > 0 { - for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa +} +func (m *QueryBidRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBidRequest.Merge(m, src) +} +func (m *QueryBidRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryBidRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBidRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryBidRequest proto.InternalMessageInfo + +func (m *QueryBidRequest) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +type QueryBidResponse struct { + Bid *Bid `protobuf:"bytes,1,opt,name=bid,proto3" json:"bid,omitempty"` +} + +func (m *QueryBidResponse) Reset() { *m = QueryBidResponse{} } +func (m *QueryBidResponse) String() string { return proto.CompactTextString(m) } +func (*QueryBidResponse) ProtoMessage() {} +func (*QueryBidResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_cbd1b93dec0689d9, []int{21} +} +func (m *QueryBidResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryBidResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryBidResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err } + return b[:n], nil } - return len(dAtA) - i, nil +} +func (m *QueryBidResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryBidResponse.Merge(m, src) +} +func (m *QueryBidResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryBidResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryBidResponse.DiscardUnknown(m) } -func (m *QueryListingRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +var xxx_messageInfo_QueryBidResponse proto.InternalMessageInfo + +func (m *QueryBidResponse) GetBid() *Bid { + if m != nil { + return m.Bid + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryParamsResponse") + proto.RegisterType((*QueryListingsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsRequest") + proto.RegisterType((*QueryListingsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsResponse") + proto.RegisterType((*QueryListingRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingRequest") + proto.RegisterType((*QueryListingResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingResponse") + proto.RegisterType((*QueryListingsByOwnerRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByOwnerRequest") + proto.RegisterType((*QueryListingsByOwnerResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByOwnerResponse") + proto.RegisterType((*QueryListingByNFTIDRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingByNFTIDRequest") + proto.RegisterType((*QueryListingsByPriceDenomRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByPriceDenomRequest") + proto.RegisterType((*QueryListingsByPriceDenomResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryListingsByPriceDenomResponse") + proto.RegisterType((*QueryAuctionsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionsRequest") + proto.RegisterType((*QueryAuctionsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionsResponse") + proto.RegisterType((*QueryAuctionRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionRequest") + proto.RegisterType((*QueryAuctionResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionResponse") + proto.RegisterType((*QueryAuctionsByOwnerRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionsByOwnerRequest") + proto.RegisterType((*QueryAuctionByNFTIDRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionByNFTIDRequest") + proto.RegisterType((*QueryAuctionsByPriceDenomRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryAuctionsByPriceDenomRequest") + proto.RegisterType((*QueryBidsRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryBidsRequest") + proto.RegisterType((*QueryBidsResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryBidsResponse") + proto.RegisterType((*QueryBidRequest)(nil), "OmniFlix.marketplace.v1beta1.QueryBidRequest") + proto.RegisterType((*QueryBidResponse)(nil), "OmniFlix.marketplace.v1beta1.QueryBidResponse") +} + +func init() { proto.RegisterFile("marketplace/v1beta1/query.proto", fileDescriptor_cbd1b93dec0689d9) } + +var fileDescriptor_cbd1b93dec0689d9 = []byte{ + // 1136 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x98, 0xdf, 0x6f, 0xdb, 0x54, + 0x14, 0xc7, 0x7b, 0x93, 0x2c, 0x2d, 0xa7, 0xa2, 0x65, 0x97, 0x6c, 0xaa, 0x42, 0x95, 0xb6, 0x56, + 0xd7, 0x95, 0x6d, 0xb1, 0x69, 0x22, 0x54, 0x36, 0x04, 0x15, 0xde, 0x48, 0x35, 0x01, 0xdb, 0x30, + 0x48, 0x08, 0x1e, 0x98, 0x9c, 0xd8, 0x0d, 0x57, 0x24, 0x76, 0x16, 0x3b, 0xb0, 0x28, 0xea, 0x0b, + 0x7f, 0x01, 0xd2, 0xc4, 0x03, 0xe2, 0x71, 0xe2, 0x81, 0x07, 0x24, 0x5e, 0x78, 0xe4, 0x65, 0x4f, + 0xe3, 0x6d, 0x12, 0x2f, 0x7b, 0xaa, 0x50, 0xbb, 0xbf, 0xa0, 0x7f, 0x01, 0xf2, 0xfd, 0xe1, 0xc4, + 0x4e, 0xe6, 0xdd, 0x78, 0x15, 0xea, 0x53, 0x63, 0xfb, 0x9e, 0x73, 0x3e, 0xe7, 0x1c, 0x7f, 0x8f, + 0x8f, 0x0a, 0x2b, 0x6d, 0xb3, 0xfb, 0xad, 0xed, 0x77, 0x5a, 0x66, 0xc3, 0xd6, 0xbe, 0xdb, 0xaa, + 0xdb, 0xbe, 0xb9, 0xa5, 0xdd, 0xeb, 0xd9, 0xdd, 0xbe, 0xda, 0xe9, 0xba, 0xbe, 0x8b, 0x97, 0x6f, + 0xb7, 0x1d, 0x52, 0x6b, 0x91, 0xfb, 0xea, 0xc8, 0x49, 0x95, 0x9f, 0x2c, 0x5e, 0x6a, 0xb8, 0x5e, + 0xdb, 0xf5, 0xb4, 0xba, 0xe9, 0xd9, 0xcc, 0x2c, 0x74, 0xd2, 0x31, 0x9b, 0xc4, 0x31, 0x7d, 0xe2, + 0x3a, 0xcc, 0x53, 0x71, 0xb9, 0xe9, 0xba, 0xcd, 0x96, 0xad, 0x99, 0x1d, 0xa2, 0x99, 0x8e, 0xe3, + 0xfa, 0xf4, 0xa1, 0xc7, 0x9f, 0xae, 0x4d, 0x02, 0x69, 0x11, 0xcf, 0x27, 0x4e, 0x93, 0x1f, 0x59, + 0x9d, 0x74, 0xa4, 0x63, 0x76, 0xcd, 0x76, 0xa2, 0x13, 0xb3, 0xd7, 0x18, 0xa1, 0x28, 0x34, 0xdd, + 0xa6, 0x4b, 0x7f, 0x6a, 0xc1, 0x2f, 0x76, 0x57, 0x29, 0x00, 0xfe, 0x34, 0xa0, 0xbf, 0x43, 0xbd, + 0x19, 0xf6, 0xbd, 0x9e, 0xed, 0xf9, 0xca, 0x97, 0xf0, 0x7a, 0xe4, 0xae, 0xd7, 0x71, 0x1d, 0xcf, + 0xc6, 0x3a, 0xe4, 0x59, 0xd4, 0x25, 0xb4, 0x8a, 0x36, 0xe7, 0x2b, 0xeb, 0x6a, 0x52, 0x8d, 0x54, + 0x66, 0xad, 0xe7, 0x1e, 0x1f, 0xac, 0xcc, 0x18, 0xdc, 0x52, 0xf9, 0x1d, 0x41, 0x81, 0xfa, 0xfe, + 0x98, 0xa5, 0x28, 0x62, 0xe2, 0x02, 0x9c, 0x71, 0xbf, 0x77, 0xec, 0x2e, 0xf5, 0xfd, 0x8a, 0xc1, + 0x2e, 0xf0, 0x36, 0xcc, 0x77, 0xba, 0xa4, 0x61, 0xdf, 0xb5, 0x6c, 0xc7, 0x6d, 0x2f, 0x65, 0x82, + 0x67, 0xfa, 0xf9, 0xe3, 0x83, 0x15, 0xdc, 0x37, 0xdb, 0xad, 0x6b, 0xca, 0xc8, 0x43, 0xc5, 0x00, + 0x7a, 0x75, 0x23, 0xb8, 0xc0, 0x35, 0x80, 0x61, 0x23, 0x96, 0xb2, 0x94, 0x77, 0x43, 0x65, 0x5d, + 0x53, 0x83, 0xae, 0xa9, 0xac, 0xd9, 0x43, 0xd8, 0xa6, 0xcd, 0x51, 0x8c, 0x11, 0x4b, 0xe5, 0x37, + 0x04, 0xe7, 0x62, 0xbc, 0xbc, 0x1a, 0xbb, 0x30, 0xc7, 0xdb, 0x14, 0xd4, 0x23, 0xbb, 0x39, 0x5f, + 0xb9, 0x90, 0x5c, 0x0f, 0xee, 0x81, 0x17, 0x24, 0x34, 0xc6, 0xbb, 0x11, 0xd4, 0x0c, 0x45, 0xbd, + 0xf8, 0x42, 0x54, 0x46, 0x11, 0x61, 0xbd, 0xc0, 0xdb, 0xc6, 0x03, 0x89, 0xca, 0x2e, 0x40, 0x86, + 0x58, 0xbc, 0xac, 0x19, 0x62, 0x29, 0x5f, 0x44, 0x3b, 0x10, 0x26, 0xb4, 0x03, 0xb3, 0x9c, 0x89, + 0xf7, 0x57, 0x2e, 0x1f, 0x43, 0x58, 0x29, 0x03, 0x78, 0x23, 0x52, 0x2a, 0xbd, 0x7f, 0x3b, 0x68, + 0x62, 0x72, 0x87, 0x6b, 0x13, 0xb2, 0x4f, 0xd3, 0xa8, 0x3f, 0x10, 0x2c, 0x4f, 0x8e, 0x7e, 0x6a, + 0xfb, 0x55, 0x83, 0xe2, 0x28, 0xb1, 0xde, 0xbf, 0x55, 0xfb, 0xfc, 0xe6, 0x0d, 0x51, 0xae, 0x4d, + 0xc8, 0x3b, 0x7b, 0xfe, 0x5d, 0xd1, 0x3a, 0xfd, 0xec, 0xf1, 0xc1, 0xca, 0xab, 0xec, 0xad, 0x67, + 0xf7, 0x15, 0xe3, 0x8c, 0xb3, 0xe7, 0xdf, 0xb4, 0x94, 0x87, 0x08, 0x56, 0x63, 0xa9, 0xdf, 0x09, + 0x95, 0x20, 0xdc, 0xc5, 0x94, 0x84, 0x52, 0x2a, 0x29, 0x7d, 0x83, 0xfe, 0x44, 0xb0, 0x96, 0x40, + 0x79, 0x6a, 0xbb, 0x74, 0x2c, 0x26, 0xd6, 0x07, 0x6c, 0x9e, 0x86, 0x13, 0xeb, 0x3a, 0xe4, 0x3d, + 0xdf, 0xf4, 0x7b, 0x6c, 0x1c, 0x2e, 0x54, 0x2e, 0x27, 0x83, 0x72, 0xf3, 0xcf, 0xa8, 0x89, 0xc1, + 0x4d, 0x87, 0xa2, 0xc8, 0x24, 0x8c, 0xbd, 0x6c, 0xca, 0x66, 0xe5, 0x5e, 0x46, 0x4d, 0xe7, 0x62, + 0x49, 0xf3, 0x06, 0xdd, 0x82, 0x39, 0xfe, 0x61, 0x11, 0x0d, 0xba, 0x22, 0x95, 0x77, 0xac, 0x4f, + 0xc2, 0xc7, 0xc9, 0x4f, 0x3f, 0x1e, 0x6f, 0x7c, 0xfa, 0xe5, 0xe8, 0xf4, 0xfb, 0x3a, 0xda, 0xcd, + 0x30, 0xaf, 0x1a, 0xcc, 0x72, 0x26, 0x3e, 0xfd, 0xa6, 0x4a, 0xcb, 0x10, 0xc6, 0xe1, 0x10, 0x14, + 0x85, 0xfb, 0x5f, 0x87, 0xa0, 0x98, 0x28, 0x3c, 0xf8, 0xcb, 0x4f, 0x94, 0x61, 0x16, 0xa7, 0x70, + 0xa2, 0x74, 0xe1, 0x35, 0x0a, 0xa9, 0x13, 0x2b, 0x14, 0xe5, 0x79, 0xc8, 0xd7, 0x89, 0x65, 0x85, + 0x05, 0xe6, 0x57, 0x27, 0x16, 0xf3, 0x67, 0x04, 0x67, 0x47, 0x82, 0xf2, 0x97, 0xe7, 0x5d, 0xc8, + 0xd5, 0x89, 0x25, 0x04, 0xb1, 0x96, 0xfc, 0xe6, 0xe8, 0xc4, 0xe2, 0x2a, 0xa0, 0x46, 0x27, 0xa7, + 0x80, 0x35, 0x58, 0x14, 0x68, 0xcf, 0x7b, 0xfb, 0x77, 0x87, 0x25, 0x0b, 0xe1, 0xab, 0x90, 0xad, + 0xf3, 0x43, 0x32, 0xec, 0x46, 0x70, 0xba, 0xf2, 0x08, 0xc3, 0x19, 0xea, 0x09, 0xff, 0x82, 0x20, + 0xcf, 0x56, 0x3d, 0xfc, 0x56, 0xb2, 0xf1, 0xf8, 0xa6, 0x59, 0xdc, 0x9a, 0xc2, 0x82, 0xe1, 0x2a, + 0x57, 0x7e, 0xf8, 0xe7, 0xd9, 0x83, 0xcc, 0x06, 0x5e, 0xd7, 0xdc, 0xb6, 0x43, 0xf6, 0x5a, 0xe4, + 0xbe, 0xf6, 0xfc, 0xfd, 0x18, 0x3f, 0x44, 0x30, 0x27, 0x3e, 0x38, 0xb8, 0x22, 0x11, 0x2d, 0xb6, + 0x97, 0x16, 0xab, 0x53, 0xd9, 0x70, 0x46, 0x95, 0x32, 0x6e, 0xe2, 0x8d, 0x64, 0xc6, 0xf0, 0x63, + 0xf5, 0x2b, 0x82, 0x59, 0xee, 0x04, 0x6f, 0xc9, 0x07, 0x14, 0x8c, 0x95, 0x69, 0x4c, 0x38, 0x62, + 0x95, 0x22, 0x96, 0xf1, 0x65, 0x39, 0x44, 0x6d, 0x40, 0xac, 0x7d, 0xfc, 0x37, 0x82, 0xc5, 0xd8, + 0x7e, 0x85, 0xaf, 0x4e, 0x51, 0xa0, 0xe8, 0x30, 0x2c, 0x5e, 0x4b, 0x63, 0xca, 0xf9, 0x77, 0x28, + 0xff, 0x55, 0xbc, 0x2d, 0xc7, 0x5f, 0xae, 0xf7, 0xcb, 0x74, 0xd6, 0x6a, 0x03, 0xfa, 0x67, 0x1f, + 0x3f, 0x43, 0x50, 0x98, 0xb4, 0x8a, 0xe0, 0xf7, 0xa7, 0xa2, 0x1a, 0x9b, 0x8b, 0xc5, 0x9d, 0xd4, + 0xf6, 0x3c, 0xb5, 0x8f, 0x68, 0x6a, 0x1f, 0xe2, 0xeb, 0xf2, 0xa9, 0xd1, 0xe9, 0x5a, 0xa6, 0xb3, + 0x56, 0x1b, 0x8c, 0x0c, 0xde, 0x7d, 0xfc, 0x17, 0x82, 0x85, 0xe1, 0x82, 0x19, 0x4c, 0x77, 0xfc, + 0x8e, 0x3c, 0x60, 0xf4, 0x0b, 0x92, 0xea, 0x45, 0x7b, 0x8f, 0x66, 0xb3, 0x8d, 0xdf, 0x96, 0xca, + 0x26, 0x48, 0xc6, 0xd9, 0xf3, 0xb5, 0x01, 0xfb, 0x22, 0xed, 0x53, 0x01, 0x8b, 0xaf, 0x90, 0x94, + 0x80, 0x63, 0x6b, 0x9a, 0x94, 0x80, 0xe3, 0x5b, 0x8e, 0xac, 0x80, 0xc3, 0x2d, 0x26, 0x10, 0x30, + 0x77, 0x22, 0x25, 0xe0, 0xe8, 0x92, 0x52, 0xac, 0x4c, 0x63, 0x32, 0x9d, 0x80, 0x05, 0x22, 0x13, + 0xf0, 0x23, 0x04, 0x8b, 0xb1, 0xcd, 0x44, 0x4a, 0xc0, 0x93, 0xb7, 0x99, 0x74, 0xb5, 0x95, 0x54, + 0xae, 0x00, 0x1f, 0x57, 0xee, 0x53, 0x04, 0x85, 0x49, 0x8b, 0x89, 0x94, 0x72, 0x13, 0x36, 0x9a, + 0x74, 0xe9, 0x48, 0xaa, 0x75, 0x34, 0x9d, 0x64, 0xb5, 0x0e, 0x97, 0x37, 0x69, 0xb5, 0x4e, 0xdc, + 0xf7, 0x52, 0xbd, 0x55, 0x92, 0x6a, 0xe5, 0xd9, 0x8c, 0xa9, 0xf5, 0x01, 0x82, 0x5c, 0xb0, 0x19, + 0x61, 0x55, 0x22, 0xf6, 0xc8, 0xde, 0x56, 0xd4, 0xa4, 0xcf, 0x73, 0xd0, 0x4b, 0x14, 0x74, 0x1d, + 0x2b, 0xc9, 0xa0, 0x74, 0xc3, 0xfa, 0x09, 0x41, 0x56, 0x27, 0x16, 0x2e, 0xcb, 0x05, 0x11, 0x4c, + 0xaa, 0xec, 0x71, 0x8e, 0xa4, 0x51, 0xa4, 0x37, 0xf1, 0xc5, 0x17, 0x23, 0x51, 0x35, 0xea, 0x9f, + 0x3c, 0x3e, 0x2c, 0xa1, 0x27, 0x87, 0x25, 0xf4, 0xef, 0x61, 0x09, 0xfd, 0x78, 0x54, 0x9a, 0x79, + 0x72, 0x54, 0x9a, 0x79, 0x7a, 0x54, 0x9a, 0xf9, 0xaa, 0xda, 0x24, 0xfe, 0x37, 0xbd, 0xba, 0xda, + 0x70, 0xdb, 0x9a, 0x80, 0x88, 0x38, 0x8b, 0x5e, 0xf9, 0xfd, 0x8e, 0xed, 0xd5, 0xf3, 0xf4, 0x7f, + 0x7a, 0xd5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4f, 0xe2, 0x87, 0xf7, 0xdc, 0x14, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Params queries params of the marketplace module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + Listings(ctx context.Context, in *QueryListingsRequest, opts ...grpc.CallOption) (*QueryListingsResponse, error) + Listing(ctx context.Context, in *QueryListingRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) + ListingsByOwner(ctx context.Context, in *QueryListingsByOwnerRequest, opts ...grpc.CallOption) (*QueryListingsByOwnerResponse, error) + ListingsByPriceDenom(ctx context.Context, in *QueryListingsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryListingsByPriceDenomResponse, error) + ListingByNftId(ctx context.Context, in *QueryListingByNFTIDRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) + // auction queries + Auctions(ctx context.Context, in *QueryAuctionsRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) + Auction(ctx context.Context, in *QueryAuctionRequest, opts ...grpc.CallOption) (*QueryAuctionResponse, error) + AuctionsByOwner(ctx context.Context, in *QueryAuctionsByOwnerRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) + AuctionsByPriceDenom(ctx context.Context, in *QueryAuctionsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) + AuctionByNftId(ctx context.Context, in *QueryAuctionByNFTIDRequest, opts ...grpc.CallOption) (*QueryAuctionResponse, error) + Bids(ctx context.Context, in *QueryBidsRequest, opts ...grpc.CallOption) (*QueryBidsResponse, error) + Bid(ctx context.Context, in *QueryBidRequest, opts ...grpc.CallOption) (*QueryBidResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Params", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryListingRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Listings(ctx context.Context, in *QueryListingsRequest, opts ...grpc.CallOption) (*QueryListingsResponse, error) { + out := new(QueryListingsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Listings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryListingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa +func (c *queryClient) Listing(ctx context.Context, in *QueryListingRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) { + out := new(QueryListingResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Listing", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryListingResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) ListingsByOwner(ctx context.Context, in *QueryListingsByOwnerRequest, opts ...grpc.CallOption) (*QueryListingsByOwnerResponse, error) { + out := new(QueryListingsByOwnerResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingsByOwner", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryListingResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) ListingsByPriceDenom(ctx context.Context, in *QueryListingsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryListingsByPriceDenomResponse, error) { + out := new(QueryListingsByPriceDenomResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingsByPriceDenom", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryListingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Listing != nil { - { - size, err := m.Listing.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa +func (c *queryClient) ListingByNftId(ctx context.Context, in *QueryListingByNFTIDRequest, opts ...grpc.CallOption) (*QueryListingResponse, error) { + out := new(QueryListingResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/ListingByNftId", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryListingsByOwnerRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Auctions(ctx context.Context, in *QueryAuctionsRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) { + out := new(QueryAuctionsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Auctions", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryListingsByOwnerRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Auction(ctx context.Context, in *QueryAuctionRequest, opts ...grpc.CallOption) (*QueryAuctionResponse, error) { + out := new(QueryAuctionResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Auction", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryListingsByOwnerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa +func (c *queryClient) AuctionsByOwner(ctx context.Context, in *QueryAuctionsByOwnerRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) { + out := new(QueryAuctionsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/AuctionsByOwner", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryListingsByOwnerResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) AuctionsByPriceDenom(ctx context.Context, in *QueryAuctionsByPriceDenomRequest, opts ...grpc.CallOption) (*QueryAuctionsResponse, error) { + out := new(QueryAuctionsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/AuctionsByPriceDenom", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryListingsByOwnerResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) AuctionByNftId(ctx context.Context, in *QueryAuctionByNFTIDRequest, opts ...grpc.CallOption) (*QueryAuctionResponse, error) { + out := new(QueryAuctionResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/AuctionByNftId", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryListingsByOwnerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Listings) > 0 { - for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } +func (c *queryClient) Bids(ctx context.Context, in *QueryBidsRequest, opts ...grpc.CallOption) (*QueryBidsResponse, error) { + out := new(QueryBidsResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Bids", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryListingByNFTIDRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Bid(ctx context.Context, in *QueryBidRequest, opts ...grpc.CallOption) (*QueryBidResponse, error) { + out := new(QueryBidResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Query/Bid", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryListingByNFTIDRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +// QueryServer is the server API for Query service. +type QueryServer interface { + // Params queries params of the marketplace module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + Listings(context.Context, *QueryListingsRequest) (*QueryListingsResponse, error) + Listing(context.Context, *QueryListingRequest) (*QueryListingResponse, error) + ListingsByOwner(context.Context, *QueryListingsByOwnerRequest) (*QueryListingsByOwnerResponse, error) + ListingsByPriceDenom(context.Context, *QueryListingsByPriceDenomRequest) (*QueryListingsByPriceDenomResponse, error) + ListingByNftId(context.Context, *QueryListingByNFTIDRequest) (*QueryListingResponse, error) + // auction queries + Auctions(context.Context, *QueryAuctionsRequest) (*QueryAuctionsResponse, error) + Auction(context.Context, *QueryAuctionRequest) (*QueryAuctionResponse, error) + AuctionsByOwner(context.Context, *QueryAuctionsByOwnerRequest) (*QueryAuctionsResponse, error) + AuctionsByPriceDenom(context.Context, *QueryAuctionsByPriceDenomRequest) (*QueryAuctionsResponse, error) + AuctionByNftId(context.Context, *QueryAuctionByNFTIDRequest) (*QueryAuctionResponse, error) + Bids(context.Context, *QueryBidsRequest) (*QueryBidsResponse, error) + Bid(context.Context, *QueryBidRequest) (*QueryBidResponse, error) } -func (m *QueryListingByNFTIDRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.NftId) > 0 { - i -= len(m.NftId) - copy(dAtA[i:], m.NftId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.NftId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { } -func (m *QueryListingsByPriceDenomRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } - -func (m *QueryListingsByPriceDenomRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedQueryServer) Listings(ctx context.Context, req *QueryListingsRequest) (*QueryListingsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Listings not implemented") } - -func (m *QueryListingsByPriceDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.PriceDenom) > 0 { - i -= len(m.PriceDenom) - copy(dAtA[i:], m.PriceDenom) - i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (*UnimplementedQueryServer) Listing(ctx context.Context, req *QueryListingRequest) (*QueryListingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Listing not implemented") } - -func (m *QueryListingsByPriceDenomResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (*UnimplementedQueryServer) ListingsByOwner(ctx context.Context, req *QueryListingsByOwnerRequest) (*QueryListingsByOwnerResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListingsByOwner not implemented") } - -func (m *QueryListingsByPriceDenomResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedQueryServer) ListingsByPriceDenom(ctx context.Context, req *QueryListingsByPriceDenomRequest) (*QueryListingsByPriceDenomResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListingsByPriceDenom not implemented") } - -func (m *QueryListingsByPriceDenomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Listings) > 0 { - for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil +func (*UnimplementedQueryServer) ListingByNftId(ctx context.Context, req *QueryListingByNFTIDRequest) (*QueryListingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListingByNftId not implemented") } - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base +func (*UnimplementedQueryServer) Auctions(ctx context.Context, req *QueryAuctionsRequest) (*QueryAuctionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Auctions not implemented") } -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (*UnimplementedQueryServer) Auction(ctx context.Context, req *QueryAuctionRequest) (*QueryAuctionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Auction not implemented") +} +func (*UnimplementedQueryServer) AuctionsByOwner(ctx context.Context, req *QueryAuctionsByOwnerRequest) (*QueryAuctionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuctionsByOwner not implemented") +} +func (*UnimplementedQueryServer) AuctionsByPriceDenom(ctx context.Context, req *QueryAuctionsByPriceDenomRequest) (*QueryAuctionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuctionsByPriceDenom not implemented") +} +func (*UnimplementedQueryServer) AuctionByNftId(ctx context.Context, req *QueryAuctionByNFTIDRequest) (*QueryAuctionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuctionByNftId not implemented") +} +func (*UnimplementedQueryServer) Bids(ctx context.Context, req *QueryBidsRequest) (*QueryBidsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Bids not implemented") +} +func (*UnimplementedQueryServer) Bid(ctx context.Context, req *QueryBidRequest) (*QueryBidResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Bid not implemented") } -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) } -func (m *QueryListingsRequest) Size() (n int) { - if m == nil { - return 0 +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) } - l = len(m.PriceDenom) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Params", } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) } - return n + return interceptor(ctx, in, info, handler) } -func (m *QueryListingsResponse) Size() (n int) { - if m == nil { - return 0 +func _Query_Listings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListingsRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - if len(m.Listings) > 0 { - for _, e := range m.Listings { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } + if interceptor == nil { + return srv.(QueryServer).Listings(ctx, in) } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Listings", } - return n + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Listings(ctx, req.(*QueryListingsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingRequest) Size() (n int) { - if m == nil { - return 0 +func _Query_Listing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListingRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if interceptor == nil { + return srv.(QueryServer).Listing(ctx, in) } - return n + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Listing", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Listing(ctx, req.(*QueryListingRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingResponse) Size() (n int) { - if m == nil { - return 0 +func _Query_ListingsByOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListingsByOwnerRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - if m.Listing != nil { - l = m.Listing.Size() - n += 1 + l + sovQuery(uint64(l)) + if interceptor == nil { + return srv.(QueryServer).ListingsByOwner(ctx, in) } - return n + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingsByOwner", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ListingsByOwner(ctx, req.(*QueryListingsByOwnerRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingsByOwnerRequest) Size() (n int) { - if m == nil { - return 0 +func _Query_ListingsByPriceDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListingsByPriceDenomRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if interceptor == nil { + return srv.(QueryServer).ListingsByPriceDenom(ctx, in) } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingsByPriceDenom", } - return n + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ListingsByPriceDenom(ctx, req.(*QueryListingsByPriceDenomRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingsByOwnerResponse) Size() (n int) { - if m == nil { - return 0 +func _Query_ListingByNftId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryListingByNFTIDRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - if len(m.Listings) > 0 { - for _, e := range m.Listings { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } + if interceptor == nil { + return srv.(QueryServer).ListingByNftId(ctx, in) } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/ListingByNftId", } - return n + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ListingByNftId(ctx, req.(*QueryListingByNFTIDRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingByNFTIDRequest) Size() (n int) { - if m == nil { - return 0 +func _Query_Auctions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAuctionsRequest) + if err := dec(in); err != nil { + return nil, err } - var l int - _ = l - l = len(m.NftId) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if interceptor == nil { + return srv.(QueryServer).Auctions(ctx, in) } - return n + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Auctions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Auctions(ctx, req.(*QueryAuctionsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryListingsByPriceDenomRequest) Size() (n int) { - if m == nil { - return 0 +func _Query_Auction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAuctionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Auction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Auction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Auction(ctx, req.(*QueryAuctionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AuctionsByOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAuctionsByOwnerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AuctionsByOwner(ctx, in) } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/AuctionsByOwner", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AuctionsByOwner(ctx, req.(*QueryAuctionsByOwnerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AuctionsByPriceDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAuctionsByPriceDenomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AuctionsByPriceDenom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/AuctionsByPriceDenom", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AuctionsByPriceDenom(ctx, req.(*QueryAuctionsByPriceDenomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AuctionByNftId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAuctionByNFTIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AuctionByNftId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/AuctionByNftId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AuctionByNftId(ctx, req.(*QueryAuctionByNFTIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Bids_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryBidsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Bids(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Bids", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Bids(ctx, req.(*QueryBidsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_Bid_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryBidRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Bid(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Query/Bid", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Bid(ctx, req.(*QueryBidRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "OmniFlix.marketplace.v1beta1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "Listings", + Handler: _Query_Listings_Handler, + }, + { + MethodName: "Listing", + Handler: _Query_Listing_Handler, + }, + { + MethodName: "ListingsByOwner", + Handler: _Query_ListingsByOwner_Handler, + }, + { + MethodName: "ListingsByPriceDenom", + Handler: _Query_ListingsByPriceDenom_Handler, + }, + { + MethodName: "ListingByNftId", + Handler: _Query_ListingByNftId_Handler, + }, + { + MethodName: "Auctions", + Handler: _Query_Auctions_Handler, + }, + { + MethodName: "Auction", + Handler: _Query_Auction_Handler, + }, + { + MethodName: "AuctionsByOwner", + Handler: _Query_AuctionsByOwner_Handler, + }, + { + MethodName: "AuctionsByPriceDenom", + Handler: _Query_AuctionsByPriceDenom_Handler, + }, + { + MethodName: "AuctionByNftId", + Handler: _Query_AuctionByNftId_Handler, + }, + { + MethodName: "Bids", + Handler: _Query_Bids_Handler, + }, + { + MethodName: "Bid", + Handler: _Query_Bid_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "marketplace/v1beta1/query.proto", +} + +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.PriceDenom) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + return len(dAtA) - i, nil +} + +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryListingsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryListingsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.PriceDenom) > 0 { + i -= len(m.PriceDenom) + copy(dAtA[i:], m.PriceDenom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) + i-- + dAtA[i] = 0x12 + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Listings) > 0 { + for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryListingRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Listing != nil { + { + size, err := m.Listing.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingsByOwnerRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingsByOwnerRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsByOwnerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingsByOwnerResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingsByOwnerResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsByOwnerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Listings) > 0 { + for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryListingByNFTIDRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingByNFTIDRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingByNFTIDRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingsByPriceDenomRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingsByPriceDenomRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsByPriceDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.PriceDenom) > 0 { + i -= len(m.PriceDenom) + copy(dAtA[i:], m.PriceDenom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryListingsByPriceDenomResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryListingsByPriceDenomResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryListingsByPriceDenomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Listings) > 0 { + for iNdEx := len(m.Listings) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Listings[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if len(m.PriceDenom) > 0 { + i -= len(m.PriceDenom) + copy(dAtA[i:], m.PriceDenom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) + i-- + dAtA[i] = 0x1a + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x12 + } + if m.Status != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Auctions) > 0 { + for iNdEx := len(m.Auctions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Auctions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Auction != nil { + { + size, err := m.Auction.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionsByOwnerRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionsByOwnerRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionsByOwnerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionByNFTIDRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionByNFTIDRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionByNFTIDRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAuctionsByPriceDenomRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAuctionsByPriceDenomRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAuctionsByPriceDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.PriceDenom) > 0 { + i -= len(m.PriceDenom) + copy(dAtA[i:], m.PriceDenom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.PriceDenom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryBidsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryBidsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBidsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Bidder) > 0 { + i -= len(m.Bidder) + copy(dAtA[i:], m.Bidder) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Bidder))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryBidsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryBidsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBidsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Bids) > 0 { + for iNdEx := len(m.Bids) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Bids[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryBidRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryBidRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBidRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryBidResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryBidResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryBidResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Bid != nil { + { + size, err := m.Bid.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryListingsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.PriceDenom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Listings) > 0 { + for _, e := range m.Listings { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Listing != nil { + l = m.Listing.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingsByOwnerRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingsByOwnerResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Listings) > 0 { + for _, e := range m.Listings { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingByNFTIDRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingsByPriceDenomRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PriceDenom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryListingsByPriceDenomResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Listings) > 0 { + for _, e := range m.Listings { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Status != 0 { + n += 1 + sovQuery(uint64(m.Status)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.PriceDenom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Auctions) > 0 { + for _, e := range m.Auctions { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryAuctionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Auction != nil { + l = m.Auction.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionsByOwnerRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionByNFTIDRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAuctionsByPriceDenomRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PriceDenom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryBidsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Bidder) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryBidsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Bids) > 0 { + for _, e := range m.Bids { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryBidRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryBidResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Bid != nil { + l = m.Bid.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceDenom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PriceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Listings = append(m.Listings, Listing{}) + if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Listing", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Listing == nil { + m.Listing = &Listing{} + } + if err := m.Listing.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingsByOwnerRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingsByOwnerRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingsByOwnerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingsByOwnerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingsByOwnerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Listings = append(m.Listings, Listing{}) + if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - return n -} -func (m *QueryListingsByPriceDenomResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - if len(m.Listings) > 0 { - for _, e := range m.Listings { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) + return nil +} +func (m *QueryListingByNFTIDRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryListingByNFTIDRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryListingByNFTIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n -} -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil } -func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1538,12 +3874,80 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryListingsByPriceDenomRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryListingsByPriceDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceDenom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PriceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -1565,7 +3969,7 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryListingsByPriceDenomResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1588,15 +3992,15 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryListingsByPriceDenomResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryListingsByPriceDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1623,7 +4027,44 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Listings = append(m.Listings, Listing{}) + if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1648,7 +4089,7 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1671,13 +4112,32 @@ func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= AuctionStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } @@ -1709,7 +4169,7 @@ func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { } m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PriceDenom", wireType) } @@ -1741,7 +4201,7 @@ func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { } m.PriceDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -1798,7 +4258,7 @@ func (m *QueryListingsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1821,15 +4281,15 @@ func (m *QueryListingsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Auctions", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1856,8 +4316,8 @@ func (m *QueryListingsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Listings = append(m.Listings, Listing{}) - if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Auctions = append(m.Auctions, AuctionListing{}) + if err := m.Auctions[len(m.Auctions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1918,7 +4378,7 @@ func (m *QueryListingsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1941,17 +4401,17 @@ func (m *QueryListingRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { + if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var stringLen uint64 + m.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -1961,24 +4421,11 @@ func (m *QueryListingRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -2000,7 +4447,7 @@ func (m *QueryListingRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2023,15 +4470,15 @@ func (m *QueryListingResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Listing", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Auction", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2058,10 +4505,10 @@ func (m *QueryListingResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Listing == nil { - m.Listing = &Listing{} + if m.Auction == nil { + m.Auction = &AuctionListing{} } - if err := m.Listing.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Auction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2086,7 +4533,7 @@ func (m *QueryListingResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsByOwnerRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionsByOwnerRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2109,10 +4556,10 @@ func (m *QueryListingsByOwnerRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsByOwnerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionsByOwnerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsByOwnerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionsByOwnerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2204,7 +4651,7 @@ func (m *QueryListingsByOwnerRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAuctionByNFTIDRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2227,17 +4674,17 @@ func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsByOwnerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAuctionByNFTIDRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsByOwnerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAuctionByNFTIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -2247,25 +4694,105 @@ func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.Listings = append(m.Listings, Listing{}) - if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { return err } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAuctionsByPriceDenomRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryAuctionsByPriceDenomRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAuctionsByPriceDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceDenom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PriceDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -2297,7 +4824,7 @@ func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Pagination == nil { - m.Pagination = &query.PageResponse{} + m.Pagination = &query.PageRequest{} } if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2324,7 +4851,7 @@ func (m *QueryListingsByOwnerResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingByNFTIDRequest) Unmarshal(dAtA []byte) error { +func (m *QueryBidsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2347,15 +4874,15 @@ func (m *QueryListingByNFTIDRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingByNFTIDRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryBidsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingByNFTIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryBidsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Bidder", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2383,7 +4910,43 @@ func (m *QueryListingByNFTIDRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NftId = string(dAtA[iNdEx:postIndex]) + m.Bidder = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -2406,7 +4969,7 @@ func (m *QueryListingByNFTIDRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { +func (m *QueryBidsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2429,17 +4992,17 @@ func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsByPriceDenomRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryBidsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsByPriceDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryBidsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PriceDenom", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Bids", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -2449,23 +5012,25 @@ func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.PriceDenom = string(dAtA[iNdEx:postIndex]) + m.Bids = append(m.Bids, Bid{}) + if err := m.Bids[len(m.Bids)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { @@ -2497,7 +5062,7 @@ func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Pagination == nil { - m.Pagination = &query.PageRequest{} + m.Pagination = &query.PageResponse{} } if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2524,7 +5089,7 @@ func (m *QueryListingsByPriceDenomRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryListingsByPriceDenomResponse) Unmarshal(dAtA []byte) error { +func (m *QueryBidRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2547,17 +5112,17 @@ func (m *QueryListingsByPriceDenomResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryListingsByPriceDenomResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryBidRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryListingsByPriceDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryBidRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Listings", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + m.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -2567,29 +5132,64 @@ func (m *QueryListingsByPriceDenomResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.Listings = append(m.Listings, Listing{}) - if err := m.Listings[len(m.Listings)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryBidResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery } - iNdEx = postIndex - case 2: + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryBidResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryBidResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2616,10 +5216,10 @@ func (m *QueryListingsByPriceDenomResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} + if m.Bid == nil { + m.Bid = &Bid{} } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/marketplace/types/query.pb.gw.go b/x/marketplace/types/query.pb.gw.go index 3a9179f..7ba9d81 100644 --- a/x/marketplace/types/query.pb.gw.go +++ b/x/marketplace/types/query.pb.gw.go @@ -339,13 +339,460 @@ func local_request_Query_ListingByNftId_0(ctx context.Context, marshaler runtime } +var ( + filter_Query_Auctions_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_Auctions_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Auctions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Auctions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Auctions_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Auctions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Auctions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_Auction_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.Auction(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Auction_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.Auction(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_AuctionsByOwner_0 = &utilities.DoubleArray{Encoding: map[string]int{"owner": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Query_AuctionsByOwner_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsByOwnerRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AuctionsByOwner_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.AuctionsByOwner(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_AuctionsByOwner_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsByOwnerRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AuctionsByOwner_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AuctionsByOwner(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_AuctionsByPriceDenom_0 = &utilities.DoubleArray{Encoding: map[string]int{"price_denom": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Query_AuctionsByPriceDenom_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsByPriceDenomRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["price_denom"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "price_denom") + } + + protoReq.PriceDenom, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "price_denom", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AuctionsByPriceDenom_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.AuctionsByPriceDenom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_AuctionsByPriceDenom_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionsByPriceDenomRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["price_denom"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "price_denom") + } + + protoReq.PriceDenom, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "price_denom", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AuctionsByPriceDenom_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AuctionsByPriceDenom(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_AuctionByNftId_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionByNFTIDRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["nft_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "nft_id") + } + + protoReq.NftId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "nft_id", err) + } + + msg, err := client.AuctionByNftId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_AuctionByNftId_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAuctionByNFTIDRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["nft_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "nft_id") + } + + protoReq.NftId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "nft_id", err) + } + + msg, err := server.AuctionByNftId(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_Bids_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_Bids_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBidsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Bids_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Bids(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Bids_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBidsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_Bids_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Bids(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_Bid_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBidRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.Bid(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Bid_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryBidRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.Bid(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { - mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Listings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Listings_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Listings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Listing_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Listing_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Listing_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ListingsByOwner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -356,7 +803,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ListingsByOwner_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -364,11 +811,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ListingsByOwner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Listings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ListingsByPriceDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -379,7 +826,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Listings_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ListingsByPriceDenom_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -387,11 +834,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Listings_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ListingsByPriceDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Listing_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ListingByNftId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -402,7 +849,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Listing_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ListingByNftId_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -410,11 +857,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Listing_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ListingByNftId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ListingsByOwner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Auctions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -425,7 +872,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ListingsByOwner_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_Auctions_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -433,11 +880,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ListingsByOwner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ListingsByPriceDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Auction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -448,7 +895,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ListingsByPriceDenom_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_Auction_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -456,11 +903,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ListingsByPriceDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_Auction_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ListingByNftId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_AuctionsByOwner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -471,7 +918,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ListingByNftId_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_AuctionsByOwner_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -479,7 +926,99 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ListingByNftId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_AuctionsByOwner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AuctionsByPriceDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_AuctionsByPriceDenom_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AuctionsByPriceDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AuctionByNftId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_AuctionByNftId_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AuctionByNftId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Bids_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Bids_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Bids_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Bid_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Bid_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Bid_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -644,6 +1183,146 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Auctions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Auctions_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Auction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Auction_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Auction_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AuctionsByOwner_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_AuctionsByOwner_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AuctionsByOwner_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AuctionsByPriceDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_AuctionsByPriceDenom_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AuctionsByPriceDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AuctionByNftId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_AuctionByNftId_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AuctionByNftId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Bids_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Bids_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Bids_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Bid_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Bid_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Bid_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -659,6 +1338,20 @@ var ( pattern_Query_ListingsByPriceDenom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "listings-by-price-denom", "price_denom"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_ListingByNftId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "listing-by-nft", "nft_id"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_Auctions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"omniflix", "marketplace", "v1beta1", "auctions"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_Auction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "auctions", "id"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_AuctionsByOwner_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "auctions-by-owner", "owner"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_AuctionsByPriceDenom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "auctions-by-price-denom", "price_denom"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_AuctionByNftId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "auction-by-nft", "nft_id"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_Bids_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"omniflix", "marketplace", "v1beta1", "bids"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_Bid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"omniflix", "marketplace", "v1beta1", "bids", "id"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -673,4 +1366,18 @@ var ( forward_Query_ListingsByPriceDenom_0 = runtime.ForwardResponseMessage forward_Query_ListingByNftId_0 = runtime.ForwardResponseMessage + + forward_Query_Auctions_0 = runtime.ForwardResponseMessage + + forward_Query_Auction_0 = runtime.ForwardResponseMessage + + forward_Query_AuctionsByOwner_0 = runtime.ForwardResponseMessage + + forward_Query_AuctionsByPriceDenom_0 = runtime.ForwardResponseMessage + + forward_Query_AuctionByNftId_0 = runtime.ForwardResponseMessage + + forward_Query_Bids_0 = runtime.ForwardResponseMessage + + forward_Query_Bid_0 = runtime.ForwardResponseMessage ) diff --git a/x/marketplace/types/tx.pb.go b/x/marketplace/types/tx.pb.go index 075ea08..5e1796a 100644 --- a/x/marketplace/types/tx.pb.go +++ b/x/marketplace/types/tx.pb.go @@ -6,22 +6,28 @@ package types import ( context "context" fmt "fmt" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + _ "google.golang.org/protobuf/types/known/durationpb" + _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" math_bits "math/bits" + time "time" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -331,6 +337,237 @@ func (m *MsgBuyNFTResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBuyNFTResponse proto.InternalMessageInfo +type MsgCreateAuction struct { + NftId string `protobuf:"bytes,1,opt,name=nft_id,json=nftId,proto3" json:"nft_id,omitempty"` + DenomId string `protobuf:"bytes,2,opt,name=denom_id,json=denomId,proto3" json:"denom_id,omitempty"` + StartTime *time.Time `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3,stdtime" json:"start_time,omitempty" yaml:"start_time"` + StartPrice types.Coin `protobuf:"bytes,4,opt,name=start_price,json=startPrice,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"start_price" yaml:"start_price"` + Duration *time.Duration `protobuf:"bytes,5,opt,name=duration,proto3,stdduration" json:"duration,omitempty"` + IncrementPercentage github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=increment_percentage,json=incrementPercentage,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"increment_percentage" yaml:"increment_percentage"` + WhitelistAccounts []string `protobuf:"bytes,7,rep,name=whitelist_accounts,json=whitelistAccounts,proto3" json:"whitelist_accounts,omitempty" yaml:"whitelist_accounts"` + SplitShares []WeightedAddress `protobuf:"bytes,8,rep,name=split_shares,json=splitShares,proto3" json:"split_shares" yaml:"split_shares"` + Owner string `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (m *MsgCreateAuction) Reset() { *m = MsgCreateAuction{} } +func (m *MsgCreateAuction) String() string { return proto.CompactTextString(m) } +func (*MsgCreateAuction) ProtoMessage() {} +func (*MsgCreateAuction) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{8} +} +func (m *MsgCreateAuction) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateAuction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateAuction.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCreateAuction) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateAuction.Merge(m, src) +} +func (m *MsgCreateAuction) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateAuction) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateAuction.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateAuction proto.InternalMessageInfo + +type MsgCreateAuctionResponse struct { + Auction *AuctionListing `protobuf:"bytes,1,opt,name=auction,proto3" json:"auction,omitempty"` +} + +func (m *MsgCreateAuctionResponse) Reset() { *m = MsgCreateAuctionResponse{} } +func (m *MsgCreateAuctionResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateAuctionResponse) ProtoMessage() {} +func (*MsgCreateAuctionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{9} +} +func (m *MsgCreateAuctionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateAuctionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateAuctionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCreateAuctionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateAuctionResponse.Merge(m, src) +} +func (m *MsgCreateAuctionResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateAuctionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateAuctionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateAuctionResponse proto.InternalMessageInfo + +type MsgCancelAuction struct { + AuctionId uint64 `protobuf:"varint,1,opt,name=auction_id,json=auctionId,proto3" json:"auction_id,omitempty" yaml:"auction_id"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` +} + +func (m *MsgCancelAuction) Reset() { *m = MsgCancelAuction{} } +func (m *MsgCancelAuction) String() string { return proto.CompactTextString(m) } +func (*MsgCancelAuction) ProtoMessage() {} +func (*MsgCancelAuction) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{10} +} +func (m *MsgCancelAuction) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCancelAuction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCancelAuction.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCancelAuction) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCancelAuction.Merge(m, src) +} +func (m *MsgCancelAuction) XXX_Size() int { + return m.Size() +} +func (m *MsgCancelAuction) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCancelAuction.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCancelAuction proto.InternalMessageInfo + +type MsgCancelAuctionResponse struct { +} + +func (m *MsgCancelAuctionResponse) Reset() { *m = MsgCancelAuctionResponse{} } +func (m *MsgCancelAuctionResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCancelAuctionResponse) ProtoMessage() {} +func (*MsgCancelAuctionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{11} +} +func (m *MsgCancelAuctionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCancelAuctionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCancelAuctionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCancelAuctionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCancelAuctionResponse.Merge(m, src) +} +func (m *MsgCancelAuctionResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCancelAuctionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCancelAuctionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCancelAuctionResponse proto.InternalMessageInfo + +type MsgPlaceBid struct { + AuctionId uint64 `protobuf:"varint,1,opt,name=auction_id,json=auctionId,proto3" json:"auction_id,omitempty" yaml:"auction_id"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"amount"` + Bidder string `protobuf:"bytes,3,opt,name=bidder,proto3" json:"bidder,omitempty"` +} + +func (m *MsgPlaceBid) Reset() { *m = MsgPlaceBid{} } +func (m *MsgPlaceBid) String() string { return proto.CompactTextString(m) } +func (*MsgPlaceBid) ProtoMessage() {} +func (*MsgPlaceBid) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{12} +} +func (m *MsgPlaceBid) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPlaceBid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPlaceBid.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgPlaceBid) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPlaceBid.Merge(m, src) +} +func (m *MsgPlaceBid) XXX_Size() int { + return m.Size() +} +func (m *MsgPlaceBid) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPlaceBid.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPlaceBid proto.InternalMessageInfo + +type MsgPlaceBidResponse struct { +} + +func (m *MsgPlaceBidResponse) Reset() { *m = MsgPlaceBidResponse{} } +func (m *MsgPlaceBidResponse) String() string { return proto.CompactTextString(m) } +func (*MsgPlaceBidResponse) ProtoMessage() {} +func (*MsgPlaceBidResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f73de1bb07ce97a8, []int{13} +} +func (m *MsgPlaceBidResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPlaceBidResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPlaceBidResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgPlaceBidResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPlaceBidResponse.Merge(m, src) +} +func (m *MsgPlaceBidResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgPlaceBidResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPlaceBidResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPlaceBidResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgListNFT)(nil), "OmniFlix.marketplace.v1beta1.MsgListNFT") proto.RegisterType((*MsgListNFTResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgListNFTResponse") @@ -340,47 +577,79 @@ func init() { proto.RegisterType((*MsgDeListNFTResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgDeListNFTResponse") proto.RegisterType((*MsgBuyNFT)(nil), "OmniFlix.marketplace.v1beta1.MsgBuyNFT") proto.RegisterType((*MsgBuyNFTResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgBuyNFTResponse") + proto.RegisterType((*MsgCreateAuction)(nil), "OmniFlix.marketplace.v1beta1.MsgCreateAuction") + proto.RegisterType((*MsgCreateAuctionResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgCreateAuctionResponse") + proto.RegisterType((*MsgCancelAuction)(nil), "OmniFlix.marketplace.v1beta1.MsgCancelAuction") + proto.RegisterType((*MsgCancelAuctionResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgCancelAuctionResponse") + proto.RegisterType((*MsgPlaceBid)(nil), "OmniFlix.marketplace.v1beta1.MsgPlaceBid") + proto.RegisterType((*MsgPlaceBidResponse)(nil), "OmniFlix.marketplace.v1beta1.MsgPlaceBidResponse") } func init() { proto.RegisterFile("marketplace/v1beta1/tx.proto", fileDescriptor_f73de1bb07ce97a8) } var fileDescriptor_f73de1bb07ce97a8 = []byte{ - // 558 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0x8d, 0x1d, 0x92, 0x92, 0x49, 0x55, 0x09, 0x37, 0x54, 0xae, 0xa9, 0x9c, 0xe0, 0x4b, 0x23, - 0x44, 0x6d, 0x9a, 0xf6, 0xc4, 0x8d, 0x00, 0x95, 0x2a, 0x35, 0x20, 0x02, 0x12, 0x12, 0x97, 0x62, - 0x67, 0xb7, 0x9b, 0x55, 0x62, 0xaf, 0xf1, 0x6e, 0xa0, 0xf9, 0x0b, 0x24, 0x2e, 0x7c, 0x03, 0x27, - 0x2e, 0xfc, 0x43, 0x8e, 0x3d, 0x72, 0x2a, 0x90, 0xfc, 0x01, 0x5f, 0x80, 0xb2, 0x8e, 0x1d, 0x57, - 0x94, 0x26, 0x1c, 0xe0, 0x64, 0xcf, 0xee, 0x9b, 0x37, 0x6f, 0xde, 0x8c, 0x16, 0xb6, 0x7c, 0x37, - 0xea, 0x61, 0x11, 0xf6, 0xdd, 0x0e, 0x76, 0xde, 0xee, 0x7a, 0x58, 0xb8, 0xbb, 0x8e, 0x38, 0xb5, - 0xc3, 0x88, 0x09, 0xa6, 0x6d, 0x3d, 0xf5, 0x03, 0x7a, 0xd0, 0xa7, 0xa7, 0x76, 0x06, 0x66, 0xcf, - 0x60, 0x86, 0xd9, 0x61, 0xdc, 0x67, 0xdc, 0xf1, 0x5c, 0x3e, 0xcf, 0xed, 0x30, 0x1a, 0xc4, 0xd9, - 0xc6, 0xed, 0xcb, 0xb8, 0xfb, 0x94, 0x0b, 0x1a, 0x90, 0x19, 0xa4, 0x42, 0x18, 0x61, 0xf2, 0xd7, - 0x99, 0xfe, 0xc5, 0xa7, 0xd6, 0x17, 0x15, 0xa0, 0xc5, 0xc9, 0x11, 0xe5, 0xe2, 0xc9, 0xc1, 0x0b, - 0x6d, 0x0d, 0x54, 0x8a, 0x74, 0xa5, 0xa6, 0xd4, 0x4b, 0x6d, 0x95, 0x22, 0xed, 0x26, 0x14, 0x83, - 0x13, 0x71, 0x4c, 0x91, 0xae, 0xca, 0xb3, 0x42, 0x70, 0x22, 0x0e, 0x91, 0xb6, 0x09, 0xd7, 0x11, - 0x0e, 0x98, 0x3f, 0xbd, 0xc8, 0xcb, 0x8b, 0x15, 0x19, 0x1f, 0x22, 0xed, 0x35, 0x14, 0xc2, 0x88, - 0x76, 0xb0, 0x7e, 0xad, 0xa6, 0xd4, 0xcb, 0x8d, 0x4d, 0x3b, 0x56, 0x6e, 0x4f, 0x95, 0x27, 0xed, - 0xd8, 0x0f, 0x19, 0x0d, 0x9a, 0xce, 0xe8, 0xbc, 0x9a, 0xfb, 0xf4, 0xad, 0xba, 0x4d, 0xa8, 0xe8, - 0x0e, 0x3c, 0xbb, 0xc3, 0x7c, 0x67, 0xd6, 0x66, 0xfc, 0xd9, 0xe1, 0xa8, 0xe7, 0x88, 0x61, 0x88, - 0xb9, 0x4c, 0x68, 0xc7, 0xc4, 0x5a, 0x05, 0x0a, 0xec, 0x5d, 0x80, 0x23, 0xbd, 0x10, 0x4b, 0x92, - 0x81, 0xe6, 0xc3, 0x2a, 0x0f, 0xfb, 0x54, 0x1c, 0xf3, 0xae, 0x1b, 0x61, 0xae, 0x17, 0x6b, 0xf9, - 0x7a, 0xb9, 0xb1, 0x63, 0x5f, 0x65, 0xab, 0xfd, 0x12, 0x53, 0xd2, 0x15, 0x18, 0x3d, 0x40, 0x28, - 0xc2, 0x9c, 0x37, 0x6f, 0x4d, 0x25, 0xfd, 0x3c, 0xaf, 0xae, 0x0f, 0x5d, 0xbf, 0x7f, 0xdf, 0xca, - 0x12, 0x5a, 0xed, 0xb2, 0x0c, 0x9f, 0xc7, 0x51, 0x05, 0xb4, 0xb9, 0x6d, 0x6d, 0xcc, 0x43, 0x16, - 0x70, 0x6c, 0x7d, 0x54, 0x60, 0xad, 0xc5, 0xc9, 0x63, 0x44, 0xc5, 0x51, 0x6c, 0xfe, 0x6f, 0x8e, - 0xa6, 0xfe, 0xa8, 0xff, 0xdc, 0x9f, 0x7c, 0xc6, 0x1f, 0x4b, 0x87, 0x8d, 0x8b, 0xca, 0x52, 0xd1, - 0xfb, 0xb0, 0xda, 0xe2, 0xe4, 0x11, 0xfe, 0xd3, 0x0e, 0xa4, 0x7c, 0x6a, 0x96, 0x6f, 0x03, 0x2a, - 0xd9, 0xac, 0x94, 0xed, 0x83, 0x02, 0xa5, 0x16, 0x27, 0xcd, 0xc1, 0xf0, 0x32, 0xae, 0xff, 0xd2, - 0xbd, 0x37, 0x18, 0xce, 0xbb, 0x97, 0x81, 0xb5, 0x0e, 0x37, 0x52, 0x51, 0x89, 0xd4, 0xc6, 0xe7, - 0x3c, 0xe4, 0x5b, 0x9c, 0x68, 0x18, 0x56, 0x92, 0xde, 0xeb, 0x57, 0xef, 0xcb, 0x7c, 0xe4, 0xc6, - 0xbd, 0x65, 0x91, 0x49, 0x39, 0xed, 0x0d, 0x94, 0xb3, 0x8b, 0x71, 0x77, 0x21, 0x41, 0x06, 0x6d, - 0xec, 0xff, 0x0d, 0x3a, 0x2d, 0xd9, 0x83, 0xd2, 0x7c, 0xae, 0x77, 0x16, 0x52, 0xa4, 0x58, 0xa3, - 0xb1, 0x3c, 0x36, 0x2d, 0xe6, 0x41, 0x71, 0x36, 0xf5, 0xed, 0x85, 0xd9, 0x31, 0xd0, 0x70, 0x96, - 0x04, 0x26, 0x35, 0x9a, 0xcf, 0x46, 0x3f, 0xcc, 0xdc, 0x68, 0x6c, 0x2a, 0x67, 0x63, 0x53, 0xf9, - 0x3e, 0x36, 0x95, 0xf7, 0x13, 0x33, 0x77, 0x36, 0x31, 0x73, 0x5f, 0x27, 0x66, 0xee, 0xd5, 0x5e, - 0x66, 0x57, 0x12, 0x62, 0x27, 0xfb, 0x32, 0x5e, 0x8c, 0xe4, 0xf2, 0x78, 0x45, 0xf9, 0x10, 0xee, - 0xfd, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x40, 0xc2, 0x28, 0x6a, 0x9f, 0x05, 0x00, 0x00, + // 968 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x3f, 0x6f, 0xdb, 0x46, + 0x14, 0x17, 0x25, 0x4b, 0xb6, 0x9e, 0xd2, 0xa0, 0xa6, 0x65, 0x83, 0x66, 0x02, 0xca, 0xe1, 0xd0, + 0xa8, 0x45, 0x42, 0xd6, 0x8a, 0xd1, 0xa1, 0x9d, 0xcc, 0x38, 0x06, 0x0c, 0x44, 0xad, 0xab, 0x1a, + 0x28, 0xd0, 0xa1, 0x2a, 0xff, 0x9c, 0xa9, 0x83, 0x45, 0x52, 0xe5, 0x9d, 0xea, 0x78, 0x6b, 0xf7, + 0x0e, 0x01, 0xba, 0xe4, 0x33, 0x74, 0xcf, 0xdc, 0xd5, 0x63, 0xc6, 0xa2, 0x83, 0xd2, 0xda, 0xdf, + 0xc0, 0x9f, 0xa0, 0xe0, 0x1d, 0x79, 0xa2, 0xfc, 0x47, 0x92, 0x0b, 0xb8, 0x93, 0xf5, 0xee, 0x7e, + 0xef, 0xf7, 0xfe, 0xf0, 0xfd, 0xde, 0x19, 0x1e, 0x06, 0x76, 0x7c, 0x84, 0xe8, 0xa0, 0x6f, 0xbb, + 0xc8, 0xfc, 0x69, 0xd3, 0x41, 0xd4, 0xde, 0x34, 0xe9, 0x2b, 0x63, 0x10, 0x47, 0x34, 0x92, 0x1f, + 0x7e, 0x15, 0x84, 0x78, 0xb7, 0x8f, 0x5f, 0x19, 0x39, 0x98, 0x91, 0xc2, 0x54, 0xcd, 0x8d, 0x48, + 0x10, 0x11, 0xd3, 0xb1, 0xc9, 0xd8, 0xd7, 0x8d, 0x70, 0xc8, 0xbd, 0xd5, 0x47, 0xd7, 0x71, 0xf7, + 0x31, 0xa1, 0x38, 0xf4, 0xa7, 0x41, 0xec, 0xa1, 0x4b, 0x71, 0x94, 0xb1, 0xd4, 0xfd, 0xc8, 0x8f, + 0xd8, 0x4f, 0x33, 0xf9, 0x95, 0x9e, 0x6a, 0x7e, 0x14, 0xf9, 0x7d, 0x64, 0x32, 0xcb, 0x19, 0x1e, + 0x9a, 0xde, 0x30, 0xb6, 0x73, 0x5e, 0x8d, 0xcb, 0xf7, 0x14, 0x07, 0x88, 0x50, 0x3b, 0x18, 0x70, + 0x80, 0xfe, 0xb6, 0x08, 0xd0, 0x26, 0xfe, 0x4b, 0x4c, 0xe8, 0x97, 0xbb, 0x07, 0xf2, 0x7d, 0x28, + 0x62, 0x4f, 0x91, 0x36, 0xa4, 0x66, 0xb5, 0x53, 0xc4, 0x9e, 0xbc, 0x0a, 0x95, 0xf0, 0x90, 0x76, + 0xb1, 0xa7, 0x14, 0xd9, 0x59, 0x39, 0x3c, 0xa4, 0x7b, 0x9e, 0xbc, 0x0e, 0x4b, 0x1e, 0x0a, 0xa3, + 0x20, 0xb9, 0x28, 0xb1, 0x8b, 0x45, 0x66, 0xef, 0x79, 0xf2, 0x0f, 0x50, 0x1e, 0xc4, 0xd8, 0x45, + 0xca, 0xc2, 0x86, 0xd4, 0xac, 0xb5, 0xd6, 0x0d, 0xde, 0x1d, 0x23, 0xe9, 0x4e, 0xd6, 0x32, 0xe3, + 0x79, 0x84, 0x43, 0xcb, 0x3c, 0x1d, 0x35, 0x0a, 0xbf, 0xbf, 0x6f, 0x3c, 0xf6, 0x31, 0xed, 0x0d, + 0x1d, 0xc3, 0x8d, 0x02, 0x33, 0x6d, 0x25, 0xff, 0xf3, 0x94, 0x78, 0x47, 0x26, 0x3d, 0x19, 0x20, + 0xc2, 0x1c, 0x3a, 0x9c, 0x58, 0xae, 0x43, 0x39, 0x3a, 0x0e, 0x51, 0xac, 0x94, 0x79, 0x4a, 0xcc, + 0x90, 0x03, 0xb8, 0x47, 0x06, 0x7d, 0x4c, 0xbb, 0xa4, 0x67, 0xc7, 0x88, 0x28, 0x95, 0x8d, 0x52, + 0xb3, 0xd6, 0x7a, 0x6a, 0x4c, 0xfb, 0x74, 0xc6, 0xb7, 0x08, 0xfb, 0x3d, 0x8a, 0xbc, 0x6d, 0xcf, + 0x8b, 0x11, 0x21, 0xd6, 0x83, 0x24, 0xa5, 0x8b, 0x51, 0x63, 0xe5, 0xc4, 0x0e, 0xfa, 0x9f, 0xeb, + 0x79, 0x42, 0xbd, 0x53, 0x63, 0xe6, 0x37, 0xdc, 0xaa, 0x83, 0x3c, 0x6e, 0x5b, 0x07, 0x91, 0x41, + 0x14, 0x12, 0xa4, 0xbf, 0x91, 0xe0, 0x7e, 0x9b, 0xf8, 0x2f, 0x3c, 0x4c, 0x5f, 0xf2, 0x0f, 0x7c, + 0xa5, 0xa3, 0xa2, 0x3f, 0xc5, 0x3b, 0xef, 0x4f, 0x29, 0xd7, 0x1f, 0x5d, 0x81, 0xb5, 0xc9, 0xcc, + 0x44, 0xd2, 0x5b, 0x70, 0xaf, 0x4d, 0xfc, 0x1d, 0x74, 0xd3, 0x0c, 0x08, 0xbe, 0x62, 0x9e, 0x6f, + 0x0d, 0xea, 0x79, 0x2f, 0xc1, 0xf6, 0x9b, 0x04, 0xd5, 0x36, 0xf1, 0xad, 0xe1, 0xc9, 0x75, 0x5c, + 0xff, 0x4b, 0xf5, 0xce, 0xf0, 0x64, 0x5c, 0x3d, 0x33, 0xf4, 0x15, 0x58, 0x16, 0x49, 0x89, 0x54, + 0xdf, 0x96, 0xe1, 0xc3, 0x36, 0xf1, 0x9f, 0xc7, 0xc8, 0xa6, 0x68, 0x9b, 0xab, 0x2d, 0x37, 0xf1, + 0xd2, 0x4d, 0x13, 0x5f, 0x9c, 0x9c, 0xf8, 0x03, 0x00, 0x42, 0xed, 0x98, 0x76, 0x13, 0x6d, 0xb1, + 0xb0, 0xb5, 0x96, 0x6a, 0x70, 0xe1, 0x19, 0x99, 0xf0, 0x8c, 0x83, 0x4c, 0x78, 0xd6, 0xfa, 0xc5, + 0xa8, 0xb1, 0x9c, 0x0e, 0x98, 0xf0, 0xd3, 0x5f, 0xbf, 0x6f, 0x48, 0x9d, 0x2a, 0x3b, 0x48, 0xa0, + 0xf2, 0x2f, 0x12, 0xd4, 0xf8, 0xf5, 0x9c, 0x72, 0x7a, 0x91, 0xce, 0xae, 0x9c, 0xa7, 0x66, 0xbe, + 0xfa, 0x6d, 0xda, 0xc8, 0x6b, 0xd9, 0x67, 0xbd, 0xfc, 0x02, 0x96, 0xb2, 0x7d, 0xc2, 0xc4, 0x96, + 0xc4, 0xbf, 0x5c, 0xd7, 0x4e, 0x0a, 0xb0, 0x16, 0xde, 0x24, 0x15, 0x08, 0x07, 0xf9, 0x67, 0x09, + 0xea, 0x38, 0x74, 0x63, 0x14, 0xa0, 0x90, 0x76, 0x07, 0x28, 0x76, 0x51, 0x48, 0x6d, 0x1f, 0x29, + 0x95, 0xa4, 0x7d, 0x56, 0x3b, 0x49, 0xf7, 0xaf, 0x51, 0xe3, 0xa3, 0x39, 0x12, 0xdb, 0x41, 0xee, + 0xc5, 0xa8, 0xf1, 0x80, 0x17, 0x76, 0x1d, 0xa7, 0xde, 0x59, 0x11, 0xc7, 0xfb, 0xe2, 0x54, 0xde, + 0x07, 0xf9, 0xb8, 0x87, 0x29, 0x4a, 0x96, 0x6d, 0xd7, 0x76, 0xdd, 0x68, 0x18, 0x52, 0xa2, 0x2c, + 0x6e, 0x94, 0x9a, 0x55, 0xeb, 0x51, 0xda, 0xae, 0x75, 0xce, 0x7a, 0x15, 0xa7, 0x77, 0x96, 0xc5, + 0xe1, 0x76, 0x7a, 0x76, 0x65, 0xcb, 0x2c, 0xdd, 0xe9, 0x96, 0x19, 0x4b, 0xaf, 0x9a, 0x97, 0x9e, + 0x03, 0xca, 0xe5, 0xb1, 0xcd, 0x66, 0x5a, 0xde, 0x85, 0xc5, 0xf4, 0xdd, 0x60, 0xf3, 0x5b, 0x6b, + 0x3d, 0x99, 0x9e, 0x5b, 0xea, 0x9f, 0xed, 0x84, 0xcc, 0x59, 0xff, 0x9e, 0x4b, 0xc3, 0x0e, 0x5d, + 0xd4, 0xcf, 0xa4, 0xb1, 0x05, 0x90, 0x5e, 0x67, 0xf2, 0x58, 0xb0, 0x56, 0xc7, 0xc3, 0x3c, 0xbe, + 0xd3, 0x3b, 0xd5, 0xd4, 0xd8, 0xbb, 0x69, 0x7d, 0xa8, 0xbc, 0x86, 0x3c, 0xbf, 0xd0, 0xe5, 0x1f, + 0x12, 0xd4, 0xda, 0xc4, 0xdf, 0x4f, 0x12, 0xb5, 0xb0, 0xf7, 0x1f, 0xe3, 0x3a, 0x50, 0xb1, 0x83, + 0xe4, 0xab, 0xdd, 0xc1, 0xae, 0x49, 0x99, 0xe5, 0x35, 0xa8, 0x38, 0xd8, 0xf3, 0xc4, 0xb6, 0x49, + 0x2d, 0x7d, 0x15, 0x56, 0x72, 0x05, 0x64, 0x85, 0xb5, 0x7e, 0xad, 0x40, 0xa9, 0x4d, 0x7c, 0x19, + 0xc1, 0x62, 0xb6, 0x6c, 0x9b, 0xd3, 0x3f, 0xcf, 0xf8, 0x8d, 0x51, 0x3f, 0x9d, 0x17, 0x29, 0x66, + 0xe1, 0x47, 0xa8, 0xe5, 0x5f, 0xa2, 0x27, 0x33, 0x09, 0x72, 0x68, 0x75, 0xeb, 0x36, 0x68, 0x11, + 0xf2, 0x08, 0xaa, 0xe3, 0x87, 0xe4, 0x93, 0x99, 0x14, 0x02, 0xab, 0xb6, 0xe6, 0xc7, 0x8a, 0x60, + 0x0e, 0x54, 0xd2, 0x67, 0xe6, 0xf1, 0x4c, 0x6f, 0x0e, 0x54, 0xcd, 0x39, 0x81, 0x22, 0xc6, 0x31, + 0x7c, 0x30, 0xf9, 0x3e, 0x18, 0x33, 0x19, 0x26, 0xf0, 0xea, 0x67, 0xb7, 0xc3, 0x4f, 0x04, 0x9e, + 0x50, 0xdf, 0x1c, 0x81, 0xf3, 0xf8, 0x79, 0x02, 0x5f, 0xa7, 0x3e, 0xb9, 0x07, 0x4b, 0x42, 0x79, + 0x1f, 0xcf, 0xe4, 0xc8, 0xa0, 0xea, 0xe6, 0xdc, 0xd0, 0x2c, 0x92, 0xf5, 0xf5, 0xe9, 0x3f, 0x5a, + 0xe1, 0xf4, 0x4c, 0x93, 0xde, 0x9d, 0x69, 0xd2, 0xdf, 0x67, 0x9a, 0xf4, 0xfa, 0x5c, 0x2b, 0xbc, + 0x3b, 0xd7, 0x0a, 0x7f, 0x9e, 0x6b, 0x85, 0xef, 0x9e, 0xe5, 0xc4, 0x98, 0x51, 0x9b, 0xf9, 0xff, + 0x93, 0x27, 0x2d, 0xa6, 0x4e, 0xa7, 0xc2, 0xde, 0xa5, 0x67, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, + 0x0d, 0xb8, 0xba, 0xa5, 0xd0, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -399,6 +668,9 @@ type MsgClient interface { EditListing(ctx context.Context, in *MsgEditListing, opts ...grpc.CallOption) (*MsgEditListingResponse, error) DeListNFT(ctx context.Context, in *MsgDeListNFT, opts ...grpc.CallOption) (*MsgDeListNFTResponse, error) BuyNFT(ctx context.Context, in *MsgBuyNFT, opts ...grpc.CallOption) (*MsgBuyNFTResponse, error) + CreateAuction(ctx context.Context, in *MsgCreateAuction, opts ...grpc.CallOption) (*MsgCreateAuctionResponse, error) + CancelAuction(ctx context.Context, in *MsgCancelAuction, opts ...grpc.CallOption) (*MsgCancelAuctionResponse, error) + PlaceBid(ctx context.Context, in *MsgPlaceBid, opts ...grpc.CallOption) (*MsgPlaceBidResponse, error) } type msgClient struct { @@ -445,12 +717,42 @@ func (c *msgClient) BuyNFT(ctx context.Context, in *MsgBuyNFT, opts ...grpc.Call return out, nil } +func (c *msgClient) CreateAuction(ctx context.Context, in *MsgCreateAuction, opts ...grpc.CallOption) (*MsgCreateAuctionResponse, error) { + out := new(MsgCreateAuctionResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Msg/CreateAuction", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CancelAuction(ctx context.Context, in *MsgCancelAuction, opts ...grpc.CallOption) (*MsgCancelAuctionResponse, error) { + out := new(MsgCancelAuctionResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Msg/CancelAuction", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) PlaceBid(ctx context.Context, in *MsgPlaceBid, opts ...grpc.CallOption) (*MsgPlaceBidResponse, error) { + out := new(MsgPlaceBidResponse) + err := c.cc.Invoke(ctx, "/OmniFlix.marketplace.v1beta1.Msg/PlaceBid", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { ListNFT(context.Context, *MsgListNFT) (*MsgListNFTResponse, error) EditListing(context.Context, *MsgEditListing) (*MsgEditListingResponse, error) DeListNFT(context.Context, *MsgDeListNFT) (*MsgDeListNFTResponse, error) BuyNFT(context.Context, *MsgBuyNFT) (*MsgBuyNFTResponse, error) + CreateAuction(context.Context, *MsgCreateAuction) (*MsgCreateAuctionResponse, error) + CancelAuction(context.Context, *MsgCancelAuction) (*MsgCancelAuctionResponse, error) + PlaceBid(context.Context, *MsgPlaceBid) (*MsgPlaceBidResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -469,6 +771,15 @@ func (*UnimplementedMsgServer) DeListNFT(ctx context.Context, req *MsgDeListNFT) func (*UnimplementedMsgServer) BuyNFT(ctx context.Context, req *MsgBuyNFT) (*MsgBuyNFTResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BuyNFT not implemented") } +func (*UnimplementedMsgServer) CreateAuction(ctx context.Context, req *MsgCreateAuction) (*MsgCreateAuctionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAuction not implemented") +} +func (*UnimplementedMsgServer) CancelAuction(ctx context.Context, req *MsgCancelAuction) (*MsgCancelAuctionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelAuction not implemented") +} +func (*UnimplementedMsgServer) PlaceBid(ctx context.Context, req *MsgPlaceBid) (*MsgPlaceBidResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PlaceBid not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -546,6 +857,60 @@ func _Msg_BuyNFT_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +func _Msg_CreateAuction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateAuction) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateAuction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Msg/CreateAuction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateAuction(ctx, req.(*MsgCreateAuction)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_CancelAuction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCancelAuction) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CancelAuction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Msg/CancelAuction", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CancelAuction(ctx, req.(*MsgCancelAuction)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_PlaceBid_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgPlaceBid) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).PlaceBid(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/OmniFlix.marketplace.v1beta1.Msg/PlaceBid", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).PlaceBid(ctx, req.(*MsgPlaceBid)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "OmniFlix.marketplace.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -566,6 +931,18 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "BuyNFT", Handler: _Msg_BuyNFT_Handler, }, + { + MethodName: "CreateAuction", + Handler: _Msg_CreateAuction_Handler, + }, + { + MethodName: "CancelAuction", + Handler: _Msg_CancelAuction_Handler, + }, + { + MethodName: "PlaceBid", + Handler: _Msg_PlaceBid_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "marketplace/v1beta1/tx.proto", @@ -869,53 +1246,321 @@ func (m *MsgBuyNFTResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *MsgCreateAuction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgListNFT) Size() (n int) { - if m == nil { - return 0 - } + +func (m *MsgCreateAuction) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NftId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.DenomId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = m.Price.Size() - n += 1 + l + sovTx(uint64(l)) - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x4a } if len(m.SplitShares) > 0 { - for _, e := range m.SplitShares { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) + for iNdEx := len(m.SplitShares) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SplitShares[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 } } - return n -} - -func (m *MsgListNFTResponse) Size() (n int) { - if m == nil { - return 0 + if len(m.WhitelistAccounts) > 0 { + for iNdEx := len(m.WhitelistAccounts) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.WhitelistAccounts[iNdEx]) + copy(dAtA[i:], m.WhitelistAccounts[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.WhitelistAccounts[iNdEx]))) + i-- + dAtA[i] = 0x3a + } + } + { + size := m.IncrementPercentage.Size() + i -= size + if _, err := m.IncrementPercentage.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + if m.Duration != nil { + n4, err4 := github_com_gogo_protobuf_types.StdDurationMarshalTo(*m.Duration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Duration):]) + if err4 != nil { + return 0, err4 + } + i -= n4 + i = encodeVarintTx(dAtA, i, uint64(n4)) + i-- + dAtA[i] = 0x2a + } + { + size, err := m.StartPrice.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if m.StartTime != nil { + n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartTime):]) + if err6 != nil { + return 0, err6 + } + i -= n6 + i = encodeVarintTx(dAtA, i, uint64(n6)) + i-- + dAtA[i] = 0x1a + } + if len(m.DenomId) > 0 { + i -= len(m.DenomId) + copy(dAtA[i:], m.DenomId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DenomId))) + i-- + dAtA[i] = 0x12 + } + if len(m.NftId) > 0 { + i -= len(m.NftId) + copy(dAtA[i:], m.NftId) + i = encodeVarintTx(dAtA, i, uint64(len(m.NftId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCreateAuctionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgCreateAuctionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateAuctionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Auction != nil { + { + size, err := m.Auction.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCancelAuction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgCancelAuction) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCancelAuction) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x12 + } + if m.AuctionId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.AuctionId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgCancelAuctionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgCancelAuctionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCancelAuctionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgPlaceBid) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgPlaceBid) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgPlaceBid) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Bidder) > 0 { + i -= len(m.Bidder) + copy(dAtA[i:], m.Bidder) + i = encodeVarintTx(dAtA, i, uint64(len(m.Bidder))) + i-- + dAtA[i] = 0x1a + } + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if m.AuctionId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.AuctionId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgPlaceBidResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgPlaceBidResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgPlaceBidResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgListNFT) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Price.Size() + n += 1 + l + sovTx(uint64(l)) + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.SplitShares) > 0 { + for _, e := range m.SplitShares { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgListNFTResponse) Size() (n int) { + if m == nil { + return 0 } var l int _ = l @@ -1004,13 +1649,976 @@ func (m *MsgBuyNFTResponse) Size() (n int) { return n } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *MsgCreateAuction) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NftId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.DenomId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.StartTime != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartTime) + n += 1 + l + sovTx(uint64(l)) + } + l = m.StartPrice.Size() + n += 1 + l + sovTx(uint64(l)) + if m.Duration != nil { + l = github_com_gogo_protobuf_types.SizeOfStdDuration(*m.Duration) + n += 1 + l + sovTx(uint64(l)) + } + l = m.IncrementPercentage.Size() + n += 1 + l + sovTx(uint64(l)) + if len(m.WhitelistAccounts) > 0 { + for _, s := range m.WhitelistAccounts { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.SplitShares) > 0 { + for _, e := range m.SplitShares { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateAuctionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Auction != nil { + l = m.Auction.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCancelAuction) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AuctionId != 0 { + n += 1 + sovTx(uint64(m.AuctionId)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCancelAuctionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgPlaceBid) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AuctionId != 0 { + n += 1 + sovTx(uint64(m.AuctionId)) + } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + l = len(m.Bidder) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgPlaceBidResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 } func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *MsgListNFT) Unmarshal(dAtA []byte) error { +func (m *MsgListNFT) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgListNFT: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NftId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SplitShares", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SplitShares = append(m.SplitShares, WeightedAddress{}) + if err := m.SplitShares[len(m.SplitShares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgListNFTResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgListNFTResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgListNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgEditListing) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgEditListing: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEditListing: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgEditListingResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgEditListingResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEditListingResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDeListNFT) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgDeListNFT: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDeListNFTResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgDeListNFTResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeListNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgBuyNFT: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBuyNFT: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Buyer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBuyNFTResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgBuyNFTResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBuyNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateAuction) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1033,15 +2641,15 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgListNFT: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateAuction: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateAuction: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1069,11 +2677,11 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = string(dAtA[iNdEx:postIndex]) + m.NftId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NftId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1101,13 +2709,13 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NftId = string(dAtA[iNdEx:postIndex]) + m.DenomId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DenomId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1117,27 +2725,31 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.DenomId = string(dAtA[iNdEx:postIndex]) + if m.StartTime == nil { + m.StartTime = new(time.Time) + } + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(m.StartTime, dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartPrice", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1164,15 +2776,15 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.StartPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1182,29 +2794,33 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Owner = string(dAtA[iNdEx:postIndex]) + if m.Duration == nil { + m.Duration = new(time.Duration) + } + if err := github_com_gogo_protobuf_types.StdDurationUnmarshal(m.Duration, dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SplitShares", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IncrementPercentage", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1214,129 +2830,29 @@ func (m *MsgListNFT) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.SplitShares = append(m.SplitShares, WeightedAddress{}) - if err := m.SplitShares[len(m.SplitShares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.IncrementPercentage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgListNFTResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgListNFTResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgListNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEditListing) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgEditListing: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEditListing: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WhitelistAccounts", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1364,11 +2880,11 @@ func (m *MsgEditListing) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Id = string(dAtA[iNdEx:postIndex]) + m.WhitelistAccounts = append(m.WhitelistAccounts, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SplitShares", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1395,11 +2911,12 @@ func (m *MsgEditListing) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.SplitShares = append(m.SplitShares, WeightedAddress{}) + if err := m.SplitShares[len(m.SplitShares)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 9: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } @@ -1452,7 +2969,7 @@ func (m *MsgEditListing) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEditListingResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateAuctionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1475,12 +2992,48 @@ func (m *MsgEditListingResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEditListingResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateAuctionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEditListingResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateAuctionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Auction", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Auction == nil { + m.Auction = &AuctionListing{} + } + if err := m.Auction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -1502,7 +3055,7 @@ func (m *MsgEditListingResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDeListNFT) Unmarshal(dAtA []byte) error { +func (m *MsgCancelAuction) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1525,17 +3078,17 @@ func (m *MsgDeListNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDeListNFT: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelAuction: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeListNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelAuction: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AuctionId", wireType) } - var stringLen uint64 + m.AuctionId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1545,24 +3098,11 @@ func (m *MsgDeListNFT) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.AuctionId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) @@ -1616,7 +3156,7 @@ func (m *MsgDeListNFT) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDeListNFTResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelAuctionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1639,10 +3179,10 @@ func (m *MsgDeListNFTResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDeListNFTResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelAuctionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeListNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelAuctionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -1666,7 +3206,7 @@ func (m *MsgDeListNFTResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { +func (m *MsgPlaceBid) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1689,17 +3229,17 @@ func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyNFT: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlaceBid: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyNFT: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlaceBid: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AuctionId", wireType) } - var stringLen uint64 + m.AuctionId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -1709,27 +3249,14 @@ func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.AuctionId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1756,13 +3283,13 @@ func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Buyer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Bidder", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1790,7 +3317,7 @@ func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Buyer = string(dAtA[iNdEx:postIndex]) + m.Bidder = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -1813,7 +3340,7 @@ func (m *MsgBuyNFT) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyNFTResponse) Unmarshal(dAtA []byte) error { +func (m *MsgPlaceBidResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1836,10 +3363,10 @@ func (m *MsgBuyNFTResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyNFTResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlaceBidResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyNFTResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlaceBidResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/x/marketplace/types/validation.go b/x/marketplace/types/validation.go index 0f4cab7..55cc47d 100644 --- a/x/marketplace/types/validation.go +++ b/x/marketplace/types/validation.go @@ -74,3 +74,72 @@ func ValidateSplitShares(splitShares []WeightedAddress) error { } return nil } + +func ValidateWhiteListAccounts(whitelistAccounts []string) error { + if len(whitelistAccounts) > MaxWhitelistAccounts { + return sdkerrors.Wrapf(ErrInvalidWhitelistAccounts, + "number of whitelist accounts are more than the limit, len must be less than or equal to %d ", MaxWhitelistAccounts) + } + for _, address := range whitelistAccounts { + _, err := sdk.AccAddressFromBech32(address) + if err != nil { + return err + } + } + return nil +} + +func validateIncrementPercentage(increment sdk.Dec) error { + if !increment.IsPositive() || !increment.LTE(sdk.NewDec(1)) { + return sdkerrors.Wrapf(ErrInvalidPercentage, "invalid percentage value (%s)", increment.String()) + } + return nil +} + +func validateAuctionId(id uint64) error { + if id <= 0 { + return sdkerrors.Wrapf(ErrInvalidAuctionId, "invalid auction id (%d)", id) + } + return nil +} + +// ValidateAuctionListing checks auction listing is valid or not +func ValidateAuctionListing(auction AuctionListing) error { + if len(auction.Owner) > 0 { + if _, err := sdk.AccAddressFromBech32(auction.Owner); err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid owner address (%s)", err) + } + } + if err := validateAuctionId(auction.Id); err != nil { + return err + } + if err := ValidatePrice(auction.StartPrice); err != nil { + return err + } + if err := validateIncrementPercentage(auction.IncrementPercentage); err != nil { + return err + } + if err := ValidateSplitShares(auction.SplitShares); err != nil { + return err + } + if err := ValidateWhiteListAccounts(auction.WhitelistAccounts); err != nil { + return err + } + return nil +} + +// ValidateBid checks bid is valid or not +func ValidateBid(bid Bid) error { + if len(bid.Bidder) > 0 { + if _, err := sdk.AccAddressFromBech32(bid.Bidder); err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid bidder address (%s)", bid.Bidder) + } + } + if err := ValidatePrice(bid.Amount); err != nil { + return err + } + if bid.Time.IsZero() { + return sdkerrors.Wrapf(ErrInvalidTime, "invalid time (%s)", bid.Time.String()) + } + return nil +} \ No newline at end of file