diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4df2a96..d249578 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,6 +43,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: appnamed - asset_name: appnamed + asset_path: onexd + asset_name: onexd asset_content_type: application/bin \ No newline at end of file diff --git a/.gitignore b/.gitignore index c2e83d7..440d981 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /target /Cargo.lock /appnamed +/onexd diff --git a/app/consumer-democracy/app.go b/app/consumer-democracy/app.go index de59afb..7e32f65 100644 --- a/app/consumer-democracy/app.go +++ b/app/consumer-democracy/app.go @@ -115,10 +115,15 @@ import ( _ "github.com/cosmos/cosmos-sdk/client/docs/statik" "github.com/onomyprotocol/multiverse/docs" "github.com/tendermint/starport/starport/pkg/openapiconsole" + + marketmodule "github.com/pendulum-labs/market/x/market" + marketmodulekeeper "github.com/pendulum-labs/market/x/market/keeper" + marketmoduletypes "github.com/pendulum-labs/market/x/market/types" ) const ( - AppName = "appname" + AppName = "onex" + upgradeName = "v0.1.0" AccountAddressPrefix = "onomy" ) @@ -154,6 +159,7 @@ var ( vesting.AppModuleBasic{}, // router.AppModuleBasic{}, consumer.AppModuleBasic{}, + marketmodule.AppModuleBasic{}, ) // module account permissions @@ -162,11 +168,12 @@ var ( stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, distrtypes.ModuleName: nil, - minttypes.ModuleName: {authtypes.Minter}, + minttypes.ModuleName: {authtypes.Minter, authtypes.Burner}, consumertypes.ConsumerRedistributeName: nil, consumertypes.ConsumerToSendToProviderName: nil, ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, govtypes.ModuleName: {authtypes.Burner}, + marketmoduletypes.ModuleName: {authtypes.Minter, authtypes.Burner, authtypes.Staking}, } ) @@ -217,6 +224,8 @@ type App struct { // nolint: golint ScopedTransferKeeper capabilitykeeper.ScopedKeeper ScopedIBCConsumerKeeper capabilitykeeper.ScopedKeeper + MarketKeeper marketmodulekeeper.Keeper + // the module manager MM *module.Manager @@ -263,6 +272,7 @@ func New( evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, authzkeeper.StoreKey, consumertypes.StoreKey, + marketmoduletypes.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) @@ -476,6 +486,16 @@ func New( app.EvidenceKeeper = *evidenceKeeper + app.MarketKeeper = *marketmodulekeeper.NewKeeper( + appCodec, + keys[marketmoduletypes.StoreKey], + keys[marketmoduletypes.MemStoreKey], + app.GetSubspace(marketmoduletypes.ModuleName), + + app.BankKeeper, + ) + marketModule := marketmodule.NewAppModule(appCodec, app.MarketKeeper, app.AccountKeeper, app.BankKeeper) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified @@ -499,6 +519,7 @@ func New( ibc.NewAppModule(app.IBCKeeper), transferModule, consumerModule, + marketModule, ) // During begin block slashing happens after distr.BeginBlocker so that @@ -526,6 +547,7 @@ func New( vestingtypes.ModuleName, ibctransfertypes.ModuleName, ibchost.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) app.MM.SetOrderEndBlockers( @@ -546,6 +568,7 @@ func New( vestingtypes.ModuleName, ibctransfertypes.ModuleName, ibchost.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) @@ -573,6 +596,7 @@ func New( vestingtypes.ModuleName, ibchost.ModuleName, ibctransfertypes.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) @@ -600,6 +624,7 @@ func New( evidence.NewAppModule(app.EvidenceKeeper), ibc.NewAppModule(app.IBCKeeper), authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), transferModule, + marketModule, ) app.sm.RegisterStoreDecoders() @@ -885,6 +910,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(ibctransfertypes.ModuleName) paramsKeeper.Subspace(ibchost.ModuleName) paramsKeeper.Subspace(consumertypes.ModuleName) + paramsKeeper.Subspace(marketmoduletypes.ModuleName) return paramsKeeper } diff --git a/app/consumer-democracy/proposals_whitelisting.go b/app/consumer-democracy/proposals_whitelisting.go index bfee937..e402544 100644 --- a/app/consumer-democracy/proposals_whitelisting.go +++ b/app/consumer-democracy/proposals_whitelisting.go @@ -10,6 +10,7 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" consumertypes "github.com/cosmos/interchain-security/x/ccv/consumer/types" + marketmoduletypes "github.com/pendulum-labs/market/x/market/types" ) func IsProposalWhitelisted(content govtypes.Content) bool { @@ -72,4 +73,9 @@ var WhitelistedParams = map[paramChangeKey]struct{}{ {Subspace: consumertypes.ModuleName, Key: "ConsumerRedistributionFraction"}: {}, {Subspace: consumertypes.ModuleName, Key: "BlocksPerDistributionTransmission"}: {}, {Subspace: consumertypes.ModuleName, Key: "TransferTimeoutPeriod"}: {}, + // market + {Subspace: marketmoduletypes.ModuleName, Key: "BurnCoin"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "BurnRate"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "EarnRates"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "MarketFee"}: {}, } diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 28d0242..ce234e9 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -29307,6 +29307,2165 @@ paths: } tags: - Query + '/pendulum-labs/market/market/book/{denomA}/{denomB}/{orderType}': + get: + summary: Queries a list of Book items. + operationId: PendulumlabsMarketMarketBook + responses: + '200': + description: A successful response. + schema: + type: object + properties: + book: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denomA + in: path + required: true + type: string + - name: denomB + in: path + required: true + type: string + - name: orderType + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/bookends/{coinA}/{coinB}/{orderType}/{rate}': + get: + summary: Queries a list of Bookends items. + operationId: PendulumlabsMarketMarketBookends + responses: + '200': + description: A successful response. + schema: + type: object + properties: + coinA: + type: string + coinB: + type: string + orderType: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: coinA + in: path + required: true + type: string + - name: coinB + in: path + required: true + type: string + - name: orderType + in: path + required: true + type: string + - name: rate + in: path + required: true + type: array + items: + type: string + collectionFormat: csv + minItems: 1 + tags: + - Query + /pendulum-labs/market/market/burned: + get: + summary: Queries total burned. + operationId: PendulumlabsMarketMarketBurned + responses: + '200': + description: A successful response. + schema: + type: object + properties: + denom: + type: string + amount: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /pendulum-labs/market/market/burnings: + get: + summary: Queries a list of Burnings items. + operationId: PendulumlabsMarketMarketBurningsAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + burnings: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/burnings/{denom}': + get: + summary: Queries a Burnings by index. + operationId: PendulumlabsMarketMarketBurnings + responses: + '200': + description: A successful response. + schema: + type: object + properties: + burnings: + type: object + properties: + denom: + type: string + amount: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denom + in: path + required: true + type: string + tags: + - Query + /pendulum-labs/market/market/drop: + get: + summary: Queries a list of Drop items. + operationId: PendulumlabsMarketMarketDropAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + drops: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/drop/amounts/{uid}': + get: + summary: Queries a Drop by index. + operationId: PendulumlabsMarketMarketDropAmounts + responses: + '200': + description: A successful response. + schema: + type: object + properties: + denom1: + type: string + denom2: + type: string + amount1: + type: string + amount2: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: uid + in: path + required: true + type: string + format: uint64 + tags: + - Query + '/pendulum-labs/market/market/drop/coin/{denomA}/{denomB}/{amountA}': + get: + summary: Queries a Drop by index. + operationId: PendulumlabsMarketMarketDropCoin + responses: + '200': + description: A successful response. + schema: + type: object + properties: + drops: + type: string + amountB: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denomA + in: path + required: true + type: string + - name: denomB + in: path + required: true + type: string + - name: amountA + in: path + required: true + type: string + tags: + - Query + '/pendulum-labs/market/market/drop/coins/{pair}/{drops}': + get: + summary: Converts drops to coin amounts + operationId: PendulumlabsMarketMarketDropsToCoins + responses: + '200': + description: A successful response. + schema: + type: object + properties: + denom1: + type: string + denom2: + type: string + amount1: + type: string + amount2: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pair + in: path + required: true + type: string + - name: drops + in: path + required: true + type: string + tags: + - Query + '/pendulum-labs/market/market/drop/pairs/{address}': + get: + summary: Queries a Drop by index. + operationId: PendulumlabsMarketMarketDropPairs + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pairs: + type: array + items: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + tags: + - Query + '/pendulum-labs/market/market/drop/{address}/{pair}': + get: + summary: Queries a Drop by index. + operationId: PendulumlabsMarketMarketDropOwnerPair + responses: + '200': + description: A successful response. + schema: + type: object + properties: + drops: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + - name: pair + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/drop/{uid}': + get: + summary: Queries a Drop by index. + operationId: PendulumlabsMarketMarketDrop + responses: + '200': + description: A successful response. + schema: + type: object + properties: + drop: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: uid + in: path + required: true + type: string + format: uint64 + tags: + - Query + '/pendulum-labs/market/market/history/{pair}': + get: + summary: Queries pool trade history. + operationId: PendulumlabsMarketMarketHistory + responses: + '200': + description: A successful response. + schema: + type: object + properties: + history: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pair + in: path + required: true + type: string + - name: length + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + /pendulum-labs/market/market/member: + get: + summary: Queries a list of Member items. + operationId: PendulumlabsMarketMarketMemberAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + member: + type: array + items: + type: object + properties: + pair: + type: string + denomA: + type: string + denomB: + type: string + balance: + type: string + previous: + type: string + limit: + type: string + format: uint64 + stop: + type: string + format: uint64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/member/{denomA}/{denomB}': + get: + summary: Queries a Member by index. + operationId: PendulumlabsMarketMarketMember + responses: + '200': + description: A successful response. + schema: + type: object + properties: + member: + type: object + properties: + pair: + type: string + denomA: + type: string + denomB: + type: string + balance: + type: string + previous: + type: string + limit: + type: string + format: uint64 + stop: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denomA + in: path + required: true + type: string + - name: denomB + in: path + required: true + type: string + tags: + - Query + /pendulum-labs/market/market/order: + get: + summary: Queries a list of Order items. + operationId: PendulumlabsMarketMarketOrderAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + orders: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/order/uids/{address}': + get: + summary: Queries a list of Order items. + operationId: PendulumlabsMarketMarketOrderOwnerUids + responses: + '200': + description: A successful response. + schema: + type: object + properties: + orders: + type: object + properties: + uids: + type: array + items: + type: string + format: uint64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/order/{address}': + get: + summary: Queries a list of Order items. + operationId: PendulumlabsMarketMarketOrderOwner + responses: + '200': + description: A successful response. + schema: + type: object + properties: + orders: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/order/{uid}': + get: + summary: Queries a Order by index. + operationId: PendulumlabsMarketMarketOrder + responses: + '200': + description: A successful response. + schema: + type: object + properties: + order: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: uid + in: path + required: true + type: string + format: uint64 + tags: + - Query + /pendulum-labs/market/market/params: + get: + summary: Parameters queries the parameters of the module. + operationId: PendulumlabsMarketMarketParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + earn_rates: + type: string + title: |- + leader earnings rates + 1,2,3 Comma separated, no space + burn_rate: + type: string + title: pool burning rate + burn_coin: + type: string + title: burn coin + market_fee: + type: string + title: >- + market_fee (parameter / 10000), 9999 representing as + 99.99% + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /pendulum-labs/market/market/pool: + get: + summary: Queries a list of Pool items. + operationId: PendulumlabsMarketMarketPoolAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pool: + type: array + items: + type: object + properties: + pair: + type: string + denom1: + type: string + denom2: + type: string + volume1: + type: object + properties: + denom: + type: string + amount: + type: string + volume2: + type: object + properties: + denom: + type: string + amount: + type: string + leaders: + type: array + items: + type: object + properties: + address: + type: string + drops: + type: string + drops: + type: string + history: + type: string + format: uint64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/pool/{pair}': + get: + summary: Queries a Pool by index. + operationId: PendulumlabsMarketMarketPool + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pool: + type: object + properties: + pair: + type: string + denom1: + type: string + denom2: + type: string + volume1: + type: object + properties: + denom: + type: string + amount: + type: string + volume2: + type: object + properties: + denom: + type: string + amount: + type: string + leaders: + type: array + items: + type: object + properties: + address: + type: string + drops: + type: string + drops: + type: string + history: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pair + in: path + required: true + type: string + tags: + - Query + '/pendulum-labs/market/market/quote/{denomBid}/{denomAsk}/{denomAmount}/{amount}': + get: + summary: Queries pool trade history. + operationId: PendulumlabsMarketMarketQuote + responses: + '200': + description: A successful response. + schema: + type: object + properties: + denom: + type: string + amount: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denomBid + in: path + required: true + type: string + - name: denomAsk + in: path + required: true + type: string + - name: denomAmount + in: path + required: true + type: string + - name: amount + in: path + required: true + type: string + tags: + - Query + /pendulum-labs/market/market/volume: + get: + summary: Queries all Volumes. + operationId: PendulumlabsMarketMarketVolumeAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + volumes: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/pendulum-labs/market/market/volume/{denom}': + get: + summary: Queries a Volume by index. + operationId: PendulumlabsMarketMarketVolume + responses: + '200': + description: A successful response. + schema: + type: object + properties: + amount: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denom + in: path + required: true + type: string + tags: + - Query definitions: cosmos.auth.v1beta1.Params: type: object @@ -45566,70 +47725,195 @@ definitions: RevisionHeight gets reset - title: >- - QueryPacketCommitmentResponse defines the client query response for a - packet - - which also includes a proof and the height from which the proof was - - retrieved - ibc.core.channel.v1.QueryPacketCommitmentsResponse: + title: >- + QueryPacketCommitmentResponse defines the client query response for a + packet + + which also includes a proof and the height from which the proof was + + retrieved + ibc.core.channel.v1.QueryPacketCommitmentsResponse: + type: object + properties: + commitments: + type: array + items: + type: object + properties: + port_id: + type: string + description: channel port identifier. + channel_id: + type: string + description: channel unique identifier. + sequence: + type: string + format: uint64 + description: packet sequence. + data: + type: string + format: byte + description: embedded data that represents packet state. + description: >- + PacketState defines the generic type necessary to retrieve and store + + packet commitments, acknowledgements, and receipts. + + Caller is responsible for knowing the context necessary to interpret + this + + state as a commitment, acknowledgement, or a receipt. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may choose + to + + reset the height in certain conditions e.g. hard forks, state-machine + + breaking changes In these cases, the RevisionNumber is incremented so + that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryPacketCommitmentsResponse is the request type for the + Query/QueryPacketCommitments RPC method + ibc.core.channel.v1.QueryPacketReceiptResponse: + type: object + properties: + received: + type: boolean + title: success flag for if receipt exists + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may choose + to + + reset the height in certain conditions e.g. hard forks, state-machine + + breaking changes In these cases, the RevisionNumber is incremented so + that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + QueryPacketReceiptResponse defines the client query response for a packet + + receipt which also includes a proof, and the height from which the proof + was + + retrieved + ibc.core.channel.v1.QueryUnreceivedAcksResponse: + type: object + properties: + sequences: + type: array + items: + type: string + format: uint64 + title: list of unreceived acknowledgement sequences + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may choose + to + + reset the height in certain conditions e.g. hard forks, state-machine + + breaking changes In these cases, the RevisionNumber is incremented so + that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryUnreceivedAcksResponse is the response type for the + Query/UnreceivedAcks RPC method + ibc.core.channel.v1.QueryUnreceivedPacketsResponse: type: object properties: - commitments: + sequences: type: array items: - type: object - properties: - port_id: - type: string - description: channel port identifier. - channel_id: - type: string - description: channel unique identifier. - sequence: - type: string - format: uint64 - description: packet sequence. - data: - type: string - format: byte - description: embedded data that represents packet state. - description: >- - PacketState defines the generic type necessary to retrieve and store - - packet commitments, acknowledgements, and receipts. - - Caller is responsible for knowing the context necessary to interpret - this - - state as a commitment, acknowledgement, or a receipt. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + type: string + format: uint64 + title: list of unreceived packet sequences height: title: query block height type: object @@ -45659,64 +47943,214 @@ definitions: gets reset title: |- - QueryPacketCommitmentsResponse is the request type for the - Query/QueryPacketCommitments RPC method - ibc.core.channel.v1.QueryPacketReceiptResponse: + QueryUnreceivedPacketsResponse is the response type for the + Query/UnreceivedPacketCommitments RPC method + ibc.core.channel.v1.ResponseResultType: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message + ibc.core.channel.v1.State: + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + - STATE_CLOSED + default: STATE_UNINITIALIZED_UNSPECIFIED + description: |- + State defines if a channel is in one of the following states: + CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + + - STATE_UNINITIALIZED_UNSPECIFIED: Default State + - STATE_INIT: A channel has just started the opening handshake. + - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. + - STATE_OPEN: A channel has completed the handshake. Open channels are + ready to send and receive packets. + - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive + packets. + ibc.core.client.v1.IdentifiedClientState: type: object properties: - received: - type: boolean - title: success flag for if receipt exists - proof: + client_id: type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + title: client identifier + client_state: + title: client state type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + '@type': type: string - format: uint64 - title: the height within the given revision + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - Normally the RevisionHeight is incremented at each height while - keeping + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + - RevisionNumber the same. However some consensus algorithms may choose - to - reset the height in certain conditions e.g. hard forks, state-machine + JSON - breaking changes In these cases, the RevisionNumber is incremented so - that + ==== - height continues to be monitonically increasing even as the - RevisionHeight + The JSON representation of an `Any` value uses the regular - gets reset - title: >- - QueryPacketReceiptResponse defines the client query response for a packet + representation of the deserialized, embedded message, with an - receipt which also includes a proof, and the height from which the proof - was + additional field `@type` which contains the type URL. Example: - retrieved - ibc.core.channel.v1.QueryUnreceivedAcksResponse: + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + IdentifiedClientState defines a client state with an additional client + identifier field. + ibc.core.client.v1.ConsensusStateWithHeight: type: object properties: - sequences: - type: array - items: - type: string - format: uint64 - title: list of unreceived acknowledgement sequences height: - title: query block height + title: consensus state height type: object properties: revision_number: @@ -45743,91 +48177,214 @@ definitions: RevisionHeight gets reset - title: |- - QueryUnreceivedAcksResponse is the response type for the - Query/UnreceivedAcks RPC method - ibc.core.channel.v1.QueryUnreceivedPacketsResponse: - type: object - properties: - sequences: - type: array - items: - type: string - format: uint64 - title: list of unreceived packet sequences - height: - title: query block height + consensus_state: + title: consensus state type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + '@type': type: string - format: uint64 - title: the height within the given revision + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - Normally the RevisionHeight is incremented at each height while - keeping + `Any` contains an arbitrary serialized protocol buffer message along + with a - RevisionNumber the same. However some consensus algorithms may choose - to + URL that describes the type of the serialized message. - reset the height in certain conditions e.g. hard forks, state-machine - breaking changes In these cases, the RevisionNumber is incremented so - that + Protobuf library provides support to pack/unpack Any values in the + form - height continues to be monitonically increasing even as the - RevisionHeight + of utility functions or additional generated methods of the Any type. - gets reset - title: |- - QueryUnreceivedPacketsResponse is the response type for the - Query/UnreceivedPacketCommitments RPC method - ibc.core.channel.v1.ResponseResultType: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - ibc.core.channel.v1.State: - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + ConsensusStateWithHeight defines a consensus state with an additional + height + + field. + ibc.core.client.v1.MsgCreateClientResponse: + type: object + description: MsgCreateClientResponse defines the Msg/CreateClient response type. + ibc.core.client.v1.MsgSubmitMisbehaviourResponse: + type: object description: |- - State defines if a channel is in one of the following states: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response + type. + ibc.core.client.v1.MsgUpdateClientResponse: + type: object + description: MsgUpdateClientResponse defines the Msg/UpdateClient response type. + ibc.core.client.v1.MsgUpgradeClientResponse: + type: object + description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. + ibc.core.client.v1.Params: + type: object + properties: + allowed_clients: + type: array + items: + type: string + description: allowed_clients defines the list of allowed client state types. + description: Params defines the set of IBC light client parameters. + ibc.core.client.v1.QueryClientParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + allowed_clients: + type: array + items: + type: string + description: allowed_clients defines the list of allowed client state types. + description: >- + QueryClientParamsResponse is the response type for the Query/ClientParams + RPC - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ibc.core.client.v1.IdentifiedClientState: + method. + ibc.core.client.v1.QueryClientStateResponse: type: object properties: - client_id: - type: string - title: client identifier client_state: - title: client state + title: client state associated with the request identifier type: object properties: '@type': @@ -45984,14 +48541,12 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: |- - IdentifiedClientState defines a client state with an additional client - identifier field. - ibc.core.client.v1.ConsensusStateWithHeight: - type: object - properties: - height: - title: consensus state height + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: revision_number: @@ -46018,214 +48573,316 @@ definitions: RevisionHeight gets reset - consensus_state: - title: consensus state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + description: >- + QueryClientStateResponse is the response type for the Query/ClientState + RPC - protocol buffer message. This string must contain at least + method. Besides the client state, it includes a proof and the height from - one "/" character. The last segment of the URL's path must - represent + which the proof was retrieved. + ibc.core.client.v1.QueryClientStatesResponse: + type: object + properties: + client_states: + type: array + items: + type: object + properties: + client_id: + type: string + title: client identifier + client_state: + title: client state + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - the fully qualified name of the type (as in + protocol buffer message. This string must contain at least - `path/google.protobuf.Duration`). The name should be in a - canonical form + one "/" character. The last segment of the URL's path must + represent - (e.g., leading "." is not accepted). + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - In practice, teams usually precompile into the binary all types - that they + (e.g., leading "." is not accepted). - expect it to use in the context of Any. However, for URLs which - use the - scheme `http`, `https`, or no scheme, one can optionally set up a - type + In practice, teams usually precompile into the binary all + types that they - server that maps type URLs to message definitions as follows: + expect it to use in the context of Any. However, for URLs + which use the + scheme `http`, `https`, or no scheme, one can optionally set + up a type - * If no scheme is provided, `https` is assumed. + server that maps type URLs to message definitions as + follows: - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - Note: this functionality is not currently available in the - official + * If no scheme is provided, `https` is assumed. - protobuf release, and it is not used for type URLs beginning with + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - type.googleapis.com. + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning + with - Schemes other than `http`, `https` (or the empty scheme) might be + type.googleapis.com. - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - URL that describes the type of the serialized message. + Schemes other than `http`, `https` (or the empty scheme) + might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - Protobuf library provides support to pack/unpack Any values in the - form + URL that describes the type of the serialized message. - of utility functions or additional generated methods of the Any type. + Protobuf library provides support to pack/unpack Any values in + the form - Example 1: Pack and unpack a message in C++. + of utility functions or additional generated methods of the Any + type. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 3: Pack and unpack a message in Python. + Example 2: Pack and unpack a message in Java. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 4: Pack and unpack a message in Go + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + methods only use the fully qualified type name after the last + '/' - The pack methods provided by protobuf library will by default use + in the type URL, for example "foo.bar.com/x/y.z" will yield type - 'type.googleapis.com/full.type.name' as the type URL and the unpack + name "y.z". - methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + JSON + ==== + The JSON representation of an `Any` value uses the regular - JSON + representation of the deserialized, embedded message, with an - ==== + additional field `@type` which contains the type URL. Example: - The JSON representation of an `Any` value uses the regular + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - representation of the deserialized, embedded message, with an + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - additional field `@type` which contains the type URL. Example: + If the embedded message type is well-known and has a custom JSON - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + representation, that representation will be embedded adding a + field - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + `value` which holds the custom JSON in addition to the `@type` - If the embedded message type is well-known and has a custom JSON + field. Example (for message [google.protobuf.Duration][]): - representation, that representation will be embedded adding a field + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + IdentifiedClientState defines a client state with an additional + client - `value` which holds the custom JSON in addition to the `@type` + identifier field. + description: list of stored ClientStates of the chain. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - field. Example (for message [google.protobuf.Duration][]): + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } description: >- - ConsensusStateWithHeight defines a consensus state with an additional - height + QueryClientStatesResponse is the response type for the Query/ClientStates + RPC - field. - ibc.core.client.v1.MsgCreateClientResponse: - type: object - description: MsgCreateClientResponse defines the Msg/CreateClient response type. - ibc.core.client.v1.MsgSubmitMisbehaviourResponse: - type: object - description: |- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response - type. - ibc.core.client.v1.MsgUpdateClientResponse: - type: object - description: MsgUpdateClientResponse defines the Msg/UpdateClient response type. - ibc.core.client.v1.MsgUpgradeClientResponse: + method. + ibc.core.client.v1.QueryClientStatusResponse: type: object - description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. - ibc.core.client.v1.Params: + properties: + status: + type: string + description: >- + QueryClientStatusResponse is the response type for the Query/ClientStatus + RPC + + method. It returns the current status of the IBC client. + ibc.core.client.v1.QueryConsensusStateHeightsResponse: type: object properties: - allowed_clients: + consensus_state_heights: type: array items: - type: string - description: allowed_clients defines the list of allowed client state types. - description: Params defines the set of IBC light client parameters. - ibc.core.client.v1.QueryClientParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is incremented + so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + Height is a monotonically increasing data type + + that can be compared against another Height for the purposes of + updating and + + freezing clients + title: consensus state heights + pagination: + title: pagination response type: object properties: - allowed_clients: - type: array - items: - type: string - description: allowed_clients defines the list of allowed client state types. - description: >- - QueryClientParamsResponse is the response type for the Query/ClientParams - RPC + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - method. - ibc.core.client.v1.QueryClientStateResponse: + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: |- + QueryConsensusStateHeightsResponse is the response type for the + Query/ConsensusStateHeights RPC method + ibc.core.client.v1.QueryConsensusStateResponse: type: object properties: - client_state: - title: client state associated with the request identifier + consensus_state: + title: >- + consensus state associated with the client identifier at the given + height type: object properties: '@type': @@ -46414,26 +49071,50 @@ definitions: RevisionHeight gets reset - description: >- - QueryClientStateResponse is the response type for the Query/ClientState - RPC + title: >- + QueryConsensusStateResponse is the response type for the + Query/ConsensusState - method. Besides the client state, it includes a proof and the height from + RPC method + ibc.core.client.v1.QueryConsensusStatesResponse: + type: object + properties: + consensus_states: + type: array + items: + type: object + properties: + height: + title: consensus state height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight - which the proof was retrieved. - ibc.core.client.v1.QueryClientStatesResponse: - type: object - properties: - client_states: - type: array - items: - type: object - properties: - client_id: - type: string - title: client identifier - client_state: - title: client state + gets reset + consensus_state: + title: consensus state type: object properties: '@type': @@ -46601,93 +49282,11 @@ definitions: "value": "1.212s" } description: >- - IdentifiedClientState defines a client state with an additional - client - - identifier field. - description: list of stored ClientStates of the chain. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - description: >- - QueryClientStatesResponse is the response type for the Query/ClientStates - RPC - - method. - ibc.core.client.v1.QueryClientStatusResponse: - type: object - properties: - status: - type: string - description: >- - QueryClientStatusResponse is the response type for the Query/ClientStatus - RPC - - method. It returns the current status of the IBC client. - ibc.core.client.v1.QueryConsensusStateHeightsResponse: - type: object - properties: - consensus_state_heights: - type: array - items: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is incremented - so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and + ConsensusStateWithHeight defines a consensus state with an + additional height - freezing clients - title: consensus state heights + field. + title: consensus states associated with the identifier pagination: title: pagination response type: object @@ -46715,15 +49314,13 @@ definitions: PageResponse page = 2; } title: |- - QueryConsensusStateHeightsResponse is the response type for the - Query/ConsensusStateHeights RPC method - ibc.core.client.v1.QueryConsensusStateResponse: + QueryConsensusStatesResponse is the response type for the + Query/ConsensusStates RPC method + ibc.core.client.v1.QueryUpgradedClientStateResponse: type: object properties: - consensus_state: - title: >- - consensus state associated with the client identifier at the given - height + upgraded_client_state: + title: client state associated with the request identifier type: object properties: '@type': @@ -46880,452 +49477,662 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + description: |- + QueryUpgradedClientStateResponse is the response type for the + Query/UpgradedClientState RPC method. + ibc.core.client.v1.QueryUpgradedConsensusStateResponse: + type: object + properties: + upgraded_consensus_state: + title: Consensus state associated with the request identifier type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + '@type': type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - RevisionNumber the same. However some consensus algorithms may choose - to + protocol buffer message. This string must contain at least - reset the height in certain conditions e.g. hard forks, state-machine + one "/" character. The last segment of the URL's path must + represent - breaking changes In these cases, the RevisionNumber is incremented so - that + the fully qualified name of the type (as in - height continues to be monitonically increasing even as the - RevisionHeight + `path/google.protobuf.Duration`). The name should be in a + canonical form - gets reset - title: >- - QueryConsensusStateResponse is the response type for the - Query/ConsensusState + (e.g., leading "." is not accepted). - RPC method - ibc.core.client.v1.QueryConsensusStatesResponse: - type: object - properties: - consensus_states: - type: array - items: - type: object - properties: - height: - title: consensus state height - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - RevisionNumber the same. However some consensus algorithms may - choose to + In practice, teams usually precompile into the binary all types + that they - reset the height in certain conditions e.g. hard forks, - state-machine + expect it to use in the context of Any. However, for URLs which + use the - breaking changes In these cases, the RevisionNumber is - incremented so that + scheme `http`, `https`, or no scheme, one can optionally set up a + type - height continues to be monitonically increasing even as the - RevisionHeight + server that maps type URLs to message definitions as follows: - gets reset - consensus_state: - title: consensus state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - protocol buffer message. This string must contain at least + * If no scheme is provided, `https` is assumed. - one "/" character. The last segment of the URL's path must - represent + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - the fully qualified name of the type (as in + Note: this functionality is not currently available in the + official - `path/google.protobuf.Duration`). The name should be in a - canonical form + protobuf release, and it is not used for type URLs beginning with - (e.g., leading "." is not accepted). + type.googleapis.com. - In practice, teams usually precompile into the binary all - types that they + Schemes other than `http`, `https` (or the empty scheme) might be - expect it to use in the context of Any. However, for URLs - which use the + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - scheme `http`, `https`, or no scheme, one can optionally set - up a type + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any type. + + + Example 1: Pack and unpack a message in C++. - server that maps type URLs to message definitions as - follows: + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + Example 2: Pack and unpack a message in Java. - * If no scheme is provided, `https` is assumed. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Example 3: Pack and unpack a message in Python. - Note: this functionality is not currently available in the - official + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - protobuf release, and it is not used for type URLs beginning - with + Example 4: Pack and unpack a message in Go - type.googleapis.com. + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default use - Schemes other than `http`, `https` (or the empty scheme) - might be + 'type.googleapis.com/full.type.name' as the type URL and the unpack - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + methods only use the fully qualified type name after the last '/' - URL that describes the type of the serialized message. + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". - Protobuf library provides support to pack/unpack Any values in - the form - of utility functions or additional generated methods of the Any - type. + JSON - Example 1: Pack and unpack a message in C++. + ==== - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + The JSON representation of an `Any` value uses the regular - Example 2: Pack and unpack a message in Java. + representation of the deserialized, embedded message, with an - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + additional field `@type` which contains the type URL. Example: - Example 3: Pack and unpack a message in Python. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Example 4: Pack and unpack a message in Go + If the embedded message type is well-known and has a custom JSON - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + representation, that representation will be embedded adding a field - The pack methods provided by protobuf library will by default - use + `value` which holds the custom JSON in addition to the `@type` - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + field. Example (for message [google.protobuf.Duration][]): - methods only use the fully qualified type name after the last - '/' + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState RPC method. + ibc.core.commitment.v1.MerklePrefix: + type: object + properties: + key_prefix: + type: string + format: byte + title: |- + MerklePrefix is merkle path prefixed to the key. + The constructed key from the Path and the key will be append(Path.KeyPath, + append(Path.KeyPrefix, key...)) + ibc.core.connection.v1.ConnectionEnd: + type: object + properties: + client_id: + type: string + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: list of features compatible with the specified identifier + description: >- + Version defines the versioning scheme used to negotiate the IBC + verison in - in the type URL, for example "foo.bar.com/x/y.z" will yield type + the connection handshake. + description: >- + IBC version which can be utilised to determine encodings or protocols + for - name "y.z". + channels or packets utilising this connection. + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain associated with a + given + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty chain associated + with a + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. - JSON + The constructed key from the Path and the key will be + append(Path.KeyPath, - ==== + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: >- + delay period that must pass before a consensus state can be used for - The JSON representation of an `Any` value uses the regular + packet-verification NOTE: delay period logic is only implemented by + some - representation of the deserialized, embedded message, with an + clients. + description: |- + ConnectionEnd defines a stateful object on a chain connected to another + separate one. + NOTE: there must only be 2 defined ConnectionEnds to establish + a connection between two chains. + ibc.core.connection.v1.Counterparty: + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain associated with a + given - additional field `@type` which contains the type URL. Example: + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty chain associated + with a - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + The constructed key from the Path and the key will be + append(Path.KeyPath, - If the embedded message type is well-known and has a custom JSON + append(Path.KeyPrefix, key...)) + description: >- + Counterparty defines the counterparty chain associated with a connection + end. + ibc.core.connection.v1.IdentifiedConnection: + type: object + properties: + id: + type: string + description: connection identifier. + client_id: + type: string + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: list of features compatible with the specified identifier + description: >- + Version defines the versioning scheme used to negotiate the IBC + verison in - representation, that representation will be embedded adding a - field + the connection handshake. + title: >- + IBC version which can be utilised to determine encodings or protocols + for - `value` which holds the custom JSON in addition to the `@type` + channels or packets utilising this connection + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain associated with a + given - field. Example (for message [google.protobuf.Duration][]): + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty chain associated + with a - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - ConsensusStateWithHeight defines a consensus state with an - additional height + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. - field. - title: consensus states associated with the identifier - pagination: - title: pagination response + The constructed key from the Path and the key will be + append(Path.KeyPath, + + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: delay period associated with this connection. + description: |- + IdentifiedConnection defines a connection with additional connection + identifier field. + ibc.core.connection.v1.MsgConnectionOpenAckResponse: + type: object + description: >- + MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response + type. + ibc.core.connection.v1.MsgConnectionOpenConfirmResponse: + type: object + description: |- + MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm + response type. + ibc.core.connection.v1.MsgConnectionOpenInitResponse: + type: object + description: |- + MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response + type. + ibc.core.connection.v1.MsgConnectionOpenTryResponse: + type: object + description: >- + MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response + type. + ibc.core.connection.v1.QueryClientConnectionsResponse: + type: object + properties: + connection_paths: + type: array + items: + type: string + description: slice of all the connection paths associated with a client. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was generated type: object properties: - next_key: + revision_number: type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + format: uint64 + title: the revision that the client is currently on + revision_height: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. + RevisionNumber the same. However some consensus algorithms may choose + to - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + reset the height in certain conditions e.g. hard forks, state-machine + + breaking changes In these cases, the RevisionNumber is incremented so + that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset title: |- - QueryConsensusStatesResponse is the response type for the - Query/ConsensusStates RPC method - ibc.core.client.v1.QueryUpgradedClientStateResponse: + QueryClientConnectionsResponse is the response type for the + Query/ClientConnections RPC method + ibc.core.connection.v1.QueryConnectionClientStateResponse: type: object properties: - upgraded_client_state: - title: client state associated with the request identifier + identified_client_state: + title: client state associated with the channel type: object properties: - '@type': + client_id: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + title: client identifier + client_state: + title: client state + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - protocol buffer message. This string must contain at least + protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must - represent + one "/" character. The last segment of the URL's path must + represent - the fully qualified name of the type (as in + the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a - canonical form + `path/google.protobuf.Duration`). The name should be in a + canonical form - (e.g., leading "." is not accepted). + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary all types - that they + In practice, teams usually precompile into the binary all + types that they - expect it to use in the context of Any. However, for URLs which - use the + expect it to use in the context of Any. However, for URLs + which use the - scheme `http`, `https`, or no scheme, one can optionally set up a - type + scheme `http`, `https`, or no scheme, one can optionally set + up a type - server that maps type URLs to message definitions as follows: + server that maps type URLs to message definitions as follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Note: this functionality is not currently available in the - official + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - protobuf release, and it is not used for type URLs beginning with + URL that describes the type of the serialized message. - type.googleapis.com. + Protobuf library provides support to pack/unpack Any values in the + form - Schemes other than `http`, `https` (or the empty scheme) might be + of utility functions or additional generated methods of the Any + type. - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - URL that describes the type of the serialized message. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Protobuf library provides support to pack/unpack Any values in the - form + Example 2: Pack and unpack a message in Java. - of utility functions or additional generated methods of the Any type. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + Example 3: Pack and unpack a message in Python. - Example 1: Pack and unpack a message in C++. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Example 4: Pack and unpack a message in Go - Example 2: Pack and unpack a message in Java. + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + The pack methods provided by protobuf library will by default use - Example 3: Pack and unpack a message in Python. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + methods only use the fully qualified type name after the last '/' - Example 4: Pack and unpack a message in Go + in the type URL, for example "foo.bar.com/x/y.z" will yield type - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + name "y.z". - The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last '/' + JSON - in the type URL, for example "foo.bar.com/x/y.z" will yield type + ==== - name "y.z". + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - JSON + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - ==== + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - The JSON representation of an `Any` value uses the regular + If the embedded message type is well-known and has a custom JSON - representation of the deserialized, embedded message, with an + representation, that representation will be embedded adding a + field - additional field `@type` which contains the type URL. Example: + `value` which holds the custom JSON in addition to the `@type` - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + IdentifiedClientState defines a client state with an additional client + identifier field. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping - If the embedded message type is well-known and has a custom JSON + RevisionNumber the same. However some consensus algorithms may choose + to - representation, that representation will be embedded adding a field + reset the height in certain conditions e.g. hard forks, state-machine - `value` which holds the custom JSON in addition to the `@type` + breaking changes In these cases, the RevisionNumber is incremented so + that - field. Example (for message [google.protobuf.Duration][]): + height continues to be monitonically increasing even as the + RevisionHeight - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: |- - QueryUpgradedClientStateResponse is the response type for the - Query/UpgradedClientState RPC method. - ibc.core.client.v1.QueryUpgradedConsensusStateResponse: + gets reset + title: |- + QueryConnectionClientStateResponse is the response type for the + Query/ConnectionClientState RPC method + ibc.core.connection.v1.QueryConnectionConsensusStateResponse: type: object properties: - upgraded_consensus_state: - title: Consensus state associated with the request identifier + consensus_state: + title: consensus state associated with the channel type: object properties: '@type': @@ -47456,278 +50263,170 @@ definitions: representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: |- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState RPC method. - ibc.core.commitment.v1.MerklePrefix: - type: object - properties: - key_prefix: - type: string - format: byte - title: |- - MerklePrefix is merkle path prefixed to the key. - The constructed key from the Path and the key will be append(Path.KeyPath, - append(Path.KeyPrefix, key...)) - ibc.core.connection.v1.ConnectionEnd: - type: object - properties: - client_id: - type: string - description: client associated with this connection. - versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - description: >- - IBC version which can be utilised to determine encodings or protocols - for + additional field `@type` which contains the type URL. Example: - channels or packets utilising this connection. - state: - description: current state of the connection end. - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. + If the embedded message type is well-known and has a custom JSON - The constructed key from the Path and the key will be - append(Path.KeyPath, + representation, that representation will be embedded adding a field - append(Path.KeyPrefix, key...)) - delay_period: - type: string - format: uint64 - description: >- - delay period that must pass before a consensus state can be used for + `value` which holds the custom JSON in addition to the `@type` - packet-verification NOTE: delay period logic is only implemented by - some + field. Example (for message [google.protobuf.Duration][]): - clients. - description: |- - ConnectionEnd defines a stateful object on a chain connected to another - separate one. - NOTE: there must only be 2 defined ConnectionEnds to establish - a connection between two chains. - ibc.core.connection.v1.Counterparty: - type: object - properties: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } client_id: type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: + title: client ID associated with the consensus state + proof: type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: - key_prefix: + revision_number: type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping - The constructed key from the Path and the key will be - append(Path.KeyPath, + RevisionNumber the same. However some consensus algorithms may choose + to - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a connection - end. - ibc.core.connection.v1.IdentifiedConnection: - type: object - properties: - id: - type: string - description: connection identifier. - client_id: - type: string - description: client associated with this connection. - versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in + reset the height in certain conditions e.g. hard forks, state-machine - the connection handshake. - title: >- - IBC version which can be utilised to determine encodings or protocols - for + breaking changes In these cases, the RevisionNumber is incremented so + that - channels or packets utilising this connection - state: - description: current state of the connection end. - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryConnectionConsensusStateResponse is the response type for the + Query/ConnectionConsensusState RPC method + ibc.core.connection.v1.QueryConnectionResponse: + type: object + properties: + connection: + title: connection associated with the request identifier type: object properties: client_id: type: string - description: >- - identifies the client on the counterparty chain associated with a - given + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: list of features compatible with the specified identifier + description: >- + Version defines the versioning scheme used to negotiate the IBC + verison in - connection. - connection_id: - type: string + the connection handshake. description: >- - identifies the connection end on the counterparty chain associated - with a + IBC version which can be utilised to determine encodings or + protocols for - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. + channels or packets utilising this connection. + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. type: object properties: - key_prefix: + client_id: type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. + description: >- + identifies the client on the counterparty chain associated + with a given + + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty chain + associated with a + + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. + + The constructed key from the Path and the key will be + append(Path.KeyPath, + + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: >- + delay period that must pass before a consensus state can be used + for + + packet-verification NOTE: delay period logic is only implemented + by some + + clients. + description: >- + ConnectionEnd defines a stateful object on a chain connected to + another - The constructed key from the Path and the key will be - append(Path.KeyPath, + separate one. - append(Path.KeyPrefix, key...)) - delay_period: - type: string - format: uint64 - description: delay period associated with this connection. - description: |- - IdentifiedConnection defines a connection with additional connection - identifier field. - ibc.core.connection.v1.MsgConnectionOpenAckResponse: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response - type. - ibc.core.connection.v1.MsgConnectionOpenConfirmResponse: - type: object - description: |- - MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm - response type. - ibc.core.connection.v1.MsgConnectionOpenInitResponse: - type: object - description: |- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response - type. - ibc.core.connection.v1.MsgConnectionOpenTryResponse: - type: object - description: >- - MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response - type. - ibc.core.connection.v1.QueryClientConnectionsResponse: - type: object - properties: - connection_paths: - type: array - items: - type: string - description: slice of all the connection paths associated with a client. + NOTE: there must only be 2 defined ConnectionEnds to establish + + a connection between two chains. proof: type: string format: byte title: merkle proof of existence proof_height: - title: height at which the proof was generated + title: height at which the proof was retrieved type: object properties: revision_number: @@ -47754,192 +50453,127 @@ definitions: RevisionHeight gets reset - title: |- - QueryClientConnectionsResponse is the response type for the - Query/ClientConnections RPC method - ibc.core.connection.v1.QueryConnectionClientStateResponse: + description: >- + QueryConnectionResponse is the response type for the Query/Connection RPC + + method. Besides the connection end, it includes a proof and the height + from + + which the proof was retrieved. + ibc.core.connection.v1.QueryConnectionsResponse: type: object properties: - identified_client_state: - title: client state associated with the channel - type: object - properties: - client_id: - type: string - title: client identifier - client_state: - title: client state - type: object - properties: - '@type': - type: string + connections: + type: array + items: + type: object + properties: + id: + type: string + description: connection identifier. + client_id: + type: string + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: list of features compatible with the specified identifier description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: + Version defines the versioning scheme used to negotiate the + IBC verison in - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + the connection handshake. + title: >- + IBC version which can be utilised to determine encodings or + protocols for - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + channels or packets utilising this connection + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain associated + with a given - If the embedded message type is well-known and has a custom JSON + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty chain + associated with a - representation, that representation will be embedded adding a - field + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. - `value` which holds the custom JSON in addition to the `@type` + The constructed key from the Path and the key will be + append(Path.KeyPath, - field. Example (for message [google.protobuf.Duration][]): + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: delay period associated with this connection. + description: |- + IdentifiedConnection defines a connection with additional connection + identifier field. + description: list of stored connections of the chain. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + was set, its value is undefined otherwise description: |- - IdentifiedClientState defines a client state with an additional client - identifier field. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height type: object properties: revision_number: @@ -47966,429 +50600,848 @@ definitions: RevisionHeight gets reset - title: |- - QueryConnectionClientStateResponse is the response type for the - Query/ConnectionClientState RPC method - ibc.core.connection.v1.QueryConnectionConsensusStateResponse: - type: object - properties: - consensus_state: - title: consensus state associated with the channel - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. - + description: >- + QueryConnectionsResponse is the response type for the Query/Connections + RPC - Schemes other than `http`, `https` (or the empty scheme) might be + method. + ibc.core.connection.v1.State: + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + description: |- + State defines if a connection is in one of the following states: + INIT, TRYOPEN, OPEN or UNINITIALIZED. - used with implementation specific semantics. - additionalProperties: {} + - STATE_UNINITIALIZED_UNSPECIFIED: Default State + - STATE_INIT: A connection end has just started the opening handshake. + - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty + chain. + - STATE_OPEN: A connection end has completed the handshake. + ibc.core.connection.v1.Version: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: list of features compatible with the specified identifier + description: |- + Version defines the versioning scheme used to negotiate the IBC verison in + the connection handshake. + interchain_security.ccv.consumer.v1.NextFeeDistributionEstimate: + type: object + properties: + currentHeight: + type: string + format: int64 + title: current block height at the time of querying + lastHeight: + type: string + format: int64 + title: block height at which last distribution took place + nextHeight: + type: string + format: int64 + title: block height at which next distribution will take place + distribution_fraction: + type: string + title: ratio between consumer and provider fee distribution + total: + type: string + title: total accruead fees at the time of querying + toProvider: + type: string + title: amount distibuted to provider chain + toConsumer: + type: string + title: amount distributed (kept) by consumer chain + title: NextFeeDistributionEstimate holds information about next fee distribution + interchain_security.ccv.consumer.v1.Params: + type: object + properties: + enabled: + type: boolean + title: |- + TODO: Remove enabled flag and find a better way to setup e2e tests + See: https://github.com/cosmos/interchain-security/issues/339 + blocks_per_distribution_transmission: + type: string + format: int64 description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. + ///////////////////// - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Distribution Params - Example 2: Pack and unpack a message in Java. + Number of blocks between ibc-token-transfers from the consumer chain + to - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + the provider chain. Note that at this transmission event a fraction of - Example 3: Pack and unpack a message in Python. + the accumulated tokens are divided and sent consumer redistribution - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + address. + distribution_transmission_channel: + type: string + description: >- + Channel, and provider-chain receiving address to send distribution + token - Example 4: Pack and unpack a message in Go + transfers over. These parameters is auto-set during the consumer <-> - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + provider handshake procedure. + provider_fee_pool_addr_str: + type: string + ccv_timeout_period: + type: string + title: Sent CCV related IBC packets will timeout after this duration + transfer_timeout_period: + type: string + title: Sent transfer related IBC packets will timeout after this duration + consumer_redistribution_fraction: + type: string + description: >- + The fraction of tokens allocated to the consumer redistribution + address - The pack methods provided by protobuf library will by default use + during distribution events. The fraction is a string representing a - 'type.googleapis.com/full.type.name' as the type URL and the unpack + decimal number. For example "0.75" would represent 75%. + historical_entries: + type: string + format: int64 + description: >- + The number of historical info entries to persist in store. - methods only use the fully qualified type name after the last '/' + This param is a part of the cosmos sdk staking module. In the case of - in the type URL, for example "foo.bar.com/x/y.z" will yield type + a ccv enabled consumer chain, the ccv module acts as the staking + module. + unbonding_period: + type: string + description: |- + Unbonding period for the consumer, + which should be smaller than that of the provider in general. + soft_opt_out_threshold: + type: string + title: >- + The threshold for the percentage of validators at the bottom of the + set who - name "y.z". + can opt out of running the consumer chain without being punished. For + example, a + value of 0.05 means that the validators in the bottom 5% of the set + can opt out + reward_denoms: + type: array + items: + type: string + description: >- + Reward denoms. These are the denominations which are allowed to be + sent to the provider as rewards. + provider_reward_denoms: + type: array + items: + type: string + title: >- + Provider-originated reward denoms. These are denoms coming from the + provider + which are allowed to be used as rewards. e.g. "uatom" + title: Params defines the parameters for CCV consumer module + interchain_security.ccv.consumer.v1.QueryNextFeeDistributionEstimateResponse: + type: object + properties: + data: + type: object + properties: + currentHeight: + type: string + format: int64 + title: current block height at the time of querying + lastHeight: + type: string + format: int64 + title: block height at which last distribution took place + nextHeight: + type: string + format: int64 + title: block height at which next distribution will take place + distribution_fraction: + type: string + title: ratio between consumer and provider fee distribution + total: + type: string + title: total accruead fees at the time of querying + toProvider: + type: string + title: amount distibuted to provider chain + toConsumer: + type: string + title: amount distributed (kept) by consumer chain + title: >- + NextFeeDistributionEstimate holds information about next fee + distribution + interchain_security.ccv.consumer.v1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + enabled: + type: boolean + title: |- + TODO: Remove enabled flag and find a better way to setup e2e tests + See: https://github.com/cosmos/interchain-security/issues/339 + blocks_per_distribution_transmission: + type: string + format: int64 + description: >- + ///////////////////// - JSON + Distribution Params - ==== + Number of blocks between ibc-token-transfers from the consumer + chain to - The JSON representation of an `Any` value uses the regular + the provider chain. Note that at this transmission event a + fraction of - representation of the deserialized, embedded message, with an + the accumulated tokens are divided and sent consumer + redistribution - additional field `@type` which contains the type URL. Example: + address. + distribution_transmission_channel: + type: string + description: >- + Channel, and provider-chain receiving address to send distribution + token - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + transfers over. These parameters is auto-set during the consumer + <-> - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + provider handshake procedure. + provider_fee_pool_addr_str: + type: string + ccv_timeout_period: + type: string + title: Sent CCV related IBC packets will timeout after this duration + transfer_timeout_period: + type: string + title: Sent transfer related IBC packets will timeout after this duration + consumer_redistribution_fraction: + type: string + description: >- + The fraction of tokens allocated to the consumer redistribution + address - If the embedded message type is well-known and has a custom JSON + during distribution events. The fraction is a string representing + a - representation, that representation will be embedded adding a field + decimal number. For example "0.75" would represent 75%. + historical_entries: + type: string + format: int64 + description: >- + The number of historical info entries to persist in store. - `value` which holds the custom JSON in addition to the `@type` + This param is a part of the cosmos sdk staking module. In the case + of - field. Example (for message [google.protobuf.Duration][]): + a ccv enabled consumer chain, the ccv module acts as the staking + module. + unbonding_period: + type: string + description: |- + Unbonding period for the consumer, + which should be smaller than that of the provider in general. + soft_opt_out_threshold: + type: string + title: >- + The threshold for the percentage of validators at the bottom of + the set who - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - client_id: + can opt out of running the consumer chain without being punished. + For example, a + + value of 0.05 means that the validators in the bottom 5% of the + set can opt out + reward_denoms: + type: array + items: + type: string + description: >- + Reward denoms. These are the denominations which are allowed to be + sent to the provider as rewards. + provider_reward_denoms: + type: array + items: + type: string + title: >- + Provider-originated reward denoms. These are denoms coming from + the provider + + which are allowed to be used as rewards. e.g. "uatom" + title: Params defines the parameters for CCV consumer module + description: QueryParamsResponse is response type for the Query/Params RPC method. + pendulumlabs.market.market.Burnings: + type: object + properties: + denom: + type: string + amount: + type: string + pendulumlabs.market.market.Drop: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean + pendulumlabs.market.market.Leader: + type: object + properties: + address: + type: string + drops: + type: string + pendulumlabs.market.market.Member: + type: object + properties: + pair: + type: string + denomA: + type: string + denomB: + type: string + balance: + type: string + previous: + type: string + limit: + type: string + format: uint64 + stop: + type: string + format: uint64 + pendulumlabs.market.market.MsgCancelOrderResponse: + type: object + pendulumlabs.market.market.MsgCreateDropResponse: + type: object + pendulumlabs.market.market.MsgCreateOrderResponse: + type: object + properties: + uid: type: string - title: client ID associated with the consensus state - proof: + format: uint64 + pendulumlabs.market.market.MsgCreatePoolResponse: + type: object + pendulumlabs.market.market.MsgMarketOrderResponse: + type: object + properties: + amountBid: type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + amountAsk: + type: string + slippage: + type: string + pendulumlabs.market.market.MsgRedeemDropResponse: + type: object + pendulumlabs.market.market.Order: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pendulumlabs.market.market.OrderResponse: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pendulumlabs.market.market.Orders: + type: object + properties: + uids: + type: array + items: + type: string + format: uint64 + pendulumlabs.market.market.Params: + type: object + properties: + earn_rates: + type: string + title: |- + leader earnings rates + 1,2,3 Comma separated, no space + burn_rate: + type: string + title: pool burning rate + burn_coin: + type: string + title: burn coin + market_fee: + type: string + title: 'market_fee (parameter / 10000), 9999 representing as 99.99%' + description: Params defines the parameters for the module. + pendulumlabs.market.market.Pool: + type: object + properties: + pair: + type: string + denom1: + type: string + denom2: + type: string + volume1: type: object properties: - revision_number: + denom: type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + amount: + type: string + volume2: + type: object + properties: + denom: + type: string + amount: + type: string + leaders: + type: array + items: + type: object + properties: + address: + type: string + drops: + type: string + drops: + type: string + history: + type: string + format: uint64 + pendulumlabs.market.market.QueryAllBurningsResponse: + type: object + properties: + burnings: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that + title: >- + total is total number of results available if + PageRequest.count_total - height continues to be monitonically increasing even as the - RevisionHeight + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - gets reset - title: |- - QueryConnectionConsensusStateResponse is the response type for the - Query/ConnectionConsensusState RPC method - ibc.core.connection.v1.QueryConnectionResponse: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryAllMemberResponse: type: object properties: - connection: - title: connection associated with the request identifier + member: + type: array + items: + type: object + properties: + pair: + type: string + denomA: + type: string + denomB: + type: string + balance: + type: string + previous: + type: string + limit: + type: string + format: uint64 + stop: + type: string + format: uint64 + pagination: type: object properties: - client_id: + next_key: type: string - description: client associated with this connection. - versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - description: >- - IBC version which can be utilised to determine encodings or - protocols for - - channels or packets utilising this connection. - state: - description: current state of the connection end. + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryAllPoolResponse: + type: object + properties: + pool: + type: array + items: + type: object + properties: + pair: + type: string + denom1: + type: string + denom2: + type: string + volume1: + type: object + properties: + denom: + type: string + amount: + type: string + volume2: + type: object + properties: + denom: + type: string + amount: + type: string + leaders: + type: array + items: type: object properties: - key_prefix: + address: type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - delay_period: + drops: + type: string + drops: + type: string + history: + type: string + format: uint64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string format: uint64 - description: >- - delay period that must pass before a consensus state can be used - for - - packet-verification NOTE: delay period logic is only implemented - by some - - clients. - description: >- - ConnectionEnd defines a stateful object on a chain connected to - another - - separate one. + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: there must only be 2 defined ConnectionEnds to establish + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - a connection between two chains. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryAllVolumeResponse: + type: object + properties: + volumes: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + pagination: type: object properties: - revision_number: + next_key: type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - description: >- - QueryConnectionResponse is the response type for the Query/Connection RPC + title: >- + total is total number of results available if + PageRequest.count_total - method. Besides the connection end, it includes a proof and the height - from + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - which the proof was retrieved. - ibc.core.connection.v1.QueryConnectionsResponse: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryBookResponse: type: object properties: - connections: + book: type: array items: type: object properties: - id: + uid: type: string - description: connection identifier. - client_id: + format: uint64 + owner: type: string - description: client associated with this connection. - versions: + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: type: array items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - title: >- - IBC version which can be utilised to determine encodings or - protocols for - - channels or packets utilising this connection - state: - description: current state of the connection end. + type: string + prev: type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - The constructed key from the Path and the key will be - append(Path.KeyPath, + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - append(Path.KeyPrefix, key...)) - delay_period: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryBookendsResponse: + type: object + properties: + coinA: + type: string + coinB: + type: string + orderType: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + pendulumlabs.market.market.QueryBurnedResponse: + type: object + properties: + denom: + type: string + amount: + type: string + pendulumlabs.market.market.QueryDropAmountsResponse: + type: object + properties: + denom1: + type: string + denom2: + type: string + amount1: + type: string + amount2: + type: string + pendulumlabs.market.market.QueryDropCoinResponse: + type: object + properties: + drops: + type: string + amountB: + type: string + pendulumlabs.market.market.QueryDropPairsResponse: + type: object + properties: + pairs: + type: array + items: + type: string + pendulumlabs.market.market.QueryDropResponse: + type: object + properties: + drop: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean + pendulumlabs.market.market.QueryDropsResponse: + type: object + properties: + drops: + type: array + items: + type: object + properties: + uid: type: string format: uint64 - description: delay period associated with this connection. - description: |- - IdentifiedConnection defines a connection with additional connection - identifier field. - description: list of stored connections of the chain. + owner: + type: string + pair: + type: string + drops: + type: string + product: + type: string + active: + type: boolean pagination: - title: pagination response type: object properties: next_key: @@ -48413,324 +51466,317 @@ definitions: repeated Bar results = 1; PageResponse page = 2; } - height: - title: query block height + pendulumlabs.market.market.QueryGetBurningsResponse: + type: object + properties: + burnings: type: object properties: - revision_number: + denom: type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + amount: type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - description: >- - QueryConnectionsResponse is the response type for the Query/Connections - RPC - - method. - ibc.core.connection.v1.State: - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a connection is in one of the following states: - INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A connection end has just started the opening handshake. - - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty - chain. - - STATE_OPEN: A connection end has completed the handshake. - ibc.core.connection.v1.Version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: |- - Version defines the versioning scheme used to negotiate the IBC verison in - the connection handshake. - interchain_security.ccv.consumer.v1.NextFeeDistributionEstimate: - type: object - properties: - currentHeight: - type: string - format: int64 - title: current block height at the time of querying - lastHeight: - type: string - format: int64 - title: block height at which last distribution took place - nextHeight: - type: string - format: int64 - title: block height at which next distribution will take place - distribution_fraction: - type: string - title: ratio between consumer and provider fee distribution - total: - type: string - title: total accruead fees at the time of querying - toProvider: - type: string - title: amount distibuted to provider chain - toConsumer: - type: string - title: amount distributed (kept) by consumer chain - title: NextFeeDistributionEstimate holds information about next fee distribution - interchain_security.ccv.consumer.v1.Params: - type: object - properties: - enabled: - type: boolean - title: |- - TODO: Remove enabled flag and find a better way to setup e2e tests - See: https://github.com/cosmos/interchain-security/issues/339 - blocks_per_distribution_transmission: - type: string - format: int64 - description: >- - ///////////////////// - - Distribution Params - - Number of blocks between ibc-token-transfers from the consumer chain - to - - the provider chain. Note that at this transmission event a fraction of - - the accumulated tokens are divided and sent consumer redistribution - - address. - distribution_transmission_channel: - type: string - description: >- - Channel, and provider-chain receiving address to send distribution - token - - transfers over. These parameters is auto-set during the consumer <-> - - provider handshake procedure. - provider_fee_pool_addr_str: - type: string - ccv_timeout_period: - type: string - title: Sent CCV related IBC packets will timeout after this duration - transfer_timeout_period: - type: string - title: Sent transfer related IBC packets will timeout after this duration - consumer_redistribution_fraction: - type: string - description: >- - The fraction of tokens allocated to the consumer redistribution - address - - during distribution events. The fraction is a string representing a - - decimal number. For example "0.75" would represent 75%. - historical_entries: - type: string - format: int64 - description: >- - The number of historical info entries to persist in store. - - This param is a part of the cosmos sdk staking module. In the case of - - a ccv enabled consumer chain, the ccv module acts as the staking - module. - unbonding_period: - type: string - description: |- - Unbonding period for the consumer, - which should be smaller than that of the provider in general. - soft_opt_out_threshold: - type: string - title: >- - The threshold for the percentage of validators at the bottom of the - set who - - can opt out of running the consumer chain without being punished. For - example, a - - value of 0.05 means that the validators in the bottom 5% of the set - can opt out - reward_denoms: - type: array - items: - type: string - description: >- - Reward denoms. These are the denominations which are allowed to be - sent to the provider as rewards. - provider_reward_denoms: - type: array - items: - type: string - title: >- - Provider-originated reward denoms. These are denoms coming from the - provider - - which are allowed to be used as rewards. e.g. "uatom" - title: Params defines the parameters for CCV consumer module - interchain_security.ccv.consumer.v1.QueryNextFeeDistributionEstimateResponse: + pendulumlabs.market.market.QueryGetMemberResponse: type: object properties: - data: + member: type: object properties: - currentHeight: + pair: type: string - format: int64 - title: current block height at the time of querying - lastHeight: + denomA: type: string - format: int64 - title: block height at which last distribution took place - nextHeight: + denomB: type: string - format: int64 - title: block height at which next distribution will take place - distribution_fraction: + balance: type: string - title: ratio between consumer and provider fee distribution - total: + previous: type: string - title: total accruead fees at the time of querying - toProvider: + limit: + type: string + format: uint64 + stop: + type: string + format: uint64 + pendulumlabs.market.market.QueryGetPoolResponse: + type: object + properties: + pool: + type: object + properties: + pair: + type: string + denom1: + type: string + denom2: + type: string + volume1: + type: object + properties: + denom: + type: string + amount: + type: string + volume2: + type: object + properties: + denom: + type: string + amount: + type: string + leaders: + type: array + items: + type: object + properties: + address: + type: string + drops: + type: string + drops: type: string - title: amount distibuted to provider chain - toConsumer: + history: type: string - title: amount distributed (kept) by consumer chain - title: >- - NextFeeDistributionEstimate holds information about next fee - distribution - interchain_security.ccv.consumer.v1.QueryParamsResponse: + format: uint64 + pendulumlabs.market.market.QueryHistoryResponse: type: object properties: - params: - description: params holds all the parameters of this module. + history: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pagination: type: object properties: - enabled: - type: boolean + next_key: + type: string + format: byte title: |- - TODO: Remove enabled flag and find a better way to setup e2e tests - See: https://github.com/cosmos/interchain-security/issues/339 - blocks_per_distribution_transmission: + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - format: int64 - description: >- - ///////////////////// - - Distribution Params - - Number of blocks between ibc-token-transfers from the consumer - chain to - - the provider chain. Note that at this transmission event a - fraction of + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - the accumulated tokens are divided and sent consumer - redistribution + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - address. - distribution_transmission_channel: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryOrderOwnerUidsResponse: + type: object + properties: + orders: + type: object + properties: + uids: + type: array + items: + type: string + format: uint64 + pagination: + type: object + properties: + next_key: type: string - description: >- - Channel, and provider-chain receiving address to send distribution - token + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - transfers over. These parameters is auto-set during the consumer - <-> + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - provider handshake procedure. - provider_fee_pool_addr_str: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryOrderResponse: + type: object + properties: + order: + type: object + properties: + uid: type: string - ccv_timeout_period: + format: uint64 + owner: type: string - title: Sent CCV related IBC packets will timeout after this duration - transfer_timeout_period: + status: type: string - title: Sent transfer related IBC packets will timeout after this duration - consumer_redistribution_fraction: + orderType: type: string - description: >- - The fraction of tokens allocated to the consumer redistribution - address - - during distribution events. The fraction is a string representing - a - - decimal number. For example "0.75" would represent 75%. - historical_entries: + denomAsk: type: string - format: int64 - description: >- - The number of historical info entries to persist in store. - - This param is a part of the cosmos sdk staking module. In the case - of - - a ccv enabled consumer chain, the ccv module acts as the staking - module. - unbonding_period: + denomBid: type: string - description: |- - Unbonding period for the consumer, - which should be smaller than that of the provider in general. - soft_opt_out_threshold: + amount: type: string - title: >- - The threshold for the percentage of validators at the bottom of - the set who - - can opt out of running the consumer chain without being punished. - For example, a - - value of 0.05 means that the validators in the bottom 5% of the - set can opt out - reward_denoms: + rate: type: array items: type: string - description: >- - Reward denoms. These are the denominations which are allowed to be - sent to the provider as rewards. - provider_reward_denoms: - type: array - items: + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: + type: string + format: int64 + pendulumlabs.market.market.QueryOrdersResponse: + type: object + properties: + orders: + type: array + items: + type: object + properties: + uid: + type: string + format: uint64 + owner: + type: string + status: + type: string + orderType: + type: string + denomAsk: + type: string + denomBid: + type: string + amount: + type: string + rate: + type: array + items: + type: string + prev: + type: string + format: uint64 + next: + type: string + format: uint64 + beg_time: + type: string + format: int64 + upd_time: type: string + format: int64 + pagination: + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 title: >- - Provider-originated reward denoms. These are denoms coming from - the provider + total is total number of results available if + PageRequest.count_total - which are allowed to be used as rewards. e.g. "uatom" - title: Params defines the parameters for CCV consumer module + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + pendulumlabs.market.market.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + earn_rates: + type: string + title: |- + leader earnings rates + 1,2,3 Comma separated, no space + burn_rate: + type: string + title: pool burning rate + burn_coin: + type: string + title: burn coin + market_fee: + type: string + title: 'market_fee (parameter / 10000), 9999 representing as 99.99%' description: QueryParamsResponse is response type for the Query/Params RPC method. + pendulumlabs.market.market.QueryQuoteResponse: + type: object + properties: + denom: + type: string + amount: + type: string + pendulumlabs.market.market.QueryVolumeResponse: + type: object + properties: + amount: + type: string + pendulumlabs.market.market.Volume: + type: object + properties: + denom: + type: string + amount: + type: string diff --git a/go.mod b/go.mod index 7c5bf9a..bc09d33 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( // NOTE: the canonical consumer version can be different from the producer, check the ICS repo github.com/cosmos/interchain-security v1.2.0-multiden github.com/gorilla/mux v1.8.0 + github.com/pendulum-labs/market v1.1.0 // NOTE: change the version in the replace line github.com/rakyll/statik v0.1.7 github.com/spf13/cast v1.5.1 github.com/stretchr/testify v1.8.3 @@ -151,10 +152,11 @@ require ( replace ( github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - //github.com/cosmos/cosmos-sdk => ../../onomy-sdk + //github.com/cosmos/cosmos-sdk => ../onomy-sdk github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.45.16-ics github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 github.com/keybase/go-keychain => github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 + github.com/pendulum-labs/market => github.com/onomyprotocol/market v1.1.0 github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.28 google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index 96a77ae..6308997 100644 --- a/go.sum +++ b/go.sum @@ -2205,6 +2205,8 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onomyprotocol/market v1.1.0 h1:erVL2LMdv8cRbrKeCyQfo7TAPdFuedpv1L7fBxR19sE= +github.com/onomyprotocol/market v1.1.0/go.mod h1:0AHp+qkE0BFNb0B+Y32Z9Zzbs5pRWctQ0QzbLrqTwiU= github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= diff --git a/makefile b/makefile index 64a4120..5d38e0d 100644 --- a/makefile +++ b/makefile @@ -54,4 +54,4 @@ test: build: go build $(BUILD_FLAGS) ./cmd/consumer-democracy - mv ./consumer-democracy appnamed + mv ./consumer-democracy onexd diff --git a/tests/src/bin/ics_with_onomyd.rs b/tests/src/bin/ics_with_onomyd.rs index b761a00..cf6444f 100644 --- a/tests/src/bin/ics_with_onomyd.rs +++ b/tests/src/bin/ics_with_onomyd.rs @@ -18,6 +18,7 @@ use onomy_test_lib::{ hermes_set_gas_price_denom, hermes_start, sh_hermes, write_hermes_config, HermesChainConfig, IbcPair, }, + market::{CoinPair, Market}, onomy_std_init, reprefix_bech32, setups::{cosmovisor_add_consumer, cosmovisor_setup, test_proposal, CosmosSetupOptions}, super_orchestrator::{ @@ -29,7 +30,7 @@ use onomy_test_lib::{ }, token18, u64_array_bigints, u64_array_bigints::u256, - yaml_str_to_json_value, Args, ONOMY_IBC_NOM, STD_DELAY, STD_TRIES, TIMEOUT, + yaml_str_to_json_value, Args, ONOMY_IBC_NOM, STD_DELAY, STD_TRIES, TEST_AMOUNT, TIMEOUT, }; use serde_json::json; use tokio::time::sleep; @@ -225,9 +226,9 @@ async fn onomyd_runner(args: &Args) -> Result<()> { .stack() .stack()?; - let cosmores = cosmovisor_setup(CosmosSetupOptions::onomy(daemon_home)) - .await - .stack()?; + let mut options = CosmosSetupOptions::onomy(daemon_home); + options.large_test_amount = true; + let cosmores = cosmovisor_setup(options).await.stack()?; // send mnemonic to hermes nm_hermes .send::(&cosmores.hermes_mnemonic.stack()?) @@ -286,7 +287,7 @@ async fn onomyd_runner(args: &Args) -> Result<()> { .cosmovisor_ibc_transfer( "validator", &reprefix_bech32(addr, CONSUMER_ACCOUNT_PREFIX).stack()?, - &token18(2.0e3, ""), + &TEST_AMOUNT.checked_short_divide(5).unwrap().0.to_string(), "anom", ) .await @@ -336,15 +337,15 @@ async fn consumer(args: &Args) -> Result<()> { // we need the initial consumer state let ccvconsumer_state_s: String = nm_onomyd.recv().await.stack()?; - cosmovisor_setup(CosmosSetupOptions::new( + let mut options = CosmosSetupOptions::new( daemon_home, chain_id, "anative", "anative", Some(&ccvconsumer_state_s), - )) - .await - .stack()?; + ); + options.large_test_amount = true; + cosmovisor_setup(options).await.stack()?; // get keys let node_key = nm_onomyd.recv::().await.stack()?; @@ -423,6 +424,57 @@ async fn consumer(args: &Args) -> Result<()> { .stack()?; wait_for_num_blocks(4).await.stack()?; + // market module specific sanity checks (need to check all tx commands + // specifically to make sure permissions are correct) + + let coin_pair = CoinPair::new("anative", ibc_nom).stack()?; + let mut market = Market::new("validator", &format!("1000000{ibc_nom}")); + market.max_gas = Some(u256!(1000000)); + market + .create_pool(&coin_pair, Market::MAX_COIN, Market::MAX_COIN) + .await + .stack()?; + market + .create_drop(&coin_pair, Market::MAX_COIN_SQUARED) + .await + .stack()?; + market.show_pool(&coin_pair).await.stack()?; + market.show_members(&coin_pair).await.stack()?; + market + .market_order( + coin_pair.coin_a(), + Market::MAX_COIN, + coin_pair.coin_b(), + Market::MAX_COIN, + 5000, + ) + .await + .stack()?; + market.redeem_drop(1).await.stack()?; + market + .create_order( + coin_pair.coin_a(), + coin_pair.coin_b(), + "stop", + Market::MAX_COIN, + (1100, 900), + (0, 0), + ) + .await + .stack()?; + market + .create_order( + coin_pair.coin_a(), + coin_pair.coin_b(), + "limit", + Market::MAX_COIN, + (1100, 900), + (0, 0), + ) + .await + .stack()?; + market.cancel_order(6).await.stack()?; + let pubkey = sh_cosmovisor(["tendermint show-validator"]).await.stack()?; let pubkey = pubkey.trim(); sh_cosmovisor_tx([ diff --git a/tests/src/lib/common.rs b/tests/src/lib/common.rs index 968173a..755724b 100644 --- a/tests/src/lib/common.rs +++ b/tests/src/lib/common.rs @@ -1,7 +1,7 @@ use onomy_test_lib::dockerfiles::{onomy_std_cosmos_daemon_with_arbitrary, ONOMYD_VERSION}; pub const PROVIDER_VERSION: &str = ONOMYD_VERSION; -pub const CONSUMER_ID: &str = "appname"; +pub const CONSUMER_ID: &str = "onex"; pub const CONSUMER_VERSION: &str = "v0.1.0"; pub const PROVIDER_ACCOUNT_PREFIX: &str = "onomy"; pub const CONSUMER_ACCOUNT_PREFIX: &str = "onomy"; @@ -19,5 +19,5 @@ pub fn consumer_directory() -> String { const DOWNLOAD_ONOMYD: &str = r#"ADD https://github.com/onomyprotocol/onomy/releases/download/$DAEMON_VERSION/onomyd $DAEMON_HOME/cosmovisor/genesis/$DAEMON_VERSION/bin/onomyd"#; pub fn dockerfile_onomyd() -> String { - onomy_std_cosmos_daemon_with_arbitrary("onomyd", ".onomy", PROVIDER_VERSION, DOWNLOAD_ONOMYD) + onomy_std_cosmos_daemon_with_arbitrary("onomyd", ".onomy", ONOMYD_VERSION, DOWNLOAD_ONOMYD) }