From f915d54b961ae1fbc6d72243c08e796b799adfbb Mon Sep 17 00:00:00 2001 From: webbushka Date: Tue, 30 Jan 2024 02:09:13 +0000 Subject: [PATCH] Updated SDK spec changes from provenance/x --- docs/sdk/README.md | 4 + docs/sdk/exchange/01_concepts.md | 106 +- docs/sdk/exchange/02_state.md | 54 +- docs/sdk/exchange/03_messages.md | 219 +- docs/sdk/exchange/04_events.md | 85 +- docs/sdk/exchange/05_queries.md | 128 +- docs/sdk/exchange/06_params.md | 4 +- docs/sdk/marker/03_messages.md | 8 +- docs/sdk/reward/03_state_transitions.md | 6 +- openapi/swagger.yaml | 83009 +++++++++++++--------- 10 files changed, 49443 insertions(+), 34180 deletions(-) diff --git a/docs/sdk/README.md b/docs/sdk/README.md index 495b1901f..7d326fb14 100644 --- a/docs/sdk/README.md +++ b/docs/sdk/README.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 0 +--- + # List of Modules Modules are the code components of the Provenance Blockchain that execute the majority of the business logic for applications. The [Cosmos SDK](https://docs.cosmos.network/v0.47) enables developers to build modules that utilize the core structure of the SDK to allow the modules to function together. To read more about creating modules, refer to the [Cosmos documentation on modules](https://docs.cosmos.network/v0.47/building-modules/intro). diff --git a/docs/sdk/exchange/01_concepts.md b/docs/sdk/exchange/01_concepts.md index 501768fb6..780639c48 100644 --- a/docs/sdk/exchange/01_concepts.md +++ b/docs/sdk/exchange/01_concepts.md @@ -12,15 +12,18 @@ The exchange module defines a portion of market fees to be paid to the chain (di - [Required Attributes](#required-attributes) - [Market Permissions](#market-permissions) - [Settlement](#settlement) + - [Commitment Settlement](#commitment-settlement) - [Orders](#orders) - [Ask Orders](#ask-orders) - [Bid Orders](#bid-orders) - [Partial Orders](#partial-orders) - [External IDs](#external-ids) + - [Commitments](#commitments) - [Fees](#fees) - [Order Creation Fees](#order-creation-fees) - [Settlement Flat Fees](#settlement-flat-fees) - [Settlement Ratio Fees](#settlement-ratio-fees) + - [Commitment Fees](#commitment-fees) - [Exchange Fees](#exchange-fees) @@ -33,13 +36,14 @@ Fees can only be managed with a governance proposal using the [MsgGovManageFeesR Each market has a set of optional details designed for human-use, e.g. name, description, website url. -A market is responsible (off-chain) for identifying order matches and triggering (on-chain) settlement. +If a market accepts orders, it is responsible (off-chain) for identifying order matches and triggering (on-chain) settlement. +If a market accepts commitments, it is able to manage committed funds and is responsible for releasing commitments as needed. A market receives fees for order creation and order settlement. It also defines what fees are required and what is acceptable as payments. A market can delegate various [permissions](#market-permissions) to other accounts, allowing those accounts to use specific endpoints on behalf of the market. -Markets can restrict who can create orders with them by defining account attributes that are required to create orders. See [Required Attributes](#required-attributes). +Markets can restrict who can create orders or commitments with them by defining account attributes that are required to create orders. See [Required Attributes](#required-attributes). Markets can control whether user-settlement is allowed. When user-settlement is allowed, the [FillBids](03_messages.md#fillbids) and [FillAsks](03_messages.md#fillasks) endpoints can be used for orders in the market. @@ -47,14 +51,18 @@ When user-settlement is allowed, the [FillBids](03_messages.md#fillbids) and [Fi A market can also control whether orders can be created for it. When order creation is not allowed, any existing orders can still be settled or cancelled, but no new ones can be made (in that market). +A market can separately control whether funds can be committed to it. +When commitments are not allowed, any existing commitments can still be settled or cancelled, but no new funds can be committed (to that market). + The fees collected by a market are kept in the market's account, and can be accessed using the [MarketWithdraw](03_messages.md#marketwithdraw) endpoint. See also: [Market](03_messages.md#market). + ### Required Attributes -There is a separate list of attributes required to create each order type. -If one or more attributes are required to create an order of a certain type, the order creator (buyer or seller) must have all of them on their account. +There is a separate list of attributes required to create each order type and commitments. +If one or more attributes are required for an action, the associated account (e.g. buyer, seller, or committer) must have all of them on their account. Required attributes can have a wildcard at the start to indicate that any attribute with the designated base and one (or more) level(s) is applicable. The only place a wildcard `*` is allowed is at the start of the string and must be immediately followed by a period. @@ -62,6 +70,7 @@ For example, a required attribute of `*.kyc.pb` would match an account attribute Attributes are defined using the [x/name](/x/name/spec/README.md) module, and are managed on accounts using the [x/attributes](/x/attribute/spec/README.md) module. + ### Market Permissions The different available permissions are defined by the [Permission](03_messages.md#permission) proto enum message. @@ -71,9 +80,9 @@ Each market manages its own set of [AccessGrants](03_messages.md#accessgrant), w * `PERMISSION_UNSPECIFIED`: it is an error to try to use this permission for anything. * `PERMISSION_SETTLE`: accounts with this permission can use the [MarketSettle](03_messages.md#marketsettle) endpoint for a market. * `PERMISSION_SET_IDS`: accounts with this permission can use the [MarketSetOrderExternalID](03_messages.md#marketsetorderexternalid) endpoint for a market. -* `PERMISSION_CANCEL`: accounts with this permission can use the [CancelOrder](03_messages.md#cancelorder) endpoint to cancel orders in a market. +* `PERMISSION_CANCEL`: accounts with this permission can use the [CancelOrder](03_messages.md#cancelorder) and [MarketReleaseCommitments](03_messages.md#marketreleasecommitments) endpoints to cancel orders and release commitments in a market. * `PERMISSION_WITHDRAW`: accounts with this permission can use the [MarketWithdraw](03_messages.md#marketwithdraw) endpoint for a market. -* `PERMISSION_UPDATE`: accounts with this permission can use the [MarketUpdateDetails](03_messages.md#marketupdatedetails), [MarketUpdateEnabled](03_messages.md#marketupdateenabled), and [MarketUpdateUserSettle](03_messages.md#marketupdateusersettle) endpoints for a market. +* `PERMISSION_UPDATE`: accounts with this permission can use the [MarketUpdateDetails](03_messages.md#marketupdatedetails), [MarketUpdateAcceptingOrders](03_messages.md#marketupdateacceptingorders), [MarketUpdateUserSettle](03_messages.md#marketupdateusersettle), [MarketUpdateAcceptingCommitments](03_messages.md#marketupdateacceptingcommitments), and [MarketUpdateIntermediaryDenom](03_messages.md#marketupdateintermediarydenom) endpoints for a market. * `PERMISSION_PERMISSIONS`: accounts with this permission can use the [MarketManagePermissions](03_messages.md#marketmanagepermissions) endpoint for a market. * `PERMISSION_ATTRIBUTES`: accounts with this permission can use the [MarketManageReqAttrs](03_messages.md#marketmanagereqattrs) endpoint for a market. @@ -109,6 +118,23 @@ E.g. If an order's funds are in a sanctioned account, settlement of that order w Or, if a marker has required attributes, but the recipient does not have those attributes, settlement will fail. +### Commitment Settlement + +A market can move funds committed to it by using the [MarketCommitmentSettle](03_messages.md#marketcommitmentsettle) endpoint. + +During commitment settlement: + +1. Holds are released on the funds to be transferred. +2. The funds are transferred. +3. The funds are re-committed in the destination accounts. + +The market can collect fees as part of this settlement, but is also charged extra fees for the tx. +See also: [Commitment Fees](#commitment-fees). + +The funds are re-committed regardless of the market's `accepting_commitments` value. +The accounts these funds are being re-committed to also are not required to have the create-commitment required attributes. + + ## Orders Orders are created by users that want to trade assets in a market. @@ -208,6 +234,23 @@ Orders with external ids can be looked up using the [GetOrderByExternalID](05_qu External ids are limited to 100 characters. + +## Commitments + +A Commitment allows an account to give control of some of its funds to a market. + +When funds are committed to a market, they remain in the source account and a [hold](../../hold/spec/01_concepts.md#holds) is placed on them. +Committed funds are not usable by the account they are in; only the market can move them. +The funds stay in the account until the market either moves them using the [MarketCommitmentSettle](03_messages.md#marketcommitmentsettle) endpoint or cancels the commitment in part or full. +Commitments can only be cancelled by the market (or a governance proposal). + +For a market to start accepting commitments, it must have either a settlement bips, or a commitment creation flat fee defined. +If a settlement bips is defined, an intermediary denom must also be defined and a NAV must exist from the intermediary denom to the chain's fee denom. + +Management of the settlement bips and commitment creation fee options is part of the fee-management governance proposal. +The `accepting_commitments` flag and intermediary denom are managed using the [MarketUpdateAcceptingCommitments](03_messages.md#marketupdateacceptingcommitments) and [MarketUpdateIntermediaryDenom](03_messages.md#marketupdateintermediarydenom) endpoints. + + ## Fees Markets dictate the minimum required fees. It's possible to pay more than the required fees, but not less. @@ -215,11 +258,12 @@ Markets dictate the minimum required fees. It's possible to pay more than the re A portion of the fees that a market collects are sent to the blockchain and distributed similar to gas fees. This portion is dictated by the exchange module in its [params](06_params.md). -There are three types of fees: +There are several types of fees: * Order creation: Flat fees paid at the time that an order is created. * Settlement flat fees: A fee paid during settlement that is the same for each order. * Settlement ratio fees: A fee paid during settlement that is based off of the order's price. +* Commitment fees: Fees paid in relation to commitments. For each fee type, there is a configuration for each order type. E.g. the ask-order creation fee is configured separately from the bid-order creation fee. @@ -309,6 +353,54 @@ The buyer settlement ratio fee should be added to the buyer settlement flat fee The ratio and flat fees can be in any denoms allowed by the market, and do not have to be the same. +### Commitment Fees + +A market can collect commitment fees at commitment creation and/or during settlement. + +A market is also charged an extra Tx fee when doing a settlement. + +#### Commitment Creation Fees + +Similar to order creation fees, these are paid by the committer at the time of committal. +A portion of these fees are given to the exchange. +This can only be defined as a flat fee: `fee_create_commitment_flat`: The available `Coin` fee options that are paid by the committer when committing funds. +The commitment's `creation_fee` must be at least one of the available `fee_create_commitment_flat` options. + +#### Commitment Settlement Fee Collection + +During a commitment settlement, a market can collect fees by populating the `fees` field in the [MsgMarketCommitmentSettleRequest](03_messages.md#msgmarketcommitmentsettlerequest). +The exchange does **NOT** keep any portion of these fees. +Only fees that have been committed to the market can be collected in this way. + +#### Commitment Settlement Fee Charge + +An additional fee is charged (similar to a msg-based fee) for commitment settlements that is based on the total funds being moved. +The [CommitmentSettlementFeeCalc](05_queries.md#commitmentsettlementfeecalc) query can be used to find out how much the fee will be for a commitment settlement. +This fee is provided as a portion of the tx fees (in addition to any gas or other fees). + +The fee is calculated as such: + +1. Sum the settlement inputs. +2. Use Marker Net-Asset-Value (NAV) entries (or provided NAV entries) to convert the total into the market's intermediary denom (any amounts in the fee denom are not converted). +3. A NAV is used to convert the intermediary total to the fee denom (which is added to any fee denom amount in the inputs). +4. The market's `commitment_settlement_bips` is applied to the fee denom total. +5. That total is divided by two to get the final fee amount. + +During step 2, the amount of the intermediary denom is tracked as a real number (not limited to integers). +At the end of that step, the sum is rounded up to the next integer. + +Technically both steps 4 and 5 are done together by doing `amount * bips / 20,000`. If that is not an integer, the result is rounded up. + +If a NAV is needed for fee calculation, but does not exist (or wasn't provided), commitment settlement will fail. +To help, NAVs can be provided as part of a commitment settlement and the marker module will be updated with any NAV info provided. +NAVs are **NOT** updated in the query, only when provided as part of a settlement. +NAVs provided to the query are still used for that query, though. + +The total is divided by two because the sum of the inputs is effectively double what we usually think of as the "value of a trade". +E.g. If buying `1candybar` for `99cusd`, we think of the value of that trade as $0.99. +Without the halving, though, we might have ended up with a total of $1.98 by converting the `1candybar` into `cusd` (hopefully `99cusd`) and adding that to the other `99cusd`. + + ### Exchange Fees A portion of the fees collected by a market, are given to the exchange. diff --git a/docs/sdk/exchange/02_state.md b/docs/sdk/exchange/02_state.md index 710d6a7dd..36a7b6d61 100644 --- a/docs/sdk/exchange/02_state.md +++ b/docs/sdk/exchange/02_state.md @@ -12,15 +12,20 @@ Big-endian ordering is used for all conversions between numbers and byte arrays. - [Markets](#markets) - [Market Create-Ask Flat Fee](#market-create-ask-flat-fee) - [Market Create-Bid Flat Fee](#market-create-bid-flat-fee) + - [Market Create-Commitment Flat Fee](#market-create-commitment-flat-fee) - [Market Seller Settlement Flat Fee](#market-seller-settlement-flat-fee) - [Market Seller Settlement Ratio Fee](#market-seller-settlement-ratio-fee) - [Market Buyer Settlement Flat Fee](#market-buyer-settlement-flat-fee) - [Market Buyer Settlement Ratio Fee](#market-buyer-settlement-ratio-fee) - - [Market Inactive Indicator](#market-inactive-indicator) + - [Market Not-Accepting-Orders Indicator](#market-not-accepting-orders-indicator) - [Market User-Settle Indicator](#market-user-settle-indicator) + - [Market Accepting Commitments Indicator](#market-accepting-commitments-indicator) - [Market Permissions](#market-permissions) - [Market Create-Ask Required Attributes](#market-create-ask-required-attributes) - [Market Create-Bid Required Attributes](#market-create-bid-required-attributes) + - [Market Create-Commitment Required Attributes](#market-create-commitment-required-attributes) + - [Market Commitment Settlement Bips](#market-commitment-settlement-bips) + - [Market Intermediary Denom](#market-intermediary-denom) - [Market Account](#market-account) - [Market Details](#market-details) - [Known Market ID](#known-market-id) @@ -29,6 +34,7 @@ Big-endian ordering is used for all conversions between numbers and byte arrays. - [Ask Orders](#ask-orders) - [Bid Orders](#bid-orders) - [Last Order ID](#last-order-id) + - [Commitments](#commitments) - [Indexes](#indexes) - [Market to Order](#market-to-order) - [Owner Address to Order](#owner-address-to-order) @@ -92,6 +98,14 @@ One entry per configured denom. * Value: `` +### Market Create-Commitment Flat Fee + +One entry per configured denom. + +* Key: `0x01 | | 0x11 | ` +* Value: `` + + ### Market Seller Settlement Flat Fee One entry per configured denom. @@ -128,7 +142,7 @@ One entry per configured price:fee denom pair. See also: [FeeRatio](03_messages.md#feeratio). -### Market Inactive Indicator +### Market Not-Accepting-Orders Indicator When a market has `accepting_orders = false`, this state entry will exist. When it has `accepting_orders = true`, this entry will not exist. @@ -146,6 +160,15 @@ When it has `allow_user_settlement = false`, this entry will not exist. * Value: `` +### Market Accepting Commitments Indicator + +When a market has `accepting_commitments = true`, this state entry will exist. +When it has `accepting_commitments = false`, this entry will not exist. + +* Key: `0x01 | | 0x10` +* Value: `` + + ### Market Permissions When an address has a given permission in a market, the following entry will exist. @@ -170,12 +193,32 @@ See also: [AccessGrant](03_messages.md#accessgrant) and [Permission](03_messages * Value: `` +### Market Create-Commitment Required Attributes + +* Key: `0x01 | | 0x09 | 0x63` +* Value: `` + + +### Market Commitment Settlement Bips + +Commitment Settlement Bips is stored as a uint16. + +* Key: `0x01 | | 0x12` +* Value: `` + + +### Market Intermediary Denom + +* Key: `0x01 | | 0x13` +* Value: `` + + ### Market Account Each market has an associated `MarketAccount` with an address derived from the `market_id`. Each `MarketAccount` is stored using the `Accounts` module. -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L14-L26 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L14-L26 ### Market Details @@ -244,6 +287,11 @@ Then this entry is updated to reflect the new order. * Value: `` +### Commitments + +* Key: `0x63 | (4 bytes) | | ` +* Value: `` + ## Indexes Several index entries are maintained to help facilitate look-ups. diff --git a/docs/sdk/exchange/03_messages.md b/docs/sdk/exchange/03_messages.md index b2e18557f..47453ec66 100644 --- a/docs/sdk/exchange/03_messages.md +++ b/docs/sdk/exchange/03_messages.md @@ -7,21 +7,27 @@ The exchange module has `Msg` endpoints for users, markets, and governance propo - [User Endpoints](#user-endpoints) - [CreateAsk](#createask) - [CreateBid](#createbid) + - [CommitFunds](#commitfunds) - [CancelOrder](#cancelorder) - [FillBids](#fillbids) - [FillAsks](#fillasks) - [Market Endpoints](#market-endpoints) - [MarketSettle](#marketsettle) + - [MarketCommitmentSettle](#marketcommitmentsettle) + - [MarketReleaseCommitments](#marketreleasecommitments) - [MarketSetOrderExternalID](#marketsetorderexternalid) - [MarketWithdraw](#marketwithdraw) - [MarketUpdateDetails](#marketupdatedetails) - - [MarketUpdateEnabled](#marketupdateenabled) + - [MarketUpdateAcceptingOrders](#marketupdateacceptingorders) - [MarketUpdateUserSettle](#marketupdateusersettle) + - [MarketUpdateAcceptingCommitments](#marketupdateacceptingcommitments) + - [MarketUpdateIntermediaryDenom](#marketupdateintermediarydenom) - [MarketManagePermissions](#marketmanagepermissions) - [MarketManageReqAttrs](#marketmanagereqattrs) - [Governance Proposals](#governance-proposals) - [GovCreateMarket](#govcreatemarket) - [GovManageFees](#govmanagefees) + - [GovCloseMarket](#govclosemarket) - [GovUpdateParams](#govupdateparams) @@ -52,15 +58,15 @@ It is expected to fail if: #### MsgCreateAskRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L68-L76 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L97-L105 #### AskOrder -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/orders.proto#L28-L53 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/orders.proto#L28-L53 #### MsgCreateAskResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L78-L82 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L107-L111 ### CreateBid @@ -85,15 +91,36 @@ It is expected to fail if: #### MsgCreateBidRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L84-L92 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L113-L121 #### BidOrder -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/orders.proto#L55-L78 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/orders.proto#L55-L78 #### MsgCreateBidResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L94-L98 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L123-L127 + + +### CommitFunds + +Funds can be committed to a market using the `CommitFunds` endpoint. +If the account already has funds committed to the market, the provided funds are added to that commitment amount. + +It is expected to fail if: +* The market does not exist. +* The market is not accepting commitments. +* The market requires attributes in order to create commitments and the `account` is missing one or more. +* The `creation_fee` is insufficient (as dictated by the market). +* The `amount` is not spendable in the account (after paying the creation fee). + +#### MsgCommitFundsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L129-L144 + +#### MsgCommitFundsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L146-L147 ### CancelOrder @@ -115,11 +142,11 @@ It is expected to fail if: #### MsgCancelOrderRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L100-L110 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L149-L159 #### MsgCancelOrderResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L112-L113 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L161-L162 ### FillBids @@ -146,11 +173,11 @@ It is expected to fail if: #### MsgFillBidsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L115-L135 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L164-L184 #### MsgFillBidsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L137-L138 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L186-L187 ### FillAsks @@ -177,11 +204,11 @@ It is expected to fail if: #### MsgFillAsksRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L140-L161 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L189-L210 #### MsgFillAsksResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L163-L164 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L212-L213 ## Market Endpoints @@ -216,11 +243,53 @@ It is expected to fail if: #### MsgMarketSettleRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L166-L183 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L215-L232 #### MsgMarketSettleResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L185-L186 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L234-L235 + + +### MarketCommitmentSettle + +A market can move committed funds using the `MarketCommitmentSettle` endpoint. +The `admin` must have the `PERMISSION_SETTLE` permission in the market (or be the `authority`). + +It is expected to fail if: +* The market does not exist. +* The `admin` does not have `PERMISSION_SETTLE` in the market, and is not the `authority`. +* The sum of the `inputs` does not equal the sum of the `outputs`. +* Not enough funds have been committed by one or more accounts to the market. +* A NAV is needed (for fee calculation) that does not exist and was not provided. + +#### MsgMarketCommitmentSettleRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L237-L257 + +#### MsgMarketCommitmentSettleResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L259-L260 + + +### MarketReleaseCommitments + +A market can release committed funds using the `MarketReleaseCommitments` endpoint. +The `admin` must have the `PERMISSION_CANCEL` permission in the market (or be the `authority`). + +Providing an empty amount indicates that all funds currently committed in that account (to the market) should be released. + +It is expected to fail if: +* The market does not exist. +* The `admin` does not have `PERMISSION_CANCEL` in the market, and is not the `authority`. +* One or more of the amounts is more than what is currently committed by the associated `account`. + +#### MsgMarketReleaseCommitmentsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L262-L275 + +#### MsgMarketReleaseCommitmentsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L277-L278 ### MarketSetOrderExternalID @@ -242,11 +311,11 @@ It is expected to fail if: #### MsgMarketSetOrderExternalIDRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L188-L202 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L280-L294 #### MsgMarketSetOrderExternalIDResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L204-L205 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L296-L297 ### MarketWithdraw @@ -263,11 +332,11 @@ It is expected to fail if: #### MsgMarketWithdrawRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L207-L221 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L299-L313 #### MsgMarketWithdrawResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L223-L224 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L315-L316 ### MarketUpdateDetails @@ -282,18 +351,18 @@ It is expected to fail if: #### MsgMarketUpdateDetailsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L226-L237 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L318-L329 See also: [MarketDetails](#marketdetails). #### MsgMarketUpdateDetailsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L239-L240 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L331-L332 -### MarketUpdateEnabled +### MarketUpdateAcceptingOrders -A market can enable or disable order creation using the `MarketUpdateEnabled` endpoint. +A market can enable or disable order creation using the `MarketUpdateAcceptingOrders` endpoint. The `admin` must have the `PERMISSION_UPDATE` permission in the market (or be the `authority`). With `accepting_orders` = `false`, no one can create any new orders in the market, but existing orders can still be settled or cancelled. @@ -303,13 +372,13 @@ It is expected to fail if: * The `admin` does not have `PERMISSION_UPDATE` in the market, and is not the `authority`. * The provided `accepting_orders` value equals the market's current setting. -#### MsgMarketUpdateEnabledRequest +#### MsgMarketUpdateAcceptingOrdersRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L242-L253 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L358-L369 -#### MsgMarketUpdateEnabledResponse +#### MsgMarketUpdateAcceptingOrdersResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L255-L256 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L371-L372 ### MarketUpdateUserSettle @@ -327,11 +396,53 @@ It is expected to fail if: #### MsgMarketUpdateUserSettleRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L258-L271 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L374-L387 #### MsgMarketUpdateUserSettleResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L273-L274 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L389-L390 + + +### MarketUpdateAcceptingCommitments + +Using the `MarketUpdateAcceptingCommitments` endpoint, a market can control whether it is accepting commitments. +The `admin` must have the `PERMISSION_UPDATE` permission in the market (or be the `authority`). + +The [CommitFunds](#CommitFunds) endpoint is only available for markets where `accepting_orders` = `true`. + +It is expected to fail if: +* The market does not exist. +* The `admin` does not have `PERMISSION_UPDATE` in the market, and is not the `authority`. +* The provided `accepting_orders` value equals the market's current setting. +* The provided `accepting_orders` is `true` but no commitment-related fees are defined. +* The provided `accepting_orders` is `true` and bips are set, but either no intermediary denom is defined or there is no NAV associating the intermediary denom with the chain's fee denom. + +#### MsgMarketUpdateAcceptingCommitmentsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L392-L405 + +#### MsgMarketUpdateAcceptingCommitmentsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L407-L408 + + +### MarketUpdateIntermediaryDenom + +The `MarketUpdateIntermediaryDenom` endpoint allows a market to change its intermediary denom (used for commitment settlement fee calculation). +The `admin` must have the `PERMISSION_UPDATE` permission in the market (or be the `authority`). + +It is expected to fail if: +* The market does not exist. +* The `admin` does not have `PERMISSION_UPDATE` in the market, and is not the `authority`. +* The provided `intermediary_denom` is not a valid denom string. + +#### MsgMarketUpdateIntermediaryDenomRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L410-L421 + +#### MsgMarketUpdateIntermediaryDenomResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L423-L424 ### MarketManagePermissions @@ -348,13 +459,13 @@ It is expected to fail if: #### MsgMarketManagePermissionsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L276-L291 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L426-L441 See also: [AccessGrant](#accessgrant) and [Permission](#permission). #### MsgMarketManagePermissionsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L293-L295 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L443-L444 ### MarketManageReqAttrs @@ -362,7 +473,7 @@ See also: [AccessGrant](#accessgrant) and [Permission](#permission). The attributes required to create orders in a market can be managed using the `MarketManageReqAttrs` endpoint. The `admin` must have the `PERMISSION_ATTRIBUTES` permission in the market (or be the `authority`). -See also: [Required Attributes](#required-attributes). +See also: [Required Attributes](01_concepts.md#required-attributes). It is expected to fail if: * The market does not exist. @@ -372,11 +483,11 @@ It is expected to fail if: #### MsgMarketManageReqAttrsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L296-L313 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#446-L467 #### MsgMarketManageReqAttrsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L315-L316 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L469-L470 ## Governance Proposals @@ -402,15 +513,15 @@ It is expected to fail if: #### MsgGovCreateMarketRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L318-L329 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L472-L483 #### Market -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L52-L103 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L52-L148 #### MarketDetails -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L28-L40 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L28-L40 * The `name` is limited to 250 characters max. * The `description` is limited to 2000 characters max. @@ -419,19 +530,19 @@ It is expected to fail if: #### FeeRatio -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L105-L113 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L150-L158 #### AccessGrant -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L115-L121 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L160-L166 #### Permission -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L123-L141 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L168-L186 #### MsgGovCreateMarketResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L331-L332 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L485-L486 ### GovManageFees @@ -445,13 +556,31 @@ It is expected to fail if: #### MsgGovManageFeesRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L334-L372 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L488-L538 See also: [FeeRatio](#feeratio). #### MsgGovManageFeesResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L374-L375 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L540-L541 + + +### GovCloseMarket + +A market can be closed via governance proposal with a `MsgGovCloseMarketRequest`. + +When a market is closed, it stops accepting orders and commitments, all orders are cancelled, and all commitments are released. + +It is expected to fail if: +* The provided `authority` is not the governance module's account. + +#### MsgGovCloseMarketRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L543-L551 + +#### MsgGovCloseMarketResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L553-L554 ### GovUpdateParams @@ -463,10 +592,10 @@ It is expected to fail if: #### MsgGovUpdateParamsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L377-L386 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L556-L565 See also: [Params](06_params.md#params). #### MsgGovUpdateParamsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/tx.proto#L388-L389 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/tx.proto#L567-L568 diff --git a/docs/sdk/exchange/04_events.md b/docs/sdk/exchange/04_events.md index 5290a4151..d66749b17 100644 --- a/docs/sdk/exchange/04_events.md +++ b/docs/sdk/exchange/04_events.md @@ -9,12 +9,17 @@ The exchange module emits several events for various actions. - [EventOrderFilled](#eventorderfilled) - [EventOrderPartiallyFilled](#eventorderpartiallyfilled) - [EventOrderExternalIDUpdated](#eventorderexternalidupdated) + - [EventFundsCommitted](#eventfundscommitted) + - [EventCommitmentReleased](#eventcommitmentreleased) - [EventMarketWithdraw](#eventmarketwithdraw) - [EventMarketDetailsUpdated](#eventmarketdetailsupdated) - - [EventMarketEnabled](#eventmarketenabled) - - [EventMarketDisabled](#eventmarketdisabled) + - [EventMarketOrdersEnabled](#eventmarketordersenabled) + - [EventMarketOrdersDisabled](#eventmarketordersdisabled) - [EventMarketUserSettleEnabled](#eventmarketusersettleenabled) - [EventMarketUserSettleDisabled](#eventmarketusersettledisabled) + - [EventMarketCommitmentsEnabled](#eventmarketcommitmentsenabled) + - [EventMarketCommitmentsDisabled](#eventmarketcommitmentsdisabled) + - [EventMarketIntermediaryDenomUpdated](#eventmarketintermediarydenomupdated) - [EventMarketPermissionsUpdated](#eventmarketpermissionsupdated) - [EventMarketReqAttrUpdated](#eventmarketreqattrupdated) - [EventMarketCreated](#eventmarketcreated) @@ -109,6 +114,34 @@ Event Type: `provenance.exchange.v1.EventOrderExternalIDUpdated` | external_id | The new external id of the order. | +## EventFundsCommitted + +When funds are committed to a market by an account, an `EventFundsCommitted` is emitted. + +Event Type: `provenance.exchange.v1.EventFundsCommitted` + +| Attribute Key | Attribute Value | +|---------------|-------------------------------------------------------------| +| account | The bech32 address of the account that committed the funds. | +| market_id | The id of the market that funds were committed to. | +| amount | The funds committed (`Coins` string). | +| tag | The `event_tag` provided in the msg. | + + +## EventCommitmentReleased + +When funds are released by a market, an `EventCommitmentReleased` is emitted. + +Event Type: `provenance.exchange.v1.EventCommitmentReleased` + +| Attribute Key | Attribute Value | +|---------------|-------------------------------------------------------------| +| account | The bech32 address of the account that committed the funds. | +| market_id | The id of the market that funds were committed to. | +| amount | The funds committed (`Coins` string). | +| tag | The `event_tag` provided in the msg. | + + ## EventMarketWithdraw Any time a market's funds are withdrawn, an `EventMarketWithdraw` is emitted. @@ -135,11 +168,11 @@ Event Type: `provenance.exchange.v1.EventMarketDetailsUpdated` | updated_by | The bech32 address string of the admin account that made the change. | -## EventMarketEnabled +## EventMarketOrdersEnabled -When a market's `accepting_orders` changes from `false` to `true`, an `EventMarketEnabled` is emitted. +When a market's `accepting_orders` changes from `false` to `true`, an `EventMarketOrdersEnabled` is emitted. -Event Type: `provenance.exchange.v1.EventMarketEnabled` +Event Type: `provenance.exchange.v1.EventMarketOrdersEnabled` | Attribute Key | Attribute Value | |---------------|----------------------------------------------------------------------| @@ -147,11 +180,11 @@ Event Type: `provenance.exchange.v1.EventMarketEnabled` | updated_by | The bech32 address string of the admin account that made the change. | -## EventMarketDisabled +## EventMarketOrdersDisabled -When a market's `accepting_orders` changes from `true` to `false`, an `EventMarketDisabled` is emitted. +When a market's `accepting_orders` changes from `true` to `false`, an `EventMarketOrdersDisabled` is emitted. -Event Type: `provenance.exchange.v1.EventMarketDisabled` +Event Type: `provenance.exchange.v1.EventMarketOrdersDisabled` | Attribute Key | Attribute Value | |---------------|----------------------------------------------------------------------| @@ -183,6 +216,42 @@ Event Type: `provenance.exchange.v1.EventMarketUserSettleDisabled` | updated_by | The bech32 address string of the admin account that made the change. | +## EventMarketCommitmentsEnabled + +When a market's `accepting_commitments` changes from `false` to `true`, an `EventMarketCommitmentsEnabled` is emitted. + +Event Type: `provenance.exchange.v1.EventMarketCommitmentsEnabled` + +| Attribute Key | Attribute Value | +|---------------|----------------------------------------------------------------------| +| market_id | The id of the updated market. | +| updated_by | The bech32 address string of the admin account that made the change. | + + +## EventMarketCommitmentsDisabled + +When a market's `accepting_commitments` changes from `true` to `false`, an `EventMarketCommitmentsDisabled` is emitted. + +Event Type: `provenance.exchange.v1.EventMarketCommitmentsDisabled` + +| Attribute Key | Attribute Value | +|---------------|----------------------------------------------------------------------| +| market_id | The id of the updated market. | +| updated_by | The bech32 address string of the admin account that made the change. | + + +## EventMarketIntermediaryDenomUpdated + +When a market's `intermediary_denom` is updated, an `EventMarketIntermediaryDenomUpdated` is emitted. + +Event Type: `provenance.exchange.v1.EventMarketIntermediaryDenomUpdated` + +| Attribute Key | Attribute Value | +|---------------|----------------------------------------------------------------------| +| market_id | The id of the updated market. | +| updated_by | The bech32 address string of the admin account that made the change. | + + ## EventMarketPermissionsUpdated Any time a market's permissions are managed, an `EventMarketPermissionsUpdated` is emitted. diff --git a/docs/sdk/exchange/05_queries.md b/docs/sdk/exchange/05_queries.md index 1dec79ce4..92087bf33 100644 --- a/docs/sdk/exchange/05_queries.md +++ b/docs/sdk/exchange/05_queries.md @@ -11,9 +11,14 @@ There are several queries for getting information about things in the exchange m - [GetOwnerOrders](#getownerorders) - [GetAssetOrders](#getassetorders) - [GetAllOrders](#getallorders) + - [GetCommitment](#getcommitment) + - [GetAccountCommitments](#getaccountcommitments) + - [GetMarketCommitments](#getmarketcommitments) + - [GetAllCommitments](#getallcommitments) - [GetMarket](#getmarket) - [GetAllMarkets](#getallmarkets) - [Params](#params) + - [CommitmentSettlementFeeCalc](#commitmentsettlementfeecalc) - [ValidateCreateMarket](#validatecreatemarket) - [ValidateMarket](#validatemarket) - [ValidateManageFees](#validatemanagefees) @@ -38,13 +43,13 @@ Then choose one entry from each of `settlement_flat_fee_options` and `settlement ### QueryOrderFeeCalcRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L96-L103 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L126-L133 See also: [AskOrder](03_messages.md#askorder), and [BidOrder](03_messages.md#bidorder). ### QueryOrderFeeCalcResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L105-L124 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L135-L154 ## GetOrder @@ -53,15 +58,15 @@ Use the `GetOrder` query to look up an order by its id. ### QueryGetOrderRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L126-L130 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L156-L160 ### QueryGetOrderResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L132-L136 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L162-L166 ### Order -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/orders.proto#L13-L26 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/orders.proto#L13-L26 See also: [AskOrder](03_messages.md#askorder), and [BidOrder](03_messages.md#bidorder). @@ -72,11 +77,11 @@ Orders with external ids can be looked up using the `GetOrderByExternalID` query ### QueryGetOrderByExternalIDRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L138-L144 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L168-L174 ### QueryGetOrderByExternalIDResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L146-L150 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L176-L180 See also: [Order](#order). @@ -90,11 +95,11 @@ This query is paginated. ### QueryGetMarketOrdersRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L152-L163 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L182-L193 ### QueryGetMarketOrdersResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L165-L172 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L195-L202 See also: [Order](#order). @@ -108,11 +113,11 @@ This query is paginated. ### QueryGetOwnerOrdersRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L174-L185 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L204-L215 ### QueryGetOwnerOrdersResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L187-L194 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L217-L224 See also: [Order](#order). @@ -126,11 +131,11 @@ This query is paginated. ### QueryGetAssetOrdersRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L196-L207 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L226-L237 ### QueryGetAssetOrdersResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L209-L216 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L239-L246 See also: [Order](#order). @@ -143,26 +148,78 @@ This query is paginated. ### QueryGetAllOrdersRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L218-L222 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L248-L252 ### QueryGetAllOrdersResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L224-L231 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L254-L261 See also: [Order](#order). +## GetCommitment + +To find out how much an account has committed to a market, use the `GetCommitment` query. + +### QueryGetCommitmentRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L263-L269 + +### QueryGetCommitmentResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L271-L276 + + +## GetAccountCommitments + +To look up the amounts an account has committed to any market, use the `GetAccountCommitments` query. + +### QueryGetAccountCommitmentsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L278-L282 + +### QueryGetAccountCommitmentsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L284-L288 + + +## GetMarketCommitments + +To get the amounts committed to a market by any account, use the `GetMarketCommitments` query. + +### QueryGetMarketCommitmentsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L290-L297 + +### QueryGetMarketCommitmentsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L299-L306 + + +## GetAllCommitments + +To get all funds committed by any account to any market, use the `GetAllCommitments` query. + +### QueryGetAllCommitmentsRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L308-L312 + +### QueryGetAllCommitmentsResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L314-L321 + + ## GetMarket All the information and setup for a market can be looked up using the `GetMarket` query. ### QueryGetMarketRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L233-L237 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L323-L327 ### QueryGetMarketResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L239-L245 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L329-L335 See also: [Market](03_messages.md#market). @@ -173,15 +230,15 @@ Use the `GetAllMarkets` query to get brief information about all markets. ### QueryGetAllMarketsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L247-L251 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L337-L341 ### QueryGetAllMarketsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L253-L260 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L343-L350 ### MarketBrief -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/market.proto#L42-L50 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/market.proto#L42-L50 ## Params @@ -190,15 +247,30 @@ The exchange module params can be looked up using the `Params` query. ### QueryParamsRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L262-L263 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L352-L353 ### QueryParamsResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L265-L269 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L355-L359 See also: [Params](06_params.md#params). +## CommitmentSettlementFeeCalc + +To find out the additional tx fee required for a commitment settlement, use the `CommitmentSettlementFeeCalc` query. + +### QueryCommitmentSettlementFeeCalcRequest + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L361-L371 + +See also: [MsgMarketCommitmentSettleRequest](03_messages.md#msgmarketcommitmentsettlerequest). + +### QueryCommitmentSettlementFeeCalcResponse + ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L373-L388 + + ## ValidateCreateMarket It's possible for a [MsgGovCreateMarketRequest](03_messages.md#msggovcreatemarketrequest) to result in a market setup that is problematic. @@ -211,13 +283,13 @@ If the result has: ### QueryValidateCreateMarketRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L271-L275 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L390-L394 See also: [MsgGovCreateMarketRequest](03_messages.md#msggovcreatemarketrequest). ### QueryValidateCreateMarketResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L277-L287 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L396-L406 ## ValidateMarket @@ -228,11 +300,11 @@ Any problems detected will be returned in the `error` field. ### QueryValidateMarketRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L289-L293 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L408-L412 ### QueryValidateMarketResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L295-L299 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L414-L418 ## ValidateManageFees @@ -247,10 +319,10 @@ If the result has: ### QueryValidateManageFeesRequest -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L301-L305 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L420-L424 See also: [MsgGovManageFeesRequest](03_messages.md#msggovmanagefeesrequest). ### QueryValidateManageFeesResponse -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/query.proto#L307-L317 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/query.proto#L426-L436 diff --git a/docs/sdk/exchange/06_params.md b/docs/sdk/exchange/06_params.md index d2450a867..a846cd238 100644 --- a/docs/sdk/exchange/06_params.md +++ b/docs/sdk/exchange/06_params.md @@ -18,8 +18,8 @@ See also: [Exchange Fees](01_concepts.md#exchange-fees). ## Params -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/params.proto#L11-L19 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/params.proto#L11-L19 ## DenomSplit -+++ https://github.com/provenance-io/provenance/blob/v1.17.0/proto/provenance/exchange/v1/params.proto#L21-L28 ++++ https://github.com/provenance-io/provenance/blob/v1.18.0/proto/provenance/exchange/v1/params.proto#L21-L28 diff --git a/docs/sdk/marker/03_messages.md b/docs/sdk/marker/03_messages.md index 38f9438aa..2377c1efd 100644 --- a/docs/sdk/marker/03_messages.md +++ b/docs/sdk/marker/03_messages.md @@ -34,9 +34,9 @@ A marker is created using the Add Marker service message. The created marker can not be directly added in an Active (or Cancelled/Destroyed) status. Markers must have a valid supply and denomination value. -+++ https://github.com/provenance-io/provenance/blob/22740319ba4b3ba268b3720d4bee36d6c6b06b40/proto/provenance/marker/v1/tx.proto#L77-L93 ++++ https://github.com/provenance-io/provenance/blob/d999e7acefea1d77e2d5ce86ea89524dbf2692f8/proto/provenance/marker/v1/tx.proto#L83-L102 -+++ https://github.com/provenance-io/provenance/blob/22740319ba4b3ba268b3720d4bee36d6c6b06b40/proto/provenance/marker/v1/tx.proto#L95-96 ++++ https://github.com/provenance-io/provenance/blob/d999e7acefea1d77e2d5ce86ea89524dbf2692f8/proto/provenance/marker/v1/tx.proto#L104-L105 This service message is expected to fail if: @@ -297,9 +297,9 @@ This service message is expected to fail if: AddFinalizeActivate requested is used for adding, finalizing, and activating a marker in a single request. -+++ https://github.com/provenance-io/provenance/blob/22740319ba4b3ba268b3720d4bee36d6c6b06b40/proto/provenance/marker/v1/tx.proto#L212-L224 ++++ https://github.com/provenance-io/provenance/blob/d999e7acefea1d77e2d5ce86ea89524dbf2692f8/proto/provenance/marker/v1/tx.proto#L221-L236 -+++ https://github.com/provenance-io/provenance/blob/22740319ba4b3ba268b3720d4bee36d6c6b06b40/proto/provenance/marker/v1/tx.proto#L226-L227 ++++ https://github.com/provenance-io/provenance/blob/d999e7acefea1d77e2d5ce86ea89524dbf2692f8/proto/provenance/marker/v1/tx.proto#L238-L239 This service message is expected to fail if: diff --git a/docs/sdk/reward/03_state_transitions.md b/docs/sdk/reward/03_state_transitions.md index 08b57d499..429bdf1c6 100644 --- a/docs/sdk/reward/03_state_transitions.md +++ b/docs/sdk/reward/03_state_transitions.md @@ -8,9 +8,9 @@ This document describes the state transition operations involved in the rewards - [Reward Programs](#reward-programs) - - [Pending ](#pending) - - [Started ](#started) - - [Finished ](#finished) + - [Pending](#pending) + - [Started](#started) + - [Finished](#finished) - [Expired](#expired) - [Reward Claims](#reward-claims) - [Unclaimable](#unclaimable) diff --git a/openapi/swagger.yaml b/openapi/swagger.yaml index 7310a906f..f9bc7a509 100644 --- a/openapi/swagger.yaml +++ b/openapi/swagger.yaml @@ -33979,61 +33979,79 @@ paths: format: byte tags: - Query - '/provenance/marker/v1/accesscontrol/{id}': + /provenance/exchange/v1/commitments: get: - summary: query for access records on an account - operationId: Access + summary: >- + GetAllCommitments gets all fund committed to any market from any + account. + operationId: GetAllCommitments responses: '200': description: A successful response. schema: type: object properties: - accounts: + commitments: type: array items: type: object properties: - address: + account: type: string - permissions: + description: >- + account is the bech32 address string with the committed + funds. + market_id: + type: integer + format: int64 + description: >- + market_id is the numeric identifier of the market the + funds are committed to. + amount: type: array items: - type: string - enum: - - ACCESS_UNSPECIFIED - - ACCESS_MINT - - ACCESS_BURN - - ACCESS_DEPOSIT - - ACCESS_WITHDRAW - - ACCESS_DELETE - - ACCESS_ADMIN - - ACCESS_TRANSFER - default: ACCESS_UNSPECIFIED + type: object + properties: + denom: + type: string + amount: + type: string description: >- - Access defines the different types of permissions that - a marker supports granting to an address. + Coin defines a token with a denomination and an + amount. - - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. - - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker - - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. - - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module - - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or - transfer coin from this marker account to another - account. - - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This - access also allows cancelled markers to be marked for - deletion - - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. - - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. - This access right is only supported on RESTRICTED - markers. - description: >- - AccessGrant associates a collection of permissions with an - address for delegated marker account control. + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + amount is the funds that have been committed by the + account to the market. + description: Commitment contains information on committed funds. + description: commitments is the requested commitment information. + pagination: + description: pagination is the resulting pagination parameters. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - QueryAccessResponse is the response type for the - Query/MarkerAccess method. + QueryGetAllCommitmentsResponse is a response message for the + GetAllCommitments query. default: description: An unexpected error response schema: @@ -34224,29 +34242,115 @@ paths: "value": "1.212s" } parameters: - - name: id - description: address or denom for the marker - in: path - required: true + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean tags: - Query - '/provenance/marker/v1/accountdata/{denom}': + '/provenance/exchange/v1/commitments/account/{account}': get: - summary: query for account data associated with a denom - operationId: MarkerAccountData + summary: >- + GetAccountCommitments gets all the funds in an account that are + committed to any market. + operationId: GetAccountCommitments responses: '200': description: A successful response. schema: type: object properties: - value: - type: string - description: The accountdata for the requested denom. - title: >- - QueryAccountDataResponse is the response type for the - Query/AccountData + commitments: + type: array + items: + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id is the numeric identifier the amount has been + committed to. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: MarketAmount associates a market with a coins amount. + description: >- + commitments is the amounts committed from the account to the + any market. + description: >- + QueryGetAccountCommitmentsResponse is a response message for the + GetAccountCommitments query. default: description: An unexpected error response schema: @@ -34437,202 +34541,62 @@ paths: "value": "1.212s" } parameters: - - name: denom - description: The denomination to look up. + - name: account + description: >- + account is the bech32 address string of the account with the + commitments. in: path required: true type: string tags: - Query - /provenance/marker/v1/all: + '/provenance/exchange/v1/commitments/market/{market_id}': get: - summary: Returns a list of all markers on the blockchain - operationId: AllMarkers + summary: >- + GetMarketCommitments gets all the funds committed to a market from any + account. + operationId: GetMarketCommitments responses: '200': description: A successful response. schema: type: object properties: - markers: + commitments: type: array items: type: object properties: - type_url: + account: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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 + account is the bech32 address string of the account + associated with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message [google.protobuf.Duration][]): + NOTE: The amount field is an Int which implements the + custom method - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: >- + commitments is the amounts committed to the market from any + account. pagination: - description: pagination defines an optional pagination for the request. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -34651,8 +34615,8 @@ paths: was set, its value is undefined otherwise description: >- - QueryAllMarkersResponse is the response type for the - Query/AllMarkers method. + QueryGetMarketCommitmentsResponse is a response message for the + GetMarketCommitments query. default: description: An unexpected error response schema: @@ -34843,28 +34807,14 @@ paths: "value": "1.212s" } parameters: - - name: status - description: |- - Optional status to filter request. - - - MARKER_STATUS_UNSPECIFIED: MARKER_STATUS_UNSPECIFIED - Unknown/Invalid Marker Status - - MARKER_STATUS_PROPOSED: MARKER_STATUS_PROPOSED - Initial configuration period, updates allowed, token supply not created. - - MARKER_STATUS_FINALIZED: MARKER_STATUS_FINALIZED - Configuration finalized, ready for supply creation - - MARKER_STATUS_ACTIVE: MARKER_STATUS_ACTIVE - Supply is created, rules are in force. - - MARKER_STATUS_CANCELLED: MARKER_STATUS_CANCELLED - Marker has been cancelled, pending destroy - - MARKER_STATUS_DESTROYED: MARKER_STATUS_DESTROYED - Marker supply has all been recalled, marker is considered destroyed and no further - actions allowed. - in: query - required: false - type: string - enum: - - MARKER_STATUS_UNSPECIFIED - - MARKER_STATUS_PROPOSED - - MARKER_STATUS_FINALIZED - - MARKER_STATUS_ACTIVE - - MARKER_STATUS_CANCELLED - - MARKER_STATUS_DESTROYED - default: MARKER_STATUS_UNSPECIFIED + - name: market_id + description: >- + market_id is the numeric identifier of the market with the + commitment. + in: path + required: true + type: integer + format: int64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -34925,190 +34875,164 @@ paths: format: boolean tags: - Query - '/provenance/marker/v1/detail/{id}': + /provenance/exchange/v1/fees/commitment_settlement: get: - summary: query for a single marker by denom or address - operationId: Marker + summary: >- + CommitmentSettlementFeeCalc calculates the fees a market will pay for a + commitment settlement using current NAVs. + operationId: CommitmentSettlementFeeCalc responses: '200': description: A successful response. schema: type: object properties: - marker: - type: object - properties: - type_url: - 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. + exchange_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) - might be + NOTE: The amount field is an Int which implements the custom + method - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. + signatures required by gogoproto. 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 + exchange_fees is the total that the exchange would currently + pay for the provided settlement. + input_total: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default - use + NOTE: The amount field is an Int which implements the custom + method - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + signatures required by gogoproto. + description: >- + input_total is the sum of all the inputs in the provided + settlement. + converted_total: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - name "y.z". + signatures required by gogoproto. + description: >- + converted_total is the input_total converted to a single + intermediary denom or left as the fee denom. + conversion_navs: + type: array + items: + type: object + properties: + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the + custom method - JSON + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - ==== - The JSON representation of an `Any` value uses the regular + NOTE: The amount field is an Int which implements the + custom method - representation of the deserialized, embedded message, with an + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to + record the value of things. - additional field `@type` which contains the type URL. Example: + It is related to the NetAssetValue message from the x/marker + module, and is therefore often referred to as "a NAV". + description: >- + conversion_navs are the NAVs used to convert the input_total + to the converted_total. + to_fee_nav: + type: object + properties: + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + NOTE: The amount field is an Int which implements the + custom method - If the embedded message type is well-known and has a custom - JSON + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - representation, that representation will be embedded adding a - field - `value` which holds the custom JSON in addition to the `@type` + NOTE: The amount field is an Int which implements the + custom method - field. Example (for message [google.protobuf.Duration][]): + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to + record the value of things. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + It is related to the NetAssetValue message from the x/marker + module, and is therefore often referred to as "a NAV". description: >- - QueryMarkerResponse is the response type for the Query/Marker - method. + QueryCommitmentSettlementFeeCalcResponse is a response message for + the CommitmentSettlementFeeCalc query. default: description: An unexpected error response schema: @@ -35299,24 +35223,108 @@ paths: "value": "1.212s" } parameters: - - name: id - description: the address or denom of the marker - in: path - required: true + - name: settlement.admin + description: >- + admin is the account with "settle" permission requesting this + settlement. + in: query + required: false + type: string + - name: settlement.market_id + description: >- + market_id is the numerical identifier of the market requesting this + settlement. + in: query + required: false + type: integer + format: int64 + - name: settlement.event_tag + description: >- + event_tag is a string that is included in the + funds-committed/released events. Max length is 100 characters. + in: query + required: false type: string + - name: include_breakdown_fields + description: >- + include_breakdown_fields controls the fields that are populated in + the response. + + If false, only the exchange_fees field is populated. + + If true, all of the fields are populated as possible. + + If the settlement does not have any inputs, this field defaults to + true. + in: query + required: false + type: boolean + format: boolean tags: - Query - '/provenance/marker/v1/escrow/{id}': + /provenance/exchange/v1/fees/order: get: - summary: query for coins on a marker account - operationId: Escrow + summary: >- + OrderFeeCalc calculates the fees that will be associated with the + provided order. + operationId: OrderFeeCalc responses: '200': description: A successful response. schema: type: object properties: - escrow: + creation_fee_options: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + creation_fee_options are the order creation flat fee options + available for creating the provided order. + + If it's empty, no order creation fee is required. + + When creating the order, you should include exactly one of + these. + settlement_flat_fee_options: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + settlement_flat_fee_options are the settlement flat fee + options available for the provided order. + + If it's empty, no settlement flat fee is required. + + When creating an order, you should include exactly one of + these in the settlement fees field. + settlement_ratio_fee_options: type: array items: type: object @@ -35333,9 +35341,28 @@ paths: method signatures required by gogoproto. + description: >- + settlement_ratio_fee_options are the settlement ratio fee + options available for the provided order. + + If it's empty, no settlement ratio fee is required. + + + If the provided order was a bid order, you should include + exactly one of these in the settlement fees field. + + If the flat and ratio options you've chose have the same + denom, a single entry should be included with their sum. + + + If the provided order was an ask order, these are purely + informational and represent how much will be removed + + from your price if it settles at that price. If it settles for + more, the actual amount will probably be larger. description: >- - QueryEscrowResponse is the response type for the - Query/MarkerEscrow method. + QueryOrderFeeCalcResponse is a response message for the + OrderFeeCalc query. default: description: An unexpected error response schema: @@ -35526,115 +35553,563 @@ paths: "value": "1.212s" } parameters: - - name: id - description: address or denom for the marker - in: path - required: true + - name: ask_order.market_id + description: market_id identifies the market that this order belongs to. + in: query + required: false + type: integer + format: int64 + - name: ask_order.seller + description: >- + seller is the address of the account that owns this order and has + the assets to sell. + in: query + required: false + type: string + - name: ask_order.assets.denom + in: query + required: false + type: string + - name: ask_order.assets.amount + in: query + required: false + type: string + - name: ask_order.price.denom + in: query + required: false + type: string + - name: ask_order.price.amount + in: query + required: false + type: string + - name: ask_order.seller_settlement_flat_fee.denom + in: query + required: false + type: string + - name: ask_order.seller_settlement_flat_fee.amount + in: query + required: false + type: string + - name: ask_order.allow_partial + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + in: query + required: false + type: boolean + format: boolean + - name: ask_order.external_id + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. + + If an order in this market with this external id already exists, + this order will be rejected. + in: query + required: false + type: string + - name: bid_order.market_id + description: market_id identifies the market that this order belongs to. + in: query + required: false + type: integer + format: int64 + - name: bid_order.buyer + description: >- + buyer is the address of the account that owns this order and has the + price to spend. + in: query + required: false + type: string + - name: bid_order.assets.denom + in: query + required: false + type: string + - name: bid_order.assets.amount + in: query + required: false + type: string + - name: bid_order.price.denom + in: query + required: false + type: string + - name: bid_order.price.amount + in: query + required: false + type: string + - name: bid_order.allow_partial + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + in: query + required: false + type: boolean + format: boolean + - name: bid_order.external_id + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. + + If an order in this market with this external id already exists, + this order will be rejected. + in: query + required: false type: string tags: - Query - '/provenance/marker/v1/getdenommetadata/{denom}': + '/provenance/exchange/v1/market/{market_id}': get: - summary: query for access records on an account - operationId: MarkerDenomMetadata + summary: GetMarket returns all the information and details about a market. + operationId: GetMarket responses: '200': description: A successful response. schema: type: object properties: - metadata: + address: + type: string + description: address is the bech32 address string of this market's account. + market: + description: market is all information and details of the market. type: object properties: - description: - type: string - denom_units: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: >- + name is a moniker that people can use to refer to this + market. + description: + type: string + description: >- + description extra information about this market. The + field is meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this + market, or at least get more information about this + market. + icon_uri: + type: string + description: >- + icon_uri is a uri for an icon to associate with this + market. + fee_create_ask_flat: type: array items: type: object properties: denom: type: string - description: >- - denom represents the string name of the given denom - unit (e.g uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one - must - - raise the base_denom to in order to equal the given - DenomUnit's denom + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 1 denom = 10^exponent base_denom - (e.g. with a base_denom of uatom, one can create a - DenomUnit of 'atom' with + NOTE: The amount field is an Int which implements the + custom method - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: >- - aliases is a list of string aliases for the given - denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: >- - denom_units represents the list of DenomUnit's for a given - coin - base: - type: string - description: >- - base represents the base denom (should be the DenomUnit - with exponent = 0). - display: - type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: - type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: - type: string + signatures required by gogoproto. description: >- - symbol is the token symbol usually shown on exchanges (eg: - ATOM). This can + fee_create_ask_flat is the flat fee charged for creating + an ask order. - be the same as the display. + Each coin entry is a separate option. When an ask is + created, one of these must be paid. + If empty, no fee is required to create an ask order. + fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Since: cosmos-sdk 0.43 - uri: - type: string - description: >- - URI to a document (on or off-chain) that contains - additional information. Optional. + NOTE: The amount field is an Int which implements the + custom method - Since: cosmos-sdk 0.46 - uri_hash: + signatures required by gogoproto. + description: >- + fee_create_bid_flat is the flat fee charged for creating a + bid order. + + Each coin entry is a separate option. When a bid is + created, one of these must be paid. + + If empty, no fee is required to create a bid order. + fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + fee_seller_settlement_flat is the flat fee charged to the + seller during settlement. + + Each coin entry is a separate option. + + When an ask is settled, the seller will pay the amount in + the denom that matches the price they received. + fee_seller_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly + divisible by a FeeRatio's price. + description: >- + fee_seller_settlement_ratios is the fee to charge a seller + during settlement based on the price they are receiving. + + The price and fee denoms must be equal for each entry, and + only one entry for any given denom is allowed. + fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + fee_buyer_settlement_flat is the flat fee charged to the + buyer during settlement. + + Each coin entry is a separate option. + + When a bid is created, the settlement fees provided must + contain one of these. + fee_buyer_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly + divisible by a FeeRatio's price. + description: >- + fee_buyer_settlement_ratios is the fee to charge a buyer + during settlement based on the price they are spending. + + The price and fee denoms do not have to equal. Multiple + entries for any given price or fee denom are allowed, but + + each price denom to fee denom pair can only have one + entry. + accepting_orders: + type: boolean + format: boolean + description: >- + accepting_orders is whether this market is allowing orders + to be created for it. + allow_user_settlement: + type: boolean + format: boolean + description: >- + allow_user_settlement is whether this market allows users + to initiate their own settlements. + + For example, the FillBids and FillAsks endpoints are + available if and only if this is true. + + The MarketSettle endpoint is only available to market + actors regardless of the value of this field. + access_grants: + type: array + items: + type: object + properties: + address: + type: string + description: >- + address is the address that these permissions apply + to. + permissions: + type: array + items: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED + description: >- + Permission defines the different types of + permission that can be given to an account for a + market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. + description: >- + allowed is the list of permissions available for the + address. + description: >- + AddrPermissions associates an address with a list of + permissions available for that address. + description: >- + access_grants is the list of addresses and permissions + granted for this market. + req_attr_create_ask: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an + account for it to be allowed to create an ask order. + + An account must have all of these attributes in order to + create an ask order in this market. + + If the list is empty, any account can create ask orders in + this market. + + + An entry that starts with "*." will match any attributes + that end with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and + "e.d.c.b.a"; but not "b.a", "xb.a", "b.x.a", or "c.b.a.x". + req_attr_create_bid: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an + account for it to be allowed to create a bid order. + + An account must have all of these attributes in order to + create a bid order in this market. + + If the list is empty, any account can create bid orders in + this market. + + + An entry that starts with "*." will match any attributes + that end with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and + "e.d.c.b.a"; but not "b.a", "xb.a", "c.b.x.a", or + "c.b.a.x". + accepting_commitments: + type: boolean + format: boolean + description: >- + accepting_commitments is whether the market is allowing + users to commit funds to it. + fee_create_commitment_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + fee_create_commitment_flat is the flat fee charged for + creating a commitment. + + Each coin entry is a separate option. When a commitment is + created, one of these must be paid. + + If empty, no fee is required to create a commitment. + commitment_settlement_bips: + type: integer + format: int64 + description: >- + commitment_settlement_bips is the fraction of a commitment + settlement that will be paid to the exchange. + + It is represented in basis points (1/100th of 1%, e.g. + 0.0001) and is limited to 0 to 10,000 inclusive. + + During a commitment settlement, the inputs are summed and + NAVs are used to convert that total to the + + intermediary denom, then to the fee denom. That is then + multiplied by this value to get the fee amount + + that will be transferred out of the market's account into + the exchange for that settlement. + + + Summing the inputs effectively doubles the value of the + settlement from what what is usually thought of + + as the value of a trade. That should be taken into account + when setting this value. + + E.g. if two accounts are trading 10apples for 100grapes, + the inputs total will be 10apples,100grapes + + (which might then be converted to USD then nhash before + applying this ratio); Usually, though, the value + + of that trade would be viewed as either just 10apples or + just 100grapes. + intermediary_denom: type: string description: >- - URIHash is a sha256 hash of a document pointed by URI. - It's used to verify that + intermediary_denom is the denom that funds get converted + to (before being converted to the chain's fee denom) - the document didn't change. Optional. + when calculating the fees that are paid to the exchange. + NAVs are used for this conversion and actions will fail + if a NAV is needed but not available. + req_attr_create_commitment: + type: array + items: + type: string + description: >- + req_attr_create_commitment is a list of attributes + required on an account for it to be allowed to create a - Since: cosmos-sdk 0.46 - description: |- - Metadata represents a struct that describes - a basic token. - title: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata + commitment. An account must have all of these attributes + in order to create a commitment in this market. + + If the list is empty, any account can create commitments + in this market. + + + An entry that starts with "*." will match any attributes + that end with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and + "e.d.c.b.a"; but not "b.a", "xb.a", "c.b.x.a", or + "c.b.a.x". + description: >- + QueryGetMarketResponse is a response message for the GetMarket + query. default: description: An unexpected error response schema: @@ -35825,74 +36300,49 @@ paths: "value": "1.212s" } parameters: - - name: denom + - name: market_id + description: market_id is the id of the market to look up. in: path required: true - type: string + type: integer + format: int64 tags: - Query - '/provenance/marker/v1/holding/{id}': + '/provenance/exchange/v1/market/{market_id}/commitment/{account}': get: - summary: query for all accounts holding the given marker coins - operationId: Holding + summary: >- + GetCommitment gets the funds in an account that are committed to the + market. + operationId: GetCommitment responses: '200': description: A successful response. schema: type: object properties: - balances: + amount: type: array items: type: object properties: - address: + denom: type: string - description: address is the address of the balance holder. - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Int which implements the - custom method - signatures required by gogoproto. - description: coins defines the different coins this balance holds. - title: >- - Balance defines an account address and balance pair used in - queries for accounts holding a marker - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + NOTE: The amount field is an Int which implements the custom + method - was set, its value is undefined otherwise + signatures required by gogoproto. + description: >- + amount is the total funds committed to the market by the + account. description: >- - QueryHoldingResponse is the response type for the - Query/MarkerHolders method. + QueryGetCommitmentResponse is a response message for the + GetCommitment query. default: description: An unexpected error response schema: @@ -36083,117 +36533,88 @@ paths: "value": "1.212s" } parameters: - - name: id - description: the address or denom of the marker + - name: market_id + description: market_id is the numeric identifier of the market in the commitment. 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 + type: integer + format: int64 + - name: account 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 + account is the bech32 address string of the account in the + commitment. + in: path + required: true 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 - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean tags: - Query - '/provenance/marker/v1/netassetvalues/{id}': + '/provenance/exchange/v1/market/{market_id}/commitments': get: - summary: NetAssetValues returns net asset values for marker - operationId: NetAssetValues + summary: >- + GetMarketCommitments gets all the funds committed to a market from any + account. + operationId: GetMarketCommitments2 responses: '200': description: A successful response. schema: type: object properties: - net_asset_values: + commitments: type: array items: type: object properties: - price: - type: object - properties: - denom: - type: string - amount: - type: string + account: + type: string description: >- - Coin defines a token with a denomination and an amount. + account is the bech32 address string of the account + associated with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - NOTE: The amount field is an Int which implements the - custom method + NOTE: The amount field is an Int which implements the + custom method - signatures required by gogoproto. - title: price is the complete value of the asset's volume - volume: - type: string - format: uint64 - title: >- - volume is the number of tokens of the marker that were - purchased for the price - updated_block_height: - type: string - format: uint64 - title: updated_block_height is the block height of last update - title: NetAssetValue defines a marker's net asset value - title: net asset values for marker denom + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: >- + commitments is the amounts committed to the market from any + account. + pagination: + description: pagination is the resulting pagination parameters. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - QueryNetAssetValuesRequest is the response type for the - Query/NetAssetValues method. + QueryGetMarketCommitmentsResponse is a response message for the + GetMarketCommitments query. default: description: An unexpected error response schema: @@ -36384,55 +36805,270 @@ paths: "value": "1.212s" } parameters: - - name: id - description: address or denom for the marker + - name: market_id + description: >- + market_id is the numeric identifier of the market with the + commitment. in: path required: true + type: integer + format: int64 + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean tags: - Query - /provenance/marker/v1/params: + '/provenance/exchange/v1/market/{market_id}/order/{external_id}': get: - summary: Params queries the parameters of x/bank module. - operationId: MarkerParams + summary: GetOrderByExternalID looks up an order by market id and external id. + operationId: GetOrderByExternalID2 responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. + order: + description: order is the requested order. type: object properties: - max_total_supply: + order_id: type: string format: uint64 - title: >- - Deprecated: Prefer to use `max_supply` instead. Maximum - amount of supply to allow a marker to be created with - enable_governance: - type: boolean - format: boolean + description: order_id is the numerical identifier for this order. + ask_order: description: >- - indicates if governance based controls of markers is - allowed. - unrestricted_denom_regex: - type: string - title: >- - a regular expression used to validate marker denom values - from normal create requests (governance + ask_order is the information about this order if it + represents an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - requests are only subject to platform coin validation - denom expression) - max_supply: - type: string - title: >- - maximum amount of supply to allow a marker to be created - with + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to + the price) + + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. + QueryGetOrderByExternalIDResponse is a response message for the + GetOrderByExternalID query. default: description: An unexpected error response schema: @@ -36622,36 +37258,238 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } + parameters: + - name: market_id + description: market_id is the id of the market that's expected to have the order. + in: path + required: true + type: integer + format: int64 + - name: external_id + description: external_id the external id to look up. + in: path + required: true + type: string tags: - Query - '/provenance/marker/v1/supply/{id}': + '/provenance/exchange/v1/market/{market_id}/orders': get: - summary: query for supply of coin on a marker account - operationId: Supply + summary: GetMarketOrders looks up the orders in a market. + operationId: GetMarketOrders2 responses: '200': description: A successful response. schema: type: object properties: - amount: + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition + to the price) + + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders in the provided market. + pagination: + description: pagination is the resulting pagination parameters. type: object properties: - denom: + next_key: type: string - amount: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - signatures required by gogoproto. + was set, its value is undefined otherwise description: >- - QuerySupplyResponse is the response type for the - Query/MarkerSupply method. + QueryGetMarketOrdersResponse is a response message for the + GetMarketOrders query. default: description: An unexpected error response schema: @@ -36842,31 +37680,105 @@ paths: "value": "1.212s" } parameters: - - name: id - description: address or denom for the marker + - name: market_id + description: market_id is the id of the market to get all the orders for. in: path required: true + type: integer + format: int64 + - name: order_type + description: >- + order_type is optional and can limit orders to only "ask" or "bid" + orders. + in: query + required: false + type: string + - name: after_order_id + description: >- + after_order_id is a minimum (exclusive) order id. All results will + be strictly greater than this. + in: query + required: false + type: string + format: uint64 + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean tags: - Query - '/provenance/metadata/v1/accountdata/{metadata_addr}': + '/provenance/exchange/v1/market/{market_id}/validate': get: - summary: |- - AccountData gets the account data associated with a metadata address. - Currently, only scope ids are supported. - operationId: MetadataAccountData + summary: ValidateMarket checks for any problems with a market's setup. + operationId: ValidateMarket2 responses: '200': description: A successful response. schema: type: object properties: - value: + error: type: string - description: The accountdata for the requested metadata address. + description: >- + error is any problems or inconsistencies in the provided + market. description: >- - AccountDataResponse is the response type for the Query/AccountData - RPC method. + QueryValidateMarketResponse is a response message for the + ValidateMarket query. default: description: An unexpected error response schema: @@ -36886,1085 +37798,706 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte - parameters: - - name: metadata_addr - description: |- - The metadata address to look up. - Currently, only scope ids are supported. - in: path - required: true - type: string - format: byte - tags: - - Query - '/provenance/metadata/v1/addr/{addrs}': - get: - summary: GetByAddr retrieves metadata given any address(es). - operationId: GetByAddr - responses: - '200': - description: A successful response. - schema: - type: object - properties: - scopes: - type: array - items: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the specifications - for data elements allowed within this scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of the - processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role associated - with a contract description: >- - These parties represent top level owners of the records - within. These parties must sign any requests that - modify + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - the data within the scope. These addresses are in union - with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with this - scope. Standard blockchain accounts and marker accounts + URL that describes the type of the serialized message. - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions must - be present in this scope's owners field. - This also enables use of optional=true scope owners and - session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - description: scopes contains any scopes that were requested and found. - sessions: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: market_id + description: market_id is the id of the market to check. + in: path + required: true + type: integer + format: int64 + tags: + - Query + /provenance/exchange/v1/markets: + get: + summary: GetAllMarkets returns brief information about each market. + operationId: GetAllMarkets + responses: + '200': + description: A successful response. + schema: + type: object + properties: + markets: type: array items: type: object properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was used to - create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of the - processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role associated - with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution context, - typically classname - context: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_address: type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: description: >- - Created by, updated by, timestamps, version number, and - related info. + market_address is the bech32 address string of this + market's account. + market_details: + description: market_details is some information about this market. type: object properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: + name: type: string - title: the address of the account that created this record - updated_date: + description: >- + name is a moniker that people can use to refer to + this market. + description: type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: + description: >- + description extra information about this market. The + field is meant to be human-readable. + website_url: type: string - title: the address of the account that modified this record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented with - each update - message: + description: >- + website_url is a url people can use to get to this + market, or at least get more information about this + market. + icon_uri: type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last account - to make modifications and when they were made + description: >- + icon_uri is a uri for an icon to associate with this + market. description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - + MarketBrief is a message containing brief, superficial + information about a market. + description: markets are a page of the briefs for all markets. + pagination: + description: pagination is the resulting pagination parameters. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - description: sessions contains any sessions that were requested and found. - records: + was set, its value is undefined otherwise + description: >- + QueryGetAllMarketsResponse is a response message for the + GetAllMarkets query. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - name: - type: string - title: >- - name/identifier for this record. Value must be unique - within the scope. Also known as a Fact name - session_id: + type_url: type: string - format: byte - title: >- - id of the session context that was used to create this - record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely identify an - execution on or off chain that generated this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that was - invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the definition - spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For Established - Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information (For - Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output on - this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was output/generated - for this record - status: - title: >- - Status of the process execution associated with - this output indicating success,failure, or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on the - given process indicated in this record - specification_id: + 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. + value: type: string format: byte description: >- - specification_id is the id of the record specification - that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: records contains any records that were requested and found. - scope_specs: - type: array - items: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - description: - description: General information about this scope specification. - type: object - properties: - name: - type: string - description: A Name for this thing. - description: - type: string - description: A description of this thing. - website_url: - type: string - description: URL to find even more info. - icon_url: - type: string - description: URL of an icon. - owner_addresses: - type: array - items: - type: string - description: Addresses of the owners of this scope specification. - parties_involved: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an - error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: >- - A list of parties that must be present on a scope (and - their associated roles) - contract_spec_ids: - type: array - items: - type: string - format: byte - description: >- - A list of contract specification ids allowed for a scope - based on this specification. - title: >- - ScopeSpecification defines the required parties, resources, - conditions, and consideration outputs for a contract - description: >- - scope_specs contains any scope specifications that were - requested and found. - contract_specs: - type: array - items: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - description: - title: Description information for this contract specification - type: object - properties: - name: - type: string - description: A Name for this thing. - description: - type: string - description: A description of this thing. - website_url: - type: string - description: URL to find even more info. - icon_url: - type: string - description: URL of an icon. - description: >- - Description holds general information that is handy to - associate with a structure. - owner_addresses: - type: array - items: - type: string - title: Address of the account that owns this specificaiton - parties_involved: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an - error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: >- - a list of party roles that must be fullfilled when - signing a transaction for this contract specification - resource_id: - type: string - format: byte - title: >- - the address of a record on chain that represents this - contract - hash: - type: string - title: the hash of contract binary (off-chain instance) - class_name: - type: string - title: name of the class/type of this contract executable - title: >- - ContractSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract - description: >- - contract_specs contains any contract specifications that were - requested and found. - record_specs: - type: array - items: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: - type: object - properties: - name: - type: string - title: name for this input - type_name: - type: string - title: a type_name (typically a proto name or class_name) - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For Established - Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information (For - Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to define an - input + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - parameter - title: >- - A set of inputs that must be satisified to apply this - RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must be - RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an unknown/invalid - value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an - error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a Record - including allowed/required inputs/outputs - description: >- - record_specs contains any record specifications that were - requested and found. - not_found: - type: array - items: - type: string - description: not_found contains any addrs requested but not found. - description: >- - GetByAddrResponse is the response type for the Query/GetByAddr RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } parameters: - - name: addrs - description: ids are the metadata addresses of the things to look up. - in: path - required: true - type: array - items: - type: string - collectionFormat: csv - minItems: 1 - tags: - - Query - '/provenance/metadata/v1/contractspec/{specification_id}': - get: - summary: >- - ContractSpecification returns a contract specification for the given - specification id. - description: >- - The specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84, a bech32 contract + - 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. - specification address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn, or a bech32 record - specification + It is less efficient than using key. Only one of offset or key + should - address, e.g. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. If - it is a record specification + 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. - address, then the contract specification that contains that record - specification is looked up. + 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. - By default, the record specifications for this contract specification - are not included. + count_total is only respected when offset is used. It is ignored + when key - Set include_record_specs to true to include them in the result. - operationId: ContractSpecification + is set. + in: query + required: false + type: boolean + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/exchange/v1/order/{order_id}': + get: + summary: GetOrder looks up an order by id. + operationId: GetOrder responses: '200': description: A successful response. schema: type: object properties: - contract_specification: - description: contract_specification is the wrapped contract specification. + order: type: object properties: - specification: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. type: object properties: - specification_id: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: type: string - format: byte - title: unique identifier for this specification on chain - description: - title: >- - Description information for this contract - specification + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: type: object properties: - name: + denom: type: string - description: A Name for this thing. - description: + amount: type: string - description: A description of this thing. - website_url: + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: type: string - description: URL to find even more info. - icon_url: + amount: type: string - description: URL of an icon. description: >- - Description holds general information that is handy to - associate with a structure. - owner_addresses: - type: array - items: - type: string - title: Address of the account that owns this specificaiton - parties_involved: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is - an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: >- - a list of party roles that must be fullfilled when - signing a transaction for this contract specification - resource_id: - type: string - format: byte - title: >- - the address of a record on chain that represents this - contract - hash: - type: string - title: the hash of contract binary (off-chain instance) - class_name: + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the + + order must be either filled in full or not filled at + all. + external_id: type: string - title: name of the class/type of this contract executable - title: >- - ContractSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract - description: >- - specification is the on-chain contract specification - message. - contract_spec_id_info: + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. + bid_order is the information about this order if it + represents a bid order. type: object properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte + market_id: + type: integer + format: int64 description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: + market_id identifies the market that this order + belongs to. + buyer: type: string description: >- - contract_spec_addr is the bech32 string version of the - contract_spec_id. - contract_spec_uuid: - type: string + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - record_specifications: - type: array - items: - type: object - properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: - type: object - properties: - name: - type: string - title: name for this input - type_name: - type: string - title: >- - a type_name (typically a proto name or - class_name) - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to - define an input + Coin defines a token with a denomination and an + amount. - parameter - title: >- - A set of inputs that must be satisified to apply - this RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must - be RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a - Record including allowed/required inputs/outputs - description: >- - specification is the on-chain record specification - message. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: type: object properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: + denom: type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: + amount: type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - description: >- - record_specifications is any number or wrapped record - specifications associated with this contract_specification + description: >- + Coin defines a token with a denomination and an + amount. - (if requested). - request: - description: request is a copy of the request that generated these results. - type: object - properties: - specification_id: - type: string - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification - address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + NOTE: The amount field is an Int which implements + the custom method - It can also be a record specification address, e.g. + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to + the price) - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - include_record_specs: - type: boolean - format: boolean - description: >- - include_record_specs is a flag for whether to include the - the record specifications of this contract specification + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the - in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. description: >- - ContractSpecificationResponse is the response type for the - Query/ContractSpecification RPC method. + QueryGetOrderResponse is a response message for the GetOrder + query. default: description: An unexpected error response schema: @@ -37984,289 +38517,403 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte - parameters: - - name: specification_id - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + URL that describes the type of the serialized message. - It can also be a record specification address, e.g. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - in: path - required: true - type: string - - name: include_record_specs - description: >- - include_record_specs is a flag for whether to include the the record - specifications of this contract specification + Protobuf library provides support to pack/unpack Any values + in the form - in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/contractspec/{specification_id}/recordspec/{name}': - get: - summary: RecordSpecification returns a record specification for the given input. - operationId: RecordSpecification2 + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: order_id + description: order_id is the id of the order to look up. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /provenance/exchange/v1/orders: + get: + summary: GetAllOrders gets all orders in the exchange module. + operationId: GetAllOrders responses: '200': description: A successful response. schema: type: object properties: - record_specification: - type: object - properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: type: object properties: - name: + denom: type: string - title: name for this input - type_name: + amount: type: string - title: >- - a type_name (typically a proto name or - class_name) - record_id: + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: + amount: type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to define - an input + description: >- + Coin defines a token with a denomination and an + amount. - parameter - title: >- - A set of inputs that must be satisified to apply this - RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must be - RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is - an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a Record - including allowed/required inputs/outputs - description: >- - specification is the on-chain record specification - message. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name portion - of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - specification_id: - type: string - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + Coin defines a token with a denomination and an + amount. - address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. - It can also be a record specification address, e.g. + NOTE: The amount field is an Int which implements + the custom method - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - name: - type: string - description: >- - name is the name of the record to look up. + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition + to the price) - It is required if the specification_id is a uuid or - contract specification address. + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the - It is ignored if the specification_id is a record - specification address. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the all orders. + pagination: + description: pagination is the resulting pagination parameters. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - RecordSpecificationResponse is the response type for the - Query/RecordSpecification RPC method. + QueryGetAllOrdersResponse is a response message for the + GetAllOrders query. default: description: An unexpected error response schema: @@ -38286,598 +38933,435 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: specification_id - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + protocol buffer message. This string must contain at + least - It can also be a record specification address, e.g. + one "/" character. The last segment of the URL's path + must represent - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - in: path - required: true - type: string - - name: name - description: >- - name is the name of the record to look up. + the fully qualified name of the type (as in - It is required if the specification_id is a uuid or contract - specification address. + `path/google.protobuf.Duration`). The name should be in + a canonical form - It is ignored if the specification_id is a record specification - address. - in: path - required: true - type: string - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/contractspec/{specification_id}/recordspecs': - get: - summary: >- - RecordSpecificationsForContractSpecification returns the record - specifications for the given input. - description: >- - The specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84, a bech32 contract + (e.g., leading "." is not accepted). - specification address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn, or a bech32 record - specification - address, e.g. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. If - it is a record specification + In practice, teams usually precompile into the binary + all types that they - address, then the contract specification that contains that record - specification is used. - operationId: RecordSpecificationsForContractSpecification - responses: - '200': - description: A successful response. - schema: - type: object - properties: - record_specifications: - type: array - items: - type: object - properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: - type: object - properties: - name: - type: string - title: name for this input - type_name: - type: string - title: >- - a type_name (typically a proto name or - class_name) - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to - define an input + expect it to use in the context of Any. However, for + URLs which use the - parameter - title: >- - A set of inputs that must be satisified to apply - this RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must - be RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a - Record including allowed/required inputs/outputs - description: >- - specification is the on-chain record specification - message. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - description: >- - record_specifications is any number of wrapped record - specifications associated with this contract_specification. - contract_specification_uuid: - type: string - description: >- - contract_specification_uuid is the uuid of this contract - specification. - contract_specification_addr: - type: string - description: >- - contract_specification_addr is the contract specification - address as a bech32 encoded string. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - specification_id: - type: string - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + scheme `http`, `https`, or no scheme, one can optionally + set up a type - address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + server that maps type URLs to message definitions as + follows: - It can also be a record specification address, e.g. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - RecordSpecificationsForContractSpecificationResponse is the - response type for the + * If no scheme is provided, `https` is assumed. - Query/RecordSpecificationsForContractSpecification RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string + * 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. value: type: string format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } parameters: - - name: specification_id + - 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: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + offset is a numeric offset that can be used when key is unavailable. - address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + It is less efficient than using key. Only one of offset or key + should - It can also be a record specification address, e.g. + 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. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - in: path - required: true + If left empty it will default to a value to be set by each app. + in: query + required: false type: string - - name: exclude_id_info + format: uint64 + - name: pagination.count_total description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + 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 format: boolean - - name: include_request + - name: pagination.reverse description: >- - include_request is a flag for whether to include this request in - your result. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean tags: - Query - /provenance/metadata/v1/contractspecs/all: + '/provenance/exchange/v1/orders/asset/{asset}': get: - summary: ContractSpecificationsAll retrieves all contract specifications. - operationId: ContractSpecificationsAll + summary: GetAssetOrders looks up the orders for a specific asset denom. + operationId: GetAssetOrders responses: '200': description: A successful response. schema: type: object properties: - contract_specifications: + orders: type: array items: type: object properties: - specification: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. type: object properties: - specification_id: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: type: string - format: byte - title: unique identifier for this specification on chain - description: - title: >- - Description information for this contract - specification + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: type: object properties: - name: + denom: type: string - description: A Name for this thing. - description: + amount: type: string - description: A description of this thing. - website_url: + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: type: string - description: URL to find even more info. - icon_url: + amount: type: string - description: URL of an icon. description: >- - Description holds general information that is handy - to associate with a structure. - owner_addresses: - type: array - items: - type: string - title: Address of the account that owns this specificaiton - parties_involved: + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + buyer_settlement_fees: type: array items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED + type: object + properties: + denom: + type: string + amount: + type: string description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: >- - a list of party roles that must be fullfilled when - signing a transaction for this contract - specification - resource_id: - type: string - format: byte - title: >- - the address of a record on chain that represents - this contract - hash: - type: string - title: the hash of contract binary (off-chain instance) - class_name: - type: string - title: name of the class/type of this contract executable - title: >- - ContractSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract - description: >- - specification is the on-chain contract specification - message. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - ContractSpecificationWrapper contains a single contract - specification and some extra identifiers for it. - description: >- - contract_specifications are the wrapped contract - specifications. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - description: >- - offset is a numeric offset that can be used when key - is unavailable. + Coin defines a token with a denomination and an + amount. - It is less efficient than using key. Only one of - offset or key should - - be set. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - 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 + NOTE: The amount field is an Int which implements + the custom method - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition + to the price) + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - pagination. Ex: + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders for the provided asset. pagination: - description: >- - pagination provides the pagination information of this - response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -38896,8 +39380,8 @@ paths: was set, its value is undefined otherwise description: >- - ContractSpecificationsAllResponse is the response type for the - Query/ContractSpecificationsAll RPC method. + QueryGetAssetOrdersResponse is a response message for the + GetAssetOrders query. default: description: An unexpected error response schema: @@ -38917,26 +39401,197 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } parameters: - - name: exclude_id_info + - name: asset + description: asset is the denom of assets to get orders for. + in: path + required: true + type: string + - name: order_type description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + order_type is optional and can limit orders to only "ask" or "bid" + orders. in: query required: false - type: boolean - format: boolean - - name: include_request + type: string + - name: after_order_id description: >- - include_request is a flag for whether to include this request in - your result. + after_order_id is a minimum (exclusive) order id. All results will + be strictly greater than this. in: query required: false - type: boolean - format: boolean + type: string + format: uint64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -38997,38 +39652,224 @@ paths: format: boolean tags: - Query - /provenance/metadata/v1/locator/params: + '/provenance/exchange/v1/orders/market/{market_id}': get: - summary: >- - OSLocatorParams returns all parameters for the object store locator sub - module. - operationId: OSLocatorParams + summary: GetMarketOrders looks up the orders in a market. + operationId: GetMarketOrders responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. - type: object - properties: - max_uri_length: - type: integer - format: int64 - request: - description: request is a copy of the request that generated these results. + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition + to the price) + + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders in the provided market. + pagination: + description: pagination is the resulting pagination parameters. type: object properties: - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - OSLocatorParamsResponse is the response type for the - Query/OSLocatorParams RPC method. + QueryGetMarketOrdersResponse is a response message for the + GetMarketOrders query. default: description: An unexpected error response schema: @@ -39048,270 +39889,198 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/locator/scope/{scope_id}': - get: - summary: >- - OSLocatorsByScope returns all ObjectStoreLocator entries for a for all - signer's present in the specified scope. - operationId: OSLocatorsByScope - responses: - '200': - description: A successful response. - schema: - type: object - properties: - locators: - type: array - items: - type: object - properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: - type: string - title: locator endpoint uri - encryption_key: - type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents - a owner( blockchain address) associated with a endpoint + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - uri for it's associated object store. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - scope_id: - type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - OSLocatorsByScopeResponse is the response type for the - Query/OSLocatorsByScope RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string + 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. value: type: string format: byte - parameters: - - name: scope_id - in: path - required: true - type: string - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/locator/uri/{uri}': - get: - summary: >- - OSLocatorsByURI returns all ObjectStoreLocator entries for a locator - uri. - operationId: OSLocatorsByURI - responses: - '200': - description: A successful response. - schema: - type: object - properties: - locators: - type: array - items: - type: object - properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: - type: string - title: locator endpoint uri - encryption_key: - type: string - title: owners encryption key address + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - Defines an Locator object stored on chain, which represents - a owner( blockchain address) associated with a endpoint + `Any` contains an arbitrary serialized protocol buffer + message along with a - uri for it's associated object store. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - uri: - type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - description: >- - key is a value returned in PageResponse.next_key to - begin + URL that describes the type of the serialized message. - querying the next page most efficiently. Only one of - offset or key - should be set. - offset: - type: string - format: uint64 - description: >- - offset is a numeric offset that can be used when key - is unavailable. + Protobuf library provides support to pack/unpack Any values + in the form - It is less efficient than using key. Only one of - offset or key should + of utility functions or additional generated methods of the + Any type. - be set. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - description: >- - count_total is set to true to indicate that the - result set should include + Example 1: Pack and unpack a message in C++. - a count of the total number of items available for - pagination in UIs. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - count_total is only respected when offset is used. It - is ignored when key + Example 2: Pack and unpack a message in Java. - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. + 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. - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Example 4: Pack and unpack a message in Go - was set, its value is undefined otherwise - description: >- - OSLocatorsByURIResponse is the response type for the - Query/OSLocatorsByURI RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } parameters: - - name: uri + - name: market_id + description: market_id is the id of the market to get all the orders for. in: path required: true + type: integer + format: int64 + - name: order_type + description: >- + order_type is optional and can limit orders to only "ask" or "bid" + orders. + in: query + required: false type: string - - name: include_request + - name: after_order_id description: >- - include_request is a flag for whether to include this request in - your result. + after_order_id is a minimum (exclusive) order id. All results will + be strictly greater than this. in: query required: false - type: boolean - format: boolean + type: string + format: uint64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -39372,213 +40141,202 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/locator/{owner}': + '/provenance/exchange/v1/orders/market/{market_id}/{external_id}': get: - summary: OSLocator returns an ObjectStoreLocator by its owner's address. - operationId: OSLocator + summary: GetOrderByExternalID looks up an order by market id and external id. + operationId: GetOrderByExternalID responses: '200': description: A successful response. schema: type: object properties: - locator: - type: object - properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: - type: string - title: locator endpoint uri - encryption_key: - type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents a - owner( blockchain address) associated with a endpoint - - uri for it's associated object store. - request: - description: request is a copy of the request that generated these results. + order: + description: order is the requested order. type: object properties: - owner: + order_id: type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - OSLocatorResponse is the response type for the Query/OSLocator RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: owner - in: path - required: true - type: string - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - /provenance/metadata/v1/locators/all: - get: - summary: OSAllLocators returns all ObjectStoreLocator entries. - operationId: OSAllLocators - responses: - '200': - description: A successful response. - schema: - type: object - properties: - locators: - type: array - items: - type: object - properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: - type: string - title: locator endpoint uri - encryption_key: - type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents - a owner( blockchain address) associated with a endpoint - - uri for it's associated object store. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: description: >- - pagination defines optional pagination parameters for the - request. + ask_order is the information about this order if it + represents an ask order. type: object properties: - key: - type: string - format: byte + market_id: + type: integer + format: int64 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. - offset: + market_id identifies the market that this order + belongs to. + seller: type: string - format: uint64 description: >- - offset is a numeric offset that can be used when key - is unavailable. + seller is the address of the account that owns this + order and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - It is less efficient than using key. Only one of - offset or key should - be set. - limit: - type: string - format: uint64 + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - limit is the total number of results to be returned in - the result page. + Coin defines a token with a denomination and an + amount. - If left empty it will default to a value to be set by - each app. - count_total: - type: boolean - format: boolean + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - count_total is set to true to indicate that the - result set should include + Coin defines a token with a denomination and an + amount. - 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 + NOTE: The amount field is an Int which implements the + custom method - is set. - reverse: + signatures required by gogoproto. + allow_partial: type: boolean format: boolean description: >- - reverse is set to true if results are to be returned - in the descending order. + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - was set, its value is undefined otherwise + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to + the price) + + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of + this order should be allowed, and should be false if + the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. description: >- - OSAllLocatorsResponse is the response type for the - Query/OSAllLocators RPC method. + QueryGetOrderByExternalIDResponse is a response message for the + GetOrderByExternalID query. default: description: An unexpected error response schema: @@ -39598,176 +40356,388 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte - parameters: - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - - 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. + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - It is less efficient than using key. Only one of offset or key - should + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values + in the form - a count of the total number of items available for pagination in - UIs. + of utility functions or additional generated methods of the + Any type. - count_total is only respected when offset is used. It is ignored - when key - is set. - in: query - required: false - type: boolean - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + 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. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: market_id + description: market_id is the id of the market that's expected to have the order. + in: path + required: true + type: integer + format: int64 + - name: external_id + description: external_id the external id to look up. + in: path + required: true + type: string tags: - Query - '/provenance/metadata/v1/ownership/{address}': + '/provenance/exchange/v1/orders/owner/{owner}': get: - summary: >- - Ownership returns the scope identifiers that list the given address as - either a data or value owner. - operationId: Ownership + summary: GetOwnerOrders looks up the orders from the provided owner address. + operationId: GetOwnerOrders responses: '200': description: A successful response. schema: type: object properties: - scope_uuids: + orders: type: array items: - type: string - description: A list of scope ids (uuid) associated with the given address. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - address: - type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - description: >- - key is a value returned in PageResponse.next_key to - begin + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it + represents an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this + order and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - querying the next page most efficiently. Only one of - offset or key - should be set. - offset: - type: string - format: uint64 - description: >- - offset is a numeric offset that can be used when key - is unavailable. + NOTE: The amount field is an Int which implements + the custom method - It is less efficient than using key. Only one of - offset or key should + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - be set. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - description: >- - count_total is set to true to indicate that the - result set should include + NOTE: The amount field is an Int which implements + the custom method - a count of the total number of items available for - pagination in UIs. + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - count_total is only respected when offset is used. It - is ignored when key - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. + NOTE: The amount field is an Int which implements + the custom method + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - pagination. Ex: + If an order in this market with this external id + already exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it + represents a bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id identifies the market that this order + belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this + order and has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements + the custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition + to the price) + + when the order is settled. A hold is placed on this + until the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment + of this order should be allowed, and should be false + if the + + order must be either filled in full or not filled at + all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id + already exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders for the provided address. pagination: - description: >- - pagination provides the pagination information of this - response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -39786,8 +40756,8 @@ paths: was set, its value is undefined otherwise description: >- - OwnershipResponse is the response type for the Query/Ownership RPC - method. + QueryGetOwnerOrdersResponse is a response message for the + GetOwnerOrders query. default: description: An unexpected error response schema: @@ -39807,22 +40777,199 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: address + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: owner + description: >- + owner is the bech32 address string of the owner to get the orders + for. in: path required: true type: string - - name: include_request + - name: order_type description: >- - include_request is a flag for whether to include this request in - your result. + order_type is optional and can limit orders to only "ask" or "bid" + orders. in: query required: false - type: boolean - format: boolean + type: string + - name: after_order_id + description: >- + after_order_id is a minimum (exclusive) order id. All results will + be strictly greater than this. + in: query + required: false + type: string + format: uint64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -39883,10 +41030,10 @@ paths: format: boolean tags: - Query - /provenance/metadata/v1/params: + /provenance/exchange/v1/params: get: - summary: Params queries the parameters of x/metadata module. - operationId: MetadataParams + summary: Params returns the exchange module parameters. + operationId: ExchangeParams responses: '200': description: A successful response. @@ -39894,21 +41041,45 @@ paths: type: object properties: params: - description: params defines the parameters of the module. - type: object - request: - description: request is a copy of the request that generated these results. + description: params are the exchange module parameter values. type: object properties: - include_request: - type: boolean - format: boolean + default_split: + type: integer + format: int64 description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. + default_split is the default proportion of fees the + exchange receives in basis points. + + It is used if there isn't an applicable denom-specific + split defined. + + E.g. 100 = 1%. Min = 0, Max = 10000. + denom_splits: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom is the coin denomination this split applies + to. + split: + type: integer + format: int64 + description: >- + split is the proportion of fees the exchange + receives for this denom in basis points. + + E.g. 100 = 1%. Min = 0, Max = 10000. + description: >- + DenomSplit associates a coin denomination with an amount + the exchange receives for that denom. + description: >- + denom_splits are the denom-specific amounts the exchange + receives. + description: QueryParamsResponse is a response message for the Params query. default: description: An unexpected error response schema: @@ -39928,1677 +41099,868 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte - parameters: - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/record/{record_addr}': - get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. + URL that describes the type of the serialized message. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - the session_id can either be a uuid or session address, e.g. + Protobuf library provides support to pack/unpack Any values + in the form - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're + of utility functions or additional generated methods of the + Any type. - interested in. + Example 1: Pack and unpack a message in C++. - * If only a record_addr is provided, that single record will be - returned. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - * If only a scope_id is provided, all records in that scope will be - returned. + Example 2: Pack and unpack a message in Java. - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - A bad request is returned if: + Example 4: Pack and unpack a message in Go - * The session_id is a uuid and no scope_id is provided. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. + The pack methods provided by protobuf library will by + default use - * A name is provided, but not a scope_id and/or a session_id. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - * A name and record_addr are provided and the name doesn't match the - record_addr. + 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 - By default, the scope and sessions are not included. + name "y.z". - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records + + + 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" + } + tags: + - Query + /provenance/exchange/v1/validate/create_market: + get: + summary: >- + ValidateCreateMarket checks the provided MsgGovCreateMarketResponse and + returns any errors it might have. + operationId: ValidateCreateMarket responses: '200': description: A successful response. schema: type: object properties: - scope: + error: + type: string description: >- - scope is the wrapped scope that holds these records (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + error is any problems or inconsistencies in the provided gov + prop msg. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts + This goes above and beyond the validation done when actually + processing the governance proposal. - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + If an error is returned, and gov_prop_will_pass is true, it + means the error is more of an - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + inconsistency that might cause certain aspects of the market + to behave unexpectedly. + gov_prop_will_pass: + type: boolean + format: boolean + description: >- + gov_prop_will_pass will be true if the the provided msg will + be successfully processed at the end of it's voting + + period (assuming it passes). + description: >- + QueryValidateCreateMarketResponse is a response message for the + ValidateCreateMarket query. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + type_url: + type: string description: >- - Session defines an execution context against a specific - specification instance. + A URL/resource name that uniquely identifies the type of + the serialized - The context will have a specification and set of parties - involved. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: + 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. + value: + type: string + format: byte description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + Must be a valid serialized protocol buffer of the above + specified type. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + `Any` contains an arbitrary serialized protocol buffer + message along with a - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. + URL that describes the type of the serialized message. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - RecordsResponse is the response type for the Query/Records RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } parameters: - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: path - required: true + - name: create_market_request.authority + description: authority should be the governance module account address. + in: query + required: false type: string - - name: scope_id + - name: create_market_request.market.market_id + description: market_id is the numerical identifier for this market. + in: query + required: false + type: integer + format: int64 + - name: create_market_request.market.market_details.name + description: name is a moniker that people can use to refer to this market. + in: query + required: false + type: string + - name: create_market_request.market.market_details.description description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + description extra information about this market. The field is meant + to be human-readable. in: query required: false type: string - - name: session_id + - name: create_market_request.market.market_details.website_url description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. + website_url is a url people can use to get to this market, or at + least get more information about this market. in: query required: false type: string - - name: name - description: name is the name of the record to look for. + - name: create_market_request.market.market_details.icon_uri + description: icon_uri is a uri for an icon to associate with this market. in: query required: false type: string - - name: include_scope + - name: create_market_request.market.accepting_orders description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. + accepting_orders is whether this market is allowing orders to be + created for it. in: query required: false type: boolean format: boolean - - name: include_sessions + - name: create_market_request.market.allow_user_settlement description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. + allow_user_settlement is whether this market allows users to + initiate their own settlements. + + For example, the FillBids and FillAsks endpoints are available if + and only if this is true. + + The MarketSettle endpoint is only available to market actors + regardless of the value of this field. in: query required: false type: boolean format: boolean - - name: exclude_id_info + - name: create_market_request.market.req_attr_create_ask description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create an ask order. + + An account must have all of these attributes in order to create an + ask order in this market. + + If the list is empty, any account can create ask orders in this + market. + + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "b.x.a", or "c.b.a.x". in: query required: false - type: boolean - format: boolean - - name: include_request + type: array + items: + type: string + collectionFormat: multi + - name: create_market_request.market.req_attr_create_bid description: >- - include_request is a flag for whether to include this request in - your result. + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create a bid order. + + An account must have all of these attributes in order to create a + bid order in this market. + + If the list is empty, any account can create bid orders in this + market. + + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: create_market_request.market.accepting_commitments + description: >- + accepting_commitments is whether the market is allowing users to + commit funds to it. in: query required: false type: boolean format: boolean - tags: - - Query - '/provenance/metadata/v1/record/{record_addr}/scope': - get: - summary: Scope searches for a scope. - description: >- - The scope id, if provided, must either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, + - name: create_market_request.market.commitment_settlement_bips + description: >- + commitment_settlement_bips is the fraction of a commitment + settlement that will be paid to the exchange. - e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if - provided, must be a bech32 session address, + It is represented in basis points (1/100th of 1%, e.g. 0.0001) and + is limited to 0 to 10,000 inclusive. - e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a + During a commitment settlement, the inputs are summed and NAVs are + used to convert that total to the - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + intermediary denom, then to the fee denom. That is then multiplied + by this value to get the fee amount + that will be transferred out of the market's account into the + exchange for that settlement. - * If only a scope_id is provided, that scope is returned. - * If only a session_addr is provided, the scope containing that session - is returned. + Summing the inputs effectively doubles the value of the settlement + from what what is usually thought of - * If only a record_addr is provided, the scope containing that record is - returned. + as the value of a trade. That should be taken into account when + setting this value. - * If more than one of scope_id, session_addr, and record_addr are - provided, and they don't refer to the same scope, + E.g. if two accounts are trading 10apples for 100grapes, the inputs + total will be 10apples,100grapes - a bad request is returned. + (which might then be converted to USD then nhash before applying + this ratio); Usually, though, the value + of that trade would be viewed as either just 10apples or just + 100grapes. + in: query + required: false + type: integer + format: int64 + - name: create_market_request.market.intermediary_denom + description: >- + intermediary_denom is the denom that funds get converted to (before + being converted to the chain's fee denom) - Providing a session addr or record addr does not limit the sessions and - records returned (if requested). + when calculating the fees that are paid to the exchange. NAVs are + used for this conversion and actions will fail - Those parameters are only used to find the scope. + if a NAV is needed but not available. + in: query + required: false + type: string + - name: create_market_request.market.req_attr_create_commitment + description: >- + req_attr_create_commitment is a list of attributes required on an + account for it to be allowed to create a + commitment. An account must have all of these attributes in order to + create a commitment in this market. - By default, sessions and records are not included. + If the list is empty, any account can create commitments in this + market. - Set include_sessions and/or include_records to true to include sessions - and/or records. - operationId: Scope3 + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + tags: + - Query + /provenance/exchange/v1/validate/manage_fees: + get: + summary: >- + ValidateManageFees checks the provided MsgGovManageFeesRequest and + returns any errors that it might have. + operationId: ValidateManageFees responses: '200': description: A successful response. schema: type: object properties: - scope: - description: scope is the wrapped scope result. - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + error: + type: string + description: >- + error is any problems or inconsistencies in the provided gov + prop msg. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts + This goes above and beyond the validation done when actually + processing the governance proposal. - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + If an error is returned, and gov_prop_will_pass is true, it + means the error is more of an - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + inconsistency that might cause certain aspects of the market + to behave unexpectedly. + gov_prop_will_pass: + type: boolean + format: boolean + description: >- + gov_prop_will_pass will be true if the the provided msg will + be successfully processed at the end of it's voting + + period (assuming it passes). + description: >- + QueryValidateManageFeesResponse is a response message for the + ValidateManageFees query. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + type_url: + type: string description: >- - Session defines an execution context against a specific - specification instance. + A URL/resource name that uniquely identifies the type of + the serialized - The context will have a specification and set of parties - involved. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: + 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. + value: + type: string + format: byte description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + Must be a valid serialized protocol buffer of the above + specified type. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions in this scope (if - requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: >- - records is any number of wrapped records in this scope (if - requested). - request: - description: request is a copy of the request that generated these results. - type: object - properties: - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + `Any` contains an arbitrary serialized protocol buffer + message along with a - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_addr: - type: string - description: >- - session_addr is a bech32 session address, e.g. + URL that describes the type of the serialized message. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions of the scope in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of the scope in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: ScopeResponse is the response type for the Query/Scope RPC method. + + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: manage_fees_request.authority + description: authority should be the governance module account address. + in: query + required: false + type: string + - name: manage_fees_request.market_id + description: market_id is the market id that will get these fee updates. + in: query + required: false + type: integer + format: int64 + - name: manage_fees_request.set_fee_commitment_settlement_bips + description: >- + set_fee_commitment_settlement_bips is the new + fee_commitment_settlement_bips for the market. + + It is ignored if it is zero. To set it to zero set + unset_fee_commitment_settlement_bips to true. + in: query + required: false + type: integer + format: int64 + - name: manage_fees_request.unset_fee_commitment_settlement_bips + description: >- + unset_fee_commitment_settlement_bips, if true, sets the + fee_commitment_settlement_bips to zero. + + If false, it is ignored. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/exchange/v1/validate/market/{market_id}': + get: + summary: ValidateMarket checks for any problems with a market's setup. + operationId: ValidateMarket + responses: + '200': + description: A successful response. + schema: + type: object + properties: + error: + type: string + description: >- + error is any problems or inconsistencies in the provided + market. + description: >- + QueryValidateMarketResponse is a response message for the + ValidateMarket query. default: description: An unexpected error response schema: @@ -41618,876 +41980,254 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: path - required: true - type: string - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: query - required: false - type: string - - name: session_addr - description: |- - session_addr is a bech32 session address, e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - in: query - required: false - type: string - - name: include_sessions - description: >- - include_sessions is a flag for whether to include the sessions of - the scope in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_records - description: >- - include_records is a flag for whether to include the records of the - scope in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/record/{record_addr}/session': - get: - summary: Sessions searches for sessions. - description: >- - The scope_id can either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + protocol buffer message. This string must contain at + least - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can - either be a uuid or session address, e.g. + one "/" character. The last segment of the URL's path + must represent - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a + the fully qualified name of the type (as in - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - * If only a scope_id is provided, all sessions in that scope are - returned. - * If only a session_id is provided, it must be an address, and that - single session is returned. + In practice, teams usually precompile into the binary + all types that they - * If the session_id is a uuid, then either a scope_id or record_addr - must also be provided, and that single session + expect it to use in the context of Any. However, for + URLs which use the - is returned. + scheme `http`, `https`, or no scheme, one can optionally + set up a type - * If only a record_addr is provided, the session containing that record - will be returned. + server that maps type URLs to message definitions as + follows: - * If a record_name is provided then either a scope_id, session_id as an - address, or record_addr must also be - provided, and the session containing that record will be returned. + * 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.) - A bad request is returned if: + Note: this functionality is not currently available in + the official - * The session_id is a uuid and is provided without a scope_id or - record_addr. + protobuf release, and it is not used for type URLs + beginning with - * A record_name is provided without any way to identify the scope (e.g. - a scope_id, a session_id as an address, or + type.googleapis.com. - a record_addr). - * Two or more of scope_id, session_id as an address, and record_addr are - provided and don't all refer to the same + Schemes other than `http`, `https` (or the empty scheme) + might be - scope. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - * A record_addr (or scope_id and record_name) is provided with a - session_id and that session does not contain such + URL that describes the type of the serialized message. - a record. - * A record_addr and record_name are both provided, but reference - different records. + Protobuf library provides support to pack/unpack Any values + in the form + of utility functions or additional generated methods of the + Any type. - By default, the scope and records are not included. - Set include_scope and/or include_records to true to include the scope - and/or records. - operationId: Sessions4 - responses: - '200': - description: A successful response. - schema: - type: object - properties: - scope: - description: >- - scope is the wrapped scope that holds these sessions (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + Example 1: Pack and unpack a message in C++. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + Example 2: Pack and unpack a message in Java. - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: market_id + description: market_id is the id of the market to check. + in: path + required: true + type: integer + format: int64 + tags: + - Query + /provenance/hold/v1/funds: + get: + summary: >- + GetAllHolds returns all addresses with funds on hold, and the amount + held. + operationId: GetAllHolds + responses: + '200': + description: A successful response. + schema: + type: object + properties: + holds: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + address: + type: string description: >- - Session defines an execution context against a specific - specification instance. + address is the account address that holds the funds on + hold. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - The context will have a specification and set of parties - involved. + NOTE: The amount field is an Int which implements the + custom method - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + signatures required by gogoproto. + description: amount is the balances that are on hold for the address. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: sessions is any number of wrapped session results. - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. + AccountHold associates an address with an amount on hold for + that address. description: >- - records is any number of wrapped records contained in these - sessions (if requested). - request: - description: request is a copy of the request that generated these results. + holds is a list of addresses with funds on hold and the + amounts being held. + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - scope_id: + next_key: type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - provided. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - record_name: - type: string - description: >- - record_name is the name of the record to find the session - for in the provided scope. - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the scope - containing these sessions in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of these sessions in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. + was set, its value is undefined otherwise description: >- - SessionsResponse is the response type for the Query/Sessions RPC - method. + GetAllHoldsResponse is the response type for the Query/GetAllHolds + query. default: description: An unexpected error response schema: @@ -42511,464 +42251,97 @@ paths: type: string format: byte parameters: - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: path - required: true - type: string - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + - 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 - - name: session_id + format: byte + - name: pagination.offset description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. + offset is a numeric offset that can be used when key is unavailable. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + It is less efficient than using key. Only one of offset or key + should - provided. + be set. in: query required: false type: string - - name: record_name + format: uint64 + - name: pagination.limit description: >- - record_name is the name of the record to find the session for in the - provided scope. + 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 - - name: include_scope - description: >- - include_scope is a flag for whether to include the scope containing - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_records - description: >- - include_records is a flag for whether to include the records of - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info + format: uint64 + - name: pagination.count_total description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + 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 format: boolean - - name: include_request + - name: pagination.reverse description: >- - include_request is a flag for whether to include this request in - your result. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean tags: - Query - /provenance/metadata/v1/records/all: + '/provenance/hold/v1/funds/{address}': get: - summary: RecordsAll retrieves all records. - operationId: RecordsAll + summary: GetHolds looks up the funds that are on hold for an address. + operationId: GetHolds responses: '200': description: A successful response. schema: type: object properties: - records: + amount: type: array items: type: object properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + denom: + type: string + amount: + type: string description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records are the wrapped records. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - 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. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - 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. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. - + Coin defines a token with a denomination and an amount. - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + NOTE: The amount field is an Int which implements the custom + method - was set, its value is undefined otherwise + signatures required by gogoproto. + description: amount is the total on hold for the requested address. description: >- - RecordsAllResponse is the response type for the Query/RecordsAll - RPC method. + GetHoldsResponse is the response type for the Query/GetHolds + query. default: description: An unexpected error response schema: @@ -42992,319 +42365,118 @@ paths: type: string format: byte parameters: - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - - 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 + - name: address + description: address is the account address to get on-hold balances for. + in: path + required: true 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 - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean tags: - Query - '/provenance/metadata/v1/recordspec/{specification_id}': + /provenance/ibcratelimit/v1/params: get: - summary: RecordSpecification returns a record specification for the given input. - operationId: RecordSpecification + summary: >- + Params defines a gRPC query method that returns the ibcratelimit + module's + + parameters. + operationId: IBCRateLimitParams responses: '200': description: A successful response. schema: type: object properties: - record_specification: + params: + description: params defines the parameters of the module. type: object properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: - type: object - properties: - name: - type: string - title: name for this input - type_name: - type: string - title: >- - a type_name (typically a proto name or - class_name) - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to define - an input - - parameter - title: >- - A set of inputs that must be satisified to apply this - RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must be - RECORD or RECORD_LIST) + contract_address: + type: string + description: >- + contract_address is the address of the rate limiter + contract. + description: >- + ParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + '/provenance/marker/v1/accesscontrol/{id}': + get: + summary: query for access records on an account + operationId: Access + responses: + '200': + description: A successful response. + schema: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + address: + type: string + permissions: + type: array + items: type: string enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED + - ACCESS_UNSPECIFIED + - ACCESS_MINT + - ACCESS_BURN + - ACCESS_DEPOSIT + - ACCESS_WITHDRAW + - ACCESS_DELETE + - ACCESS_ADMIN + - ACCESS_TRANSFER + default: ACCESS_UNSPECIFIED description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is - an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a Record - including allowed/required inputs/outputs - description: >- - specification is the on-chain record specification - message. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name portion - of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - specification_id: - type: string - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification - - address, e.g. - contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. - - It can also be a record specification address, e.g. - - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - name: - type: string - description: >- - name is the name of the record to look up. - - It is required if the specification_id is a uuid or - contract specification address. + Access defines the different types of permissions that + a marker supports granting to an address. - It is ignored if the specification_id is a record - specification address. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. + - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. + - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker + - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. + - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module + - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or + transfer coin from this marker account to another + account. + - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This + access also allows cancelled markers to be marked for + deletion + - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. + - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. + This access right is only supported on RESTRICTED + markers. + description: >- + AccessGrant associates a collection of permissions with an + address for delegated marker account control. description: >- - RecordSpecificationResponse is the response type for the - Query/RecordSpecification RPC method. + QueryAccessResponse is the response type for the + Query/MarkerAccess method. default: description: An unexpected error response schema: @@ -43324,337 +42496,586 @@ paths: properties: type_url: 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. value: type: string format: byte - parameters: - - name: specification_id - description: >- - specification_id can either be a uuid, e.g. - def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract - specification + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + URL that describes the type of the serialized message. - It can also be a record specification address, e.g. - recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. - in: path - required: true - type: string - - name: name - description: >- - name is the name of the record to look up. + Protobuf library provides support to pack/unpack Any values + in the form - It is required if the specification_id is a uuid or contract - specification address. + of utility functions or additional generated methods of the + Any type. - It is ignored if the specification_id is a record specification - address. - in: query - required: false + + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true type: string - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean tags: - Query - /provenance/metadata/v1/recordspecs/all: + '/provenance/marker/v1/accountdata/{denom}': get: - summary: RecordSpecificationsAll retrieves all record specifications. - operationId: RecordSpecificationsAll + summary: query for account data associated with a denom + operationId: MarkerAccountData responses: '200': description: A successful response. schema: type: object properties: - record_specifications: + value: + type: string + description: The accountdata for the requested denom. + title: >- + QueryAccountDataResponse is the response type for the + Query/AccountData + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - name: - type: string - title: >- - Name of Record that will be created when this - specification is used - inputs: - type: array - items: - type: object - properties: - name: - type: string - title: name for this input - type_name: - type: string - title: >- - a type_name (typically a proto name or - class_name) - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to - define an input - - parameter - title: >- - A set of inputs that must be satisified to apply - this RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: - title: >- - Type of result for this record specification (must - be RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record - title: >- - RecordSpecification defines the specification for a - Record including allowed/required inputs/outputs - description: >- - specification is the on-chain record specification - message. - record_spec_id_info: + type_url: + type: string description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - description: record_specifications are the wrapped record specifications. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - description: >- - key is a value returned in PageResponse.next_key to - begin + `Any` contains an arbitrary serialized protocol buffer + message along with a - querying the next page most efficiently. Only one of - offset or key + URL that describes the type of the serialized message. - should be set. - offset: - type: string - format: uint64 - 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 + Protobuf library provides support to pack/unpack Any values + in the form - be set. - limit: - type: string - format: uint64 - description: >- - limit is the total number of results to be returned in - the result page. + of utility functions or additional generated methods of the + Any type. - If left empty it will default to a value to be set by - each app. - count_total: - type: boolean - format: boolean - 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. + Example 1: Pack and unpack a message in C++. - count_total is only respected when offset is used. It - is ignored when key + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. + 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); + } - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + Example 3: Pack and unpack a message in Python. - pagination. Ex: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: denom + description: The denomination to look up. + in: path + required: true + type: string + tags: + - Query + /provenance/marker/v1/all: + get: + summary: Returns a list of all markers on the blockchain + operationId: AllMarkers + responses: + '200': + description: A successful response. + schema: + type: object + properties: + markers: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } pagination: - description: >- - pagination provides the pagination information of this - response. + description: pagination defines an optional pagination for the request. type: object properties: next_key: @@ -43673,8 +43094,8 @@ paths: was set, its value is undefined otherwise description: >- - RecordSpecificationsAllResponse is the response type for the - Query/RecordSpecificationsAll RPC method. + QueryAllMarkersResponse is the response type for the + Query/AllMarkers method. default: description: An unexpected error response schema: @@ -43694,43 +43115,216 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - - 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. + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - It is less efficient than using key. Only one of offset or key - should + protocol buffer message. This string must contain at + least - be set. + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: status + description: |- + Optional status to filter request. + + - MARKER_STATUS_UNSPECIFIED: MARKER_STATUS_UNSPECIFIED - Unknown/Invalid Marker Status + - MARKER_STATUS_PROPOSED: MARKER_STATUS_PROPOSED - Initial configuration period, updates allowed, token supply not created. + - MARKER_STATUS_FINALIZED: MARKER_STATUS_FINALIZED - Configuration finalized, ready for supply creation + - MARKER_STATUS_ACTIVE: MARKER_STATUS_ACTIVE - Supply is created, rules are in force. + - MARKER_STATUS_CANCELLED: MARKER_STATUS_CANCELLED - Marker has been cancelled, pending destroy + - MARKER_STATUS_DESTROYED: MARKER_STATUS_DESTROYED - Marker supply has all been recalled, marker is considered destroyed and no further + actions allowed. + in: query + required: false + type: string + enum: + - MARKER_STATUS_UNSPECIFIED + - MARKER_STATUS_PROPOSED + - MARKER_STATUS_FINALIZED + - MARKER_STATUS_ACTIVE + - MARKER_STATUS_CANCELLED + - MARKER_STATUS_DESTROYED + default: MARKER_STATUS_UNSPECIFIED + - 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 @@ -43774,2551 +43368,1513 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/scope/{scope_id}': + '/provenance/marker/v1/detail/{id}': get: - summary: Scope searches for a scope. - description: >- - The scope id, if provided, must either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, + summary: query for a single marker by denom or address + operationId: Marker + responses: + '200': + description: A successful response. + schema: + type: object + properties: + marker: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if - provided, must be a bech32 session address, + protocol buffer message. This string must contain at least - e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a + one "/" character. The last segment of the URL's path must + represent - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - * If only a scope_id is provided, that scope is returned. + (e.g., leading "." is not accepted). - * If only a session_addr is provided, the scope containing that session - is returned. - * If only a record_addr is provided, the scope containing that record is - returned. + In practice, teams usually precompile into the binary all + types that they - * If more than one of scope_id, session_addr, and record_addr are - provided, and they don't refer to the same scope, + expect it to use in the context of Any. However, for URLs + which use the - a bad request is returned. + scheme `http`, `https`, or no scheme, one can optionally + set up a type + server that maps type URLs to message definitions as + follows: - Providing a session addr or record addr does not limit the sessions and - records returned (if requested). - Those parameters are only used to find the scope. + * 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.) - By default, sessions and records are not included. + Note: this functionality is not currently available in the + official - Set include_sessions and/or include_records to true to include sessions - and/or records. - operationId: Scope - responses: - '200': - description: A successful response. + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: >- + QueryMarkerResponse is the response type for the Query/Marker + method. + default: + description: An unexpected error response schema: type: object properties: - scope: - description: scope is the wrapped scope result. - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts + protocol buffer message. This string must contain at + least - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + one "/" character. The last segment of the URL's path + must represent - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: the address or denom of the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/escrow/{id}': + get: + summary: query for coins on a marker account + operationId: Escrow + responses: + '200': + description: A successful response. + schema: + type: object + properties: + escrow: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made - description: >- - Session defines an execution context against a specific - specification instance. + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - The context will have a specification and set of parties - involved. + NOTE: The amount field is an Int which implements the custom + method - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions in this scope (if - requested). - records: + signatures required by gogoproto. + description: >- + QueryEscrowResponse is the response type for the + Query/MarkerEscrow method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: + type_url: + type: string description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: >- - records is any number of wrapped records in this scope (if - requested). - request: - description: request is a copy of the request that generated these results. - type: object - properties: - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + A URL/resource name that uniquely identifies the type of + the serialized - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_addr: - type: string - description: >- - session_addr is a bech32 session address, e.g. + protocol buffer message. This string must contain at + least - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions of the scope in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of the scope in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: ScopeResponse is the response type for the Query/Scope RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + one "/" character. The last segment of the URL's path + must represent - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: session_addr - description: |- - session_addr is a bech32 session address, e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - in: query - required: false - type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: include_sessions - description: >- - include_sessions is a flag for whether to include the sessions of - the scope in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_records - description: >- - include_records is a flag for whether to include the records of the - scope in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/scope/{scope_id}/record/{name}': - get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. + the fully qualified name of the type (as in - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. + `path/google.protobuf.Duration`). The name should be in + a canonical form - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + (e.g., leading "." is not accepted). - the session_id can either be a uuid or session address, e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're + In practice, teams usually precompile into the binary + all types that they - interested in. + 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 only a record_addr is provided, that single record will be - returned. + server that maps type URLs to message definitions as + follows: - * If only a scope_id is provided, all records in that scope will be - returned. - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. + * If no scheme is provided, `https` is assumed. - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. + * 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 - A bad request is returned if: + protobuf release, and it is not used for type URLs + beginning with - * The session_id is a uuid and no scope_id is provided. + type.googleapis.com. - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. - * A name is provided, but not a scope_id and/or a session_id. + Schemes other than `http`, `https` (or the empty scheme) + might be - * A name and record_addr are provided and the name doesn't match the - record_addr. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + URL that describes the type of the serialized message. - By default, the scope and sessions are not included. - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records3 - responses: - '200': - description: A successful response. - schema: - type: object - properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + Protobuf library provides support to pack/unpack Any values + in the form - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/getdenommetadata/{denom}': + get: + summary: query for access records on an account + operationId: MarkerDenomMetadata + responses: + '200': + description: A successful response. + schema: + type: object + properties: + metadata: + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts + description: >- + denom represents the string name of the given denom + unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one + must - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + raise the base_denom to in order to equal the given + DenomUnit's denom - This also enables use of optional=true scope owners - and session parties. + 1 denom = 10^exponent base_denom + + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with + + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: >- + aliases is a list of string aliases for the given + denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: >- + denom_units represents the list of DenomUnit's for a given + coin + base: + type: string description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: + base represents the base denom (should be the DenomUnit + with exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: + symbol is the token symbol usually shown on exchanges (eg: + ATOM). This can + + be the same as the display. + + + Since: cosmos-sdk 0.43 + uri: + type: string description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + URI to a document (on or off-chain) that contains + additional information. Optional. + + + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. + It's used to verify that + + the document didn't change. Optional. + + + Since: cosmos-sdk 0.46 + description: |- + Metadata represents a struct that describes + a basic token. + title: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + type_url: + type: string description: >- - Session defines an execution context against a specific - specification instance. + A URL/resource name that uniquely identifies the type of + the serialized - The context will have a specification and set of parties - involved. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + the fully qualified name of the type (as in - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - RecordsResponse is the response type for the Query/Records RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + `path/google.protobuf.Duration`). The name should be in + a canonical form - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: name - description: name is the name of the record to look for - in: path - required: true - type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. + (e.g., leading "." is not accepted). - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - provided. - in: query - required: false - type: string - - name: include_scope - description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_sessions - description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/scope/{scope_id}/record/{record_name}/session': - get: - summary: Sessions searches for sessions. - description: >- - The scope_id can either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + In practice, teams usually precompile into the binary + all types that they - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can - either be a uuid or session address, e.g. + expect it to use in the context of Any. However, for + URLs which use the - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a + scheme `http`, `https`, or no scheme, one can optionally + set up a type - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + server that maps type URLs to message definitions as + follows: - * If only a scope_id is provided, all sessions in that scope are - returned. + * If no scheme is provided, `https` is assumed. - * If only a session_id is provided, it must be an address, and that - single session is returned. + * 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.) - * If the session_id is a uuid, then either a scope_id or record_addr - must also be provided, and that single session + Note: this functionality is not currently available in + the official - is returned. + protobuf release, and it is not used for type URLs + beginning with - * If only a record_addr is provided, the session containing that record - will be returned. + type.googleapis.com. - * If a record_name is provided then either a scope_id, session_id as an - address, or record_addr must also be - provided, and the session containing that record will be returned. + Schemes other than `http`, `https` (or the empty scheme) + might be + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - A bad request is returned if: + URL that describes the type of the serialized message. - * The session_id is a uuid and is provided without a scope_id or - record_addr. - * A record_name is provided without any way to identify the scope (e.g. - a scope_id, a session_id as an address, or + Protobuf library provides support to pack/unpack Any values + in the form - a record_addr). + of utility functions or additional generated methods of the + Any type. - * Two or more of scope_id, session_id as an address, and record_addr are - provided and don't all refer to the same - scope. + Example 1: Pack and unpack a message in C++. - * A record_addr (or scope_id and record_name) is provided with a - session_id and that session does not contain such + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - a record. + Example 2: Pack and unpack a message in Java. - * A record_addr and record_name are both provided, but reference - different records. + 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. - By default, the scope and records are not included. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Set include_scope and/or include_records to true to include the scope - and/or records. - operationId: Sessions5 + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: denom + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/holding/{id}': + get: + summary: query for all accounts holding the given marker coins + operationId: Holding responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these sessions (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract + balances: + type: array + items: + type: object + properties: + address: + type: string + description: address is the address of the balance holder. + coins: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + Coin defines a token with a denomination and an + amount. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + NOTE: The amount field is an Int which implements the + custom method - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + signatures required by gogoproto. + description: coins defines the different coins this balance holds. + title: >- + Balance defines an account address and balance pair used in + queries for accounts holding a marker + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + QueryHoldingResponse is the response type for the + Query/MarkerHolders method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + type_url: + type: string description: >- - Session defines an execution context against a specific - specification instance. + A URL/resource name that uniquely identifies the type of + the serialized - The context will have a specification and set of parties - involved. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: + 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. + value: + type: string + format: byte description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + Must be a valid serialized protocol buffer of the above + specified type. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: sessions is any number of wrapped session results. - records: + `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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: the address or denom of the marker + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/marker/v1/netassetvalues/{id}': + get: + summary: NetAssetValues returns net asset values for marker + operationId: NetAssetValues + responses: + '200': + description: A successful response. + schema: + type: object + properties: + net_asset_values: type: array items: type: object properties: - record: + price: type: object properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: + denom: type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: + amount: type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + title: price is the complete value of the asset's volume + volume: + type: string + format: uint64 title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: + volume is the number of tokens of the marker that were + purchased for the price + updated_block_height: + type: string + format: uint64 + title: updated_block_height is the block height of last update + title: NetAssetValue defines a marker's net asset value + title: net asset values for marker denom + description: >- + QueryNetAssetValuesRequest is the response type for the + Query/NetAssetValues method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: + 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. + value: + type: string + format: byte description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + Must be a valid serialized protocol buffer of the above + specified type. description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: >- - records is any number of wrapped records contained in these - sessions (if requested). - request: - description: request is a copy of the request that generated these results. - type: object - properties: - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + `Any` contains an arbitrary serialized protocol buffer + message along with a - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. + URL that describes the type of the serialized message. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - provided. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - record_name: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + /provenance/marker/v1/params: + get: + summary: Params queries the parameters of x/bank module. + operationId: MarkerParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_total_supply: type: string - description: >- - record_name is the name of the record to find the session - for in the provided scope. - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the scope - containing these sessions in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of these sessions in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: + format: uint64 + title: >- + Deprecated: Prefer to use `max_supply` instead. Maximum + amount of supply to allow a marker to be created with + enable_governance: type: boolean format: boolean description: >- - include_request is a flag for whether to include this - request in your result. + indicates if governance based controls of markers is + allowed. + unrestricted_denom_regex: + type: string + title: >- + a regular expression used to validate marker denom values + from normal create requests (governance + + requests are only subject to platform coin validation + denom expression) + max_supply: + type: string + title: >- + maximum amount of supply to allow a marker to be created + with description: >- - SessionsResponse is the response type for the Query/Sessions RPC + QueryParamsResponse is the response type for the Query/Params RPC method. default: description: An unexpected error response @@ -46339,1757 +44895,1806 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: record_name - description: >- - record_name is the name of the record to find the session for in the - provided scope. - in: path - required: true - type: string - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - in: query - required: false - type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: include_scope - description: >- - include_scope is a flag for whether to include the scope containing - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_records - description: >- - include_records is a flag for whether to include the records of - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/scope/{scope_id}/records': - get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. - - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + protocol buffer message. This string must contain at + least - the session_id can either be a uuid or session address, e.g. + one "/" character. The last segment of the URL's path + must represent - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're + the fully qualified name of the type (as in - interested in. + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - * If only a record_addr is provided, that single record will be - returned. - * If only a scope_id is provided, all records in that scope will be - returned. + In practice, teams usually precompile into the binary + all types that they - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. + expect it to use in the context of Any. However, for + URLs which use the - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. + scheme `http`, `https`, or no scheme, one can optionally + set up a type + server that maps type URLs to message definitions as + follows: - A bad request is returned if: - * The session_id is a uuid and no scope_id is provided. + * If no scheme is provided, `https` is assumed. - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. + * 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.) - * A name is provided, but not a scope_id and/or a session_id. + Note: this functionality is not currently available in + the official - * A name and record_addr are provided and the name doesn't match the - record_addr. + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - By default, the scope and sessions are not included. - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records2 + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + tags: + - Query + '/provenance/marker/v1/supply/{id}': + get: + summary: query for supply of coin on a marker account + operationId: Supply responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). + amount: type: object properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + NOTE: The amount field is an Int which implements the custom + method - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + signatures required by gogoproto. + description: >- + QuerySupplyResponse is the response type for the + Query/MarkerSupply method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + type_url: + type: string description: >- - Session defines an execution context against a specific - specification instance. + A URL/resource name that uniquely identifies the type of + the serialized - The context will have a specification and set of parties - involved. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: + 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. + value: + type: string + format: byte description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/accountdata/{metadata_addr}': + get: + summary: |- + AccountData gets the account data associated with a metadata address. + Currently, only scope ids are supported. + operationId: MetadataAccountData + responses: + '200': + description: A successful response. + schema: + type: object + properties: + value: + type: string + description: The accountdata for the requested metadata address. + description: >- + AccountDataResponse is the response type for the Query/AccountData + RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: metadata_addr + description: |- + The metadata address to look up. + Currently, only scope ids are supported. + in: path + required: true + type: string + format: byte + tags: + - Query + '/provenance/metadata/v1/addr/{addrs}': + get: + summary: GetByAddr retrieves metadata given any address(es). + operationId: GetByAddr + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scopes: + type: array + items: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the specifications + for data elements allowed within this scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of the + processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role associated + with a contract description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. + These parties represent top level owners of the records + within. These parties must sign any requests that + modify + + the data within the scope. These addresses are in union + with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with this + scope. Standard blockchain accounts and marker accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions must + be present in this scope's owners field. + + This also enables use of optional=true scope owners and + session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + description: scopes contains any scopes that were requested and found. + sessions: + type: array + items: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was used to + create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of the + processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role associated + with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution context, + typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, and + related info. type: object properties: - contract_spec_id: + created_date: type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: + format: date-time + title: the date/time when this entry was created + created_by: type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: + title: the address of the account that created this record + updated_date: type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: + format: date-time + title: the date/time when this entry was last updated + updated_by: type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with + each update + message: type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last account + to make modifications and when they were made description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + description: sessions contains any sessions that were requested and found. records: type: array items: type: object properties: - record: + name: + type: string + title: >- + name/identifier for this record. Value must be unique + within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this + record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record type: object properties: - name: + address: type: string title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + method is a name or reference to a specific + operation (method) within a class/contract that was + invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the definition + spec. + record_id: + type: string + format: byte title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: + inputs used with the process to achieve the output on + this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated + for this record + status: + title: >- + Status of the process execution associated with + this output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on the + given process indicated in this record + specification_id: + type: string + format: byte description: >- - record_id_info contains information about the id/address - of the record. + specification_id is the id of the record specification + that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: records contains any records that were requested and found. + scope_specs: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + description: General information about this scope specification. type: object properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: + name: type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: + description: A Name for this thing. + description: type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: + description: A description of this thing. + website_url: type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: + description: URL to find even more info. + icon_url: type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A list of parties that must be present on a scope (and + their associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - description: >- - RecordsResponse is the response type for the Query/Records RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + A list of contract specification ids allowed for a scope + based on this specification. + title: >- + ScopeSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + description: >- + scope_specs contains any scope specifications that were + requested and found. + contract_specs: type: array items: type: object properties: - type_url: - type: string - value: + specification_id: type: string format: byte - parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to + associate with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + a list of party roles that must be fullfilled when + signing a transaction for this contract specification + resource_id: + type: string + format: byte + title: >- + the address of a record on chain that represents this + contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract + description: >- + contract_specs contains any contract specifications that were + requested and found. + record_specs: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to define an + input - provided. - in: query - required: false - type: string - - name: name - description: name is the name of the record to look for. - in: query - required: false - type: string - - name: include_scope - description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_sessions - description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an unknown/invalid + value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + description: >- + record_specs contains any record specifications that were + requested and found. + not_found: + type: array + items: + type: string + description: not_found contains any addrs requested but not found. + description: >- + GetByAddrResponse is the response type for the Query/GetByAddr RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: addrs + description: ids are the metadata addresses of the things to look up. + in: path + required: true + type: array + items: + type: string + collectionFormat: csv + minItems: 1 tags: - Query - '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}': + '/provenance/metadata/v1/contractspec/{specification_id}': get: - summary: Sessions searches for sessions. + summary: >- + ContractSpecification returns a contract specification for the given + specification id. description: >- - The scope_id can either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can - either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a - - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - - - * If only a scope_id is provided, all sessions in that scope are - returned. - - * If only a session_id is provided, it must be an address, and that - single session is returned. - - * If the session_id is a uuid, then either a scope_id or record_addr - must also be provided, and that single session - - is returned. - - * If only a record_addr is provided, the session containing that record - will be returned. - - * If a record_name is provided then either a scope_id, session_id as an - address, or record_addr must also be - - provided, and the session containing that record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and is provided without a scope_id or - record_addr. - - * A record_name is provided without any way to identify the scope (e.g. - a scope_id, a session_id as an address, or - - a record_addr). - - * Two or more of scope_id, session_id as an address, and record_addr are - provided and don't all refer to the same - - scope. + The specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84, a bech32 contract - * A record_addr (or scope_id and record_name) is provided with a - session_id and that session does not contain such + specification address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn, or a bech32 record + specification - a record. + address, e.g. + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. If + it is a record specification - * A record_addr and record_name are both provided, but reference - different records. + address, then the contract specification that contains that record + specification is looked up. - By default, the scope and records are not included. + By default, the record specifications for this contract specification + are not included. - Set include_scope and/or include_records to true to include the scope - and/or records. - operationId: Sessions3 + Set include_record_specs to true to include them in the result. + operationId: ContractSpecification responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these sessions (if - requested). + contract_specification: + description: contract_specification is the wrapped contract specification. type: object properties: - scope: + specification: type: object properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos specification_id: type: string format: byte + title: unique identifier for this specification on chain + description: title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: + Description information for this contract + specification + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to + associate with a structure. + owner_addresses: type: array items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify - - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: + type: string + title: Address of the account that owns this specificaiton + parties_involved: type: array items: type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. - - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is + an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + a list of party roles that must be fullfilled when + signing a transaction for this contract specification + resource_id: type: string format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + title: >- + the address of a record on chain that represents this + contract + hash: type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: + title: the hash of contract binary (off-chain instance) + class_name: type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. + specification is the on-chain contract specification + message. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. type: object properties: - scope_spec_id: + contract_spec_id: type: string format: byte description: >- - scope_spec_id is the raw bytes of the scope + contract_spec_id is the raw bytes of the contract specification address. - scope_spec_id_prefix: + contract_spec_id_prefix: type: string format: byte description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: type: string format: byte description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: type: string description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: + contract_spec_addr is the bech32 string version of the + contract_spec_id. + contract_spec_uuid: type: string description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + record_specifications: type: array items: type: object properties: - session: + specification: type: object properties: - session_id: - type: string - format: byte specification_id: type: string format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: type: array items: type: object properties: - address: + name: + type: string + title: name for this input + type_name: type: string - title: address of the account (on chain) - role: title: >- - a role for this account within the context of - the processes used + a type_name (typically a proto name or + class_name) + record_id: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) title: >- - A Party is an address with/in a given role - associated with a contract + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to + define an input + + parameter title: >- - parties is the set of identities that signed this - contract - name: + A set of inputs that must be satisified to apply + this RecordSpecification and create a Record + type_name: type: string title: >- - name to associate with this session execution - context, typically classname - context: + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must + be RECORD or RECORD_LIST) type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a + Record including allowed/required inputs/outputs description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - - - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: + specification is the on-chain record specification + message. + record_spec_id_info: description: >- - session_id_info contains information about the - id/address of the session. + record_spec_id_info contains information about the + id/address of the record specification. type: object properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: + record_spec_id: type: string format: byte description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: type: string format: byte description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: type: string format: byte description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: type: string + format: byte description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: type: string description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: description: >- - scope_id_info is information about the scope id - referenced in the session_id. + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. type: object properties: - scope_id: + contract_spec_id: type: string format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: type: string format: byte description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: type: string format: byte description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: type: string description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: type: string description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: sessions is any number of wrapped session results. - records: + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. + description: >- + record_specifications is any number or wrapped record + specifications associated with this contract_specification + + (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + specification_id: + type: string + description: >- + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification + + address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + + It can also be a record specification address, e.g. + + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. + include_record_specs: + type: boolean + format: boolean + description: >- + include_record_specs is a flag for whether to include the + the record specifications of this contract specification + + in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + ContractSpecificationResponse is the response type for the + Query/ContractSpecification RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_id + description: >- + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification + + address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + + It can also be a record specification address, e.g. + + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. + in: path + required: true + type: string + - name: include_record_specs + description: >- + include_record_specs is a flag for whether to include the the record + specifications of this contract specification + + in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/contractspec/{specification_id}/recordspec/{name}': + get: + summary: RecordSpecification returns a record specification for the given input. + operationId: RecordSpecification2 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + record_specification: + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: type: object properties: - scope_id: + name: type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + title: name for this input + type_name: type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: + title: >- + a type_name (typically a proto name or + class_name) + record_id: type: string format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: + title: >- + the address of a record on chain (For + Established Records) + hash: type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + title: >- + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to define + an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is + an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + description: >- + specification is the on-chain record specification + message. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name portion + of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. description: >- - records is any number of wrapped records contained in these - sessions (if requested). + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. request: description: request is a copy of the request that generated these results. type: object properties: - scope_id: + specification_id: type: string description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + It can also be a record specification address, e.g. - provided. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - record_name: + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. + name: type: string description: >- - record_name is the name of the record to find the session - for in the provided scope. - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the scope - containing these sessions in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of these sessions in the response. + name is the name of the record to look up. + + It is required if the specification_id is a uuid or + contract specification address. + + It is ignored if the specification_id is a record + specification address. exclude_id_info: type: boolean format: boolean @@ -48103,8 +46708,8 @@ paths: include_request is a flag for whether to include this request in your result. description: >- - SessionsResponse is the response type for the Query/Sessions RPC - method. + RecordSpecificationResponse is the response type for the + Query/RecordSpecification RPC method. default: description: An unexpected error response schema: @@ -48128,792 +46733,246 @@ paths: type: string format: byte parameters: - - name: scope_id + - name: specification_id description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + + It can also be a record specification address, e.g. + + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. in: path required: true type: string - - name: session_id + - name: name description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. + name is the name of the record to look up. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + It is required if the specification_id is a uuid or contract + specification address. - provided. + It is ignored if the specification_id is a record specification + address. in: path required: true type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: record_name + - name: exclude_id_info description: >- - record_name is the name of the record to find the session for in the - provided scope. + exclude_id_info is a flag for whether to exclude the id info from + the response. in: query required: false - type: string - - name: include_scope + type: boolean + format: boolean + - name: include_request description: >- - include_scope is a flag for whether to include the scope containing - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_records - description: >- - include_records is a flag for whether to include the records of - these sessions in the response. - in: query - required: false - type: boolean - format: boolean - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. + include_request is a flag for whether to include this request in + your result. in: query required: false type: boolean format: boolean tags: - Query - '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}/record/{name}': + '/provenance/metadata/v1/contractspec/{specification_id}/recordspecs': get: - summary: Records searches for records. + summary: >- + RecordSpecificationsForContractSpecification returns the record + specifications for the given input. description: >- - The record_addr, if provided, must be a bech32 record address, e.g. - - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. - - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - - the session_id can either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're - - interested in. - - - * If only a record_addr is provided, that single record will be - returned. - - * If only a scope_id is provided, all records in that scope will be - returned. - - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. - - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and no scope_id is provided. - - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. - - * A name is provided, but not a scope_id and/or a session_id. - - * A name and record_addr are provided and the name doesn't match the - record_addr. + The specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84, a bech32 contract + specification address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn, or a bech32 record + specification - By default, the scope and sessions are not included. + address, e.g. + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. If + it is a record specification - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records5 + address, then the contract specification that contains that record + specification is used. + operationId: RecordSpecificationsForContractSpecification responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify - - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. - - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + record_specifications: type: array items: type: object properties: - session: + specification: type: object properties: - session_id: - type: string - format: byte specification_id: type: string format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: type: array items: type: object properties: - address: + name: + type: string + title: name for this input + type_name: type: string - title: address of the account (on chain) - role: title: >- - a role for this account within the context of - the processes used + a type_name (typically a proto name or + class_name) + record_id: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) title: >- - A Party is an address with/in a given role - associated with a contract + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to + define an input + + parameter title: >- - parties is the set of identities that signed this - contract - name: + A set of inputs that must be satisified to apply + this RecordSpecification and create a Record + type_name: type: string title: >- - name to associate with this session execution - context, typically classname - context: + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must + be RECORD or RECORD_LIST) type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a + Record including allowed/required inputs/outputs description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - - - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: + specification is the on-chain record specification + message. + record_spec_id_info: description: >- - session_id_info contains information about the - id/address of the session. + record_spec_id_info contains information about the + id/address of the record specification. type: object properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: + record_spec_id: type: string format: byte description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: type: string format: byte description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: type: string format: byte description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: type: string + format: byte description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: type: string description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: description: >- - scope_id_info is information about the scope id - referenced in the session_id. + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. type: object properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + contract_spec_id: type: string format: byte description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: type: string format: byte description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte + format: byte description: >- contract_spec_id_contract_spec_uuid is the contract_spec_uuid portion of the @@ -48929,52 +46988,38 @@ paths: contract_spec_uuid is the uuid hex string of the contract_spec_id_contract_spec_uuid. description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. + description: >- + record_specifications is any number of wrapped record + specifications associated with this contract_specification. + contract_specification_uuid: + type: string + description: >- + contract_specification_uuid is the uuid of this contract + specification. + contract_specification_addr: + type: string + description: >- + contract_specification_addr is the contract specification + address as a bech32 encoded string. request: description: request is a copy of the request that generated these results. type: object properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: + specification_id: type: string description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + It can also be a record specification address, e.g. - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. exclude_id_info: type: boolean format: boolean @@ -48988,8 +47033,10 @@ paths: include_request is a flag for whether to include this request in your result. description: >- - RecordsResponse is the response type for the Query/Records RPC - method. + RecordSpecificationsForContractSpecificationResponse is the + response type for the + + Query/RecordSpecificationsForContractSpecification RPC method. default: description: An unexpected error response schema: @@ -49013,56 +47060,20 @@ paths: type: string format: byte parameters: - - name: scope_id + - name: specification_id description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. + address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + It can also be a record specification address, e.g. - provided. - in: path - required: true - type: string - - name: name - description: name is the name of the record to look for + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. in: path required: true type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - in: query - required: false - type: string - - name: include_scope - description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - - name: include_sessions - description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. - in: query - required: false - type: boolean - format: boolean - name: exclude_id_info description: >- exclude_id_info is a flag for whether to exclude the id info from @@ -49081,427 +47092,110 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}/records': + /provenance/metadata/v1/contractspecs/all: get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. - - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. - - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - - the session_id can either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're - - interested in. - - - * If only a record_addr is provided, that single record will be - returned. - - * If only a scope_id is provided, all records in that scope will be - returned. - - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. - - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and no scope_id is provided. - - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. - - * A name is provided, but not a scope_id and/or a session_id. - - * A name and record_addr are provided and the name doesn't match the - record_addr. - - - By default, the scope and sessions are not included. - - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records4 + summary: ContractSpecificationsAll retrieves all contract specifications. + operationId: ContractSpecificationsAll responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: + contract_specifications: + type: array + items: + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: >- + Description information for this contract + specification type: object properties: - address: + name: type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used + description: A Name for this thing. + description: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify - - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. - - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: - type: array - items: - type: object - properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. description: >- - unique id of the contract specification that was - used to create this session. - parties: + Description holds general information that is handy + to associate with a structure. + owner_addresses: type: array items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string + PartyType are the different roles parties on a + contract may use title: >- - name to associate with this session execution - context, typically classname - context: + a list of party roles that must be fullfilled when + signing a transaction for this contract + specification + resource_id: type: string format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event title: >- - AuditFields capture information about the last - account to make modifications and when they were - made - description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - - - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: + the address of a record on chain that represents + this contract + hash: type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: + title: the hash of contract binary (off-chain instance) + class_name: type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract + description: >- + specification is the on-chain contract specification + message. contract_spec_id_info: description: >- contract_spec_id_info contains information about the @@ -49537,327 +47231,15 @@ paths: contract_spec_uuid is the uuid hex string of the contract_spec_id_contract_spec_uuid. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. + ContractSpecificationWrapper contains a single contract + specification and some extra identifiers for it. description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. + contract_specifications are the wrapped contract + specifications. request: description: request is a copy of the request that generated these results. type: object properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. exclude_id_info: type: boolean format: boolean @@ -49870,9 +47252,95 @@ paths: description: >- include_request is a flag for whether to include this request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - RecordsResponse is the response type for the Query/Records RPC - method. + ContractSpecificationsAllResponse is the response type for the + Query/ContractSpecificationsAll RPC method. default: description: An unexpected error response schema: @@ -49896,64 +47364,137 @@ paths: type: string format: byte parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - in: path - required: true - type: string - - name: session_id + - name: exclude_id_info description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - in: path - required: true - type: string - - name: record_addr + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 - - name: name - description: name is the name of the record to look for. + 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 - - name: include_scope + format: uint64 + - name: pagination.limit description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. + 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: boolean - format: boolean - - name: include_sessions + type: string + format: uint64 + - name: pagination.count_total description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. + 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 format: boolean - - name: exclude_id_info + - name: pagination.reverse description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean + tags: + - Query + /provenance/metadata/v1/locator/params: + get: + summary: >- + OSLocatorParams returns all parameters for the object store locator sub + module. + operationId: OSLocatorParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_uri_length: + type: integer + format: int64 + request: + description: request is a copy of the request that generated these results. + type: object + properties: + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + OSLocatorParamsResponse is the response type for the + Query/OSLocatorParams RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: - name: include_request description: >- include_request is a flag for whether to include this request in @@ -49964,806 +47505,349 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/scope/{scope_id}/sessions': + '/provenance/metadata/v1/locator/scope/{scope_id}': get: - summary: Sessions searches for sessions. - description: >- - The scope_id can either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can - either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a - - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - - - * If only a scope_id is provided, all sessions in that scope are - returned. - - * If only a session_id is provided, it must be an address, and that - single session is returned. - - * If the session_id is a uuid, then either a scope_id or record_addr - must also be provided, and that single session - - is returned. - - * If only a record_addr is provided, the session containing that record - will be returned. - - * If a record_name is provided then either a scope_id, session_id as an - address, or record_addr must also be - - provided, and the session containing that record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and is provided without a scope_id or - record_addr. - - * A record_name is provided without any way to identify the scope (e.g. - a scope_id, a session_id as an address, or - - a record_addr). - - * Two or more of scope_id, session_id as an address, and record_addr are - provided and don't all refer to the same - - scope. - - * A record_addr (or scope_id and record_name) is provided with a - session_id and that session does not contain such - - a record. - - * A record_addr and record_name are both provided, but reference - different records. - - - By default, the scope and records are not included. - - Set include_scope and/or include_records to true to include the scope - and/or records. - operationId: Sessions2 + summary: >- + OSLocatorsByScope returns all ObjectStoreLocator entries for a for all + signer's present in the specified scope. + operationId: OSLocatorsByScope responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these sessions (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify - - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + locators: + type: array + items: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents + a owner( blockchain address) associated with a endpoint - This also enables use of optional=true scope owners - and session parties. + uri for it's associated object store. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + include_request: + type: boolean + format: boolean description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: + include_request is a flag for whether to include this + request in your result. + description: >- + OSLocatorsByScopeResponse is the response type for the + Query/OSLocatorsByScope RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + in: path + required: true + type: string + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/locator/uri/{uri}': + get: + summary: >- + OSLocatorsByURI returns all ObjectStoreLocator entries for a locator + uri. + operationId: OSLocatorsByURI + responses: + '200': + description: A successful response. + schema: + type: object + properties: + locators: + type: array + items: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents + a owner( blockchain address) associated with a endpoint + + uri for it's associated object store. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + uri: + type: string + include_request: + type: boolean + format: boolean description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: + include_request is a flag for whether to include this + request in your result. + pagination: description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. + pagination defines optional pagination parameters for the + request. type: object properties: - scope_spec_id: + key: type: string format: byte description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: + 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. + offset: type: string - format: byte + format: uint64 description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: + 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. + limit: type: string - format: byte + format: uint64 description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string + 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. + count_total: + type: boolean + format: boolean description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string + 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. + reverse: + type: boolean + format: boolean description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + OSLocatorsByURIResponse is the response type for the + Query/OSLocatorsByURI RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made - description: >- - Session defines an execution context against a specific - specification instance. + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: uri + in: path + required: true + type: string + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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. - The context will have a specification and set of parties - involved. + 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. - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: sessions is any number of wrapped session results. - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: >- - records is any number of wrapped records contained in these - sessions (if requested). - request: - description: request is a copy of the request that generated these results. + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/locator/{owner}': + get: + summary: OSLocator returns an ObjectStoreLocator by its owner's address. + operationId: OSLocator + responses: + '200': + description: A successful response. + schema: + type: object + properties: + locator: type: object properties: - scope_id: + owner: type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: + title: account address the endpoint is owned by + locator_uri: type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - record_addr: + title: locator endpoint uri + encryption_key: type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - record_name: + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents a + owner( blockchain address) associated with a endpoint + + uri for it's associated object store. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + owner: type: string - description: >- - record_name is the name of the record to find the session - for in the provided scope. - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the scope - containing these sessions in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the - records of these sessions in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. include_request: type: boolean format: boolean @@ -50771,7 +47855,7 @@ paths: include_request is a flag for whether to include this request in your result. description: >- - SessionsResponse is the response type for the Query/Sessions RPC + OSLocatorResponse is the response type for the Query/OSLocator RPC method. default: description: An unexpected error response @@ -50796,268 +47880,332 @@ paths: type: string format: byte parameters: - - name: scope_id - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + - name: owner in: path required: true type: string - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - in: query - required: false - type: string - - name: record_addr + - name: include_request description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + include_request is a flag for whether to include this request in + your result. in: query required: false - type: string - - name: record_name - description: >- - record_name is the name of the record to find the session for in the - provided scope. + type: boolean + format: boolean + tags: + - Query + /provenance/metadata/v1/locators/all: + get: + summary: OSAllLocators returns all ObjectStoreLocator entries. + operationId: OSAllLocators + responses: + '200': + description: A successful response. + schema: + type: object + properties: + locators: + type: array + items: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents + a owner( blockchain address) associated with a endpoint + + uri for it's associated object store. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + OSAllLocatorsResponse is the response type for the + Query/OSAllLocators RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 - - name: include_scope + format: byte + - name: pagination.offset description: >- - include_scope is a flag for whether to include the scope containing - these sessions in the response. + 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: boolean - format: boolean - - name: include_records + type: string + format: uint64 + - name: pagination.limit description: >- - include_records is a flag for whether to include the records of - these sessions in the response. + 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: boolean - format: boolean - - name: exclude_id_info + type: string + format: uint64 + - name: pagination.count_total description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + 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 format: boolean - - name: include_request + - name: pagination.reverse description: >- - include_request is a flag for whether to include this request in - your result. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean tags: - Query - /provenance/metadata/v1/scopes/all: + '/provenance/metadata/v1/netassetvalues/{id}': get: - summary: ScopesAll retrieves all scopes. - operationId: ScopesAll + summary: ScopeNetAssetValues returns net asset values for scope + operationId: ScopeNetAssetValues responses: '200': description: A successful response. schema: type: object properties: - scopes: + net_asset_values: type: array items: type: object properties: - scope: + price: + title: price is the complete value of the asset's volume type: object properties: - scope_id: + denom: type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: + amount: type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any - requests that modify + description: >- + Coin defines a token with a denomination and an amount. - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - are supported for this value. This attribute may - only be changed by the entity indicated once it is - set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. + NOTE: The amount field is an Int which implements the + custom method - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of - records owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address - of the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - description: SessionWrapper contains a single scope and its uuid. - description: scopes are the wrapped scopes. + signatures required by gogoproto. + updated_block_height: + type: string + format: uint64 + title: updated_block_height is the block height of last update + title: NetAssetValue defines a scope's net asset value + title: net asset values for scope + description: >- + QueryNetAssetValuesRequest is the response type for the + Query/NetAssetValues method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: id + description: scopeid metadata address + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/ownership/{address}': + get: + summary: >- + Ownership returns the scope identifiers that list the given address as + either a data or value owner. + operationId: Ownership + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. request: description: request is a copy of the request that generated these results. type: object properties: - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. + address: + type: string include_request: type: boolean format: boolean @@ -51151,7 +48299,7 @@ paths: was set, its value is undefined otherwise description: >- - ScopesAllResponse is the response type for the Query/ScopesAll RPC + OwnershipResponse is the response type for the Query/Ownership RPC method. default: description: An unexpected error response @@ -51176,14 +48324,10 @@ paths: type: string format: byte parameters: - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean + - name: address + in: path + required: true + type: string - name: include_request description: >- include_request is a flag for whether to include this request in @@ -51252,111 +48396,256 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/scopespec/{specification_id}': + /provenance/metadata/v1/params: get: - summary: >- - ScopeSpecification returns a scope specification for the given - specification id. - description: >- - The specification_id can either be a uuid, e.g. - dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope - - specification address, e.g. - scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. - - - By default, the contract and record specifications are not included. - - Set include_contract_specs and/or include_record_specs to true to - include contract and/or record specifications. - operationId: ScopeSpecification + summary: Params queries the parameters of x/metadata module. + operationId: MetadataParams responses: '200': description: A successful response. schema: type: object properties: - scope_specification: - description: scope_specification is the wrapped scope specification. + params: + description: params defines the parameters of the module. + type: object + request: + description: request is a copy of the request that generated these results. type: object properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - description: - description: General information about this scope specification. - type: object - properties: - name: - type: string - description: A Name for this thing. - description: - type: string - description: A description of this thing. - website_url: - type: string - description: URL to find even more info. - icon_url: - type: string - description: URL of an icon. - owner_addresses: - type: array - items: - type: string - description: Addresses of the owners of this scope specification. - parties_involved: + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/record/{record_addr}': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. + + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. + + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + + the session_id can either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're + + interested in. + + + * If only a record_addr is provided, that single record will be + returned. + + * If only a scope_id is provided, all records in that scope will be + returned. + + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. + + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and no scope_id is provided. + + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. + + * A name is provided, but not a scope_id and/or a session_id. + + * A name and record_addr are provided and the name doesn't match the + record_addr. + + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: type: array items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is - an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional title: >- - PartyType are the different roles parties on a - contract may use - title: >- - A list of parties that must be present on a scope (and - their associated roles) - contract_spec_ids: + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: type: array items: type: string - format: byte description: >- - A list of contract specification ids allowed for a - scope based on this specification. - title: >- - ScopeSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract - description: specification is the on-chain scope specification message. + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. scope_spec_id_info: description: >- scope_spec_id_info contains information about the @@ -51391,157 +48680,287 @@ paths: description: >- scope_spec_uuid is the uuid hex string of the scope_spec_id_scope_spec_uuid. - contract_specs: + sessions: type: array items: type: object properties: - specification: + session: type: object properties: + session_id: + type: string + format: byte specification_id: type: string format: byte - title: unique identifier for this specification on chain - description: - title: >- - Description information for this contract - specification - type: object - properties: - name: - type: string - description: A Name for this thing. - description: - type: string - description: A description of this thing. - website_url: - type: string - description: URL to find even more info. - icon_url: - type: string - description: URL of an icon. description: >- - Description holds general information that is handy - to associate with a structure. - owner_addresses: - type: array - items: - type: string - title: Address of the account that owns this specificaiton - parties_involved: + unique id of the contract specification that was + used to create this session. + parties: type: array items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional title: >- - PartyType are the different roles parties on a - contract may use + A Party is an address with/in a given role + associated with a contract title: >- - a list of party roles that must be fullfilled when - signing a transaction for this contract - specification - resource_id: + parties is the set of identities that signed this + contract + name: type: string - format: byte title: >- - the address of a record on chain that represents - this contract - hash: - type: string - title: the hash of contract binary (off-chain instance) - class_name: + name to associate with this session execution + context, typically classname + context: type: string - title: name of the class/type of this contract executable - title: >- - ContractSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made description: >- - specification is the on-chain contract specification - message. - contract_spec_id_info: + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. + session_id_info contains information about the + id/address of the session. type: object properties: - contract_spec_id: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: type: string format: byte description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: type: string format: byte description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: type: string format: byte description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: type: string description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: + session_addr is the bech32 string version of the + session_id. + session_uuid: type: string description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - ContractSpecificationWrapper contains a single contract - specification and some extra identifiers for it. - description: >- - contract_specs is any number of wrapped contract - specifications in this scope specification (if requested). - record_specs: - type: array - items: - type: object - properties: - specification: + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. type: object properties: - specification_id: + contract_spec_id: type: string format: byte - title: unique identifier for this specification on chain + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: name: type: string title: >- - Name of Record that will be created when this - specification is used + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked inputs: type: array items: @@ -51549,12 +48968,9 @@ paths: properties: name: type: string - title: name for this input - type_name: - type: string - title: >- - a type_name (typically a proto name or - class_name) + description: >- + Name value included to link back to the + definition spec. record_id: type: string format: byte @@ -51566,79 +48982,139 @@ paths: title: >- the hash of an off-chain piece of information (For Proposed Records) - title: >- - InputSpecification defines a name, type_name, and - source reference (either on or off chain) to - define an input - - parameter - title: >- - A set of inputs that must be satisified to apply - this RecordSpecification and create a Record - type_name: - type: string - title: >- - A type name for data associated with this record - (typically a class or proto name) - result_type: + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record title: >- - Type of result for this record specification (must - be RECORD or RECORD_LIST) - type: string - enum: - - DEFINITION_TYPE_UNSPECIFIED - - DEFINITION_TYPE_PROPOSED - - DEFINITION_TYPE_RECORD - - DEFINITION_TYPE_RECORD_LIST - default: DEFINITION_TYPE_UNSPECIFIED - description: >- - - DEFINITION_TYPE_UNSPECIFIED: - DEFINITION_TYPE_UNSPECIFIED indicates an - unknown/invalid value - - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) - - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain - - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having - the same name - responsible_parties: + inputs used with the process to achieve the output + on this record + outputs: type: array items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. title: >- - PartyType are the different roles parties on a - contract may use - title: Type of party responsible for this record + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. title: >- - RecordSpecification defines the specification for a - Record including allowed/required inputs/outputs + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: description: >- - specification is the on-chain record specification - message. + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. record_spec_id_info: description: >- record_spec_id_info contains information about the @@ -51710,40 +49186,52 @@ paths: contract_spec_uuid is the uuid hex string of the contract_spec_id_contract_spec_uuid. description: >- - RecordSpecificationWrapper contains a single record - specification and some extra identifiers for it. - description: >- - record_specs is any number of wrapped record specifications in - this scope specification (if requested). + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. request: description: request is a copy of the request that generated these results. type: object properties: - specification_id: + record_addr: type: string description: >- - specification_id can either be a uuid, e.g. - dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope - specification + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, e.g. - scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. - include_contract_specs: + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: type: boolean format: boolean description: >- - include_contract_specs is a flag for whether to include - the contract specifications of the scope specification in - - the response. - include_record_specs: + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: type: boolean format: boolean description: >- - include_record_specs is a flag for whether to include the - record specifications of the scope specification in the - - response. + include_sessions is a flag for whether to include the + sessions containing these records in the response. exclude_id_info: type: boolean format: boolean @@ -51757,8 +49245,8 @@ paths: include_request is a flag for whether to include this request in your result. description: >- - ScopeSpecificationResponse is the response type for the - Query/ScopeSpecification RPC method. + RecordsResponse is the response type for the Query/Records RPC + method. default: description: An unexpected error response schema: @@ -51782,31 +49270,52 @@ paths: type: string format: byte parameters: - - name: specification_id + - name: record_addr description: >- - specification_id can either be a uuid, e.g. - dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope specification - - address, e.g. scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. in: path required: true type: string - - name: include_contract_specs + - name: scope_id description: >- - include_contract_specs is a flag for whether to include the contract - specifications of the scope specification in + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - the response. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: query + required: false + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: query + required: false + type: string + - name: name + description: name is the name of the record to look for. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. in: query required: false type: boolean format: boolean - - name: include_record_specs + - name: include_sessions description: >- - include_record_specs is a flag for whether to include the record - specifications of the scope specification in the - - response. + include_sessions is a flag for whether to include the sessions + containing these records in the response. in: query required: false type: boolean @@ -51829,418 +49338,82 @@ paths: format: boolean tags: - Query - /provenance/metadata/v1/scopespecs/all: + '/provenance/metadata/v1/record/{record_addr}/scope': get: - summary: ScopeSpecificationsAll retrieves all scope specifications. - operationId: ScopeSpecificationsAll + summary: Scope searches for a scope. + description: >- + The scope id, if provided, must either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, + + e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if + provided, must be a bech32 session address, + + e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, that scope is returned. + + * If only a session_addr is provided, the scope containing that session + is returned. + + * If only a record_addr is provided, the scope containing that record is + returned. + + * If more than one of scope_id, session_addr, and record_addr are + provided, and they don't refer to the same scope, + + a bad request is returned. + + + Providing a session addr or record addr does not limit the sessions and + records returned (if requested). + + Those parameters are only used to find the scope. + + + By default, sessions and records are not included. + + Set include_sessions and/or include_records to true to include sessions + and/or records. + operationId: Scope3 responses: '200': description: A successful response. schema: type: object properties: - scope_specifications: - type: array - items: - type: object - properties: - specification: - type: object - properties: - specification_id: - type: string - format: byte - title: unique identifier for this specification on chain - description: - description: General information about this scope specification. + scope: + description: scope is the wrapped scope result. + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: type: object properties: - name: - type: string - description: A Name for this thing. - description: - type: string - description: A description of this thing. - website_url: - type: string - description: URL to find even more info. - icon_url: - type: string - description: URL of an icon. - owner_addresses: - type: array - items: - type: string - description: Addresses of the owners of this scope specification. - parties_involved: - type: array - items: - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - title: >- - PartyType are the different roles parties on a - contract may use - title: >- - A list of parties that must be present on a scope - (and their associated roles) - contract_spec_ids: - type: array - items: - type: string - format: byte - description: >- - A list of contract specification ids allowed for a - scope based on this specification. - title: >- - ScopeSpecification defines the required parties, - resources, conditions, and consideration outputs for a - contract - description: >- - specification is the on-chain scope specification - message. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - description: >- - ScopeSpecificationWrapper contains a single scope - specification and some extra identifiers for it. - description: scope_specifications are the wrapped scope specifications. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id - info from the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - 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. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - 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. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. - - - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient - - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: >- - ScopeSpecificationsAllResponse is the response type for the - Query/ScopeSpecificationsAll RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request - description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - - 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 - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/metadata/v1/session/{session_addr}/scope': - get: - summary: Scope searches for a scope. - description: >- - The scope id, if provided, must either be scope uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, - - e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if - provided, must be a bech32 session address, - - e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - record_addr, if provided, must be a - - bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - - - * If only a scope_id is provided, that scope is returned. - - * If only a session_addr is provided, the scope containing that session - is returned. - - * If only a record_addr is provided, the scope containing that record is - returned. - - * If more than one of scope_id, session_addr, and record_addr are - provided, and they don't refer to the same scope, - - a bad request is returned. - - - Providing a session addr or record addr does not limit the sessions and - records returned (if requested). - - Those parameters are only used to find the scope. - - - By default, sessions and records are not included. - - Set include_sessions and/or include_records to true to include sessions - and/or records. - operationId: Scope2 - responses: - '200': - description: A successful response. - schema: - type: object - properties: - scope: - description: scope is the wrapped scope result. - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: + address: type: string title: address of the account (on chain) role: @@ -52962,10 +50135,10 @@ paths: type: string format: byte parameters: - - name: session_addr - description: |- - session_addr is a bech32 session address, e.g. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. in: path required: true type: string @@ -52978,10 +50151,10 @@ paths: in: query required: false type: string - - name: record_addr - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + - name: session_addr + description: |- + session_addr is a bech32 session address, e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. in: query required: false type: string @@ -53019,7 +50192,7 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/session/{session_id}': + '/provenance/metadata/v1/record/{record_addr}/session': get: summary: Sessions searches for sessions. description: >- @@ -53084,7 +50257,7 @@ paths: Set include_scope and/or include_records to true to include the scope and/or records. - operationId: Sessions + operationId: Sessions4 responses: '200': description: A successful response. @@ -53851,16 +51024,10 @@ paths: type: string format: byte parameters: - - name: session_id + - name: record_addr description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. in: path required: true type: string @@ -53873,10 +51040,16 @@ paths: in: query required: false type: string - - name: record_addr + - name: session_id description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. in: query required: false type: string @@ -53921,467 +51094,16 @@ paths: format: boolean tags: - Query - '/provenance/metadata/v1/session/{session_id}/record/{name}': + /provenance/metadata/v1/records/all: get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. - - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. - - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - - the session_id can either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're - - interested in. - - - * If only a record_addr is provided, that single record will be - returned. - - * If only a scope_id is provided, all records in that scope will be - returned. - - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. - - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and no scope_id is provided. - - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. - - * A name is provided, but not a scope_id and/or a session_id. - - * A name and record_addr are provided and the name doesn't match the - record_addr. - - - By default, the scope and sessions are not included. - - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records7 + summary: RecordsAll retrieves all records. + operationId: RecordsAll responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). - type: object - properties: - scope: - type: object - properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos - specification_id: - type: string - format: byte - title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify - - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: - type: array - items: - type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. - - This also enables use of optional=true scope owners - and session parties. - description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: - description: >- - scope_id_info contains information about the id/address of - the scope. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: - type: string - format: byte - description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: - type: string - format: byte - description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: - type: string - format: byte - description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: - type: string - description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string - description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: - type: array - items: - type: object - properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string - format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: - type: array - items: - type: object - properties: - address: - type: string - title: address of the account (on chain) - role: - title: >- - a role for this account within the context of - the processes used - type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional - title: >- - A Party is an address with/in a given role - associated with a contract - title: >- - parties is the set of identities that signed this - contract - name: - type: string - title: >- - name to associate with this session execution - context, typically classname - context: - type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: - description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made - description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - - - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: - description: >- - session_id_info contains information about the - id/address of the session. - type: object - properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: - type: string - format: byte - description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: - type: string - description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: - type: string - description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the session_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). records: type: array items: @@ -54654,50 +51376,11 @@ paths: description: >- RecordWrapper contains a single record and some extra identifiers for it. - description: records is any number of wrapped record results. + description: records are the wrapped records. request: description: request is a copy of the request that generated these results. type: object properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. exclude_id_info: type: boolean format: boolean @@ -54710,9 +51393,95 @@ paths: description: >- include_request is a flag for whether to include this request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - RecordsResponse is the response type for the Query/Records RPC - method. + RecordsAllResponse is the response type for the Query/RecordsAll + RPC method. default: description: An unexpected error response schema: @@ -54736,851 +51505,588 @@ paths: type: string format: byte parameters: - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - in: path - required: true - type: string - - name: name - description: name is the name of the record to look for - in: path - required: true - type: string - - name: record_addr + - name: exclude_id_info description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + exclude_id_info is a flag for whether to exclude the id info from + the response. in: query required: false - type: string - - name: scope_id + type: boolean + format: boolean + - name: include_request description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 - - name: include_scope + format: byte + - name: pagination.offset description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. + 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: boolean - format: boolean - - name: include_sessions + type: string + format: uint64 + - name: pagination.limit description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. + 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: boolean - format: boolean - - name: exclude_id_info + type: string + format: uint64 + - name: pagination.count_total description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + 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 format: boolean - - name: include_request + - name: pagination.reverse description: >- - include_request is a flag for whether to include this request in - your result. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean tags: - Query - '/provenance/metadata/v1/session/{session_id}/records': + '/provenance/metadata/v1/recordspec/{specification_id}': get: - summary: Records searches for records. - description: >- - The record_addr, if provided, must be a bech32 record address, e.g. - - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The - scope-id can either be scope uuid, e.g. - - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - - the session_id can either be a uuid or session address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The - name is the name of the record you're - - interested in. - - - * If only a record_addr is provided, that single record will be - returned. - - * If only a scope_id is provided, all records in that scope will be - returned. - - * If only a session_id (or scope_id/session_id), all records in that - session will be returned. - - * If a name is provided with a scope_id and/or session_id, that single - record will be returned. - - - A bad request is returned if: - - * The session_id is a uuid and no scope_id is provided. - - * There are two or more of record_addr, session_id, and scope_id, and - they don't all refer to the same scope. - - * A name is provided, but not a scope_id and/or a session_id. - - * A name and record_addr are provided and the name doesn't match the - record_addr. - - - By default, the scope and sessions are not included. - - Set include_scope and/or include_sessions to true to include the scope - and/or sessions. - operationId: Records6 + summary: RecordSpecification returns a record specification for the given input. + operationId: RecordSpecification responses: '200': description: A successful response. schema: type: object properties: - scope: - description: >- - scope is the wrapped scope that holds these records (if - requested). + record_specification: type: object properties: - scope: + specification: type: object properties: - scope_id: - type: string - format: byte - title: >- - Unique ID for this scope. Implements sdk.Address - interface for use where addresses are required in - Cosmos specification_id: type: string format: byte + title: unique identifier for this specification on chain + name: + type: string title: >- - the scope specification that contains the - specifications for data elements allowed within this - scope - owners: + Name of Record that will be created when this + specification is used + inputs: type: array items: type: object properties: - address: + name: + type: string + title: name for this input + type_name: type: string - title: address of the account (on chain) - role: title: >- - a role for this account within the context of - the processes used + a type_name (typically a proto name or + class_name) + record_id: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED - is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) title: >- - A Party is an address with/in a given role - associated with a contract - description: >- - These parties represent top level owners of the - records within. These parties must sign any requests - that modify + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to define + an input - the data within the scope. These addresses are in - union with parties listed on the sessions. - data_access: + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: type: array items: type: string - description: >- - Addresses in this list are authorized to receive - off-chain data associated with this scope. - value_owner_address: - type: string - description: >- - An address that controls the value associated with - this scope. Standard blockchain accounts and marker - accounts - - are supported for this value. This attribute may only - be changed by the entity indicated once it is set. - require_party_rollup: - type: boolean - format: boolean - description: >- - Whether all parties in this scope and its sessions - must be present in this scope's owners field. - - This also enables use of optional=true scope owners - and session parties. + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is + an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs description: >- - Scope defines a root reference for a collection of records - owned by one or more parties. - scope_id_info: + specification is the on-chain record specification + message. + record_spec_id_info: description: >- - scope_id_info contains information about the id/address of - the scope. + record_spec_id_info contains information about the + id/address of the record specification. type: object properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: + record_spec_id: type: string format: byte description: >- - scope_id_scope_uuid is the scope_uuid portion of the - scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the - id/address of the scope specification. - type: object - properties: - scope_spec_id: + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: type: string format: byte description: >- - scope_spec_id is the raw bytes of the scope - specification address. - scope_spec_id_prefix: + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: type: string format: byte description: >- - scope_spec_id_prefix is the prefix portion of the - scope_spec_id. - scope_spec_id_scope_spec_uuid: + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: type: string format: byte description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid - portion of the scope_spec_id. - scope_spec_addr: + record_spec_id_hashed_name is the hashed name portion + of the record_spec_id. + record_spec_addr: type: string description: >- - scope_spec_addr is the bech32 string version of the - scope_spec_id. - scope_spec_uuid: - type: string + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - sessions: + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + specification_id: + type: string + description: >- + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification + + address, e.g. + contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + + It can also be a record specification address, e.g. + + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. + name: + type: string + description: >- + name is the name of the record to look up. + + It is required if the specification_id is a uuid or + contract specification address. + + It is ignored if the specification_id is a record + specification address. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordSpecificationResponse is the response type for the + Query/RecordSpecification RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - session: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_id + description: >- + specification_id can either be a uuid, e.g. + def6bc0a-c9dd-4874-948f-5206e6060a84 or a bech32 contract + specification + + address, e.g. contractspec1q000d0q2e8w5say53afqdesxp2zqzkr4fn. + + It can also be a record specification address, e.g. + + recspec1qh00d0q2e8w5say53afqdesxp2zw42dq2jdvmdazuwzcaddhh8gmuqhez44. + in: path + required: true + type: string + - name: name + description: >- + name is the name of the record to look up. + + It is required if the specification_id is a uuid or contract + specification address. + + It is ignored if the specification_id is a record specification + address. + in: query + required: false + type: string + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/metadata/v1/recordspecs/all: + get: + summary: RecordSpecificationsAll retrieves all record specifications. + operationId: RecordSpecificationsAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + record_specifications: + type: array + items: + type: object + properties: + specification: type: object properties: - session_id: - type: string - format: byte specification_id: type: string format: byte - description: >- - unique id of the contract specification that was - used to create this session. - parties: + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: type: array items: type: object properties: - address: + name: + type: string + title: name for this input + type_name: type: string - title: address of the account (on chain) - role: title: >- - a role for this account within the context of - the processes used + a type_name (typically a proto name or + class_name) + record_id: type: string - enum: - - PARTY_TYPE_UNSPECIFIED - - PARTY_TYPE_ORIGINATOR - - PARTY_TYPE_SERVICER - - PARTY_TYPE_INVESTOR - - PARTY_TYPE_CUSTODIAN - - PARTY_TYPE_OWNER - - PARTY_TYPE_AFFILIATE - - PARTY_TYPE_OMNIBUS - - PARTY_TYPE_PROVENANCE - - PARTY_TYPE_CONTROLLER - - PARTY_TYPE_VALIDATOR - default: PARTY_TYPE_UNSPECIFIED - description: >- - - PARTY_TYPE_UNSPECIFIED: - PARTY_TYPE_UNSPECIFIED is an error condition - - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator - - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions - - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor - - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets - - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item - - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement - - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account - - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action - - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) - - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain - optional: - type: boolean - format: boolean - title: whether this party's signature is optional + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) title: >- - A Party is an address with/in a given role - associated with a contract + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to + define an input + + parameter title: >- - parties is the set of identities that signed this - contract - name: + A set of inputs that must be satisified to apply + this RecordSpecification and create a Record + type_name: type: string title: >- - name to associate with this session execution - context, typically classname - context: + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must + be RECORD or RECORD_LIST) type: string - format: byte - description: >- - context is a field for storing client specific data - associated with a session. - audit: + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED description: >- - Created by, updated by, timestamps, version number, - and related info. - type: object - properties: - created_date: - type: string - format: date-time - title: the date/time when this entry was created - created_by: - type: string - title: >- - the address of the account that created this - record - updated_date: - type: string - format: date-time - title: the date/time when this entry was last updated - updated_by: - type: string - title: >- - the address of the account that modified this - record - version: - type: integer - format: int64 - title: >- - an optional version number that is incremented - with each update - message: - type: string - title: >- - an optional message associated with the - creation/update event - title: >- - AuditFields capture information about the last - account to make modifications and when they were - made + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a + Record including allowed/required inputs/outputs description: >- - Session defines an execution context against a specific - specification instance. - - The context will have a specification and set of parties - involved. - - - NOTE: When there are no more Records within a Scope that - reference a Session, the Session is removed. - session_id_info: + specification is the on-chain record specification + message. + record_spec_id_info: description: >- - session_id_info contains information about the - id/address of the session. + record_spec_id_info contains information about the + id/address of the record specification. type: object properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: + record_spec_id: type: string format: byte description: >- - session_id_prefix is the prefix portion of the - session_id. - session_id_scope_uuid: + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: type: string format: byte description: >- - session_id_scope_uuid is the scope_uuid portion of - the session_id. - session_id_session_uuid: + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: type: string format: byte description: >- - session_id_session_uuid is the session_uuid portion - of the session_id. - session_addr: + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: type: string + format: byte description: >- - session_addr is the bech32 string version of the - session_id. - session_uuid: + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: type: string description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: description: >- - scope_id_info is information about the scope id - referenced in the session_id. + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. type: object properties: - scope_id: + contract_spec_id: type: string format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: type: string format: byte description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: type: string format: byte description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: type: string description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: type: string description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - contract_spec_id_info: - description: >- - contract_spec_id_info contains information about the - id/address of the contract specification. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of - the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. description: >- - SessionWrapper contains a single session and some extra - identifiers for it. - description: >- - sessions is any number of wrapped sessions that hold these - records (if requested). - records: - type: array - items: - type: object - properties: - record: - type: object - properties: - name: - type: string - title: >- - name/identifier for this record. Value must be - unique within the scope. Also known as a Fact name - session_id: - type: string - format: byte - title: >- - id of the session context that was used to create - this record (use with filtered kvprefix iterator) - process: - title: >- - process contain information used to uniquely - identify an execution on or off chain that generated - this record - type: object - properties: - address: - type: string - title: >- - the address of a smart contract used for this - process - hash: - type: string - title: the hash of an off-chain process used - name: - type: string - title: >- - a name associated with the process (type_name, - classname or smart contract common name) - method: - type: string - title: >- - method is a name or reference to a specific - operation (method) within a class/contract that - was invoked - inputs: - type: array - items: - type: object - properties: - name: - type: string - description: >- - Name value included to link back to the - definition spec. - record_id: - type: string - format: byte - title: >- - the address of a record on chain (For - Established Records) - hash: - type: string - title: >- - the hash of an off-chain piece of information - (For Proposed Records) - type_name: - type: string - title: from proposed fact structure to unmarshal - status: - title: >- - Indicates if this input was a recorded fact on - chain or just a given hashed input - type: string - enum: - - RECORD_INPUT_STATUS_UNSPECIFIED - - RECORD_INPUT_STATUS_PROPOSED - - RECORD_INPUT_STATUS_RECORD - default: RECORD_INPUT_STATUS_UNSPECIFIED - description: >- - - RECORD_INPUT_STATUS_UNSPECIFIED: - RECORD_INPUT_STATUS_UNSPECIFIED indicates an - invalid/unknown input type - - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed - - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain - title: Tracks the inputs used to establish this record - title: >- - inputs used with the process to achieve the output - on this record - outputs: - type: array - items: - type: object - properties: - hash: - type: string - title: >- - Hash of the data output that was - output/generated for this record - status: - title: >- - Status of the process execution associated - with this output indicating success,failure, - or pending - type: string - enum: - - RESULT_STATUS_UNSPECIFIED - - RESULT_STATUS_PASS - - RESULT_STATUS_SKIP - - RESULT_STATUS_FAIL - default: RESULT_STATUS_UNSPECIFIED - description: >- - - RESULT_STATUS_UNSPECIFIED: - RESULT_STATUS_UNSPECIFIED indicates an unset - condition - - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful - - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution - - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. - title: >- - RecordOutput encapsulates the output of a process - recorded on chain - title: >- - output(s) is the results of executing the process on - the given process indicated in this record - specification_id: - type: string - format: byte - description: >- - specification_id is the id of the record - specification that was used to create this record. - title: >- - A record (of fact) is attached to a session or each - consideration output from a contract - description: record is the on-chain record message. - record_id_info: - description: >- - record_id_info contains information about the id/address - of the record. - type: object - properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: >- - record_id_prefix is the prefix portion of the - record_id. - record_id_scope_uuid: - type: string - format: byte - description: >- - record_id_scope_uuid is the scope_uuid portion of - the record_id. - record_id_hashed_name: - type: string - format: byte - description: >- - record_id_hashed_name is the hashed name portion of - the record_id. - record_addr: - type: string - description: >- - record_addr is the bech32 string version of the - record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id - referenced in the record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: >- - scope_id_prefix is the prefix portion of the - scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: >- - scope_id_scope_uuid is the scope_uuid portion of - the scope_id. - scope_addr: - type: string - description: >- - scope_addr is the bech32 string version of the - scope_id. - scope_uuid: - type: string - description: >- - scope_uuid is the uuid hex string of the - scope_id_scope_uuid. - record_spec_id_info: - description: >- - record_spec_id_info contains information about the - id/address of the record specification. - type: object - properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record - specification address. - record_spec_id_prefix: - type: string - format: byte - description: >- - record_spec_id_prefix is the prefix portion of the - record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the record_spec_id. - record_spec_id_hashed_name: - type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name - portion of the record_spec_id. - record_spec_addr: - type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the - contract spec id referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the - contract specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of - the contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the - contract_spec_uuid portion of the - contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version - of the contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. - description: >- - RecordWrapper contains a single record and some extra - identifiers for it. - description: records is any number of wrapped record results. + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. + description: record_specifications are the wrapped record specifications. request: description: request is a copy of the request that generated these results. type: object properties: - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - scope_id: - type: string - description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope - address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session - address, e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - name: - type: string - title: name is the name of the record to look for - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the the - scope containing these records in the response. - include_sessions: - type: boolean - format: boolean - description: >- - include_sessions is a flag for whether to include the - sessions containing these records in the response. exclude_id_info: type: boolean format: boolean @@ -55593,9 +52099,95 @@ paths: description: >- include_request is a flag for whether to include this request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- - RecordsResponse is the response type for the Query/Records RPC - method. + RecordSpecificationsAllResponse is the response type for the + Query/RecordSpecificationsAll RPC method. default: description: An unexpected error response schema: @@ -55619,97 +52211,310 @@ paths: type: string format: byte parameters: - - name: session_id - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. - - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also - - provided. - in: path - required: true - type: string - - name: record_addr + - name: exclude_id_info description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + exclude_id_info is a flag for whether to exclude the id info from + the response. in: query required: false - type: string - - name: scope_id + type: boolean + format: boolean + - name: include_request description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + include_request is a flag for whether to include this request in + your result. in: query required: false - type: string - - name: name - description: name is the name of the record to look for. + type: boolean + format: boolean + - 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 - - name: include_scope + format: byte + - name: pagination.offset description: >- - include_scope is a flag for whether to include the the scope - containing these records in the response. + 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: boolean - format: boolean - - name: include_sessions + type: string + format: uint64 + - name: pagination.limit description: >- - include_sessions is a flag for whether to include the sessions - containing these records in the response. + 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: boolean - format: boolean - - name: exclude_id_info + type: string + format: uint64 + - name: pagination.count_total description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. + 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 format: boolean - - name: include_request + - name: pagination.reverse description: >- - include_request is a flag for whether to include this request in - your result. + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false type: boolean format: boolean tags: - Query - /provenance/metadata/v1/sessions/all: + '/provenance/metadata/v1/scope/{scope_id}': get: - summary: SessionsAll retrieves all sessions. - operationId: SessionsAll + summary: Scope searches for a scope. + description: >- + The scope id, if provided, must either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, + + e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if + provided, must be a bech32 session address, + + e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, that scope is returned. + + * If only a session_addr is provided, the scope containing that session + is returned. + + * If only a record_addr is provided, the scope containing that record is + returned. + + * If more than one of scope_id, session_addr, and record_addr are + provided, and they don't refer to the same scope, + + a bad request is returned. + + + Providing a session addr or record addr does not limit the sessions and + records returned (if requested). + + Those parameters are only used to find the scope. + + + By default, sessions and records are not included. + + Set include_sessions and/or include_records to true to include sessions + and/or records. + operationId: Scope responses: '200': description: A successful response. schema: type: object properties: - sessions: - type: array - items: - type: object - properties: - session: - type: object - properties: - session_id: - type: string - format: byte - specification_id: - type: string + scope: + description: scope is the wrapped scope result. + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string format: byte description: >- unique id of the contract specification that was @@ -55930,11 +52735,319 @@ paths: description: >- SessionWrapper contains a single session and some extra identifiers for it. - description: sessions are the wrapped sessions. + description: >- + sessions is any number of wrapped sessions in this scope (if + requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records in this scope (if + requested). request: description: request is a copy of the request that generated these results. type: object properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_addr: + type: string + description: >- + session_addr is a bech32 session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions of the scope in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of the scope in the response. exclude_id_info: type: boolean format: boolean @@ -55947,95 +53060,7 @@ paths: description: >- include_request is a flag for whether to include this request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - 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. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - 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. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. - - - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient - - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: >- - SessionsAllResponse is the response type for the Query/SessionsAll - RPC method. + description: ScopeResponse is the response type for the Query/Scope RPC method. default: description: An unexpected error response schema: @@ -56059,227 +53084,53 @@ paths: type: string format: byte parameters: - - name: exclude_id_info - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - in: query - required: false - type: boolean - format: boolean - - name: include_request + - name: scope_id description: >- - include_request is a flag for whether to include this request in - your result. - in: query - required: false - type: boolean - format: boolean - - name: pagination.key + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: session_addr 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. + session_addr is a bech32 session address, e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. in: query required: false type: string - format: byte - - name: pagination.offset + - name: record_addr 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. + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. in: query required: false type: string - format: uint64 - - name: pagination.limit + - name: include_sessions 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. + include_sessions is a flag for whether to include the sessions of + the scope in the response. in: query required: false - type: string - format: uint64 - - name: pagination.count_total + type: boolean + format: boolean + - name: include_records 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. + include_records is a flag for whether to include the records of the + scope in the response. in: query required: false type: boolean format: boolean - - name: pagination.reverse + - name: exclude_id_info description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 + exclude_id_info is a flag for whether to exclude the id info from + the response. in: query required: false type: boolean format: boolean - tags: - - Query - '/provenance/metadata/v1/valueownership/{address}': - get: - summary: >- - ValueOwnership returns the scope identifiers that list the given address - as the value owner. - operationId: ValueOwnership - responses: - '200': - description: A successful response. - schema: - type: object - properties: - scope_uuids: - type: array - items: - type: string - description: A list of scope ids (uuid) associated with the given address. - request: - description: request is a copy of the request that generated these results. - type: object - properties: - address: - type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this - request in your result. - pagination: - description: >- - pagination defines optional pagination parameters for the - request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - 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. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - 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. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned - in the descending order. - - - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient - - pagination. Ex: - pagination: - description: >- - pagination provides the pagination information of this - response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: >- - ValueOwnershipResponse is the response type for the - Query/ValueOwnership RPC method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: address - in: path - required: true - type: string - name: include_request description: >- include_request is a flag for whether to include this request in @@ -56288,973 +53139,800 @@ paths: required: false type: boolean format: boolean - - 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. + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/record/{name}': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. - It is less efficient than using key. Only one of offset or key - should + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. - 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. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, - 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 + the session_id can either be a uuid or session address, e.g. - a count of the total number of items available for pagination in - UIs. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're - count_total is only respected when offset is used. It is ignored - when key + interested in. - is set. - in: query - required: false - type: boolean - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + * If only a record_addr is provided, that single record will be + returned. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/name/v1/lookup/{address}': - get: - summary: ReverseLookup queries for all names bound against a given address - operationId: ReverseLookup - responses: - '200': - description: A successful response. - schema: - type: object - properties: - name: - type: array - items: - type: string - title: an array of names bound against a given address - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + * If only a scope_id is provided, all records in that scope will be + returned. - was set, its value is undefined otherwise - description: >- - QueryReverseLookupResponse is the response type for the - Query/Resolve method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: address - description: address to find name records for - 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. + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. - It is less efficient than using key. Only one of offset or key - should + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. - 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 bad request is returned if: - a count of the total number of items available for pagination in - UIs. + * The session_id is a uuid and no scope_id is provided. - count_total is only respected when offset is used. It is ignored - when key + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. - is set. - in: query - required: false - type: boolean - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + * A name is provided, but not a scope_id and/or a session_id. + * A name and record_addr are provided and the name doesn't match the + record_addr. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - /provenance/name/v1/params: - get: - summary: Params queries params of the name module. - operationId: NameParams + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records3 responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). type: object properties: - max_segment_length: - type: integer - format: int64 - title: maximum length of name segment to allow - min_segment_length: - type: integer - format: int64 - title: minimum length of name segment to allow - max_name_levels: - type: integer - format: int64 - title: >- - maximum number of name segments to allow. Example: - `foo.bar.baz` would be 3 - allow_unrestricted_names: - type: boolean - format: boolean - title: determines if unrestricted name keys are allowed or not - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - tags: - - Query - '/provenance/name/v1/resolve/{name}': - get: - summary: Resolve queries for the address associated with a given name - operationId: Resolve - responses: - '200': - description: A successful response. - schema: - type: object - properties: - address: - type: string - title: a string containing the address the name resolves to - restricted: - type: boolean - format: boolean - description: Whether owner signature is required to add sub-names. - description: >- - QueryResolveResponse is the response type for the Query/Resolve - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: name - description: name to resolve the address for - in: path - required: true - type: string - tags: - - Query - /provenance/msgfees/v1/all: - get: - summary: Query all Msgs which have fees associated with them. - operationId: QueryAllMsgFees - responses: - '200': - description: A successful response. - schema: - type: object - properties: - msg_fees: - type: array - items: - type: object - properties: - msg_type_url: - type: string - additional_fee: - title: >- - additional_fee can pay in any Coin( basically a Denom - and Amount, Amount can be zero) - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - recipient: - type: string - recipient_basis_points: - type: integer - format: int64 - title: >- - MsgFee is the core of what gets stored on the blockchain - - it consists of four parts - - 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend - - 2. minimum additional fees(can be of any denom) - - 3. optional recipient of fee based on - `recipient_basis_points` - - 4. if recipient is declared they will recieve the basis - points of the fee (0-10,000) - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - title: response for querying all msg's with fees associated with them - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - 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 + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify - is set. - in: query - required: false - type: boolean - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - /provenance/msgfees/v1/params: - get: - summary: Params queries the parameters for x/msgfees - operationId: MsgFeeParams - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params defines the parameters of the module. - type: object - properties: - floor_gas_price: - title: >- - constant used to calculate fees when gas fees shares denom - with msg fee + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. type: object properties: - denom: + scope_id: type: string - amount: + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - nhash_per_usd_mil: - type: string - format: uint64 - title: total nhash per usd mil for converting usd to nhash - conversion_fee_denom: - type: string - title: conversion fee denom is the denom usd is converted to - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - tags: - - Query - /provenance/tx/v1/calculate_msg_based_fee: - post: - summary: >- - CalculateTxFees simulates executing a transaction for estimating gas - usage and additional fees. - operationId: CalculateTxFees - responses: - '200': - description: A successful response. - schema: - type: object - properties: - additional_fees: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: >- - additional_fees are the amount of coins to be for addition msg - fees - total_fees: + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: type: array items: type: object properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - total_fees are the total amount of fees needed for the - transactions (msg fees + gas fee) - - note: the gas fee is calculated with the floor gas price - module param. - estimated_gas: - type: string - format: uint64 - title: estimated_gas is the amount of gas needed for the transaction - description: >- - CalculateTxFeesResponse is the response type for the Query RPC - method. - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - tx_bytes: - type: string - format: byte - description: tx_bytes is the transaction to simulate. - default_base_denom: - type: string - description: |- - default_base_denom is used to set the denom used for gas fees - if not set it will default to nhash. - gas_adjustment: - type: number - format: float - title: >- - gas_adjustment is the adjustment factor to be multiplied - against the estimate returned by the tx simulation - description: >- - CalculateTxFeesRequest is the request type for the Query RPC - method. - tags: - - Query - /provenance/rewards/v1/claim_period_reward_distributions: - get: - summary: >- - ClaimPeriodRewardDistributions returns a list of claim period reward - distributions matching the claim_status. - operationId: ClaimPeriodRewardDistributions - responses: - '200': - description: A successful response. - schema: - type: object - properties: - claim_period_reward_distributions: - type: array - items: - type: object - properties: - claim_period_id: - type: string - format: uint64 - description: The claim period id. - reward_program_id: - type: string - format: uint64 + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made description: >- - The id of the reward program that this reward belongs - to. - total_rewards_pool_for_claim_period: + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: description: >- - The sum of all the granted rewards for this claim - period. + session_id_info contains information about the + id/address of the session. type: object properties: - denom: + session_id: type: string - amount: + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: type: string - rewards_pool: - description: The final allocated rewards for this claim period. + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. type: object properties: - denom: + contract_spec_id: type: string - amount: + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: type: string - total_shares: - type: string - format: int64 - description: >- - The total number of granted shares for this claim - period. - claim_period_ended: - type: boolean - format: boolean - description: >- - A flag representing if the claim period for this reward - has ended. + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. description: >- - ClaimPeriodRewardDistribution, this is updated at the end of - every claim period. - description: List of all ClaimPeriodRewardDistribution objects queried for. - pagination: - description: pagination defines an optional pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - title: >- - QueryClaimPeriodRewardDistributionsResponse returns the list of - paginated ClaimPeriodRewardDistributions - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - 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 - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/rewards/v1/claim_period_reward_distributions/{reward_id}/claim_periods/{claim_period_id}': - get: - summary: >- - ClaimPeriodRewardDistributionsByID returns a claim period reward - distribution matching the ID. - operationId: ClaimPeriodRewardDistributionsByID - responses: - '200': - description: A successful response. - schema: - type: object - properties: - claim_period_reward_distribution: - type: object - properties: - claim_period_id: - type: string - format: uint64 - description: The claim period id. - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this reward belongs to. - total_rewards_pool_for_claim_period: - description: The sum of all the granted rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - rewards_pool: - description: The final allocated rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - total_shares: - type: string - format: int64 - description: The total number of granted shares for this claim period. - claim_period_ended: - type: boolean - format: boolean - description: >- - A flag representing if the claim period for this reward - has ended. + SessionWrapper contains a single session and some extra + identifiers for it. description: >- - ClaimPeriodRewardDistribution, this is updated at the end of - every claim period. - title: >- - QueryClaimPeriodRewardDistributionsByIDResponse returns the - requested ClaimPeriodRewardDistribution - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + sessions is any number of wrapped sessions that hold these + records (if requested). + records: type: array items: type: object properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: reward_id - description: >- - The reward program that the claim period reward distribution belongs - to. - in: path - required: true - type: string - format: uint64 - - name: claim_period_id - description: >- - The claim period that the claim period reward distribution was - created for. - in: path - required: true - type: string - format: uint64 - tags: - - Query - '/provenance/rewards/v1/reward_claims/{address}': - get: - summary: >- - RewardDistributionsByAddress returns a list of reward claims belonging - to the account and matching the claim - - status. - operationId: RewardDistributionsByAddress - responses: - '200': - description: A successful response. - schema: - type: object - properties: - address: - type: string - description: The address that the reward account belongs to. - reward_account_state: - type: array - items: - type: object - properties: - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this claim belongs to. - total_reward_claim: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: description: >- - total rewards claimed for all eligible claim periods in - program. + record_id_info contains information about the id/address + of the record. type: object properties: - denom: + record_id: type: string - amount: + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: type: string - claim_status: - description: The status of the claim. - type: string - enum: - - CLAIM_STATUS_UNSPECIFIED - - CLAIM_STATUS_UNCLAIMABLE - - CLAIM_STATUS_CLAIMABLE - - CLAIM_STATUS_CLAIMED - - CLAIM_STATUS_EXPIRED - default: CLAIM_STATUS_UNSPECIFIED - title: ClaimStatus is the state a claim is in - claim_id: - type: string - format: uint64 - description: The claim period that the claim belongs to. + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. description: >- - RewardAccountResponse is an address' reward claim for a - reward program's claim period. - description: List of RewardAccounts queried for. - pagination: - description: pagination defines an optional pagination for the response. + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. type: object properties: - next_key: + record_addr: type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. - was set, its value is undefined otherwise + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. description: >- - QueryRewardDistributionsByAddressResponse returns the reward - claims for an address that match the claim_status. + RecordsResponse is the response type for the Query/Records RPC + method. default: description: An unexpected error response schema: @@ -57278,1101 +53956,14033 @@ paths: type: string format: byte parameters: - - name: address - description: The address that the claim belongs to. + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. in: path required: true type: string - - name: claim_status - description: |- - The status that the reward account must have. - - - CLAIM_STATUS_UNSPECIFIED: undefined state - - CLAIM_STATUS_UNCLAIMABLE: unclaimable status - - CLAIM_STATUS_CLAIMABLE: unclaimable claimable - - CLAIM_STATUS_CLAIMED: unclaimable claimed - - CLAIM_STATUS_EXPIRED: unclaimable expired - in: query - required: false + - name: name + description: name is the name of the record to look for + in: path + required: true type: string - enum: - - CLAIM_STATUS_UNSPECIFIED - - CLAIM_STATUS_UNCLAIMABLE - - CLAIM_STATUS_CLAIMABLE - - CLAIM_STATUS_CLAIMED - - CLAIM_STATUS_EXPIRED - default: CLAIM_STATUS_UNSPECIFIED - - 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. + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. in: query required: false type: string - format: byte - - name: pagination.offset + - name: session_id description: >- - offset is a numeric offset that can be used when key is unavailable. + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. - It is less efficient than using key. Only one of offset or key - should + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also - be set. + provided. in: query required: false type: string - format: uint64 - - name: pagination.limit + - name: include_scope 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. + include_scope is a flag for whether to include the the scope + containing these records in the response. in: query required: false - type: string - format: uint64 - - name: pagination.count_total + type: boolean + format: boolean + - name: include_sessions 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. + include_sessions is a flag for whether to include the sessions + containing these records in the response. in: query required: false type: boolean format: boolean - - name: pagination.reverse + - name: exclude_id_info description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. in: query required: false type: boolean format: boolean tags: - Query - /provenance/rewards/v1/reward_programs: + '/provenance/metadata/v1/scope/{scope_id}/record/{record_name}/session': get: - summary: >- - RewardPrograms returns a list of reward programs matching the query - type. - operationId: RewardPrograms - responses: - '200': - description: A successful response. - schema: - type: object - properties: - reward_programs: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - description: An integer to uniquely identify the reward program. - title: - type: string - title: >- - Name to help identify the Reward - Program.(MaxTitleLength=140) - description: - type: string - title: >- - Short summary describing the Reward - Program.(MaxDescriptionLength=10000) - distribute_from_address: - type: string - description: address that provides funds for the total reward pool. - total_reward_pool: - description: The total amount of funding given to the RewardProgram. - type: object - properties: - denom: - type: string - amount: - type: string - remaining_pool_balance: - description: >- - The remaining funds available to distribute after n - claim periods have passed. - type: object - properties: - denom: - type: string - amount: - type: string - claimed_amount: - description: >- - The total amount of all funds claimed by participants - for all past claim periods. - type: object - properties: - denom: - type: string - amount: - type: string - max_reward_by_address: - description: Maximum reward per claim period per address. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_rollover_amount: - description: Minimum amount of coins for a program to rollover. - type: object - properties: - denom: - type: string - amount: - type: string - claim_period_seconds: - type: string - format: uint64 - description: Number of seconds that a claim period lasts. - program_start_time: - type: string - format: date-time - description: >- - Time that a RewardProgram should start and switch to - STARTED state. - expected_program_end_time: - type: string - format: date-time - description: >- - Time that a RewardProgram is expected to end, based on - data when it was setup. - program_end_time_max: - type: string - format: date-time - description: Time that a RewardProgram MUST end. - claim_period_end_time: - type: string - format: date-time - description: >- - Used internally to calculate and track the current claim - period's ending time. - actual_program_end_time: - type: string - format: date-time - description: >- - Time the RewardProgram switched to FINISHED state. - Initially set as empty. - claim_periods: - type: string - format: uint64 - description: Number of claim periods this program will run for. - current_claim_period: - type: string - format: uint64 - description: >- - Current claim period of the RewardProgram. Uses 1-based - indexing. - max_rollover_claim_periods: - type: string - format: uint64 - description: >- - maximum number of claim periods a reward program can - rollover. - state: - description: Current state of the RewardProgram. - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - title: State is the state of the reward program - expiration_offset: - type: string - format: uint64 - description: >- - Grace period after a RewardProgram FINISHED. It is the - number of seconds until a RewardProgram enters the - EXPIRED + summary: Sessions searches for sessions. + description: >- + The scope_id can either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. - state. - qualifying_actions: - type: array - items: - type: object - properties: - delegate: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have - currently delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have - currently delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: - type: string - description: >- - Minimum percentile that can be below the - validator's power ranking. - maximum_active_stake_percentile: - type: string - description: >- - Maximum percentile that can be below the - validator's power ranking. - description: >- - ActionDelegate represents the delegate action and - its required eligibility criteria. - transfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must - have across all validators, for the transfer - action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - ActionTransfer represents the transfer action and - its required eligibility criteria. - vote: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must - have across all validators, for the vote - action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: - type: string - format: uint64 - title: >- - Positive multiplier that is applied to the - shares awarded by the vote action when - conditions + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can + either be a uuid or session address, e.g. - are met(for now the only condition is the - current vote is a validator vote). A value of - zero will behave the same + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a - as one - description: >- - ActionVote represents the voting action and its - required eligibility criteria. - description: QualifyingAction can be one of many action types. - description: Actions that count towards the reward. - title: RewardProgram - description: List of RewardProgram objects matching the query_type. - pagination: - description: pagination defines an optional pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - was set, its value is undefined otherwise - title: >- - QueryRewardProgramsResponse contains the list of RewardPrograms - matching the query - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: query_type - description: |- - A filter on the types of reward programs. - - QUERY_TYPE_UNSPECIFIED: unspecified type - - QUERY_TYPE_ALL: all reward programs states - - QUERY_TYPE_PENDING: pending reward program state= - - QUERY_TYPE_ACTIVE: active reward program state - - QUERY_TYPE_OUTSTANDING: pending and active reward program states - - QUERY_TYPE_FINISHED: finished reward program state - in: query - required: false - type: string - enum: - - QUERY_TYPE_UNSPECIFIED - - QUERY_TYPE_ALL - - QUERY_TYPE_PENDING - - QUERY_TYPE_ACTIVE - - QUERY_TYPE_OUTSTANDING - - QUERY_TYPE_FINISHED - default: QUERY_TYPE_UNSPECIFIED - - 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. + * If only a scope_id is provided, all sessions in that scope are + returned. - It is less efficient than using key. Only one of offset or key - should + * If only a session_id is provided, it must be an address, and that + single session is returned. - 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 the session_id is a uuid, then either a scope_id or record_addr + must also be provided, and that single session - 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 + is returned. - a count of the total number of items available for pagination in - UIs. + * If only a record_addr is provided, the session containing that record + will be returned. - count_total is only respected when offset is used. It is ignored - when key + * If a record_name is provided then either a scope_id, session_id as an + address, or record_addr must also be - is set. - in: query - required: false - type: boolean - format: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + provided, and the session containing that record will be returned. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - format: boolean - tags: - - Query - '/provenance/rewards/v1/reward_programs/{id}': - get: - summary: RewardProgramByID returns a reward program matching the ID. - operationId: RewardProgramByID + A bad request is returned if: + + * The session_id is a uuid and is provided without a scope_id or + record_addr. + + * A record_name is provided without any way to identify the scope (e.g. + a scope_id, a session_id as an address, or + + a record_addr). + + * Two or more of scope_id, session_id as an address, and record_addr are + provided and don't all refer to the same + + scope. + + * A record_addr (or scope_id and record_name) is provided with a + session_id and that session does not contain such + + a record. + + * A record_addr and record_name are both provided, but reference + different records. + + + By default, the scope and records are not included. + + Set include_scope and/or include_records to true to include the scope + and/or records. + operationId: Sessions5 responses: '200': description: A successful response. schema: type: object properties: - reward_program: + scope: + description: >- + scope is the wrapped scope that holds these sessions (if + requested). type: object properties: - id: - type: string - format: uint64 - description: An integer to uniquely identify the reward program. - title: - type: string - title: >- - Name to help identify the Reward - Program.(MaxTitleLength=140) - description: - type: string - title: >- - Short summary describing the Reward - Program.(MaxDescriptionLength=10000) - distribute_from_address: - type: string - description: address that provides funds for the total reward pool. - total_reward_pool: - description: The total amount of funding given to the RewardProgram. + scope: type: object properties: - denom: - type: string - amount: + scope_id: type: string - remaining_pool_balance: - description: >- - The remaining funds available to distribute after n claim - periods have passed. - type: object - properties: - denom: + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: type: string - amount: + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: type: string - claimed_amount: - description: >- - The total amount of all funds claimed by participants for - all past claim periods. + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. type: object properties: - denom: + scope_id: type: string - amount: + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: type: string - max_reward_by_address: - description: Maximum reward per claim period per address. - type: object - properties: - denom: + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: type: string - amount: + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: type: string - minimum_rollover_amount: - description: Minimum amount of coins for a program to rollover. + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. type: object properties: - denom: + scope_spec_id: type: string - amount: + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: type: string - claim_period_seconds: - type: string - format: uint64 - description: Number of seconds that a claim period lasts. - program_start_time: - type: string - format: date-time - description: >- - Time that a RewardProgram should start and switch to - STARTED state. - expected_program_end_time: - type: string - format: date-time - description: >- - Time that a RewardProgram is expected to end, based on - data when it was setup. - program_end_time_max: - type: string - format: date-time - description: Time that a RewardProgram MUST end. - claim_period_end_time: - type: string - format: date-time - description: >- - Used internally to calculate and track the current claim - period's ending time. - actual_program_end_time: - type: string - format: date-time - description: >- - Time the RewardProgram switched to FINISHED state. - Initially set as empty. - claim_periods: - type: string - format: uint64 - description: Number of claim periods this program will run for. - current_claim_period: - type: string - format: uint64 - description: >- - Current claim period of the RewardProgram. Uses 1-based - indexing. - max_rollover_claim_periods: - type: string - format: uint64 - description: >- - maximum number of claim periods a reward program can - rollover. - state: - description: Current state of the RewardProgram. - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - title: State is the state of the reward program - expiration_offset: - type: string - format: uint64 - description: >- - Grace period after a RewardProgram FINISHED. It is the - number of seconds until a RewardProgram enters the EXPIRED - - state. - qualifying_actions: - type: array - items: + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: type: object properties: - delegate: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. type: object properties: - minimum_actions: + created_date: type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: + format: date-time + title: the date/time when this entry was created + created_by: type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: + title: >- + the address of the account that created this + record + updated_date: type: string - description: >- - Minimum percentile that can be below the - validator's power ranking. - maximum_active_stake_percentile: + format: date-time + title: the date/time when this entry was last updated + updated_by: type: string - description: >- - Maximum percentile that can be below the - validator's power ranking. + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte description: >- - ActionDelegate represents the delegate action and - its required eligibility criteria. - transfer: + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. type: object properties: - minimum_actions: + scope_id: type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: + format: byte description: >- - Minimum delegation amount the account must have - across all validators, for the transfer action - to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - ActionTransfer represents the transfer action and - its required eligibility criteria. - vote: - type: object - properties: - minimum_actions: + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: description: >- - Minimum delegation amount the account must have - across all validators, for the vote action to be - counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: type: string - format: uint64 - title: >- - Positive multiplier that is applied to the - shares awarded by the vote action when - conditions - - are met(for now the only condition is the - current vote is a validator vote). A value of - zero will behave the same - - as one + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte description: >- - ActionVote represents the voting action and its - required eligibility criteria. - description: QualifyingAction can be one of many action types. - description: Actions that count towards the reward. - title: RewardProgram - description: The reward program object that was queried for. - title: >- - QueryRewardProgramByIDResponse contains the requested - RewardProgram - default: - description: An unexpected error response - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: sessions is any number of wrapped session results. + records: type: array items: type: object properties: - type_url: - type: string - value: - type: string - format: byte - parameters: - - name: id - description: The id of the reward program to query. - in: path - required: true - type: string - format: uint64 - tags: - - Query -definitions: - cosmos.auth.v1beta1.AddressBytesToStringResponse: - type: object - properties: - address_string: - type: string - description: >- - AddressBytesToStringResponse is the response type for AddressString rpc - method. - - - Since: cosmos-sdk 0.46 - cosmos.auth.v1beta1.AddressStringToBytesResponse: - type: object - properties: - address_bytes: - type: string - format: byte - description: >- - AddressStringToBytesResponse is the response type for AddressBytes rpc - method. + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records contained in these + sessions (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. - Since: cosmos-sdk 0.46 - cosmos.auth.v1beta1.Bech32PrefixResponse: - type: object - properties: - bech32_prefix: - type: string - description: |- - Bech32PrefixResponse is the response type for Bech32Prefix rpc method. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also - Since: cosmos-sdk 0.46 - cosmos.auth.v1beta1.Params: - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: Params defines the parameters for the auth module. - cosmos.auth.v1beta1.QueryAccountAddressByIDResponse: - type: object - properties: - account_address: - type: string - description: 'Since: cosmos-sdk 0.46.2' - title: >- - QueryAccountAddressByIDResponse is the response type for - AccountAddressByID rpc method - cosmos.auth.v1beta1.QueryAccountResponse: - type: object - properties: - account: - type: object - properties: - type_url: - type: string + provided. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + record_name: + type: string + description: >- + record_name is the name of the record to find the session + for in the provided scope. + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the scope + containing these sessions in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of these sessions in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. description: >- - A URL/resource name that uniquely identifies the type of the - serialized + SessionsResponse is the response type for the Query/Sessions RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. - protocol buffer message. This string must contain at least + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: record_name + description: >- + record_name is the name of the record to find the session for in the + provided scope. + in: path + required: true + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. - one "/" character. The last segment of the URL's path must - represent + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also - the fully qualified name of the type (as in + provided. + in: query + required: false + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the scope containing + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_records + description: >- + include_records is a flag for whether to include the records of + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/records': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. - `path/google.protobuf.Duration`). The name should be in a - canonical form + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. - (e.g., leading "." is not accepted). + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + the session_id can either be a uuid or session address, e.g. - In practice, teams usually precompile into the binary all types - that they + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're - expect it to use in the context of Any. However, for URLs which - use the + interested in. - scheme `http`, `https`, or no scheme, one can optionally set up a - type - server that maps type URLs to message definitions as follows: + * If only a record_addr is provided, that single record will be + returned. + * If only a scope_id is provided, all records in that scope will be + returned. - * If no scheme is provided, `https` is assumed. + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. - * 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.) + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. - 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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: >- - QueryAccountResponse is the response type for the Query/Account RPC - method. - cosmos.auth.v1beta1.QueryAccountsResponse: - type: object - properties: - accounts: - type: array - items: - type: object - properties: - type_url: - 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. + A bad request is returned if: - Schemes other than `http`, `https` (or the empty scheme) might - be + * The session_id is a uuid and no scope_id is provided. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. - URL that describes the type of the serialized message. + * A name is provided, but not a scope_id and/or a session_id. + * A name and record_addr are provided and the name doesn't match the + record_addr. - Protobuf library provides support to pack/unpack Any values in the - form - of utility functions or additional generated methods of the Any - type. + By default, the scope and sessions are not included. + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records2 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify - Example 1: Pack and unpack a message in C++. + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. - Example 2: Pack and unpack a message in Java. + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + The context will have a specification and set of parties + involved. - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordsResponse is the response type for the Query/Records RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: query + required: false + type: string + - name: name + description: name is the name of the record to look for. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}': + get: + summary: Sessions searches for sessions. + description: >- + The scope_id can either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can + either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, all sessions in that scope are + returned. + + * If only a session_id is provided, it must be an address, and that + single session is returned. + + * If the session_id is a uuid, then either a scope_id or record_addr + must also be provided, and that single session + + is returned. + + * If only a record_addr is provided, the session containing that record + will be returned. + + * If a record_name is provided then either a scope_id, session_id as an + address, or record_addr must also be + + provided, and the session containing that record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and is provided without a scope_id or + record_addr. + + * A record_name is provided without any way to identify the scope (e.g. + a scope_id, a session_id as an address, or + + a record_addr). + + * Two or more of scope_id, session_id as an address, and record_addr are + provided and don't all refer to the same + + scope. + + * A record_addr (or scope_id and record_name) is provided with a + session_id and that session does not contain such + + a record. + + * A record_addr and record_name are both provided, but reference + different records. + + + By default, the scope and records are not included. + + Set include_scope and/or include_records to true to include the scope + and/or records. + operationId: Sessions3 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these sessions (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: sessions is any number of wrapped session results. + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records contained in these + sessions (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + record_name: + type: string + description: >- + record_name is the name of the record to find the session + for in the provided scope. + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the scope + containing these sessions in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of these sessions in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + SessionsResponse is the response type for the Query/Sessions RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: record_name + description: >- + record_name is the name of the record to find the session for in the + provided scope. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the scope containing + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_records + description: >- + include_records is a flag for whether to include the records of + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}/record/{name}': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. + + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. + + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + + the session_id can either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're + + interested in. + + + * If only a record_addr is provided, that single record will be + returned. + + * If only a scope_id is provided, all records in that scope will be + returned. + + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. + + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and no scope_id is provided. + + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. + + * A name is provided, but not a scope_id and/or a session_id. + + * A name and record_addr are provided and the name doesn't match the + record_addr. + + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records5 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordsResponse is the response type for the Query/Records RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: name + description: name is the name of the record to look for + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/session/{session_id}/records': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. + + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. + + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + + the session_id can either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're + + interested in. + + + * If only a record_addr is provided, that single record will be + returned. + + * If only a scope_id is provided, all records in that scope will be + returned. + + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. + + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and no scope_id is provided. + + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. + + * A name is provided, but not a scope_id and/or a session_id. + + * A name and record_addr are provided and the name doesn't match the + record_addr. + + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records4 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordsResponse is the response type for the Query/Records RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: name + description: name is the name of the record to look for. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scope/{scope_id}/sessions': + get: + summary: Sessions searches for sessions. + description: >- + The scope_id can either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can + either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, all sessions in that scope are + returned. + + * If only a session_id is provided, it must be an address, and that + single session is returned. + + * If the session_id is a uuid, then either a scope_id or record_addr + must also be provided, and that single session + + is returned. + + * If only a record_addr is provided, the session containing that record + will be returned. + + * If a record_name is provided then either a scope_id, session_id as an + address, or record_addr must also be + + provided, and the session containing that record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and is provided without a scope_id or + record_addr. + + * A record_name is provided without any way to identify the scope (e.g. + a scope_id, a session_id as an address, or + + a record_addr). + + * Two or more of scope_id, session_id as an address, and record_addr are + provided and don't all refer to the same + + scope. + + * A record_addr (or scope_id and record_name) is provided with a + session_id and that session does not contain such + + a record. + + * A record_addr and record_name are both provided, but reference + different records. + + + By default, the scope and records are not included. + + Set include_scope and/or include_records to true to include the scope + and/or records. + operationId: Sessions2 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these sessions (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: sessions is any number of wrapped session results. + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records contained in these + sessions (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + record_name: + type: string + description: >- + record_name is the name of the record to find the session + for in the provided scope. + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the scope + containing these sessions in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of these sessions in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + SessionsResponse is the response type for the Query/Sessions RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: path + required: true + type: string + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: query + required: false + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: record_name + description: >- + record_name is the name of the record to find the session for in the + provided scope. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the scope containing + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_records + description: >- + include_records is a flag for whether to include the records of + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/metadata/v1/scopes/all: + get: + summary: ScopesAll retrieves all scopes. + operationId: ScopesAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scopes: + type: array + items: + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any + requests that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may + only be changed by the entity indicated once it is + set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of + records owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address + of the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + description: SessionWrapper contains a single scope and its uuid. + description: scopes are the wrapped scopes. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + ScopesAllResponse is the response type for the Query/ScopesAll RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/scopespec/{specification_id}': + get: + summary: >- + ScopeSpecification returns a scope specification for the given + specification id. + description: >- + The specification_id can either be a uuid, e.g. + dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope + + specification address, e.g. + scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. + + + By default, the contract and record specifications are not included. + + Set include_contract_specs and/or include_record_specs to true to + include contract and/or record specifications. + operationId: ScopeSpecification + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_specification: + description: scope_specification is the wrapped scope specification. + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + description: General information about this scope specification. + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is + an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A list of parties that must be present on a scope (and + their associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte + description: >- + A list of contract specification ids allowed for a + scope based on this specification. + title: >- + ScopeSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract + description: specification is the on-chain scope specification message. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + contract_specs: + type: array + items: + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: >- + Description information for this contract + specification + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy + to associate with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + a list of party roles that must be fullfilled when + signing a transaction for this contract + specification + resource_id: + type: string + format: byte + title: >- + the address of a record on chain that represents + this contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract + description: >- + specification is the on-chain contract specification + message. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + ContractSpecificationWrapper contains a single contract + specification and some extra identifiers for it. + description: >- + contract_specs is any number of wrapped contract + specifications in this scope specification (if requested). + record_specs: + type: array + items: + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: >- + a type_name (typically a proto name or + class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + title: >- + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to + define an input + + parameter + title: >- + A set of inputs that must be satisified to apply + this RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must + be RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a + Record including allowed/required inputs/outputs + description: >- + specification is the on-chain record specification + message. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordSpecificationWrapper contains a single record + specification and some extra identifiers for it. + description: >- + record_specs is any number of wrapped record specifications in + this scope specification (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + specification_id: + type: string + description: >- + specification_id can either be a uuid, e.g. + dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope + specification + + address, e.g. + scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. + include_contract_specs: + type: boolean + format: boolean + description: >- + include_contract_specs is a flag for whether to include + the contract specifications of the scope specification in + + the response. + include_record_specs: + type: boolean + format: boolean + description: >- + include_record_specs is a flag for whether to include the + record specifications of the scope specification in the + + response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + ScopeSpecificationResponse is the response type for the + Query/ScopeSpecification RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_id + description: >- + specification_id can either be a uuid, e.g. + dc83ea70-eacd-40fe-9adf-1cf6148bf8a2 or a bech32 scope specification + + address, e.g. scopespec1qnwg86nsatx5pl56muw0v9ytlz3qu3jx6m. + in: path + required: true + type: string + - name: include_contract_specs + description: >- + include_contract_specs is a flag for whether to include the contract + specifications of the scope specification in + + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_record_specs + description: >- + include_record_specs is a flag for whether to include the record + specifications of the scope specification in the + + response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/metadata/v1/scopespecs/all: + get: + summary: ScopeSpecificationsAll retrieves all scope specifications. + operationId: ScopeSpecificationsAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_specifications: + type: array + items: + type: object + properties: + specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + description: General information about this scope specification. + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A list of parties that must be present on a scope + (and their associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte + description: >- + A list of contract specification ids allowed for a + scope based on this specification. + title: >- + ScopeSpecification defines the required parties, + resources, conditions, and consideration outputs for a + contract + description: >- + specification is the on-chain scope specification + message. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + description: >- + ScopeSpecificationWrapper contains a single scope + specification and some extra identifiers for it. + description: scope_specifications are the wrapped scope specifications. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + ScopeSpecificationsAllResponse is the response type for the + Query/ScopeSpecificationsAll RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/session/{session_addr}/scope': + get: + summary: Scope searches for a scope. + description: >- + The scope id, if provided, must either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, + + e.g. scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. The session addr, if + provided, must be a bech32 session address, + + e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, that scope is returned. + + * If only a session_addr is provided, the scope containing that session + is returned. + + * If only a record_addr is provided, the scope containing that record is + returned. + + * If more than one of scope_id, session_addr, and record_addr are + provided, and they don't refer to the same scope, + + a bad request is returned. + + + Providing a session addr or record addr does not limit the sessions and + records returned (if requested). + + Those parameters are only used to find the scope. + + + By default, sessions and records are not included. + + Set include_sessions and/or include_records to true to include sessions + and/or records. + operationId: Scope2 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: scope is the wrapped scope result. + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions in this scope (if + requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records in this scope (if + requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_addr: + type: string + description: >- + session_addr is a bech32 session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions of the scope in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of the scope in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: ScopeResponse is the response type for the Query/Scope RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: session_addr + description: |- + session_addr is a bech32 session address, e.g. + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + in: path + required: true + type: string + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: query + required: false + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions of + the scope in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_records + description: >- + include_records is a flag for whether to include the records of the + scope in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/session/{session_id}': + get: + summary: Sessions searches for sessions. + description: >- + The scope_id can either be scope uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, the session_id can + either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + record_addr, if provided, must be a + + bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + + + * If only a scope_id is provided, all sessions in that scope are + returned. + + * If only a session_id is provided, it must be an address, and that + single session is returned. + + * If the session_id is a uuid, then either a scope_id or record_addr + must also be provided, and that single session + + is returned. + + * If only a record_addr is provided, the session containing that record + will be returned. + + * If a record_name is provided then either a scope_id, session_id as an + address, or record_addr must also be + + provided, and the session containing that record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and is provided without a scope_id or + record_addr. + + * A record_name is provided without any way to identify the scope (e.g. + a scope_id, a session_id as an address, or + + a record_addr). + + * Two or more of scope_id, session_id as an address, and record_addr are + provided and don't all refer to the same + + scope. + + * A record_addr (or scope_id and record_name) is provided with a + session_id and that session does not contain such + + a record. + + * A record_addr and record_name are both provided, but reference + different records. + + + By default, the scope and records are not included. + + Set include_scope and/or include_records to true to include the scope + and/or records. + operationId: Sessions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these sessions (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: sessions is any number of wrapped session results. + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: >- + records is any number of wrapped records contained in these + sessions (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + record_name: + type: string + description: >- + record_name is the name of the record to find the session + for in the provided scope. + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the scope + containing these sessions in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the + records of these sessions in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + SessionsResponse is the response type for the Query/Sessions RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: query + required: false + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: record_name + description: >- + record_name is the name of the record to find the session for in the + provided scope. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the scope containing + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_records + description: >- + include_records is a flag for whether to include the records of + these sessions in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/session/{session_id}/record/{name}': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. + + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. + + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + + the session_id can either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're + + interested in. + + + * If only a record_addr is provided, that single record will be + returned. + + * If only a scope_id is provided, all records in that scope will be + returned. + + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. + + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and no scope_id is provided. + + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. + + * A name is provided, but not a scope_id and/or a session_id. + + * A name and record_addr are provided and the name doesn't match the + record_addr. + + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records7 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordsResponse is the response type for the Query/Records RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: name + description: name is the name of the record to look for + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/session/{session_id}/records': + get: + summary: Records searches for records. + description: >- + The record_addr, if provided, must be a bech32 record address, e.g. + + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. The + scope-id can either be scope uuid, e.g. + + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a scope address, e.g. + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. Similarly, + + the session_id can either be a uuid or session address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. The + name is the name of the record you're + + interested in. + + + * If only a record_addr is provided, that single record will be + returned. + + * If only a scope_id is provided, all records in that scope will be + returned. + + * If only a session_id (or scope_id/session_id), all records in that + session will be returned. + + * If a name is provided with a scope_id and/or session_id, that single + record will be returned. + + + A bad request is returned if: + + * The session_id is a uuid and no scope_id is provided. + + * There are two or more of record_addr, session_id, and scope_id, and + they don't all refer to the same scope. + + * A name is provided, but not a scope_id and/or a session_id. + + * A name and record_addr are provided and the name doesn't match the + record_addr. + + + By default, the scope and sessions are not included. + + Set include_scope and/or include_sessions to true to include the scope + and/or sessions. + operationId: Records6 + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + description: >- + scope is the wrapped scope that holds these records (if + requested). + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in + Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the + specifications for data elements allowed within this + scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + description: >- + These parties represent top level owners of the + records within. These parties must sign any requests + that modify + + the data within the scope. These addresses are in + union with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addresses in this list are authorized to receive + off-chain data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with + this scope. Standard blockchain accounts and marker + accounts + + are supported for this value. This attribute may only + be changed by the entity indicated once it is set. + require_party_rollup: + type: boolean + format: boolean + description: >- + Whether all parties in this scope and its sessions + must be present in this scope's owners field. + + This also enables use of optional=true scope owners + and session parties. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + scope_id_info: + description: >- + scope_id_info contains information about the id/address of + the scope. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of the + scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the + id/address of the scope specification. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: >- + scope_spec_id is the raw bytes of the scope + specification address. + scope_spec_id_prefix: + type: string + format: byte + description: >- + scope_spec_id_prefix is the prefix portion of the + scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte + description: >- + scope_spec_id_scope_spec_uuid is the scope_spec_uuid + portion of the scope_spec_id. + scope_spec_addr: + type: string + description: >- + scope_spec_addr is the bech32 string version of the + scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: >- + sessions is any number of wrapped sessions that hold these + records (if requested). + records: + type: array + items: + type: object + properties: + record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be + unique within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create + this record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely + identify an execution on or off chain that generated + this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that + was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the + definition spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For + Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information + (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output + on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was + output/generated for this record + status: + title: >- + Status of the process execution associated + with this output indicating success,failure, + or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successful + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on + the given process indicated in this record + specification_id: + type: string + format: byte + description: >- + specification_id is the id of the record + specification that was used to create this record. + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + description: record is the on-chain record message. + record_id_info: + description: >- + record_id_info contains information about the id/address + of the record. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: >- + record_id_prefix is the prefix portion of the + record_id. + record_id_scope_uuid: + type: string + format: byte + description: >- + record_id_scope_uuid is the scope_uuid portion of + the record_id. + record_id_hashed_name: + type: string + format: byte + description: >- + record_id_hashed_name is the hashed name portion of + the record_id. + record_addr: + type: string + description: >- + record_addr is the bech32 string version of the + record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + record_spec_id_info: + description: >- + record_spec_id_info contains information about the + id/address of the record specification. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record + specification address. + record_spec_id_prefix: + type: string + format: byte + description: >- + record_spec_id_prefix is the prefix portion of the + record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name + portion of the record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the + contract spec id referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the + contract specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of + the contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the + contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version + of the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + RecordWrapper contains a single record and some extra + identifiers for it. + description: records is any number of wrapped record results. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope + address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session + address, e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + name: + type: string + title: name is the name of the record to look for + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the the + scope containing these records in the response. + include_sessions: + type: boolean + format: boolean + description: >- + include_sessions is a flag for whether to include the + sessions containing these records in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + description: >- + RecordsResponse is the response type for the Query/Records RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: session_id + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + in: path + required: true + type: string + - name: record_addr + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + in: query + required: false + type: string + - name: scope_id + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + in: query + required: false + type: string + - name: name + description: name is the name of the record to look for. + in: query + required: false + type: string + - name: include_scope + description: >- + include_scope is a flag for whether to include the the scope + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: include_sessions + description: >- + include_sessions is a flag for whether to include the sessions + containing these records in the response. + in: query + required: false + type: boolean + format: boolean + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/metadata/v1/sessions/all: + get: + summary: SessionsAll retrieves all sessions. + operationId: SessionsAll + responses: + '200': + description: A successful response. + schema: + type: object + properties: + sessions: + type: array + items: + type: object + properties: + session: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was + used to create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + title: >- + a role for this account within the context of + the processes used + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + - PARTY_TYPE_CONTROLLER + - PARTY_TYPE_VALIDATOR + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: + PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + - PARTY_TYPE_CONTROLLER: PARTY_TYPE_CONTROLLER is an entity which controls a specific asset on chain (ie enote) + - PARTY_TYPE_VALIDATOR: PARTY_TYPE_VALIDATOR is an entity which validates given assets on chain + optional: + type: boolean + format: boolean + title: whether this party's signature is optional + title: >- + A Party is an address with/in a given role + associated with a contract + title: >- + parties is the set of identities that signed this + contract + name: + type: string + title: >- + name to associate with this session execution + context, typically classname + context: + type: string + format: byte + description: >- + context is a field for storing client specific data + associated with a session. + audit: + description: >- + Created by, updated by, timestamps, version number, + and related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: >- + the address of the account that created this + record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: >- + the address of the account that modified this + record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented + with each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last + account to make modifications and when they were + made + description: >- + Session defines an execution context against a specific + specification instance. + + The context will have a specification and set of parties + involved. + + + NOTE: When there are no more Records within a Scope that + reference a Session, the Session is removed. + session_id_info: + description: >- + session_id_info contains information about the + id/address of the session. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: >- + session_id_prefix is the prefix portion of the + session_id. + session_id_scope_uuid: + type: string + format: byte + description: >- + session_id_scope_uuid is the scope_uuid portion of + the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion + of the session_id. + session_addr: + type: string + description: >- + session_addr is the bech32 string version of the + session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id + referenced in the session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: >- + scope_id_prefix is the prefix portion of the + scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: >- + scope_id_scope_uuid is the scope_uuid portion of + the scope_id. + scope_addr: + type: string + description: >- + scope_addr is the bech32 string version of the + scope_id. + scope_uuid: + type: string + description: >- + scope_uuid is the uuid hex string of the + scope_id_scope_uuid. + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the + id/address of the contract specification. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the + contract_spec_uuid portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of + the contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + SessionWrapper contains a single session and some extra + identifiers for it. + description: sessions are the wrapped sessions. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id + info from the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + SessionsAllResponse is the response type for the Query/SessionsAll + RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: exclude_id_info + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + in: query + required: false + type: boolean + format: boolean + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/metadata/v1/valueownership/{address}': + get: + summary: >- + ValueOwnership returns the scope identifiers that list the given address + as the value owner. + operationId: ValueOwnership + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + address: + type: string + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this + request in your result. + pagination: + description: >- + pagination defines optional pagination parameters for the + request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned + in the descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: >- + pagination provides the pagination information of this + response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + ValueOwnershipResponse is the response type for the + Query/ValueOwnership RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + in: path + required: true + type: string + - name: include_request + description: >- + include_request is a flag for whether to include this request in + your result. + in: query + required: false + type: boolean + format: boolean + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/msgfees/v1/all: + get: + summary: Query all Msgs which have fees associated with them. + operationId: QueryAllMsgFees + responses: + '200': + description: A successful response. + schema: + type: object + properties: + msg_fees: + type: array + items: + type: object + properties: + msg_type_url: + type: string + additional_fee: + title: >- + additional_fee can pay in any Coin( basically a Denom + and Amount, Amount can be zero) + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + recipient: + type: string + recipient_basis_points: + type: integer + format: int64 + title: >- + MsgFee is the core of what gets stored on the blockchain + + it consists of four parts + + 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend + + 2. minimum additional fees(can be of any denom) + + 3. optional recipient of fee based on + `recipient_basis_points` + + 4. if recipient is declared they will recieve the basis + points of the fee (0-10,000) + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: response for querying all msg's with fees associated with them + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/msgfees/v1/params: + get: + summary: Params queries the parameters for x/msgfees + operationId: MsgFeeParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + floor_gas_price: + title: >- + constant used to calculate fees when gas fees shares denom + with msg fee + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + nhash_per_usd_mil: + type: string + format: uint64 + title: total nhash per usd mil for converting usd to nhash + conversion_fee_denom: + type: string + title: conversion fee denom is the denom usd is converted to + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + /provenance/tx/v1/calculate_msg_based_fee: + post: + summary: >- + CalculateTxFees simulates executing a transaction for estimating gas + usage and additional fees. + operationId: CalculateTxFees + responses: + '200': + description: A successful response. + schema: + type: object + properties: + additional_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + title: >- + additional_fees are the amount of coins to be for addition msg + fees + total_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + total_fees are the total amount of fees needed for the + transactions (msg fees + gas fee) + + note: the gas fee is calculated with the floor gas price + module param. + estimated_gas: + type: string + format: uint64 + title: estimated_gas is the amount of gas needed for the transaction + description: >- + CalculateTxFeesResponse is the response type for the Query RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: body + in: body + required: true + schema: + type: object + properties: + tx_bytes: + type: string + format: byte + description: tx_bytes is the transaction to simulate. + default_base_denom: + type: string + description: |- + default_base_denom is used to set the denom used for gas fees + if not set it will default to nhash. + gas_adjustment: + type: number + format: float + title: >- + gas_adjustment is the adjustment factor to be multiplied + against the estimate returned by the tx simulation + description: >- + CalculateTxFeesRequest is the request type for the Query RPC + method. + tags: + - Query + '/provenance/name/v1/lookup/{address}': + get: + summary: ReverseLookup queries for all names bound against a given address + operationId: ReverseLookup + responses: + '200': + description: A successful response. + schema: + type: object + properties: + name: + type: array + items: + type: string + title: an array of names bound against a given address + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + QueryReverseLookupResponse is the response type for the + Query/Resolve method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + description: address to find name records for + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/name/v1/params: + get: + summary: Params queries params of the name module. + operationId: NameParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: + `foo.bar.baz` would be 3 + allow_unrestricted_names: + type: boolean + format: boolean + title: determines if unrestricted name keys are allowed or not + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + '/provenance/name/v1/resolve/{name}': + get: + summary: Resolve queries for the address associated with a given name + operationId: Resolve + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + title: a string containing the address the name resolves to + restricted: + type: boolean + format: boolean + description: Whether owner signature is required to add sub-names. + description: >- + QueryResolveResponse is the response type for the Query/Resolve + method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: name + description: name to resolve the address for + in: path + required: true + type: string + tags: + - Query + /provenance/oracle/v1/oracle: + get: + summary: Oracle forwards a query to the module's oracle + operationId: Oracle + responses: + '200': + description: A successful response. + schema: + type: object + properties: + data: + type: string + format: byte + description: Data contains the json data returned from the oracle. + description: >- + QueryOracleResponse contains the result of the query sent to the + oracle. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: query + description: Query contains the query data passed to the oracle. + in: query + required: false + type: string + format: byte + tags: + - Query + /provenance/oracle/v1/oracle_address: + get: + summary: OracleAddress returns the address of the oracle + operationId: OracleAddress + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + title: The address of the oracle + description: QueryOracleAddressResponse contains the address of the oracle. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + /provenance/rewards/v1/claim_period_reward_distributions: + get: + summary: >- + ClaimPeriodRewardDistributions returns a list of claim period reward + distributions matching the claim_status. + operationId: ClaimPeriodRewardDistributions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + claim_period_reward_distributions: + type: array + items: + type: object + properties: + claim_period_id: + type: string + format: uint64 + description: The claim period id. + reward_program_id: + type: string + format: uint64 + description: >- + The id of the reward program that this reward belongs + to. + total_rewards_pool_for_claim_period: + description: >- + The sum of all the granted rewards for this claim + period. + type: object + properties: + denom: + type: string + amount: + type: string + rewards_pool: + description: The final allocated rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + total_shares: + type: string + format: int64 + description: >- + The total number of granted shares for this claim + period. + claim_period_ended: + type: boolean + format: boolean + description: >- + A flag representing if the claim period for this reward + has ended. + description: >- + ClaimPeriodRewardDistribution, this is updated at the end of + every claim period. + description: List of all ClaimPeriodRewardDistribution objects queried for. + pagination: + description: pagination defines an optional pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + QueryClaimPeriodRewardDistributionsResponse returns the list of + paginated ClaimPeriodRewardDistributions + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/rewards/v1/claim_period_reward_distributions/{reward_id}/claim_periods/{claim_period_id}': + get: + summary: >- + ClaimPeriodRewardDistributionsByID returns a claim period reward + distribution matching the ID. + operationId: ClaimPeriodRewardDistributionsByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + claim_period_reward_distribution: + type: object + properties: + claim_period_id: + type: string + format: uint64 + description: The claim period id. + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this reward belongs to. + total_rewards_pool_for_claim_period: + description: The sum of all the granted rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + rewards_pool: + description: The final allocated rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + total_shares: + type: string + format: int64 + description: The total number of granted shares for this claim period. + claim_period_ended: + type: boolean + format: boolean + description: >- + A flag representing if the claim period for this reward + has ended. + description: >- + ClaimPeriodRewardDistribution, this is updated at the end of + every claim period. + title: >- + QueryClaimPeriodRewardDistributionsByIDResponse returns the + requested ClaimPeriodRewardDistribution + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: reward_id + description: >- + The reward program that the claim period reward distribution belongs + to. + in: path + required: true + type: string + format: uint64 + - name: claim_period_id + description: >- + The claim period that the claim period reward distribution was + created for. + in: path + required: true + type: string + format: uint64 + tags: + - Query + '/provenance/rewards/v1/reward_claims/{address}': + get: + summary: >- + RewardDistributionsByAddress returns a list of reward claims belonging + to the account and matching the claim + + status. + operationId: RewardDistributionsByAddress + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + description: The address that the reward account belongs to. + reward_account_state: + type: array + items: + type: object + properties: + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this claim belongs to. + total_reward_claim: + description: >- + total rewards claimed for all eligible claim periods in + program. + type: object + properties: + denom: + type: string + amount: + type: string + claim_status: + description: The status of the claim. + type: string + enum: + - CLAIM_STATUS_UNSPECIFIED + - CLAIM_STATUS_UNCLAIMABLE + - CLAIM_STATUS_CLAIMABLE + - CLAIM_STATUS_CLAIMED + - CLAIM_STATUS_EXPIRED + default: CLAIM_STATUS_UNSPECIFIED + title: ClaimStatus is the state a claim is in + claim_id: + type: string + format: uint64 + description: The claim period that the claim belongs to. + description: >- + RewardAccountResponse is an address' reward claim for a + reward program's claim period. + description: List of RewardAccounts queried for. + pagination: + description: pagination defines an optional pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + QueryRewardDistributionsByAddressResponse returns the reward + claims for an address that match the claim_status. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + description: The address that the claim belongs to. + in: path + required: true + type: string + - name: claim_status + description: |- + The status that the reward account must have. + + - CLAIM_STATUS_UNSPECIFIED: undefined state + - CLAIM_STATUS_UNCLAIMABLE: unclaimable status + - CLAIM_STATUS_CLAIMABLE: unclaimable claimable + - CLAIM_STATUS_CLAIMED: unclaimable claimed + - CLAIM_STATUS_EXPIRED: unclaimable expired + in: query + required: false + type: string + enum: + - CLAIM_STATUS_UNSPECIFIED + - CLAIM_STATUS_UNCLAIMABLE + - CLAIM_STATUS_CLAIMABLE + - CLAIM_STATUS_CLAIMED + - CLAIM_STATUS_EXPIRED + default: CLAIM_STATUS_UNSPECIFIED + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /provenance/rewards/v1/reward_programs: + get: + summary: >- + RewardPrograms returns a list of reward programs matching the query + type. + operationId: RewardPrograms + responses: + '200': + description: A successful response. + schema: + type: object + properties: + reward_programs: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: An integer to uniquely identify the reward program. + title: + type: string + title: >- + Name to help identify the Reward + Program.(MaxTitleLength=140) + description: + type: string + title: >- + Short summary describing the Reward + Program.(MaxDescriptionLength=10000) + distribute_from_address: + type: string + description: address that provides funds for the total reward pool. + total_reward_pool: + description: The total amount of funding given to the RewardProgram. + type: object + properties: + denom: + type: string + amount: + type: string + remaining_pool_balance: + description: >- + The remaining funds available to distribute after n + claim periods have passed. + type: object + properties: + denom: + type: string + amount: + type: string + claimed_amount: + description: >- + The total amount of all funds claimed by participants + for all past claim periods. + type: object + properties: + denom: + type: string + amount: + type: string + max_reward_by_address: + description: Maximum reward per claim period per address. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_rollover_amount: + description: Minimum amount of coins for a program to rollover. + type: object + properties: + denom: + type: string + amount: + type: string + claim_period_seconds: + type: string + format: uint64 + description: Number of seconds that a claim period lasts. + program_start_time: + type: string + format: date-time + description: >- + Time that a RewardProgram should start and switch to + STARTED state. + expected_program_end_time: + type: string + format: date-time + description: >- + Time that a RewardProgram is expected to end, based on + data when it was setup. + program_end_time_max: + type: string + format: date-time + description: Time that a RewardProgram MUST end. + claim_period_end_time: + type: string + format: date-time + description: >- + Used internally to calculate and track the current claim + period's ending time. + actual_program_end_time: + type: string + format: date-time + description: >- + Time the RewardProgram switched to FINISHED state. + Initially set as empty. + claim_periods: + type: string + format: uint64 + description: Number of claim periods this program will run for. + current_claim_period: + type: string + format: uint64 + description: >- + Current claim period of the RewardProgram. Uses 1-based + indexing. + max_rollover_claim_periods: + type: string + format: uint64 + description: >- + maximum number of claim periods a reward program can + rollover. + state: + description: Current state of the RewardProgram. + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + title: State is the state of the reward program + expiration_offset: + type: string + format: uint64 + description: >- + Grace period after a RewardProgram FINISHED. It is the + number of seconds until a RewardProgram enters the + EXPIRED + + state. + qualifying_actions: + type: array + items: + type: object + properties: + delegate: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have + currently delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have + currently delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: + type: string + description: >- + Minimum percentile that can be below the + validator's power ranking. + maximum_active_stake_percentile: + type: string + description: >- + Maximum percentile that can be below the + validator's power ranking. + description: >- + ActionDelegate represents the delegate action and + its required eligibility criteria. + transfer: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must + have across all validators, for the transfer + action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + ActionTransfer represents the transfer action and + its required eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must + have across all validators, for the vote + action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the + shares awarded by the vote action when + conditions + + are met(for now the only condition is the + current vote is a validator vote). A value of + zero will behave the same + + as one + description: >- + ActionVote represents the voting action and its + required eligibility criteria. + description: QualifyingAction can be one of many action types. + description: Actions that count towards the reward. + title: RewardProgram + description: List of RewardProgram objects matching the query_type. + pagination: + description: pagination defines an optional pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + QueryRewardProgramsResponse contains the list of RewardPrograms + matching the query + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: query_type + description: |- + A filter on the types of reward programs. + + - QUERY_TYPE_UNSPECIFIED: unspecified type + - QUERY_TYPE_ALL: all reward programs states + - QUERY_TYPE_PENDING: pending reward program state= + - QUERY_TYPE_ACTIVE: active reward program state + - QUERY_TYPE_OUTSTANDING: pending and active reward program states + - QUERY_TYPE_FINISHED: finished reward program state + in: query + required: false + type: string + enum: + - QUERY_TYPE_UNSPECIFIED + - QUERY_TYPE_ALL + - QUERY_TYPE_PENDING + - QUERY_TYPE_ACTIVE + - QUERY_TYPE_OUTSTANDING + - QUERY_TYPE_FINISHED + default: QUERY_TYPE_UNSPECIFIED + - 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/rewards/v1/reward_programs/{id}': + get: + summary: RewardProgramByID returns a reward program matching the ID. + operationId: RewardProgramByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + reward_program: + type: object + properties: + id: + type: string + format: uint64 + description: An integer to uniquely identify the reward program. + title: + type: string + title: >- + Name to help identify the Reward + Program.(MaxTitleLength=140) + description: + type: string + title: >- + Short summary describing the Reward + Program.(MaxDescriptionLength=10000) + distribute_from_address: + type: string + description: address that provides funds for the total reward pool. + total_reward_pool: + description: The total amount of funding given to the RewardProgram. + type: object + properties: + denom: + type: string + amount: + type: string + remaining_pool_balance: + description: >- + The remaining funds available to distribute after n claim + periods have passed. + type: object + properties: + denom: + type: string + amount: + type: string + claimed_amount: + description: >- + The total amount of all funds claimed by participants for + all past claim periods. + type: object + properties: + denom: + type: string + amount: + type: string + max_reward_by_address: + description: Maximum reward per claim period per address. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_rollover_amount: + description: Minimum amount of coins for a program to rollover. + type: object + properties: + denom: + type: string + amount: + type: string + claim_period_seconds: + type: string + format: uint64 + description: Number of seconds that a claim period lasts. + program_start_time: + type: string + format: date-time + description: >- + Time that a RewardProgram should start and switch to + STARTED state. + expected_program_end_time: + type: string + format: date-time + description: >- + Time that a RewardProgram is expected to end, based on + data when it was setup. + program_end_time_max: + type: string + format: date-time + description: Time that a RewardProgram MUST end. + claim_period_end_time: + type: string + format: date-time + description: >- + Used internally to calculate and track the current claim + period's ending time. + actual_program_end_time: + type: string + format: date-time + description: >- + Time the RewardProgram switched to FINISHED state. + Initially set as empty. + claim_periods: + type: string + format: uint64 + description: Number of claim periods this program will run for. + current_claim_period: + type: string + format: uint64 + description: >- + Current claim period of the RewardProgram. Uses 1-based + indexing. + max_rollover_claim_periods: + type: string + format: uint64 + description: >- + maximum number of claim periods a reward program can + rollover. + state: + description: Current state of the RewardProgram. + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + title: State is the state of the reward program + expiration_offset: + type: string + format: uint64 + description: >- + Grace period after a RewardProgram FINISHED. It is the + number of seconds until a RewardProgram enters the EXPIRED + + state. + qualifying_actions: + type: array + items: + type: object + properties: + delegate: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: + type: string + description: >- + Minimum percentile that can be below the + validator's power ranking. + maximum_active_stake_percentile: + type: string + description: >- + Maximum percentile that can be below the + validator's power ranking. + description: >- + ActionDelegate represents the delegate action and + its required eligibility criteria. + transfer: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have + across all validators, for the transfer action + to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + ActionTransfer represents the transfer action and + its required eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have + across all validators, for the vote action to be + counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the + shares awarded by the vote action when + conditions + + are met(for now the only condition is the + current vote is a validator vote). A value of + zero will behave the same + + as one + description: >- + ActionVote represents the voting action and its + required eligibility criteria. + description: QualifyingAction can be one of many action types. + description: Actions that count towards the reward. + title: RewardProgram + description: The reward program object that was queried for. + title: >- + QueryRewardProgramByIDResponse contains the requested + RewardProgram + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: id + description: The id of the reward program to query. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /provenance/trigger/v1/triggers: + get: + summary: Triggers returns the list of triggers. + operationId: Triggers + responses: + '200': + description: A successful response. + schema: + type: object + properties: + triggers: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: An integer to uniquely identify the trigger. + owner: + type: string + description: The owner of the trigger. + event: + description: The event that must be detected for the trigger to fire. + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the + above specified type. + actions: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the + above specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: The messages to run when the trigger fires. + title: Trigger + description: List of Trigger objects. + pagination: + description: pagination defines an optional pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: QueryTriggersResponse contains the list of Triggers. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + 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 + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + '/provenance/trigger/v1/triggers/{id}': + get: + summary: TriggerByID returns a trigger matching the ID. + operationId: TriggerByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + trigger: + type: object + properties: + id: + type: string + format: uint64 + description: An integer to uniquely identify the trigger. + owner: + type: string + description: The owner of the trigger. + event: + description: The event that must be detected for the trigger to fire. + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the + above specified type. + actions: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the + above specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: The messages to run when the trigger fires. + title: Trigger + description: The trigger object that was queried for. + description: QueryTriggerByIDResponse contains the requested Trigger. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + parameters: + - name: id + description: The id of the trigger to query. + in: path + required: true + type: string + format: uint64 + tags: + - Query +definitions: + cosmos.auth.v1beta1.AddressBytesToStringResponse: + type: object + properties: + address_string: + type: string + description: >- + AddressBytesToStringResponse is the response type for AddressString rpc + method. + + + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.AddressStringToBytesResponse: + type: object + properties: + address_bytes: + type: string + format: byte + description: >- + AddressStringToBytesResponse is the response type for AddressBytes rpc + method. + + + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.Bech32PrefixResponse: + type: object + properties: + bech32_prefix: + type: string + description: |- + Bech32PrefixResponse is the response type for Bech32Prefix rpc method. + + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.Params: + type: object + properties: + max_memo_characters: + type: string + format: uint64 + tx_sig_limit: + type: string + format: uint64 + tx_size_cost_per_byte: + type: string + format: uint64 + sig_verify_cost_ed25519: + type: string + format: uint64 + sig_verify_cost_secp256k1: + type: string + format: uint64 + description: Params defines the parameters for the auth module. + cosmos.auth.v1beta1.QueryAccountAddressByIDResponse: + type: object + properties: + account_address: + type: string + description: 'Since: cosmos-sdk 0.46.2' + title: >- + QueryAccountAddressByIDResponse is the response type for + AccountAddressByID rpc method + cosmos.auth.v1beta1.QueryAccountResponse: + type: object + properties: + account: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: >- + QueryAccountResponse is the response type for the Query/Account RPC + method. + cosmos.auth.v1beta1.QueryAccountsResponse: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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) @@ -62663,65 +72273,359 @@ definitions: last_commit: type: object properties: - height: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + description: |- + Block is tendermint type Block, with the Header proposer address + field converted to bech32 string. + description: >- + GetLatestBlockResponse is the response type for the Query/GetLatestBlock + RPC + + method. + cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse: + type: object + properties: + block_height: + type: string + format: int64 + validators: + type: array + items: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: |- + GetLatestValidatorSetResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + cosmos.base.tendermint.v1beta1.GetNodeInfoResponse: + type: object + properties: + default_node_info: + type: object + properties: + protocol_version: + type: object + properties: + p2p: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set - of validators. - description: |- - Block is tendermint type Block, with the Header proposer address - field converted to bech32 string. + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + default_node_id: + type: string + listen_addr: + type: string + network: + type: string + version: + type: string + channels: + type: string + format: byte + moniker: + type: string + other: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + application_version: + type: object + properties: + name: + type: string + app_name: + type: string + version: + type: string + git_commit: + type: string + build_tags: + type: string + go_version: + type: string + build_deps: + type: array + items: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos_sdk_version: + type: string + title: 'Since: cosmos-sdk 0.43' + description: VersionInfo is the type for the GetNodeInfoResponse message. + description: |- + GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC + method. + cosmos.base.tendermint.v1beta1.GetSyncingResponse: + type: object + properties: + syncing: + type: boolean description: >- - GetLatestBlockResponse is the response type for the Query/GetLatestBlock - RPC - + GetSyncingResponse is the response type for the Query/GetSyncing RPC method. - cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse: + cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse: type: object properties: block_height: @@ -62862,1267 +72766,2597 @@ definitions: 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 + 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" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: |- + GetValidatorSetByHeightResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + cosmos.base.tendermint.v1beta1.Header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in the + blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer address, formatted as + a Bech32 string. + + In Tendermint, this type is `bytes`, but in the SDK, we convert it to + a Bech32 string + + for better UX. + description: Header defines the structure of a Tendermint block header. + cosmos.base.tendermint.v1beta1.Module: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos.base.tendermint.v1beta1.ProofOp: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle root. The data + could + + be arbitrary format, providing nessecary data for example neighbouring + node + + hash. + + + Note: This type is a duplicate of the ProofOp proto type defined in + + Tendermint. + cosmos.base.tendermint.v1beta1.ProofOps: + type: object + properties: + ops: + type: array + items: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle root. The + data could + + be arbitrary format, providing nessecary data for example + neighbouring node + + hash. + + + Note: This type is a duplicate of the ProofOp proto type defined in + + Tendermint. + description: |- + ProofOps is Merkle proof defined by the list of ProofOps. + + Note: This type is a duplicate of the ProofOps proto type defined in + Tendermint. + cosmos.base.tendermint.v1beta1.Validator: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + cosmos.base.tendermint.v1beta1.VersionInfo: + type: object + properties: + name: + type: string + app_name: + type: string + version: + type: string + git_commit: + type: string + build_tags: + type: string + go_version: + type: string + build_deps: + type: array + items: + type: object + properties: + path: type: string - format: int64 - proposer_priority: + title: module path + version: type: string - format: int64 - description: Validator is the type for the validator-set. - pagination: - description: pagination defines an pagination for the response. + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos_sdk_version: + type: string + title: 'Since: cosmos-sdk 0.43' + description: VersionInfo is the type for the GetNodeInfoResponse message. + tendermint.crypto.PublicKey: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + tendermint.p2p.DefaultNodeInfo: + type: object + properties: + protocol_version: type: object properties: - next_key: + p2p: type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + format: uint64 + block: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - GetLatestValidatorSetResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. - cosmos.base.tendermint.v1beta1.GetNodeInfoResponse: + app: + type: string + format: uint64 + default_node_id: + type: string + listen_addr: + type: string + network: + type: string + version: + type: string + channels: + type: string + format: byte + moniker: + type: string + other: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + tendermint.p2p.DefaultNodeInfoOther: type: object properties: - default_node_info: + tx_index: + type: string + rpc_address: + type: string + tendermint.p2p.ProtocolVersion: + type: object + properties: + p2p: + type: string + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + tendermint.types.Block: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in + the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing on the + order first. + + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for + processing a block in the blockchain, + + including all blockchain data structures and + the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block was + committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: type: object properties: - protocol_version: - type: object - properties: - p2p: - type: string - format: uint64 - block: - type: string - format: uint64 - app: - type: string - format: uint64 - default_node_id: - type: string - listen_addr: - type: string - network: - type: string - version: - type: string - channels: - type: string - format: byte - moniker: + height: type: string - other: + format: int64 + round: + type: integer + format: int32 + block_id: type: object properties: - tx_index: - type: string - rpc_address: + hash: type: string - application_version: - type: object - properties: - name: - type: string - app_name: - type: string - version: - type: string - git_commit: - type: string - build_tags: - type: string - go_version: - type: string - build_deps: + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: type: array items: type: object properties: - path: + block_id_flag: type: string - title: module path - version: + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: type: string - title: module version - sum: + format: byte + timestamp: type: string - title: checksum - title: Module is the type for VersionInfo - cosmos_sdk_version: - type: string - title: 'Since: cosmos-sdk 0.43' - description: VersionInfo is the type for the GetNodeInfoResponse message. - description: |- - GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC - method. - cosmos.base.tendermint.v1beta1.GetSyncingResponse: + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.BlockID: type: object properties: - syncing: - type: boolean - description: >- - GetSyncingResponse is the response type for the Query/GetSyncing RPC - method. - cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + tendermint.types.BlockIDFlag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + tendermint.types.Commit: type: object properties: - block_height: + height: type: string format: int64 - validators: + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: type: array items: type: object properties: - address: + block_id_flag: type: string - pub_key: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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" - } - voting_power: + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: type: string - format: int64 - proposer_priority: + format: byte + timestamp: type: string - format: int64 - description: Validator is the type for the validator-set. - pagination: - description: pagination defines an pagination for the response. + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.CommitSig: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + tendermint.types.Data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing on the order + first. + + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + tendermint.types.DuplicateVoteEvidence: + type: object + properties: + vote_a: type: object properties: - next_key: + type: type: string - format: byte + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from validators + for - was set, its value is undefined otherwise - description: |- - GetValidatorSetByHeightResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. - cosmos.base.tendermint.v1beta1.Header: - type: object - properties: - version: - title: basic block info + consensus. + vote_b: type: object properties: - block: + type: type: string - format: uint64 - app: + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: type: string - format: uint64 + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte description: >- - Consensus captures the consensus rules for processing a block in the - blockchain, - - including all blockchain data structures and the rules of the - application's + Vote represents a prevote, precommit, or commit vote from validators + for - state transition machine. - chain_id: + consensus. + total_voting_power: type: string - height: + format: int64 + validator_power: type: string format: int64 - time: + timestamp: type: string format: date-time - last_block_id: + description: >- + DuplicateVoteEvidence contains evidence of a validator signed two + conflicting votes. + tendermint.types.Evidence: + type: object + properties: + duplicate_vote_evidence: type: object properties: - hash: - type: string - format: byte - part_set_header: + vote_a: type: object properties: - total: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string format: int64 - hash: + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: type: string format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator signed two + conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, + + including all blockchain data structures and the rules + of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time description: >- - proposer_address is the original block proposer address, formatted as - a Bech32 string. - - In Tendermint, this type is `bytes`, but in the SDK, we convert it to - a Bech32 string - - for better UX. - description: Header defines the structure of a Tendermint block header. - cosmos.base.tendermint.v1beta1.Module: - type: object - properties: - path: - type: string - title: module path - version: - type: string - title: module version - sum: - type: string - title: checksum - title: Module is the type for VersionInfo - cosmos.base.tendermint.v1beta1.ProofOp: - type: object - properties: - type: - type: string - key: - type: string - format: byte - data: - type: string - format: byte - description: >- - ProofOp defines an operation used for calculating Merkle root. The data - could - - be arbitrary format, providing nessecary data for example neighbouring - node - - hash. - - - Note: This type is a duplicate of the ProofOp proto type defined in - - Tendermint. - cosmos.base.tendermint.v1beta1.ProofOps: + LightClientAttackEvidence contains evidence of a set of validators + attempting to mislead a light client. + tendermint.types.EvidenceList: type: object properties: - ops: + evidence: type: array items: type: object properties: - type: - type: string - key: - type: string - format: byte - data: - type: string - format: byte - description: >- - ProofOp defines an operation used for calculating Merkle root. The - data could - - be arbitrary format, providing nessecary data for example - neighbouring node - - hash. - - - Note: This type is a duplicate of the ProofOp proto type defined in - - Tendermint. - description: |- - ProofOps is Merkle proof defined by the list of ProofOps. - - Note: This type is a duplicate of the ProofOps proto type defined in - Tendermint. - cosmos.base.tendermint.v1beta1.Validator: - type: object - properties: - address: - type: string - pub_key: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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; - } + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - If the embedded message type is well-known and has a custom JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - `value` which holds the custom JSON in addition to the `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator signed + two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for + processing a block in the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and the + rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - description: Validator is the type for the validator-set. - cosmos.base.tendermint.v1beta1.VersionInfo: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was + committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + tendermint.types.Header: type: object properties: - name: - type: string - app_name: - type: string version: - type: string - git_commit: - type: string - build_tags: - type: string - go_version: - type: string - build_deps: - type: array - items: - type: object - properties: - path: - type: string - title: module path - version: - type: string - title: module version - sum: - type: string - title: checksum - title: Module is the type for VersionInfo - cosmos_sdk_version: - type: string - title: 'Since: cosmos-sdk 0.43' - description: VersionInfo is the type for the GetNodeInfoResponse message. - tendermint.crypto.PublicKey: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - tendermint.p2p.DefaultNodeInfo: - type: object - properties: - protocol_version: + title: basic block info type: object properties: - p2p: - type: string - format: uint64 block: type: string format: uint64 app: type: string format: uint64 - default_node_id: + description: >- + Consensus captures the consensus rules for processing a block in the + blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: type: string - listen_addr: + height: type: string - network: + format: int64 + time: type: string - version: + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: type: string - channels: + format: byte + title: hashes of block data + data_hash: type: string format: byte - moniker: + validators_hash: type: string - other: - type: object - properties: - tx_index: - type: string - rpc_address: - type: string - tendermint.p2p.DefaultNodeInfoOther: - type: object - properties: - tx_index: + format: byte + title: hashes from the app output from the prev block + next_validators_hash: type: string - rpc_address: + format: byte + consensus_hash: type: string - tendermint.p2p.ProtocolVersion: - type: object - properties: - p2p: + format: byte + app_hash: type: string - format: uint64 - block: + format: byte + last_results_hash: type: string - format: uint64 - app: + format: byte + evidence_hash: type: string - format: uint64 - tendermint.types.Block: + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + tendermint.types.LightBlock: type: object properties: - header: + signed_header: type: object properties: - version: - title: basic block info + header: type: object properties: - block: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: type: string - format: uint64 - app: + height: type: string - format: uint64 + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. description: >- - Consensus captures the consensus rules for processing a block in - the blockchain, - - including all blockchain data structures and the rules of the - application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: + Commit contains the evidence that a block was committed by a set + of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: type: object properties: - hash: + address: type: string format: byte - part_set_header: + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + tendermint.types.LightClientAttackEvidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a + block in the blockchain, + + including all blockchain data structures and the rules of + the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: type: object properties: - total: - type: integer - format: int64 - hash: + height: type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - data: - type: object - properties: - txs: - type: array - items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. - - NOTE: not all txs here are valid. We're just agreeing on the - order first. - - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: type: object properties: - type: + block_id_flag: type: string enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the signature is + for validator_address: type: string format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for - - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID timestamp: type: string format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 signature: type: string format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for - - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator - signed two conflicting votes. - light_client_attack_evidence: + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a + set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: type: object properties: - conflicting_block: + address: + type: string + format: byte + pub_key: type: object properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for - processing a block in the blockchain, - - including all blockchain data structures and - the rules of the application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a block was - committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: type: string format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: + proposer_priority: type: string format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - last_commit: + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of validators + attempting to mislead a light client. + tendermint.types.PartSetHeader: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + tendermint.types.SignedHeader: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in + the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + commit: type: object properties: height: @@ -64167,1814 +75401,2159 @@ definitions: format: byte timestamp: type: string - format: date-time - signature: + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.SignedMsgType: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + tendermint.types.Validator: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + tendermint.types.ValidatorSet: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + tendermint.types.Vote: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: |- + Vote represents a prevote, precommit, or commit vote from validators for + consensus. + tendermint.version.Consensus: + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in the + blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + cosmos.base.v1beta1.DecCoin: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + cosmos.distribution.v1beta1.DelegationDelegatorReward: + type: object + properties: + validator_address: + type: string + reward: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: |- + DelegationDelegatorReward represents the properties + of a delegator's delegation reward. + cosmos.distribution.v1beta1.Params: + type: object + properties: + community_tax: + type: string + base_proposer_reward: + type: string + bonus_proposer_reward: + type: string + withdraw_addr_enabled: + type: boolean + description: Params defines the set of params for the distribution module. + cosmos.distribution.v1beta1.QueryCommunityPoolResponse: + type: object + properties: + pool: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: pool defines community pool's coins. + description: >- + QueryCommunityPoolResponse is the response type for the + Query/CommunityPool + + RPC method. + cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: rewards defines the rewards accrued by a delegation. + description: |- + QueryDelegationRewardsResponse is the response type for the + Query/DelegationRewards RPC method. + cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + validator_address: + type: string + reward: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + description: |- + DelegationDelegatorReward represents the properties + of a delegator's delegation reward. + description: rewards defines all the rewards accrued by a delegator. + total: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: total defines the sum of all the rewards. + description: |- + QueryDelegationTotalRewardsResponse is the response type for the + Query/DelegationTotalRewards RPC method. + cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse: + type: object + properties: + validators: + type: array + items: + type: string + description: validators defines the validators a delegator is delegating for. + description: |- + QueryDelegatorValidatorsResponse is the response type for the + Query/DelegatorValidators RPC method. + cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse: + type: object + properties: + withdraw_address: + type: string + description: withdraw_address defines the delegator address to query for. + description: |- + QueryDelegatorWithdrawAddressResponse is the response type for the + Query/DelegatorWithdrawAddress RPC method. + cosmos.distribution.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + community_tax: + type: string + base_proposer_reward: + type: string + bonus_proposer_reward: + type: string + withdraw_addr_enabled: + type: boolean + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: + type: object + properties: + commission: + description: commission defines the commision the validator received. + type: object + properties: + commission: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + title: |- + QueryValidatorCommissionResponse is the response type for the + Query/ValidatorCommission RPC method + cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: + type: object + properties: + rewards: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.BlockID: + ValidatorOutstandingRewards represents outstanding (un-withdrawn) + rewards + + for a validator inexpensive to track, allows simple sanity checks. + description: |- + QueryValidatorOutstandingRewardsResponse is the response type for the + Query/ValidatorOutstandingRewards RPC method. + cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: type: object properties: - hash: - type: string - format: byte - part_set_header: + slashes: + type: array + items: + type: object + properties: + validator_period: + type: string + format: uint64 + fraction: + type: string + description: |- + ValidatorSlashEvent represents a validator slash event. + Height is implicit within the store key. + This is needed to calculate appropriate amount of staking tokens + for delegations which are withdrawn after a slash has occurred. + description: slashes defines the slashes the validator received. + pagination: + description: pagination defines the pagination in the response. type: object properties: - total: - type: integer - format: int64 - hash: + next_key: type: string format: byte - title: PartsetHeader - title: BlockID - tendermint.types.BlockIDFlag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - tendermint.types.Commit: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: |- + QueryValidatorSlashesResponse is the response type for the + Query/ValidatorSlashes RPC method. + cosmos.distribution.v1beta1.ValidatorAccumulatedCommission: type: object properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: + commission: type: array items: type: object properties: - block_id_flag: + denom: type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: + amount: type: string - format: byte - timestamp: + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: |- + ValidatorAccumulatedCommission represents accumulated commission + for a validator kept as a running counter, can be withdrawn at any time. + cosmos.distribution.v1beta1.ValidatorOutstandingRewards: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + denom: type: string - format: date-time - signature: + amount: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.CommitSig: + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: |- + ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + for a validator inexpensive to track, allows simple sanity checks. + cosmos.distribution.v1beta1.ValidatorSlashEvent: type: object properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: + validator_period: type: string - format: date-time - signature: + format: uint64 + fraction: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - tendermint.types.Data: + description: |- + ValidatorSlashEvent represents a validator slash event. + Height is implicit within the store key. + This is needed to calculate appropriate amount of staking tokens + for delegations which are withdrawn after a slash has occurred. + cosmos.evidence.v1beta1.QueryAllEvidenceResponse: type: object properties: - txs: + evidence: type: array items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - NOTE: not all txs here are valid. We're just agreeing on the order - first. + protocol buffer message. This string must contain at least - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - tendermint.types.DuplicateVoteEvidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + one "/" character. The last segment of the URL's path must + represent - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from validators - for + the fully qualified name of the type (as in - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + `path/google.protobuf.Duration`). The name should be in a + canonical form - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from validators - for + (e.g., leading "." is not accepted). - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed two - conflicting votes. - tendermint.types.Evidence: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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; + } - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + If the embedded message type is well-known and has a custom JSON - consensus. - total_voting_power: - type: string - format: int64 - validator_power: + 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: evidence returns all evidences. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string - format: int64 - timestamp: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed two - conflicting votes. - light_client_attack_evidence: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllEvidenceResponse is the response type for the Query/AllEvidence + RPC + + method. + cosmos.evidence.v1beta1.QueryEvidenceResponse: + type: object + properties: + evidence: type: object properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing - a block in the blockchain, + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - including all blockchain data structures and the rules - of the application's + protocol buffer message. This string must contain at least - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was committed by - a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: + 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. + value: type: string - format: date-time + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. description: >- - LightClientAttackEvidence contains evidence of a set of validators - attempting to mislead a light client. - tendermint.types.EvidenceList: + `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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: >- + QueryEvidenceResponse is the response type for the Query/Evidence RPC + method. + cosmos.gov.v1beta1.Deposit: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: |- + Deposit defines an amount deposited by an account address to an active + proposal. + cosmos.gov.v1beta1.DepositParams: type: object properties: - evidence: + min_deposit: type: array items: type: object properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + description: DepositParams defines the params for deposits on governance proposals. + cosmos.gov.v1beta1.Proposal: + type: object + properties: + proposal_id: + type: string + format: uint64 + content: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + protocol buffer message. This string must contain at least - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + one "/" character. The last segment of the URL's path must + represent - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed - two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for - processing a block in the blockchain, + the fully qualified name of the type (as in - including all blockchain data structures and the - rules of the application's + `path/google.protobuf.Duration`). The name should be in a + canonical form - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was - committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: + (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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: |- + final_tally_result is the final tally result of the proposal. When + querying a proposal via gRPC, this field is not populated until the + proposal's voting period has ended. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + cosmos.gov.v1beta1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + cosmos.gov.v1beta1.QueryDepositResponse: + type: object + properties: + deposit: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: type: string - format: int64 - timestamp: + amount: type: string - format: date-time description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - tendermint.types.Header: + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: |- + Deposit defines an amount deposited by an account address to an active + proposal. + description: >- + QueryDepositResponse is the response type for the Query/Deposit RPC + method. + cosmos.gov.v1beta1.QueryDepositsResponse: type: object properties: - version: - title: basic block info + deposits: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + Deposit defines an amount deposited by an account address to an + active + + proposal. + pagination: + description: pagination defines the pagination in the response. type: object properties: - block: + next_key: type: string - format: uint64 - app: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in the - blockchain, + title: >- + total is total number of results available if + PageRequest.count_total - including all blockchain data structures and the rules of the - application's + was set, its value is undefined otherwise + description: >- + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + cosmos.gov.v1beta1.QueryParamsResponse: + type: object + properties: + voting_params: + description: voting_params defines the parameters related to voting. + type: object + properties: + voting_period: + type: string + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. type: object properties: - hash: + quorum: type: string format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - tendermint.types.LightBlock: + description: >- + Minimum percentage of total stake needed to vote for a result to + be + considered valid. + threshold: + type: string + format: byte + description: >- + Minimum proportion of Yes votes for proposal to pass. Default + value: 0.5. + veto_threshold: + type: string + format: byte + description: >- + Minimum value of Veto votes to Total votes ratio for proposal to + be + vetoed. Default value: 1/3. + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.gov.v1beta1.QueryProposalResponse: type: object properties: - signed_header: + proposal: type: object properties: - header: + proposal_id: + type: string + format: uint64 + content: type: object properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 + type_url: + type: string description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. - including all blockchain data structures and the rules of the - application's + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. When - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. + type: object + properties: + 'yes': type: string - format: byte - evidence_hash: + abstain: type: string - format: byte - title: consensus info - proposer_address: + 'no': type: string - format: byte - description: Header defines the structure of a block header. - commit: - type: object - properties: - height: + no_with_veto: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set - of validators. - validator_set: - type: object - properties: - validators: + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: type: array items: type: object properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: + denom: type: string - format: int64 - proposer_priority: + amount: type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + voting_start_time: type: string - format: int64 - tendermint.types.LightClientAttackEvidence: + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal RPC + method. + cosmos.gov.v1beta1.QueryProposalsResponse: type: object properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a - block in the blockchain, - - including all blockchain data structures and the rules of - the application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the signature is - for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a - set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: + proposals: type: array items: type: object properties: - address: + proposal_id: + type: string + format: uint64 + content: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + status: type: string - format: byte - pub_key: + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. + When + + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. type: object properties: - ed25519: + 'yes': type: string - format: byte - secp256k1: + abstain: type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: + 'no': + type: string + no_with_veto: + type: string + submit_time: type: string - format: int64 - proposer_priority: + format: date-time + deposit_end_time: type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of validators - attempting to mislead a light client. - tendermint.types.PartSetHeader: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - tendermint.types.SignedHeader: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in - the blockchain, - - including all blockchain data structures and the rules of the - application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: + format: date-time + total_deposit: + type: array + items: type: object properties: - total: - type: integer - format: int64 - hash: + denom: type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string format: byte - consensus_hash: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: byte - app_hash: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryProposalsResponse is the response type for the Query/Proposals RPC + method. + cosmos.gov.v1beta1.QueryTallyResultResponse: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + 'yes': type: string - format: byte - last_results_hash: + abstain: type: string - format: byte - evidence_hash: + 'no': type: string - format: byte - title: consensus info - proposer_address: + no_with_veto: type: string - format: byte - description: Header defines the structure of a block header. - commit: + description: >- + QueryTallyResultResponse is the response type for the Query/Tally RPC + method. + cosmos.gov.v1beta1.QueryVoteResponse: + type: object + properties: + vote: type: object properties: - height: + proposal_id: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: + format: uint64 + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set in + queries + + if and only if `len(options) == 1` and that option has weight 1. + In all + + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: type: array items: type: object properties: - block_id_flag: + option: type: string enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.SignedMsgType: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + description: |- + WeightedVoteOption defines a unit of vote for vote split. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - tendermint.types.Validator: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - tendermint.types.ValidatorSet: + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: QueryVoteResponse is the response type for the Query/Vote RPC method. + cosmos.gov.v1beta1.QueryVotesResponse: type: object properties: - validators: + votes: type: array items: type: object properties: - address: + proposal_id: type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: + format: uint64 + voter: type: string - format: int64 - proposer_priority: + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set + in queries + + if and only if `len(options) == 1` and that option has weight 1. + In all + + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - tendermint.types.Vote: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: |- + WeightedVoteOption defines a unit of vote for vote split. + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. type: object properties: - hash: + next_key: type: string format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1beta1.TallyParams: + type: object + properties: + quorum: type: string - format: date-time - validator_address: + format: byte + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: type: string format: byte - validator_index: - type: integer - format: int32 - signature: + description: >- + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: type: string format: byte - description: |- - Vote represents a prevote, precommit, or commit vote from validators for - consensus. - tendermint.version.Consensus: + description: |- + Minimum value of Veto votes to Total votes ratio for proposal to be + vetoed. Default value: 1/3. + description: TallyParams defines the params for tallying votes on governance proposals. + cosmos.gov.v1beta1.TallyResult: type: object properties: - block: + 'yes': type: string - format: uint64 - app: + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + description: TallyResult defines a standard tally for a governance proposal. + cosmos.gov.v1beta1.Vote: + type: object + properties: + proposal_id: type: string format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in the - blockchain, + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set in + queries - including all blockchain data structures and the rules of the - application's + if and only if `len(options) == 1` and that option has weight 1. In + all - state transition machine. - cosmos.base.v1beta1.DecCoin: + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: |- + WeightedVoteOption defines a unit of vote for vote split. + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + cosmos.gov.v1beta1.VoteOption: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + cosmos.gov.v1beta1.VotingParams: type: object properties: - denom: + voting_period: type: string - amount: + description: Length of the voting period. + description: VotingParams defines the params for voting on governance proposals. + cosmos.gov.v1beta1.WeightedVoteOption: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: type: string description: |- - DecCoin defines a token with a denomination and a decimal amount. + WeightedVoteOption defines a unit of vote for vote split. - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - cosmos.distribution.v1beta1.DelegationDelegatorReward: + Since: cosmos-sdk 0.43 + cosmos.gov.v1.Deposit: type: object properties: - validator_address: + proposal_id: type: string - reward: + format: uint64 + depositor: + type: string + amount: type: array items: type: object @@ -65984,29 +77563,254 @@ definitions: amount: type: string description: |- - DecCoin defines a token with a denomination and a decimal amount. + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Dec which implements the custom method + NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. description: |- - DelegationDelegatorReward represents the properties - of a delegator's delegation reward. - cosmos.distribution.v1beta1.Params: + Deposit defines an amount deposited by an account address to an active + proposal. + cosmos.gov.v1.DepositParams: type: object properties: - community_tax: - type: string - base_proposer_reward: - type: string - bonus_proposer_reward: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: type: string - withdraw_addr_enabled: - type: boolean - description: Params defines the set of params for the distribution module. - cosmos.distribution.v1beta1.QueryCommunityPoolResponse: + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + description: DepositParams defines the params for deposits on governance proposals. + cosmos.gov.v1.Proposal: type: object properties: - pool: + id: + type: string + format: uint64 + messages: + type: array + items: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: |- + final_tally_result is the final tally result of the proposal. When + querying a proposal via gRPC, this field is not populated until the + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: type: array items: type: object @@ -66016,48 +77820,92 @@ definitions: amount: type: string description: |- - DecCoin defines a token with a denomination and a decimal amount. + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Dec which implements the custom method + NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. - description: pool defines community pool's coins. - description: >- - QueryCommunityPoolResponse is the response type for the - Query/CommunityPool + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. + cosmos.gov.v1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + cosmos.gov.v1.QueryDepositResponse: + type: object + properties: + deposit: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method - RPC method. - cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: + signatures required by gogoproto. + description: |- + Deposit defines an amount deposited by an account address to an active + proposal. + description: >- + QueryDepositResponse is the response type for the Query/Deposit RPC + method. + cosmos.gov.v1.QueryDepositsResponse: type: object properties: - rewards: + deposits: type: array items: type: object properties: - denom: - type: string - amount: + proposal_id: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. - - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: rewards defines the rewards accrued by a delegation. - description: |- - QueryDelegationRewardsResponse is the response type for the - Query/DelegationRewards RPC method. - cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse: - type: object - properties: - rewards: - type: array - items: - type: object - properties: - validator_address: + format: uint64 + depositor: type: string - reward: + amount: type: array items: type: object @@ -66067,80 +77915,55 @@ definitions: amount: type: string description: >- - DecCoin defines a token with a denomination and a decimal - amount. + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Dec which implements the custom + NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. - description: |- - DelegationDelegatorReward represents the properties - of a delegator's delegation reward. - description: rewards defines all the rewards accrued by a delegator. - total: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + description: >- + Deposit defines an amount deposited by an account address to an + active - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: total defines the sum of all the rewards. - description: |- - QueryDelegationTotalRewardsResponse is the response type for the - Query/DelegationTotalRewards RPC method. - cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse: - type: object - properties: - validators: - type: array - items: - type: string - description: validators defines the validators a delegator is delegating for. - description: |- - QueryDelegatorValidatorsResponse is the response type for the - Query/DelegatorValidators RPC method. - cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse: - type: object - properties: - withdraw_address: - type: string - description: withdraw_address defines the delegator address to query for. - description: |- - QueryDelegatorWithdrawAddressResponse is the response type for the - Query/DelegatorWithdrawAddress RPC method. - cosmos.distribution.v1beta1.QueryParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. + proposal. + pagination: + description: pagination defines the pagination in the response. type: object properties: - community_tax: - type: string - base_proposer_reward: + next_key: type: string - bonus_proposer_reward: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - withdraw_addr_enabled: - type: boolean - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + cosmos.gov.v1.QueryParamsResponse: type: object properties: - commission: - description: commission defines the commision the validator received. + voting_params: + description: voting_params defines the parameters related to voting. type: object properties: - commission: + voting_period: + type: string + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. + type: object + properties: + min_deposit: type: array items: type: object @@ -66150,311 +77973,560 @@ definitions: amount: type: string description: >- - DecCoin defines a token with a denomination and a decimal - amount. + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Dec which implements the custom + NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. - title: |- - QueryValidatorCommissionResponse is the response type for the - Query/ValidatorCommission RPC method - cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. + type: object + properties: + quorum: + type: string + description: >- + Minimum percentage of total stake needed to vote for a result to + be + considered valid. + threshold: + type: string + description: >- + Minimum proportion of Yes votes for proposal to pass. Default + value: 0.5. + veto_threshold: + type: string + description: >- + Minimum value of Veto votes to Total votes ratio for proposal to + be + vetoed. Default value: 1/3. + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.gov.v1.QueryProposalResponse: type: object properties: - rewards: + proposal: type: object properties: - rewards: + id: + type: string + format: uint64 + messages: type: array items: type: object properties: - denom: + type_url: type: string - amount: + 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. + value: type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - DecCoin defines a token with a denomination and a decimal - amount. + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - NOTE: The amount field is an Dec which implements the custom - method - signatures required by gogoproto. - description: >- - ValidatorOutstandingRewards represents outstanding (un-withdrawn) - rewards + Protobuf library provides support to pack/unpack Any values in + the form - for a validator inexpensive to track, allows simple sanity checks. - description: |- - QueryValidatorOutstandingRewardsResponse is the response type for the - Query/ValidatorOutstandingRewards RPC method. - cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: - type: object - properties: - slashes: - type: array - items: - type: object - properties: - validator_period: - type: string - format: uint64 - fraction: - type: string - description: |- - ValidatorSlashEvent represents a validator slash event. - Height is implicit within the store key. - This is needed to calculate appropriate amount of staking tokens - for delegations which are withdrawn after a slash has occurred. - description: slashes defines the slashes the validator received. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + status: type: string - format: byte + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. When + + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise - description: |- - QueryValidatorSlashesResponse is the response type for the - Query/ValidatorSlashes RPC method. - cosmos.distribution.v1beta1.ValidatorAccumulatedCommission: - type: object - properties: - commission: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: |- - ValidatorAccumulatedCommission represents accumulated commission - for a validator kept as a running counter, can be withdrawn at any time. - cosmos.distribution.v1beta1.ValidatorOutstandingRewards: - type: object - properties: - rewards: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + NOTE: The amount field is an Int which implements the custom + method - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: |- - ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards - for a validator inexpensive to track, allows simple sanity checks. - cosmos.distribution.v1beta1.ValidatorSlashEvent: - type: object - properties: - validator_period: - type: string - format: uint64 - fraction: - type: string - description: |- - ValidatorSlashEvent represents a validator slash event. - Height is implicit within the store key. - This is needed to calculate appropriate amount of staking tokens - for delegations which are withdrawn after a slash has occurred. - cosmos.evidence.v1beta1.QueryAllEvidenceResponse: + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal RPC + method. + cosmos.gov.v1.QueryProposalsResponse: type: object properties: - evidence: + proposals: type: array items: type: object properties: - type_url: + id: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + format: uint64 + messages: + type: array + items: + type: object + properties: + type_url: + 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 + protobuf release, and it is not used for type URLs + beginning with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) might - be + Schemes other than `http`, `https` (or the empty scheme) + might be - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values in the - form + Protobuf library provides support to pack/unpack Any values in + the form - of utility functions or additional generated methods of the Any - type. + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 2: Pack and unpack a message in Java. + 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); - } + 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 3: Pack and unpack a message in Python. - 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.DESCRIPTOR): + any.Unpack(foo) + ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - The pack methods provided by protobuf library will by default use + The pack methods provided by protobuf library will by default + use - 'type.googleapis.com/full.type.name' as the type URL and the unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the last '/' + 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 + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom + JSON - representation, that representation will be embedded adding a field + representation, that representation will be embedded adding a + field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: evidence returns all evidences. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. + When + + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. pagination: description: pagination defines the pagination in the response. type: object @@ -66474,437 +78546,445 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryAllEvidenceResponse is the response type for the Query/AllEvidence - RPC - + description: |- + QueryProposalsResponse is the response type for the Query/Proposals RPC method. - cosmos.evidence.v1beta1.QueryEvidenceResponse: + cosmos.gov.v1.QueryTallyResultResponse: type: object properties: - evidence: + tally: + description: tally defines the requested tally. type: object properties: - type_url: + yes_count: 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. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - value: + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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: >- - QueryEvidenceResponse is the response type for the Query/Evidence RPC + QueryTallyResultResponse is the response type for the Query/Tally RPC method. - cosmos.gov.v1beta1.Deposit: + cosmos.gov.v1.QueryVoteResponse: + type: object + properties: + vote: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: QueryVoteResponse is the response type for the Query/Vote RPC method. + cosmos.gov.v1.QueryVotesResponse: type: object properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: + votes: type: array items: type: object properties: - denom: + proposal_id: type: string - amount: + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: type: string + description: metadata is any arbitrary metadata to attached to the vote. description: |- - Coin defines a token with a denomination and an amount. + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1beta1.DepositParams: + was set, its value is undefined otherwise + description: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1.TallyParams: type: object properties: - min_deposit: + quorum: + type: string + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: + type: string + description: >- + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: + type: string + description: |- + Minimum value of Veto votes to Total votes ratio for proposal to be + vetoed. Default value: 1/3. + description: TallyParams defines the params for tallying votes on governance proposals. + cosmos.gov.v1.TallyResult: + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + description: TallyResult defines a standard tally for a governance proposal. + cosmos.gov.v1.Vote: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: type: array items: type: object properties: - denom: + option: type: string - amount: + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: type: string - description: |- - Coin defines a token with a denomination and an amount. + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + cosmos.gov.v1.VoteOption: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + cosmos.gov.v1.VotingParams: + type: object + properties: + voting_period: type: string + description: Length of the voting period. + description: VotingParams defines the params for voting on governance proposals. + cosmos.gov.v1.WeightedVoteOption: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1beta1.Proposal: + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + cosmos.mint.v1beta1.Params: type: object properties: - proposal_id: + mint_denom: + type: string + title: type of coin to mint + inflation_rate_change: + type: string + title: maximum annual change in inflation rate + inflation_max: + type: string + title: maximum inflation rate + inflation_min: + type: string + title: minimum inflation rate + goal_bonded: + type: string + title: goal of percent bonded atoms + blocks_per_year: type: string format: uint64 - content: + title: expected blocks per year + description: Params holds parameters for the mint module. + cosmos.mint.v1beta1.QueryAnnualProvisionsResponse: + type: object + properties: + annual_provisions: + type: string + format: byte + description: annual_provisions is the current minting annual provisions value. + description: |- + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + cosmos.mint.v1beta1.QueryInflationResponse: + type: object + properties: + inflation: + type: string + format: byte + description: inflation is the current minting inflation value. + description: |- + QueryInflationResponse is the response type for the Query/Inflation RPC + method. + cosmos.mint.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. type: object properties: - type_url: + mint_denom: + type: string + title: type of coin to mint + inflation_rate_change: + type: string + title: maximum annual change in inflation rate + inflation_max: + type: string + title: maximum inflation rate + inflation_min: + type: string + title: minimum inflation rate + goal_bonded: + type: string + title: goal of percent bonded atoms + blocks_per_year: + type: string + format: uint64 + title: expected blocks per year + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.params.v1beta1.ParamChange: + type: object + properties: + subspace: + type: string + key: + type: string + value: + type: string + description: |- + ParamChange defines an individual parameter change, for use in + ParameterChangeProposal. + cosmos.params.v1beta1.QueryParamsResponse: + type: object + properties: + param: + description: param defines the queried parameter. + type: object + properties: + subspace: + type: string + key: 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. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. value: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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: + description: QueryParamsResponse is response type for the Query/Params RPC method. + cosmos.params.v1beta1.QuerySubspacesResponse: + type: object + properties: + subspaces: + type: array + items: + type: object + properties: + subspace: + type: string + keys: + type: array + items: + type: string + description: >- + Subspace defines a parameter subspace name and all the keys that + exist for - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + the subspace. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom JSON + Since: cosmos-sdk 0.46 + description: |- + QuerySubspacesResponse defines the response types for querying for all + registered subspaces and all keys for a subspace. - representation, that representation will be embedded adding a field + Since: cosmos-sdk 0.46 + cosmos.params.v1beta1.Subspace: + type: object + properties: + subspace: + type: string + keys: + type: array + items: + type: string + description: |- + Subspace defines a parameter subspace name and all the keys that exist for + the subspace. - `value` which holds the custom JSON in addition to the `@type` + Since: cosmos-sdk 0.46 + cosmos.quarantine.v1beta1.AutoResponse: + type: string + enum: + - AUTO_RESPONSE_UNSPECIFIED + - AUTO_RESPONSE_ACCEPT + - AUTO_RESPONSE_DECLINE + default: AUTO_RESPONSE_UNSPECIFIED + description: >- + AutoResponse enumerates the quarantine auto-response options. - field. Example (for message [google.protobuf.Duration][]): + - AUTO_RESPONSE_UNSPECIFIED: AUTO_RESPONSE_UNSPECIFIED defines that an automatic response has not been specified. + This means that no automatic action should be taken, i.e. this + auto-response is off, - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: + and default quarantine behavior is used. + - AUTO_RESPONSE_ACCEPT: AUTO_RESPONSE_ACCEPT defines that sends should be automatically accepted, bypassing quarantine. + - AUTO_RESPONSE_DECLINE: AUTO_RESPONSE_DECLINE defines that sends should be automatically declined. + cosmos.quarantine.v1beta1.AutoResponseEntry: + type: object + properties: + to_address: + type: string + description: to_address is the receiving address. + from_address: + type: string + description: from_address is the sending address. + response: + description: response is the auto-response setting for these two addresses. type: string enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: |- - final_tally_result is the final tally result of the proposal. When - querying a proposal via gRPC, this field is not populated until the - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - submit_time: - type: string - format: date-time - deposit_end_time: + - AUTO_RESPONSE_UNSPECIFIED + - AUTO_RESPONSE_ACCEPT + - AUTO_RESPONSE_DECLINE + default: AUTO_RESPONSE_UNSPECIFIED + description: AutoResponseEntry defines the auto response to one address from another. + cosmos.quarantine.v1beta1.QuarantinedFunds: + type: object + properties: + to_address: type: string - format: date-time - total_deposit: + description: >- + to_address is the intended recipient of the coins that have been + quarantined. + unaccepted_from_addresses: + type: array + items: + type: string + description: >- + unaccepted_from_addresses are the senders that have not been part of + an accept yet for these coins. + coins: type: array items: type: object @@ -66918,85 +78998,91 @@ definitions: NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - cosmos.gov.v1beta1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - cosmos.gov.v1beta1.QueryDepositResponse: + description: coins is the amount currently in quarantined for the two addresses. + declined: + type: boolean + description: declined is true if these funds were previously declined. + description: >- + QuarantinedFunds defines structure that represents coins that have been + quarantined. + cosmos.quarantine.v1beta1.QueryAutoResponsesResponse: type: object properties: - deposit: + auto_responses: + type: array + items: + type: object + properties: + to_address: + type: string + description: to_address is the receiving address. + from_address: + type: string + description: from_address is the sending address. + response: + description: response is the auto-response setting for these two addresses. + type: string + enum: + - AUTO_RESPONSE_UNSPECIFIED + - AUTO_RESPONSE_ACCEPT + - AUTO_RESPONSE_DECLINE + default: AUTO_RESPONSE_UNSPECIFIED + description: >- + AutoResponseEntry defines the auto response to one address from + another. + description: auto_responses are the auto-response entries from the provided query. + pagination: + description: pagination defines the pagination parameters of the response. type: object properties: - proposal_id: + next_key: type: string - format: uint64 - depositor: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - signatures required by gogoproto. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. + was set, its value is undefined otherwise description: >- - QueryDepositResponse is the response type for the Query/Deposit RPC - method. - cosmos.gov.v1beta1.QueryDepositsResponse: + QueryAutoResponsesResponse defines the RPC response of a AutoResponses + query. + cosmos.quarantine.v1beta1.QueryIsQuarantinedResponse: type: object properties: - deposits: + is_quarantined: + type: boolean + description: is_quarantined is true if the to_address has opted into quarantine. + description: >- + QueryIsQuarantinedResponse defines the RPC response of an IsQuarantined + query. + cosmos.quarantine.v1beta1.QueryQuarantinedFundsResponse: + type: object + properties: + quarantinedFunds: type: array items: type: object properties: - proposal_id: - type: string - format: uint64 - depositor: + to_address: type: string - amount: + description: >- + to_address is the intended recipient of the coins that have been + quarantined. + unaccepted_from_addresses: + type: array + items: + type: string + description: >- + unaccepted_from_addresses are the senders that have not been + part of an accept yet for these coins. + coins: type: array items: type: object @@ -67013,13 +79099,188 @@ definitions: method signatures required by gogoproto. + description: >- + coins is the amount currently in quarantined for the two + addresses. + declined: + type: boolean + description: declined is true if these funds were previously declined. description: >- - Deposit defines an amount deposited by an account address to an - active + QuarantinedFunds defines structure that represents coins that have + been quarantined. + description: quarantinedFunds is info about coins sitting in quarantine. + pagination: + description: pagination defines the pagination parameters of the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - proposal. + was set, its value is undefined otherwise + description: >- + QueryQuarantinedFundsResponse defines the RPC response of a + QuarantinedFunds query. + cosmos.slashing.v1beta1.Params: + type: object + properties: + signed_blocks_window: + type: string + format: int64 + min_signed_per_window: + type: string + format: byte + downtime_jail_duration: + type: string + slash_fraction_double_sign: + type: string + format: byte + slash_fraction_downtime: + type: string + format: byte + description: Params represents the parameters used for by the slashing module. + cosmos.slashing.v1beta1.QueryParamsResponse: + type: object + properties: + params: + type: object + properties: + signed_blocks_window: + type: string + format: int64 + min_signed_per_window: + type: string + format: byte + downtime_jail_duration: + type: string + slash_fraction_double_sign: + type: string + format: byte + slash_fraction_downtime: + type: string + format: byte + description: Params represents the parameters used for by the slashing module. + title: QueryParamsResponse is the response type for the Query/Params RPC method + cosmos.slashing.v1beta1.QuerySigningInfoResponse: + type: object + properties: + val_signing_info: + type: object + properties: + address: + type: string + start_height: + type: string + format: int64 + title: Height at which validator was first a candidate OR was unjailed + index_offset: + type: string + format: int64 + description: >- + Index which is incremented each time the validator was a bonded + + in a block and may have signed a precommit or not. This in + conjunction with the + + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + tombstoned: + type: boolean + description: >- + Whether or not a validator has been tombstoned (killed out of + validator set). It is set + + once the validator commits an equivocation or for any other + configured misbehiavor. + missed_blocks_counter: + type: string + format: int64 + description: >- + A counter kept to avoid unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + description: >- + ValidatorSigningInfo defines a validator's signing info for monitoring + their + + liveness activity. + title: val_signing_info is the signing info of requested val cons address + title: >- + QuerySigningInfoResponse is the response type for the Query/SigningInfo + RPC + + method + cosmos.slashing.v1beta1.QuerySigningInfosResponse: + type: object + properties: + info: + type: array + items: + type: object + properties: + address: + type: string + start_height: + type: string + format: int64 + title: Height at which validator was first a candidate OR was unjailed + index_offset: + type: string + format: int64 + description: >- + Index which is incremented each time the validator was a bonded + + in a block and may have signed a precommit or not. This in + conjunction with the + + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + tombstoned: + type: boolean + description: >- + Whether or not a validator has been tombstoned (killed out of + validator set). It is set + + once the validator commits an equivocation or for any other + configured misbehiavor. + missed_blocks_counter: + type: string + format: int64 + description: >- + A counter kept to avoid unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + description: >- + ValidatorSigningInfo defines a validator's signing info for + monitoring their + + liveness activity. + title: info is the signing info of all validators pagination: - description: pagination defines the pagination in the response. type: object properties: next_key: @@ -67037,333 +79298,291 @@ definitions: 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; + } + title: >- + QuerySigningInfosResponse is the response type for the Query/SigningInfos + RPC + + method + cosmos.slashing.v1beta1.ValidatorSigningInfo: + type: object + properties: + address: + type: string + start_height: + type: string + format: int64 + title: Height at which validator was first a candidate OR was unjailed + index_offset: + type: string + format: int64 + description: >- + Index which is incremented each time the validator was a bonded + + in a block and may have signed a precommit or not. This in conjunction + with the + + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + tombstoned: + type: boolean + description: >- + Whether or not a validator has been tombstoned (killed out of + validator set). It is set + + once the validator commits an equivocation or for any other configured + misbehiavor. + missed_blocks_counter: + type: string + format: int64 + description: >- + A counter kept to avoid unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. description: >- - QueryDepositsResponse is the response type for the Query/Deposits RPC - method. - cosmos.gov.v1beta1.QueryParamsResponse: + ValidatorSigningInfo defines a validator's signing info for monitoring + their + + liveness activity. + cosmos.staking.v1beta1.BondStatus: + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + description: |- + BondStatus is the status of a validator. + + - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. + - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. + - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. + - BOND_STATUS_BONDED: BONDED defines a validator that is bonded. + cosmos.staking.v1beta1.Commission: + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be used for + creating a validator. + type: object + properties: + rate: + type: string + description: 'rate is the commission rate charged to delegators, as a fraction.' + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which validator can + ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of the + validator commission, as a fraction. + update_time: + type: string + format: date-time + description: update_time is the last time the commission rate was changed. + description: Commission defines commission parameters for a given validator. + cosmos.staking.v1beta1.CommissionRates: + type: object + properties: + rate: + type: string + description: 'rate is the commission rate charged to delegators, as a fraction.' + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which validator can ever + charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of the validator + commission, as a fraction. + description: >- + CommissionRates defines the initial commission rates to be used for + creating + + a validator. + cosmos.staking.v1beta1.Delegation: + type: object + properties: + delegator_address: + type: string + description: delegator_address is the bech32-encoded address of the delegator. + validator_address: + type: string + description: validator_address is the bech32-encoded address of the validator. + shares: + type: string + description: shares define the delegation shares received. + description: |- + Delegation represents the bond with tokens held by an account. It is + owned by one delegator, and is associated with the voting power of one + validator. + cosmos.staking.v1beta1.DelegationResponse: type: object properties: - voting_params: - description: voting_params defines the parameters related to voting. + delegation: type: object properties: - voting_period: + delegator_address: type: string - description: Length of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: + description: delegator_address is the bech32-encoded address of the delegator. + validator_address: type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - tally_params: - description: tally_params defines the parameters related to tally. + description: validator_address is the bech32-encoded address of the validator. + shares: + type: string + description: shares define the delegation shares received. + description: |- + Delegation represents the bond with tokens held by an account. It is + owned by one delegator, and is associated with the voting power of one + validator. + balance: type: object properties: - quorum: - type: string - format: byte - description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: + denom: type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: + amount: type: string - format: byte - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.gov.v1beta1.QueryProposalResponse: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: |- + DelegationResponse is equivalent to Delegation except that it contains a + balance in addition to shares which is more suitable for client responses. + cosmos.staking.v1beta1.Description: type: object properties: - proposal: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: security_contact defines an optional email for security contact. + details: + type: string + description: details define other optional details. + description: Description defines a validator description. + cosmos.staking.v1beta1.HistoricalInfo: + type: object + properties: + header: type: object properties: - proposal_id: - type: string - format: uint64 - content: + version: + title: basic block info type: object properties: - type_url: + block: 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. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - value: + format: uint64 + app: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. + format: uint64 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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` + Consensus captures the consensus rules for processing a block in + the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and the rules of the + application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: + state transition machine. + chain_id: type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + title: prev block info type: object properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: + hash: type: string - submit_time: + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + last_commit_hash: type: string - format: date-time - deposit_end_time: + format: byte + title: hashes of block data + data_hash: type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - voting_start_time: + format: byte + validators_hash: type: string - format: date-time - voting_end_time: + format: byte + title: hashes from the app output from the prev block + next_validators_hash: type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC - method. - cosmos.gov.v1beta1.QueryProposalsResponse: - type: object - properties: - proposals: + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + valset: type: array items: type: object properties: - proposal_id: + operator_address: type: string - format: uint64 - content: + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: type: object properties: type_url: @@ -67519,898 +79738,695 @@ definitions: "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" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. - When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + If the embedded message type is well-known and has a custom JSON - was set, its value is undefined otherwise - description: |- - QueryProposalsResponse is the response type for the Query/Proposals RPC - method. - cosmos.gov.v1beta1.QueryTallyResultResponse: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: >- - QueryTallyResultResponse is the response type for the Query/Tally RPC - method. - cosmos.gov.v1beta1.QueryVoteResponse: - type: object - properties: - vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries + representation, that representation will be embedded adding a + field - if and only if `len(options) == 1` and that option has weight 1. - In all + `value` which holds the custom JSON in addition to the `@type` - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from bonded + status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a validator's + delegators. + description: + description: description defines the description terms for the validator. type: object properties: - option: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + identity defines an optional identity signature (ex. UPort + or Keybase). + website: type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: QueryVoteResponse is the response type for the Query/Vote RPC method. - cosmos.gov.v1beta1.QueryVotesResponse: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string - format: uint64 - voter: + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at which this + validator has begun unbonding. + unbonding_time: type: string - option: + format: date-time description: >- - Deprecated: Prefer to use `options` instead. This field is set - in queries + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be + used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, as a + fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of + the validator commission, as a fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared minimum + self delegation. - if and only if `len(options) == 1` and that option has weight 1. - In all - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. + Validator's bond shares and their exchange rate to coins. Slashing + results in - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: votes defined the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + a decrease in the exchange rate, allowing correct calculation of + future - was set, its value is undefined otherwise - description: QueryVotesResponse is the response type for the Query/Votes RPC method. - cosmos.gov.v1beta1.TallyParams: - type: object - properties: - quorum: - type: string - format: byte - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - format: byte - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - description: TallyParams defines the params for tallying votes on governance proposals. - cosmos.gov.v1beta1.TallyResult: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - cosmos.gov.v1beta1.Vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries + undelegations without iterating over delegators. When coins are + delegated to - if and only if `len(options) == 1` and that option has weight 1. In - all + this validator, the validator is credited with a delegation whose + number of - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. + bond shares is based on the amount of coins delegated divided by the + current - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. + exchange rate. Voting power can be calculated as total bonded shares - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - cosmos.gov.v1beta1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED + multiplied by exchange rate. description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. + HistoricalInfo contains header and validator information for a given + block. - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - cosmos.gov.v1beta1.VotingParams: - type: object - properties: - voting_period: - type: string - description: Length of the voting period. - description: VotingParams defines the params for voting on governance proposals. - cosmos.gov.v1beta1.WeightedVoteOption: + It is stored as part of staking module's state, which persists the `n` + most + + recent HistoricalInfo + + (`n` is set by the staking module's `historical_entries` parameter). + cosmos.staking.v1beta1.Params: type: object properties: - option: + unbonding_time: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED + description: unbonding_time is the time duration of unbonding. + max_validators: + type: integer + format: int64 + description: max_validators is the maximum number of validators. + max_entries: + type: integer + format: int64 description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + max_entries is the max entries for either unbonding delegation or + redelegation (per pair/trio). + historical_entries: + type: integer + format: int64 + description: historical_entries is the number of historical entries to persist. + bond_denom: type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - cosmos.gov.v1.Deposit: + description: bond_denom defines the bondable coin denomination. + min_commission_rate: + type: string + title: >- + min_commission_rate is the chain-wide minimum commission rate that a + validator can charge their delegators + description: Params defines the parameters for the staking module. + cosmos.staking.v1beta1.Pool: type: object properties: - proposal_id: + not_bonded_tokens: type: string - format: uint64 - depositor: + bonded_tokens: type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1.DepositParams: + Pool is used for tracking bonded and not-bonded token supply of the bond + denomination. + cosmos.staking.v1beta1.QueryDelegationResponse: type: object properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + delegation_response: + type: object + properties: + delegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + shares: + type: string + description: shares define the delegation shares received. + description: >- + Delegation represents the bond with tokens held by an account. It + is - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string + owned by one delegator, and is associated with the voting power of + one + + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1.Proposal: + DelegationResponse is equivalent to Delegation except that it contains + a + + balance in addition to shares which is more suitable for client + responses. + description: >- + QueryDelegationResponse is response type for the Query/Delegation RPC + method. + cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse: type: object properties: - id: - type: string - format: uint64 - messages: + delegation_responses: type: array items: type: object properties: - type_url: - type: string + delegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + shares: + type: string + description: shares define the delegation shares received. 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). + Delegation represents the bond with tokens held by an account. + It is + owned by one delegator, and is associated with the voting power + of one - In practice, teams usually precompile into the binary all types - that they + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - server that maps type URLs to message definitions as follows: + signatures required by gogoproto. + description: >- + DelegationResponse is equivalent to Delegation except that it + contains a + balance in addition to shares which is more suitable for client + responses. + description: delegation_responses defines all the delegations' info of a delegator. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - * If no scheme is provided, `https` is assumed. + was set, its value is undefined otherwise + description: |- + QueryDelegatorDelegationsResponse is response type for the + Query/DelegatorDelegations RPC method. + cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse: + type: object + properties: + unbonding_responses: + type: array + items: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height is the height which the unbonding took + place. + completion_time: + type: string + format: date-time + description: completion_time is the unix time for unbonding completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially scheduled to + receive at completion. + balance: + type: string + description: balance defines the tokens to receive at completion. + description: >- + UnbondingDelegationEntry defines an unbonding object with + relevant metadata. + description: entries are the unbonding delegation entries. + description: >- + UnbondingDelegation stores all of a single delegator's unbonding + bonds - * 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.) + for a single validator in an time-ordered list. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - Note: this functionality is not currently available in the - official + was set, its value is undefined otherwise + description: |- + QueryUnbondingDelegatorDelegationsResponse is response type for the + Query/UnbondingDelegatorDelegations RPC method. + cosmos.staking.v1beta1.QueryDelegatorValidatorResponse: + type: object + properties: + validator: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the validator's operator; + bech encoded in JSON. + consensus_pubkey: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - protobuf release, and it is not used for type URLs beginning - with + protocol buffer message. This string must contain at least - type.googleapis.com. + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in - Schemes other than `http`, `https` (or the empty scheme) might - be + `path/google.protobuf.Duration`). The name should be in a + canonical form - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + (e.g., leading "." is not accepted). - URL that describes the type of the serialized message. + In practice, teams usually precompile into the binary all + types that they - Protobuf library provides support to pack/unpack Any values in the - form + expect it to use in the context of Any. However, for URLs + which use the - of utility functions or additional generated methods of the Any - type. + scheme `http`, `https`, or no scheme, one can optionally set + up a type + server that maps type URLs to message definitions as follows: - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + * If no scheme is provided, `https` is assumed. - Example 2: Pack and unpack a message in Java. + * 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.) - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Note: this functionality is not currently available in the + official - Example 3: Pack and unpack a message in Python. + protobuf release, and it is not used for type URLs beginning + with - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + type.googleapis.com. - Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Schemes other than `http`, `https` (or the empty scheme) might + be - The pack methods provided by protobuf library will by default use + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - 'type.googleapis.com/full.type.name' as the type URL and the unpack + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values in the + form - name "y.z". + of utility functions or additional generated methods of the Any + type. + Example 1: Pack and unpack a message in C++. - JSON + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - ==== + Example 2: Pack and unpack a message in Java. - The JSON representation of an `Any` value uses the regular + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - representation of the deserialized, embedded message, with an + Example 3: Pack and unpack a message in Python. - additional field `@type` which contains the type URL. Example: + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Example 4: Pack and unpack a message in Go - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - If the embedded message type is well-known and has a custom JSON + The pack methods provided by protobuf library will by default use - representation, that representation will be embedded adding a field + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - `value` which holds the custom JSON in addition to the `@type` + methods only use the fully qualified type name after the last '/' - field. Example (for message [google.protobuf.Duration][]): + in the type URL, for example "foo.bar.com/x/y.z" will yield type - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. + name "y.z". - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: |- - final_tally_result is the final tally result of the proposal. When - querying a proposal via gRPC, this field is not populated until the - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - abstain_count: - type: string - no_count: - type: string - no_with_veto_count: - type: string - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - description: Proposal defines the core field members of a governance proposal. - cosmos.gov.v1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - cosmos.gov.v1.QueryDepositResponse: - type: object - properties: - deposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + JSON + ==== - NOTE: The amount field is an Int which implements the custom - method + The JSON representation of an `Any` value uses the regular - signatures required by gogoproto. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - description: >- - QueryDepositResponse is the response type for the Query/Deposit RPC - method. - cosmos.gov.v1.QueryDepositsResponse: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - NOTE: The amount field is an Int which implements the custom - method + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - signatures required by gogoproto. - description: >- - Deposit defines an amount deposited by an account address to an - active + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - proposal. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + If the embedded message type is well-known and has a custom JSON - was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits RPC - method. - cosmos.gov.v1.QueryParamsResponse: - type: object - properties: - voting_params: - description: voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Length of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + representation, that representation will be embedded adding a + field + `value` which holds the custom JSON in addition to the `@type` - NOTE: The amount field is an Int which implements the custom - method + field. Example (for message [google.protobuf.Duration][]): - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from bonded + status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: type: string description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - tally_params: - description: tally_params defines the parameters related to tally. - type: object - properties: - quorum: + delegator_shares defines total shares issued to a validator's + delegators. + description: + description: description defines the description terms for the validator. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string + format: int64 description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: + unbonding_height defines, if unbonding, the height at which this + validator has begun unbonding. + unbonding_time: type: string + format: date-time description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be + used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, as a + fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of the + validator commission, as a fraction. + update_time: + type: string + format: date-time + description: update_time is the last time the commission rate was changed. + min_self_delegation: type: string description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.gov.v1.QueryProposalResponse: + min_self_delegation is the validator's self declared minimum self + delegation. + + + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the + + Validator's bond shares and their exchange rate to coins. Slashing + results in + + a decrease in the exchange rate, allowing correct calculation of + future + + undelegations without iterating over delegators. When coins are + delegated to + + this validator, the validator is credited with a delegation whose + number of + + bond shares is based on the amount of coins delegated divided by the + current + + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + description: |- + QueryDelegatorValidatorResponse response type for the + Query/DelegatorValidator RPC method. + cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse: type: object properties: - proposal: - type: object - properties: - id: - type: string - format: uint64 - messages: - type: array - items: + validators: + type: array + items: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: type: object properties: type_url: @@ -68544,885 +80560,161 @@ definitions: - 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" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. When - - querying a proposal via gRPC, this field is not populated until - the - - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - abstain_count: - type: string - no_count: - type: string - no_with_veto_count: - type: string - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - description: Proposal defines the core field members of a governance proposal. - description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC - method. - cosmos.gov.v1.QueryProposalsResponse: - type: object - properties: - proposals: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - messages: - type: array - items: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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 + JSON - `value` which holds the custom JSON in addition to the `@type` + ==== - field. Example (for message [google.protobuf.Duration][]): + The JSON representation of an `Any` value uses the regular - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. + representation of the deserialized, embedded message, with an - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - description: >- - final_tally_result is the final tally result of the proposal. - When + additional field `@type` which contains the type URL. Example: - querying a proposal via gRPC, this field is not populated until - the + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - proposal's voting period has ended. - type: object - properties: - yes_count: - type: string - abstain_count: - type: string - no_count: - type: string - no_with_veto_count: - type: string - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - NOTE: The amount field is an Int which implements the custom - method + representation, that representation will be embedded adding a + field - signatures required by gogoproto. - voting_start_time: + `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" + } + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from bonded + status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). type: string - format: date-time - voting_end_time: + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: type: string - format: date-time - metadata: + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: type: string - description: metadata is any arbitrary metadata attached to the proposal. - description: Proposal defines the core field members of a governance proposal. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: |- - QueryProposalsResponse is the response type for the Query/Proposals RPC - method. - cosmos.gov.v1.QueryTallyResultResponse: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - yes_count: - type: string - abstain_count: - type: string - no_count: - type: string - no_with_veto_count: - type: string - description: >- - QueryTallyResultResponse is the response type for the Query/Tally RPC - method. - cosmos.gov.v1.QueryVoteResponse: - type: object - properties: - vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - options: - type: array - items: + description: >- + delegator_shares defines total shares issued to a validator's + delegators. + description: + description: description defines the description terms for the validator. type: object properties: - option: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + identity defines an optional identity signature (ex. UPort + or Keybase). + website: type: string - description: WeightedVoteOption defines a unit of vote for vote split. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the vote. - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: QueryVoteResponse is the response type for the Query/Vote RPC method. - cosmos.gov.v1.QueryVotesResponse: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: WeightedVoteOption defines a unit of vote for vote split. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the vote. - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: votes defined the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: QueryVotesResponse is the response type for the Query/Votes RPC method. - cosmos.gov.v1.TallyParams: - type: object - properties: - quorum: - type: string - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - description: TallyParams defines the params for tallying votes on governance proposals. - cosmos.gov.v1.TallyResult: - type: object - properties: - yes_count: - type: string - abstain_count: - type: string - no_count: - type: string - no_with_veto_count: - type: string - description: TallyResult defines a standard tally for a governance proposal. - cosmos.gov.v1.Vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - options: - type: array - items: - type: object - properties: - option: + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED + format: int64 description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + unbonding_height defines, if unbonding, the height at which this + validator has begun unbonding. + unbonding_time: type: string - description: WeightedVoteOption defines a unit of vote for vote split. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the vote. - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - cosmos.gov.v1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - cosmos.gov.v1.VotingParams: - type: object - properties: - voting_period: - type: string - description: Length of the voting period. - description: VotingParams defines the params for voting on governance proposals. - cosmos.gov.v1.WeightedVoteOption: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: WeightedVoteOption defines a unit of vote for vote split. - cosmos.mint.v1beta1.Params: - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: Params holds parameters for the mint module. - cosmos.mint.v1beta1.QueryAnnualProvisionsResponse: - type: object - properties: - annual_provisions: - type: string - format: byte - description: annual_provisions is the current minting annual provisions value. - description: |- - QueryAnnualProvisionsResponse is the response type for the - Query/AnnualProvisions RPC method. - cosmos.mint.v1beta1.QueryInflationResponse: - type: object - properties: - inflation: - type: string - format: byte - description: inflation is the current minting inflation value. - description: |- - QueryInflationResponse is the response type for the Query/Inflation RPC - method. - cosmos.mint.v1beta1.QueryParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.params.v1beta1.ParamChange: - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: |- - ParamChange defines an individual parameter change, for use in - ParameterChangeProposal. - cosmos.params.v1beta1.QueryParamsResponse: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: QueryParamsResponse is response type for the Query/Params RPC method. - cosmos.params.v1beta1.QuerySubspacesResponse: - type: object - properties: - subspaces: - type: array - items: - type: object - properties: - subspace: + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be + used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, as a + fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of + the validator commission, as a fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: type: string - keys: - type: array - items: - type: string - description: >- - Subspace defines a parameter subspace name and all the keys that - exist for + description: >- + min_self_delegation is the validator's self declared minimum + self delegation. - the subspace. + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the - Since: cosmos-sdk 0.46 - description: |- - QuerySubspacesResponse defines the response types for querying for all - registered subspaces and all keys for a subspace. + Validator's bond shares and their exchange rate to coins. Slashing + results in - Since: cosmos-sdk 0.46 - cosmos.params.v1beta1.Subspace: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: |- - Subspace defines a parameter subspace name and all the keys that exist for - the subspace. + a decrease in the exchange rate, allowing correct calculation of + future - Since: cosmos-sdk 0.46 - cosmos.quarantine.v1beta1.AutoResponse: - type: string - enum: - - AUTO_RESPONSE_UNSPECIFIED - - AUTO_RESPONSE_ACCEPT - - AUTO_RESPONSE_DECLINE - default: AUTO_RESPONSE_UNSPECIFIED - description: >- - AutoResponse enumerates the quarantine auto-response options. + undelegations without iterating over delegators. When coins are + delegated to - - AUTO_RESPONSE_UNSPECIFIED: AUTO_RESPONSE_UNSPECIFIED defines that an automatic response has not been specified. - This means that no automatic action should be taken, i.e. this - auto-response is off, + this validator, the validator is credited with a delegation whose + number of - and default quarantine behavior is used. - - AUTO_RESPONSE_ACCEPT: AUTO_RESPONSE_ACCEPT defines that sends should be automatically accepted, bypassing quarantine. - - AUTO_RESPONSE_DECLINE: AUTO_RESPONSE_DECLINE defines that sends should be automatically declined. - cosmos.quarantine.v1beta1.AutoResponseEntry: - type: object - properties: - to_address: - type: string - description: to_address is the receiving address. - from_address: - type: string - description: from_address is the sending address. - response: - description: response is the auto-response setting for these two addresses. - type: string - enum: - - AUTO_RESPONSE_UNSPECIFIED - - AUTO_RESPONSE_ACCEPT - - AUTO_RESPONSE_DECLINE - default: AUTO_RESPONSE_UNSPECIFIED - description: AutoResponseEntry defines the auto response to one address from another. - cosmos.quarantine.v1beta1.QuarantinedFunds: - type: object - properties: - to_address: - type: string - description: >- - to_address is the intended recipient of the coins that have been - quarantined. - unaccepted_from_addresses: - type: array - items: - type: string - description: >- - unaccepted_from_addresses are the senders that have not been part of - an accept yet for these coins. - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + bond shares is based on the amount of coins delegated divided by the + current - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: coins is the amount currently in quarantined for the two addresses. - declined: - type: boolean - description: declined is true if these funds were previously declined. - description: >- - QuarantinedFunds defines structure that represents coins that have been - quarantined. - cosmos.quarantine.v1beta1.QueryAutoResponsesResponse: - type: object - properties: - auto_responses: - type: array - items: - type: object - properties: - to_address: - type: string - description: to_address is the receiving address. - from_address: - type: string - description: from_address is the sending address. - response: - description: response is the auto-response setting for these two addresses. - type: string - enum: - - AUTO_RESPONSE_UNSPECIFIED - - AUTO_RESPONSE_ACCEPT - - AUTO_RESPONSE_DECLINE - default: AUTO_RESPONSE_UNSPECIFIED - description: >- - AutoResponseEntry defines the auto response to one address from - another. - description: auto_responses are the auto-response entries from the provided query. + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + description: validators defines the validators' info of a delegator. pagination: - description: pagination defines the pagination parameters of the response. + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -69439,238 +80731,564 @@ definitions: total is total number of results available if PageRequest.count_total - was set, its value is undefined otherwise - description: >- - QueryAutoResponsesResponse defines the RPC response of a AutoResponses - query. - cosmos.quarantine.v1beta1.QueryIsQuarantinedResponse: - type: object - properties: - is_quarantined: - type: boolean - description: is_quarantined is true if the to_address has opted into quarantine. - description: >- - QueryIsQuarantinedResponse defines the RPC response of an IsQuarantined - query. - cosmos.quarantine.v1beta1.QueryQuarantinedFundsResponse: - type: object - properties: - quarantinedFunds: - type: array - items: - type: object - properties: - to_address: - type: string - description: >- - to_address is the intended recipient of the coins that have been - quarantined. - unaccepted_from_addresses: - type: array - items: - type: string + was set, its value is undefined otherwise + description: |- + QueryDelegatorValidatorsResponse is response type for the + Query/DelegatorValidators RPC method. + cosmos.staking.v1beta1.QueryHistoricalInfoResponse: + type: object + properties: + hist: + description: hist defines the historical info at the given height. + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + title: prev block info + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + valset: + type: array + items: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from + bonded status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: description defines the description terms for the validator. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + unbonding_height: + type: string + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at which + this validator has begun unbonding. + unbonding_time: + type: string + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates to + be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, + as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase + of the validator commission, as a fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared minimum + self delegation. + + + Since: cosmos-sdk 0.46 description: >- - unaccepted_from_addresses are the senders that have not been - part of an accept yet for these coins. - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + Validator defines a validator, together with the total amount of + the + Validator's bond shares and their exchange rate to coins. + Slashing results in - NOTE: The amount field is an Int which implements the custom - method + a decrease in the exchange rate, allowing correct calculation of + future - signatures required by gogoproto. - description: >- - coins is the amount currently in quarantined for the two - addresses. - declined: - type: boolean - description: declined is true if these funds were previously declined. - description: >- - QuarantinedFunds defines structure that represents coins that have - been quarantined. - description: quarantinedFunds is info about coins sitting in quarantine. - pagination: - description: pagination defines the pagination parameters of the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + undelegations without iterating over delegators. When coins are + delegated to - was set, its value is undefined otherwise + this validator, the validator is credited with a delegation + whose number of + + bond shares is based on the amount of coins delegated divided by + the current + + exchange rate. Voting power can be calculated as total bonded + shares + + multiplied by exchange rate. description: >- - QueryQuarantinedFundsResponse defines the RPC response of a - QuarantinedFunds query. - cosmos.slashing.v1beta1.Params: - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: Params represents the parameters used for by the slashing module. - cosmos.slashing.v1beta1.QueryParamsResponse: + QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo + RPC + + method. + cosmos.staking.v1beta1.QueryParamsResponse: type: object properties: params: + description: params holds all the parameters of this module. type: object properties: - signed_blocks_window: + unbonding_time: type: string + description: unbonding_time is the time duration of unbonding. + max_validators: + type: integer format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: + description: max_validators is the maximum number of validators. + max_entries: + type: integer + format: int64 + description: >- + max_entries is the max entries for either unbonding delegation or + redelegation (per pair/trio). + historical_entries: + type: integer + format: int64 + description: historical_entries is the number of historical entries to persist. + bond_denom: type: string - format: byte - slash_fraction_downtime: + description: bond_denom defines the bondable coin denomination. + min_commission_rate: type: string - format: byte - description: Params represents the parameters used for by the slashing module. - title: QueryParamsResponse is the response type for the Query/Params RPC method - cosmos.slashing.v1beta1.QuerySigningInfoResponse: + title: >- + min_commission_rate is the chain-wide minimum commission rate that + a validator can charge their delegators + description: QueryParamsResponse is response type for the Query/Params RPC method. + cosmos.staking.v1beta1.QueryPoolResponse: type: object properties: - val_signing_info: + pool: + description: pool defines the pool info. type: object properties: - address: - type: string - start_height: - type: string - format: int64 - title: Height at which validator was first a candidate OR was unjailed - index_offset: - type: string - format: int64 - description: >- - Index which is incremented each time the validator was a bonded - - in a block and may have signed a precommit or not. This in - conjunction with the - - `SignedBlocksWindow` param determines the index in the - `MissedBlocksBitArray`. - jailed_until: + not_bonded_tokens: type: string - format: date-time - description: >- - Timestamp until which the validator is jailed due to liveness - downtime. - tombstoned: - type: boolean - description: >- - Whether or not a validator has been tombstoned (killed out of - validator set). It is set - - once the validator commits an equivocation or for any other - configured misbehiavor. - missed_blocks_counter: + bonded_tokens: type: string - format: int64 - description: >- - A counter kept to avoid unnecessary array reads. - - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. - description: >- - ValidatorSigningInfo defines a validator's signing info for monitoring - their - - liveness activity. - title: val_signing_info is the signing info of requested val cons address - title: >- - QuerySigningInfoResponse is the response type for the Query/SigningInfo - RPC - - method - cosmos.slashing.v1beta1.QuerySigningInfosResponse: + description: QueryPoolResponse is response type for the Query/Pool RPC method. + cosmos.staking.v1beta1.QueryRedelegationsResponse: type: object properties: - info: + redelegation_responses: type: array items: type: object properties: - address: - type: string - start_height: - type: string - format: int64 - title: Height at which validator was first a candidate OR was unjailed - index_offset: - type: string - format: int64 + redelegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_src_address: + type: string + description: >- + validator_src_address is the validator redelegation source + operator address. + validator_dst_address: + type: string + description: >- + validator_dst_address is the validator redelegation + destination operator address. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the + redelegation took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for redelegation + completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when + redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator + shares created by redelegation. + description: >- + RedelegationEntry defines a redelegation object with + relevant metadata. + description: entries are the redelegation entries. description: >- - Index which is incremented each time the validator was a bonded - - in a block and may have signed a precommit or not. This in - conjunction with the + Redelegation contains the list of a particular delegator's + redelegating bonds - `SignedBlocksWindow` param determines the index in the - `MissedBlocksBitArray`. - jailed_until: - type: string - format: date-time - description: >- - Timestamp until which the validator is jailed due to liveness - downtime. - tombstoned: - type: boolean - description: >- - Whether or not a validator has been tombstoned (killed out of - validator set). It is set + from a particular source validator to a particular destination + validator. + entries: + type: array + items: + type: object + properties: + redelegation_entry: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the + redelegation took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for redelegation + completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when + redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator + shares created by redelegation. + description: >- + RedelegationEntry defines a redelegation object with + relevant metadata. + balance: + type: string + description: >- + RedelegationEntryResponse is equivalent to a RedelegationEntry + except that it - once the validator commits an equivocation or for any other - configured misbehiavor. - missed_blocks_counter: - type: string - format: int64 - description: >- - A counter kept to avoid unnecessary array reads. + contains a balance in addition to shares which is more + suitable for client - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. + responses. description: >- - ValidatorSigningInfo defines a validator's signing info for - monitoring their + RedelegationResponse is equivalent to a Redelegation except that its + entries - liveness activity. - title: info is the signing info of all validators + contain a balance in addition to shares which is more suitable for + client + + responses. pagination: + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -69682,155 +81300,21 @@ definitions: there are no more results. 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; - } - title: >- - QuerySigningInfosResponse is the response type for the Query/SigningInfos - RPC - - method - cosmos.slashing.v1beta1.ValidatorSigningInfo: - type: object - properties: - address: - type: string - start_height: - type: string - format: int64 - title: Height at which validator was first a candidate OR was unjailed - index_offset: - type: string - format: int64 - description: >- - Index which is incremented each time the validator was a bonded - - in a block and may have signed a precommit or not. This in conjunction - with the - - `SignedBlocksWindow` param determines the index in the - `MissedBlocksBitArray`. - jailed_until: - type: string - format: date-time - description: >- - Timestamp until which the validator is jailed due to liveness - downtime. - tombstoned: - type: boolean - description: >- - Whether or not a validator has been tombstoned (killed out of - validator set). It is set - - once the validator commits an equivocation or for any other configured - misbehiavor. - missed_blocks_counter: - type: string - format: int64 - description: >- - A counter kept to avoid unnecessary array reads. - - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. - description: >- - ValidatorSigningInfo defines a validator's signing info for monitoring - their - - liveness activity. - cosmos.staking.v1beta1.BondStatus: - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - description: |- - BondStatus is the status of a validator. - - - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status. - - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded. - - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding. - - BOND_STATUS_BONDED: BONDED defines a validator that is bonded. - cosmos.staking.v1beta1.Commission: - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be used for - creating a validator. - type: object - properties: - rate: - type: string - description: 'rate is the commission rate charged to delegators, as a fraction.' - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can - ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - update_time: - type: string - format: date-time - description: update_time is the last time the commission rate was changed. - description: Commission defines commission parameters for a given validator. - cosmos.staking.v1beta1.CommissionRates: - type: object - properties: - rate: - type: string - description: 'rate is the commission rate charged to delegators, as a fraction.' - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can ever - charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the validator - commission, as a fraction. + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - CommissionRates defines the initial commission rates to be used for - creating + QueryRedelegationsResponse is response type for the Query/Redelegations + RPC - a validator. - cosmos.staking.v1beta1.Delegation: - type: object - properties: - delegator_address: - type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_address: - type: string - description: validator_address is the bech32-encoded address of the validator. - shares: - type: string - description: shares define the delegation shares received. - description: |- - Delegation represents the bond with tokens held by an account. It is - owned by one delegator, and is associated with the voting power of one - validator. - cosmos.staking.v1beta1.DelegationResponse: + method. + cosmos.staking.v1beta1.QueryUnbondingDelegationResponse: type: object properties: - delegation: + unbond: type: object properties: delegator_address: @@ -69839,130 +81323,482 @@ definitions: validator_address: type: string description: validator_address is the bech32-encoded address of the validator. - shares: - type: string - description: shares define the delegation shares received. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height is the height which the unbonding took + place. + completion_time: + type: string + format: date-time + description: completion_time is the unix time for unbonding completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially scheduled to + receive at completion. + balance: + type: string + description: balance defines the tokens to receive at completion. + description: >- + UnbondingDelegationEntry defines an unbonding object with + relevant metadata. + description: entries are the unbonding delegation entries. description: |- - Delegation represents the bond with tokens held by an account. It is - owned by one delegator, and is associated with the voting power of one - validator. - balance: + UnbondingDelegation stores all of a single delegator's unbonding bonds + for a single validator in an time-ordered list. + description: |- + QueryDelegationResponse is response type for the Query/UnbondingDelegation + RPC method. + cosmos.staking.v1beta1.QueryValidatorDelegationsResponse: + type: object + properties: + delegation_responses: + type: array + items: + type: object + properties: + delegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + shares: + type: string + description: shares define the delegation shares received. + description: >- + Delegation represents the bond with tokens held by an account. + It is + + owned by one delegator, and is associated with the voting power + of one + + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + DelegationResponse is equivalent to Delegation except that it + contains a + + balance in addition to shares which is more suitable for client + responses. + pagination: + description: pagination defines the pagination in the response. type: object properties: - denom: + next_key: type: string - amount: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - description: |- - Coin defines a token with a denomination and an amount. + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - DelegationResponse is equivalent to Delegation except that it contains a - balance in addition to shares which is more suitable for client responses. - cosmos.staking.v1beta1.Description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - cosmos.staking.v1beta1.HistoricalInfo: + was set, its value is undefined otherwise + title: |- + QueryValidatorDelegationsResponse is response type for the + Query/ValidatorDelegations RPC method + cosmos.staking.v1beta1.QueryValidatorResponse: type: object properties: - header: + validator: type: object properties: - version: - title: basic block info + operator_address: + type: string + description: >- + operator_address defines the address of the validator's operator; + bech encoded in JSON. + consensus_pubkey: type: object properties: - block: + type_url: type: string - format: uint64 - app: + 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. + value: type: string - format: uint64 + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - Consensus captures the consensus rules for processing a block in - the blockchain, + `Any` contains an arbitrary serialized protocol buffer message + along with a - including all blockchain data structures and the rules of the - application's + URL that describes the type of the serialized message. - state transition machine. - chain_id: + + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from bonded + status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). type: string - height: + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a validator's + delegators. + description: + description: description defines the description terms for the validator. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string format: int64 - time: + description: >- + unbonding_height defines, if unbonding, the height at which this + validator has begun unbonding. + unbonding_time: type: string format: date-time - last_block_id: - title: prev block info + description: >- + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. type: object properties: - hash: - type: string - format: byte - part_set_header: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be + used for creating a validator. type: object properties: - total: - type: integer - format: int64 - hash: + rate: type: string - format: byte - title: PartsetHeader - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: + description: >- + rate is the commission rate charged to delegators, as a + fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase of the + validator commission, as a fraction. + update_time: + type: string + format: date-time + description: update_time is the last time the commission rate was changed. + min_self_delegation: type: string - format: byte - evidence_hash: + description: >- + min_self_delegation is the validator's self declared minimum self + delegation. + + + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the + + Validator's bond shares and their exchange rate to coins. Slashing + results in + + a decrease in the exchange rate, allowing correct calculation of + future + + undelegations without iterating over delegators. When coins are + delegated to + + this validator, the validator is credited with a delegation whose + number of + + bond shares is based on the amount of coins delegated divided by the + current + + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + title: QueryValidatorResponse is response type for the Query/Validator RPC method + cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: + type: object + properties: + unbonding_responses: + type: array + items: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height is the height which the unbonding took + place. + completion_time: + type: string + format: date-time + description: completion_time is the unix time for unbonding completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially scheduled to + receive at completion. + balance: + type: string + description: balance defines the tokens to receive at completion. + description: >- + UnbondingDelegationEntry defines an unbonding object with + relevant metadata. + description: entries are the unbonding delegation entries. + description: >- + UnbondingDelegation stores all of a single delegator's unbonding + bonds + + for a single validator in an time-ordered list. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string format: byte - title: consensus info - proposer_address: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: byte - description: Header defines the structure of a block header. - valset: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryValidatorUnbondingDelegationsResponse is response type for the + Query/ValidatorUnbondingDelegations RPC method. + cosmos.staking.v1beta1.QueryValidatorsResponse: + type: object + properties: + validators: type: array items: type: object @@ -70255,1430 +82091,2339 @@ definitions: bond shares is based on the amount of coins delegated divided by the current - exchange rate. Voting power can be calculated as total bonded shares + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + description: validators contains all the queried validators. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + QueryValidatorsResponse is response type for the Query/Validators RPC + method + cosmos.staking.v1beta1.Redelegation: + type: object + properties: + delegator_address: + type: string + description: delegator_address is the bech32-encoded address of the delegator. + validator_src_address: + type: string + description: >- + validator_src_address is the validator redelegation source operator + address. + validator_dst_address: + type: string + description: >- + validator_dst_address is the validator redelegation destination + operator address. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the redelegation took + place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for redelegation + completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when redelegation + started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator shares created + by redelegation. + description: >- + RedelegationEntry defines a redelegation object with relevant + metadata. + description: entries are the redelegation entries. + description: >- + Redelegation contains the list of a particular delegator's redelegating + bonds + + from a particular source validator to a particular destination validator. + cosmos.staking.v1beta1.RedelegationEntry: + type: object + properties: + creation_height: + type: string + format: int64 + description: creation_height defines the height which the redelegation took place. + completion_time: + type: string + format: date-time + description: completion_time defines the unix time for redelegation completion. + initial_balance: + type: string + description: initial_balance defines the initial balance when redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator shares created by + redelegation. + description: RedelegationEntry defines a redelegation object with relevant metadata. + cosmos.staking.v1beta1.RedelegationEntryResponse: + type: object + properties: + redelegation_entry: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the redelegation took + place. + completion_time: + type: string + format: date-time + description: completion_time defines the unix time for redelegation completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when redelegation + started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator shares created + by redelegation. + description: >- + RedelegationEntry defines a redelegation object with relevant + metadata. + balance: + type: string + description: >- + RedelegationEntryResponse is equivalent to a RedelegationEntry except that + it + + contains a balance in addition to shares which is more suitable for client + + responses. + cosmos.staking.v1beta1.RedelegationResponse: + type: object + properties: + redelegation: + type: object + properties: + delegator_address: + type: string + description: delegator_address is the bech32-encoded address of the delegator. + validator_src_address: + type: string + description: >- + validator_src_address is the validator redelegation source + operator address. + validator_dst_address: + type: string + description: >- + validator_dst_address is the validator redelegation destination + operator address. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the redelegation + took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for redelegation + completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when + redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator shares + created by redelegation. + description: >- + RedelegationEntry defines a redelegation object with relevant + metadata. + description: entries are the redelegation entries. + description: >- + Redelegation contains the list of a particular delegator's + redelegating bonds + + from a particular source validator to a particular destination + validator. + entries: + type: array + items: + type: object + properties: + redelegation_entry: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the redelegation + took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for redelegation + completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance when + redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of destination-validator shares + created by redelegation. + description: >- + RedelegationEntry defines a redelegation object with relevant + metadata. + balance: + type: string + description: >- + RedelegationEntryResponse is equivalent to a RedelegationEntry + except that it + + contains a balance in addition to shares which is more suitable for + client + + responses. + description: >- + RedelegationResponse is equivalent to a Redelegation except that its + entries + + contain a balance in addition to shares which is more suitable for client + + responses. + cosmos.staking.v1beta1.UnbondingDelegation: + type: object + properties: + delegator_address: + type: string + description: delegator_address is the bech32-encoded address of the delegator. + validator_address: + type: string + description: validator_address is the bech32-encoded address of the validator. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: creation_height is the height which the unbonding took place. + completion_time: + type: string + format: date-time + description: completion_time is the unix time for unbonding completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially scheduled to + receive at completion. + balance: + type: string + description: balance defines the tokens to receive at completion. + description: >- + UnbondingDelegationEntry defines an unbonding object with relevant + metadata. + description: entries are the unbonding delegation entries. + description: |- + UnbondingDelegation stores all of a single delegator's unbonding bonds + for a single validator in an time-ordered list. + cosmos.staking.v1beta1.UnbondingDelegationEntry: + type: object + properties: + creation_height: + type: string + format: int64 + description: creation_height is the height which the unbonding took place. + completion_time: + type: string + format: date-time + description: completion_time is the unix time for unbonding completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially scheduled to receive at + completion. + balance: + type: string + description: balance defines the tokens to receive at completion. + description: >- + UnbondingDelegationEntry defines an unbonding object with relevant + metadata. + cosmos.staking.v1beta1.Validator: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the validator's operator; bech + encoded in JSON. + consensus_pubkey: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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 - multiplied by exchange rate. - description: >- - HistoricalInfo contains header and validator information for a given - block. + representation, that representation will be embedded adding a field - It is stored as part of staking module's state, which persists the `n` - most + `value` which holds the custom JSON in addition to the `@type` - recent HistoricalInfo + field. Example (for message [google.protobuf.Duration][]): - (`n` is set by the staking module's `historical_entries` parameter). - cosmos.staking.v1beta1.Params: - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + jailed: + type: boolean description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: + jailed defined whether the validator has been jailed from bonded + status or not. + status: + description: status is the validator status (bonded/unbonding/unbonded). type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that a - validator can charge their delegators - description: Params defines the parameters for the staking module. - cosmos.staking.v1beta1.Pool: - type: object - properties: - not_bonded_tokens: + description: tokens define the delegated tokens (incl. self-delegation). + delegator_shares: type: string - bonded_tokens: + description: >- + delegator_shares defines total shares issued to a validator's + delegators. + description: + description: description defines the description terms for the validator. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: security_contact defines an optional email for security contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string - description: |- - Pool is used for tracking bonded and not-bonded token supply of the bond - denomination. - cosmos.staking.v1beta1.QueryDelegationResponse: - type: object - properties: - delegation_response: + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at which this + validator has begun unbonding. + unbonding_time: + type: string + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for the validator + to complete unbonding. + commission: + description: commission defines the commission parameters. type: object properties: - delegation: + commission_rates: + description: >- + commission_rates defines the initial commission rates to be used + for creating a validator. type: object properties: - delegator_address: + rate: type: string description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: + rate is the commission rate charged to delegators, as a + fraction. + max_rate: type: string description: >- - validator_address is the bech32-encoded address of the - validator. - shares: + max_rate defines the maximum commission rate which validator + can ever charge, as a fraction. + max_change_rate: type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an account. It - is + description: >- + max_change_rate defines the maximum daily increase of the + validator commission, as a fraction. + update_time: + type: string + format: date-time + description: update_time is the last time the commission rate was changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared minimum self + delegation. - owned by one delegator, and is associated with the voting power of - one - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total amount of the + + Validator's bond shares and their exchange rate to coins. Slashing results + in + a decrease in the exchange rate, allowing correct calculation of future - NOTE: The amount field is an Int which implements the custom - method + undelegations without iterating over delegators. When coins are delegated + to - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that it contains - a + this validator, the validator is credited with a delegation whose number + of - balance in addition to shares which is more suitable for client - responses. - description: >- - QueryDelegationResponse is response type for the Query/Delegation RPC - method. - cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse: + bond shares is based on the amount of coins delegated divided by the + current + + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + cosmos.base.abci.v1beta1.ABCIMessageLog: type: object properties: - delegation_responses: + msg_index: + type: integer + format: int64 + log: + type: string + events: type: array items: type: object properties: - delegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - shares: - type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an account. - It is - - owned by one delegator, and is associated with the voting power - of one - - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that it - contains a - - balance in addition to shares which is more suitable for client - responses. - description: delegation_responses defines all the delegations' info of a delegator. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key and value + are - was set, its value is undefined otherwise + strings instead of raw bytes. + description: |- + StringEvent defines en Event object wrapper where all the attributes + contain key/value pairs that are strings instead of raw bytes. + description: |- + Events contains a slice of Event objects that were emitted during some + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI message + log. + cosmos.base.abci.v1beta1.Attribute: + type: object + properties: + key: + type: string + value: + type: string description: |- - QueryDelegatorDelegationsResponse is response type for the - Query/DelegatorDelegations RPC method. - cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse: + Attribute defines an attribute wrapper where the key and value are + strings instead of raw bytes. + cosmos.base.abci.v1beta1.GasInfo: type: object properties: - unbonding_responses: + gas_wanted: + type: string + format: uint64 + description: GasWanted is the maximum units of work we allow this tx to perform. + gas_used: + type: string + format: uint64 + description: GasUsed is the amount of gas actually consumed. + description: GasInfo defines tx execution gas context. + cosmos.base.abci.v1beta1.Result: + type: object + properties: + data: + type: string + format: byte + description: >- + Data is any data returned from message or handler execution. It MUST + be + + length prefixed in order to separate data from multiple message + executions. + + Deprecated. This field is still populated, but prefer msg_response + instead + + because it also contains the Msg response typeURL. + log: + type: string + description: Log contains the log information from message or handler execution. + events: type: array items: type: object properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: + type: type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - entries: + attributes: type: array items: type: object properties: - creation_height: - type: string - format: int64 - description: >- - creation_height is the height which the unbonding took - place. - completion_time: - type: string - format: date-time - description: completion_time is the unix time for unbonding completion. - initial_balance: + key: type: string - description: >- - initial_balance defines the tokens initially scheduled to - receive at completion. - balance: + format: byte + value: type: string - description: balance defines the tokens to receive at completion. + format: byte + index: + type: boolean description: >- - UnbondingDelegationEntry defines an unbonding object with - relevant metadata. - description: entries are the unbonding delegation entries. + EventAttribute is a single key-value pair, associated with an + event. description: >- - UnbondingDelegation stores all of a single delegator's unbonding - bonds + Event allows application developers to attach additional information + to - for a single validator in an time-ordered list. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - was set, its value is undefined otherwise - description: |- - QueryUnbondingDelegatorDelegationsResponse is response type for the - Query/UnbondingDelegatorDelegations RPC method. - cosmos.staking.v1beta1.QueryDelegatorValidatorResponse: - type: object - properties: - validator: - type: object - properties: - operator_address: - type: string - description: >- - operator_address defines the address of the validator's operator; - bech encoded in JSON. - consensus_pubkey: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted during + message - protocol buffer message. This string must contain at least + or handler execution. + msg_responses: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - one "/" character. The last segment of the URL's path must - represent + protocol buffer message. This string must contain at least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path must + represent - `path/google.protobuf.Duration`). The name should be in a - canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `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 + In practice, teams usually precompile into the binary all types + that they - scheme `http`, `https`, or no scheme, one can optionally set - up a type + expect it to use in the context of Any. However, for URLs which + use the - server that maps type URLs to message definitions as follows: + 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.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in the - official + * 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.) - protobuf release, and it is not used for type URLs beginning - with + Note: this functionality is not currently available in the + official - type.googleapis.com. + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Schemes other than `http`, `https` (or the empty scheme) might + be - URL that describes the type of the serialized message. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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. + 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++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.UnpackTo(&foo)) { - ... - } + } - Example 2: Pack and unpack a message in Java. + 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); - } + 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 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + } - The pack methods provided by protobuf library will by default use + The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last '/' + 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 + in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from bonded - status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a validator's - delegators. - description: - description: description defines the description terms for the validator. - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be - used for creating a validator. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + msg_responses contains the Msg handler responses type packed in Anys. + + Since: cosmos-sdk 0.46 + description: Result is the union of ResponseFormat and ResponseCheckTx. + cosmos.base.abci.v1beta1.StringEvent: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: |- + Attribute defines an attribute wrapper where the key and value are + strings instead of raw bytes. + description: |- + StringEvent defines en Event object wrapper where all the attributes + contain key/value pairs that are strings instead of raw bytes. + cosmos.base.abci.v1beta1.TxResponse: + type: object + properties: + height: + type: string + format: int64 + title: The block height + txhash: + type: string + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: 'Result bytes, if any.' + raw_log: + type: string + description: |- + The output of the application's logger (raw string). May be + non-deterministic. + logs: + type: array + items: + type: object + properties: + msg_index: + type: integer + format: int64 + log: + type: string + events: + type: array + items: type: object properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: + type: type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - update_time: - type: string - format: date-time - description: update_time is the last time the commission rate was changed. - min_self_delegation: + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key and + value are + + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all the + attributes + + contain key/value pairs that are strings instead of raw bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some + + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI + message log. + description: >- + The output of the application's logger (typed). May be + non-deterministic. + info: + type: string + description: Additional information. May be non-deterministic. + gas_wanted: + type: string + format: int64 + description: Amount of gas requested for transaction. + gas_used: + type: string + format: int64 + description: Amount of gas consumed by transaction. + tx: + type: object + properties: + type_url: type: string description: >- - min_self_delegation is the validator's self declared minimum self - delegation. + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - Since: cosmos-sdk 0.46 - description: >- - Validator defines a validator, together with the total amount of the + one "/" character. The last segment of the URL's path must + represent - Validator's bond shares and their exchange rate to coins. Slashing - results in + the fully qualified name of the type (as in - a decrease in the exchange rate, allowing correct calculation of - future + `path/google.protobuf.Duration`). The name should be in a + canonical form - undelegations without iterating over delegators. When coins are - delegated to + (e.g., leading "." is not accepted). - this validator, the validator is credited with a delegation whose - number of - bond shares is based on the amount of coins delegated divided by the - current + In practice, teams usually precompile into the binary all types + that they - exchange rate. Voting power can be calculated as total bonded shares + expect it to use in the context of Any. However, for URLs which + use the - multiplied by exchange rate. - description: |- - QueryDelegatorValidatorResponse response type for the - Query/DelegatorValidator RPC method. - cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse: - type: object - properties: - validators: - type: array - items: - type: object - properties: - operator_address: - type: string - description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + scheme `http`, `https`, or no scheme, one can optionally set up a + type - protocol buffer message. This string must contain at least + server that maps type URLs to message definitions as follows: - one "/" character. The last segment of the URL's path must - represent - the fully qualified name of the type (as in + * If no scheme is provided, `https` is assumed. - `path/google.protobuf.Duration`). The name should be in a - canonical form + * 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.) - (e.g., leading "." is not accepted). + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning with - In practice, teams usually precompile into the binary all - types that they + type.googleapis.com. - 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 + Schemes other than `http`, `https` (or the empty scheme) might be - server that maps type URLs to message definitions as - follows: + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + URL that describes the type of the serialized message. - * 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.) + Protobuf library provides support to pack/unpack Any values in the + form - Note: this functionality is not currently available in the - official + of utility functions or additional generated methods of the Any type. - protobuf release, and it is not used for type URLs beginning - with - type.googleapis.com. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Schemes other than `http`, `https` (or the empty scheme) - might be + Example 2: Pack and unpack a message in Java. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - URL that describes the type of the serialized message. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Protobuf library provides support to pack/unpack Any values in - the form + Example 4: Pack and unpack a message in Go - of utility functions or additional generated methods of the Any - type. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default use - Example 1: Pack and unpack a message in C++. + 'type.googleapis.com/full.type.name' as the type URL and the unpack - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + 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": + } - Example 2: Pack and unpack a message in Java. + If the embedded message type is well-known and has a custom JSON - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + representation, that representation will be embedded adding a field - Example 3: Pack and unpack a message in Python. + `value` which holds the custom JSON in addition to the `@type` - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + field. Example (for message [google.protobuf.Duration][]): - Example 4: Pack and unpack a message in Go + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + timestamp: + type: string + description: >- + Time of the previous block. For heights > 1, it's the weighted median + of - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + the timestamps of the valid votes in the block.LastCommit. For height + == 1, - The pack methods provided by protobuf library will by default - use + it's genesis time. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: >- + EventAttribute is a single key-value pair, associated with an + event. + description: >- + Event allows application developers to attach additional information + to - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - methods only use the fully qualified type name after the last - '/' + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, - in the type URL, for example "foo.bar.com/x/y.z" will yield type + these events include those emitted by processing all the messages and + those - name "y.z". + emitted from the ante. Whereas Logs contains the events, with + additional metadata, emitted only by processing the messages. - JSON + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and metadata. + The - ==== + tags are stringified and the log is JSON decoded. + cosmos.crypto.multisig.v1beta1.CompactBitArray: + type: object + properties: + extra_bits_stored: + type: integer + format: int64 + elems: + type: string + format: byte + description: |- + CompactBitArray is an implementation of a space efficient bit array. + This is used to ensure that the encoded data takes up a minimal amount of + space after proto encoding. + This is not thread safe, and is not intended for concurrent usage. + cosmos.tx.signing.v1beta1.SignMode: + type: string + enum: + - SIGN_MODE_UNSPECIFIED + - SIGN_MODE_DIRECT + - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX + - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 + default: SIGN_MODE_UNSPECIFIED + description: |- + SignMode represents a signing mode with its own security guarantees. - The JSON representation of an `Any` value uses the regular + This enum should be considered a registry of all known sign modes + in the Cosmos ecosystem. Apps are not expected to support all known + sign modes. Apps that would like to support custom sign modes are + encouraged to open a small PR against this file to add a new case + to this SignMode enum describing their sign mode so that different + apps have a consistent version of this enum. - representation of the deserialized, embedded message, with an + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + verified with raw bytes from Tx. + - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some + human-readable textual representation on top of the binary representation + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not + require signers signing over other signers' `signer_info`. It also allows + for adding Tips in transactions. - additional field `@type` which contains the type URL. Example: + Since: cosmos-sdk 0.46 + - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + but is not implemented on the SDK by default. To enable EIP-191, you need + to pass a custom `TxConfig` that has an implementation of + `SignModeHandler` for EIP-191. The SDK may decide to fully support + EIP-191 in the future. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Since: cosmos-sdk 0.45.2 + cosmos.tx.v1beta1.AuthInfo: + type: object + properties: + signer_infos: + type: array + items: + $ref: '#/definitions/cosmos.tx.v1beta1.SignerInfo' + description: >- + signer_infos defines the signing modes for the required signers. The + number - If the embedded message type is well-known and has a custom JSON + and order of elements must match the required signers from TxBody's - representation, that representation will be embedded adding a - field + messages. The first element is the primary signer and the one which + pays - `value` which holds the custom JSON in addition to the `@type` + the fee. + fee: + description: >- + Fee is the fee and gas limit for the transaction. The first signer is + the - field. Example (for message [google.protobuf.Duration][]): + primary signer and the one which pays the fee. The fee can be + calculated - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from bonded - status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a validator's - delegators. - description: - description: description defines the description terms for the validator. + based on the cost of evaluating the body and doing signature + verification + + of the signers. This can be estimated via simulation. + type: object + properties: + amount: + type: array + items: type: object properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: + denom: type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be - used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of - the validator commission, as a fraction. - update_time: + amount: type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: - type: string description: >- - min_self_delegation is the validator's self declared minimum - self delegation. + Coin defines a token with a denomination and an amount. - Since: cosmos-sdk 0.46 - description: >- - Validator defines a validator, together with the total amount of the + NOTE: The amount field is an Int which implements the custom + method - Validator's bond shares and their exchange rate to coins. Slashing - results in + signatures required by gogoproto. + title: amount is the amount of coins to be paid as a fee + gas_limit: + type: string + format: uint64 + title: >- + gas_limit is the maximum gas that can be used in transaction + processing - a decrease in the exchange rate, allowing correct calculation of - future + before an out of gas error occurs + payer: + type: string + description: >- + if unset, the first signer is responsible for paying the fees. If + set, the specified account must pay the fees. - undelegations without iterating over delegators. When coins are - delegated to + the payer must be a tx signer (and thus have signed this field in + AuthInfo). - this validator, the validator is credited with a delegation whose - number of + setting this field does *not* change the ordering of required + signers for the transaction. + granter: + type: string + title: >- + if set, the fee payer (either the first signer or the value of the + payer field) requests that a fee grant be used - bond shares is based on the amount of coins delegated divided by the - current + to pay fees instead of the fee payer's own balance. If an + appropriate fee grant does not exist or the chain does - exchange rate. Voting power can be calculated as total bonded shares + not support fee grants, this will fail + tip: + description: >- + Tip is the optional tip used for transactions fees paid in another + denom. - multiplied by exchange rate. - description: validators defines the validators' info of a delegator. - pagination: - description: pagination defines the pagination in the response. + + This field is ignored if the chain didn't enable tips, i.e. didn't add + the + + `TipDecorator` in its posthandler. + + + Since: cosmos-sdk 0.46 type: object properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + title: amount is the amount of the tip + tipper: + type: string + title: tipper is the address of the account paying for the tip description: |- - QueryDelegatorValidatorsResponse is response type for the - Query/DelegatorValidators RPC method. - cosmos.staking.v1beta1.QueryHistoricalInfoResponse: + AuthInfo describes the fee and signer modes that are used to sign a + transaction. + cosmos.tx.v1beta1.BroadcastMode: + type: string + enum: + - BROADCAST_MODE_UNSPECIFIED + - BROADCAST_MODE_BLOCK + - BROADCAST_MODE_SYNC + - BROADCAST_MODE_ASYNC + default: BROADCAST_MODE_UNSPECIFIED + description: >- + BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC + method. + + - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering + - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for + the tx to be committed in a block. + - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + a CheckTx execution response only. + - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + immediately. + cosmos.tx.v1beta1.BroadcastTxRequest: type: object properties: - hist: - description: hist defines the historical info at the given height. - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, - - including all blockchain data structures and the rules of the - application's + tx_bytes: + type: string + format: byte + description: tx_bytes is the raw transaction. + mode: + type: string + enum: + - BROADCAST_MODE_UNSPECIFIED + - BROADCAST_MODE_BLOCK + - BROADCAST_MODE_SYNC + - BROADCAST_MODE_ASYNC + default: BROADCAST_MODE_UNSPECIFIED + description: >- + BroadcastMode specifies the broadcast mode for the TxService.Broadcast + RPC method. - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - title: prev block info - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - valset: + - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering + - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for + the tx to be committed in a block. + - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + a CheckTx execution response only. + - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + immediately. + description: |- + BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + RPC method. + cosmos.tx.v1beta1.BroadcastTxResponse: + type: object + properties: + tx_response: + type: object + properties: + height: + type: string + format: int64 + title: The block height + txhash: + type: string + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: 'Result bytes, if any.' + raw_log: + type: string + description: |- + The output of the application's logger (raw string). May be + non-deterministic. + logs: type: array items: type: object properties: - operator_address: + msg_index: + type: integer + format: int64 + log: type: string + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key + and value are + + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all the + attributes + + contain key/value pairs that are strings instead of raw + bytes. description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + Events contains a slice of Event objects that were emitted + during some - protocol buffer message. This string must contain at - least + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI + message log. + description: >- + The output of the application's logger (typed). May be + non-deterministic. + info: + type: string + description: Additional information. May be non-deterministic. + gas_wanted: + type: string + format: int64 + description: Amount of gas requested for transaction. + gas_used: + type: string + format: int64 + description: Amount of gas consumed by transaction. + tx: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - one "/" character. The last segment of the URL's path - must represent + protocol buffer message. This string must contain at least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path must + represent - `path/google.protobuf.Duration`). The name should be in - a canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `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 + In practice, teams usually precompile into the binary all + types that they - scheme `http`, `https`, or no scheme, one can optionally - set up a type + expect it to use in the context of Any. However, for URLs + which use the - server that maps type URLs to message definitions as - follows: + 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.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in - the official + * 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.) - protobuf release, and it is not used for type URLs - beginning with + Note: this functionality is not currently available in the + official - type.googleapis.com. + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Schemes other than `http`, `https` (or the empty scheme) might + be - URL that describes the type of the serialized message. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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. + 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 1: Pack and unpack a message in C++. - Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Example 2: Pack and unpack a message in Java. - Example 3: Pack and unpack a message in Python. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 3: Pack and unpack a message in Python. - Example 4: Pack and unpack a message in Go + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Example 4: Pack and unpack a message in Go - The pack methods provided by protobuf library will by - default use + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + The pack methods provided by protobuf library will by default use - methods only use the fully qualified type name after the - last '/' + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + methods only use the fully qualified type name after the last '/' - name "y.z". + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". - JSON - ==== + JSON - The JSON representation of an `Any` value uses the regular + ==== - representation of the deserialized, embedded message, with - an + The JSON representation of an `Any` value uses the regular - additional field `@type` which contains the type URL. - Example: + representation of the deserialized, embedded message, with an - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + additional field `@type` which contains the type URL. Example: - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - If the embedded message type is well-known and has a custom - JSON + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - representation, that representation will be embedded adding - a field + If the embedded message type is well-known and has a custom JSON - `value` which holds the custom JSON in addition to the - `@type` + representation, that representation will be embedded adding a + field - field. Example (for message [google.protobuf.Duration][]): + `value` which holds the custom JSON in addition to the `@type` - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from - bonded status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: description defines the description terms for the validator. - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. - UPort or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which - this validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to - be used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, - as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase - of the validator commission, as a fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared minimum - self delegation. + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + timestamp: + type: string + description: >- + Time of the previous block. For heights > 1, it's the weighted + median of + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - Since: cosmos-sdk 0.46 + it's genesis time. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: >- + EventAttribute is a single key-value pair, associated with + an event. description: >- - Validator defines a validator, together with the total amount of - the + Event allows application developers to attach additional + information to - Validator's bond shares and their exchange rate to coins. - Slashing results in + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - a decrease in the exchange rate, allowing correct calculation of - future + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, - undelegations without iterating over delegators. When coins are - delegated to + these events include those emitted by processing all the messages + and those - this validator, the validator is credited with a delegation - whose number of + emitted from the ante. Whereas Logs contains the events, with + + additional metadata, emitted only by processing the messages. + + + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and + metadata. The + + tags are stringified and the log is JSON decoded. + description: |- + BroadcastTxResponse is the response type for the + Service.BroadcastTx method. + cosmos.tx.v1beta1.Fee: + type: object + properties: + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: amount is the amount of coins to be paid as a fee + gas_limit: + type: string + format: uint64 + title: >- + gas_limit is the maximum gas that can be used in transaction + processing + + before an out of gas error occurs + payer: + type: string + description: >- + if unset, the first signer is responsible for paying the fees. If set, + the specified account must pay the fees. + + the payer must be a tx signer (and thus have signed this field in + AuthInfo). - bond shares is based on the amount of coins delegated divided by - the current + setting this field does *not* change the ordering of required signers + for the transaction. + granter: + type: string + title: >- + if set, the fee payer (either the first signer or the value of the + payer field) requests that a fee grant be used - exchange rate. Voting power can be calculated as total bonded - shares + to pay fees instead of the fee payer's own balance. If an appropriate + fee grant does not exist or the chain does - multiplied by exchange rate. + not support fee grants, this will fail description: >- - QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo - RPC + Fee includes the amount of coins paid in fees and the maximum - method. - cosmos.staking.v1beta1.QueryParamsResponse: + gas to be used by the transaction. The ratio yields an effective + "gasprice", + + which must be above some miminum to be accepted into the mempool. + cosmos.tx.v1beta1.GetBlockWithTxsResponse: type: object properties: - params: - description: params holds all the parameters of this module. + txs: + type: array + items: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: txs are the transactions in the block. + block_id: type: object properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: + hash: type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that - a validator can charge their delegators - description: QueryParamsResponse is response type for the Query/Params RPC method. - cosmos.staking.v1beta1.QueryPoolResponse: - type: object - properties: - pool: - description: pool defines the pool info. + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: type: object properties: - not_bonded_tokens: - type: string - bonded_tokens: - type: string - description: QueryPoolResponse is response type for the Query/Pool RPC method. - cosmos.staking.v1beta1.QueryRedelegationsResponse: - type: object - properties: - redelegation_responses: - type: array - items: - type: object - properties: - redelegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_src_address: - type: string - description: >- - validator_src_address is the validator redelegation source - operator address. - validator_dst_address: - type: string - description: >- - validator_dst_address is the validator redelegation - destination operator address. - entries: - type: array - items: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: type: object properties: - creation_height: - type: string + total: + type: integer format: int64 - description: >- - creation_height defines the height which the - redelegation took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for redelegation - completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when - redelegation started. - shares_dst: + hash: type: string - description: >- - shares_dst is the amount of destination-validator - shares created by redelegation. - description: >- - RedelegationEntry defines a redelegation object with - relevant metadata. - description: entries are the redelegation entries. - description: >- - Redelegation contains the list of a particular delegator's - redelegating bonds + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - from a particular source validator to a particular destination - validator. - entries: - type: array - items: + NOTE: not all txs here are valid. We're just agreeing on the + order first. + + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + title: hashes of block data + data_hash: + type: string + format: byte + validators_hash: + type: string + format: byte + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + consensus_hash: + type: string + format: byte + app_hash: + type: string + format: byte + last_results_hash: + type: string + format: byte + evidence_hash: + type: string + format: byte + title: consensus info + proposer_address: + type: string + format: byte + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: type: object properties: - redelegation_entry: + hash: + type: string + format: byte + part_set_header: type: object properties: - creation_height: - type: string + total: + type: integer format: int64 - description: >- - creation_height defines the height which the - redelegation took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for redelegation - completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when - redelegation started. - shares_dst: + hash: type: string - description: >- - shares_dst is the amount of destination-validator - shares created by redelegation. - description: >- - RedelegationEntry defines a redelegation object with - relevant metadata. - balance: - type: string - description: >- - RedelegationEntryResponse is equivalent to a RedelegationEntry - except that it - - contains a balance in addition to shares which is more - suitable for client - - responses. - description: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries - - contain a balance in addition to shares which is more suitable for - client - - responses. + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. pagination: - description: pagination defines the pagination in the response. + description: pagination defines a pagination for the response. type: object properties: next_key: @@ -71697,142 +84442,102 @@ definitions: was set, its value is undefined otherwise description: >- - QueryRedelegationsResponse is response type for the Query/Redelegations - RPC + GetBlockWithTxsResponse is the response type for the + Service.GetBlockWithTxs method. - method. - cosmos.staking.v1beta1.QueryUnbondingDelegationResponse: + + Since: cosmos-sdk 0.45.2 + cosmos.tx.v1beta1.GetTxResponse: type: object properties: - unbond: + tx: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: tx is the queried transaction. + tx_response: type: object properties: - delegator_address: + height: type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_address: + format: int64 + title: The block height + txhash: type: string - description: validator_address is the bech32-encoded address of the validator. - entries: + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: 'Result bytes, if any.' + raw_log: + type: string + description: |- + The output of the application's logger (raw string). May be + non-deterministic. + logs: type: array items: type: object properties: - creation_height: - type: string + msg_index: + type: integer format: int64 - description: >- - creation_height is the height which the unbonding took - place. - completion_time: - type: string - format: date-time - description: completion_time is the unix time for unbonding completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially scheduled to - receive at completion. - balance: - type: string - description: balance defines the tokens to receive at completion. - description: >- - UnbondingDelegationEntry defines an unbonding object with - relevant metadata. - description: entries are the unbonding delegation entries. - description: |- - UnbondingDelegation stores all of a single delegator's unbonding bonds - for a single validator in an time-ordered list. - description: |- - QueryDelegationResponse is response type for the Query/UnbondingDelegation - RPC method. - cosmos.staking.v1beta1.QueryValidatorDelegationsResponse: - type: object - properties: - delegation_responses: - type: array - items: - type: object - properties: - delegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - shares: - type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an account. - It is - - owned by one delegator, and is associated with the voting power - of one - - validator. - balance: - type: object - properties: - denom: - type: string - amount: + log: type: string - description: >- - Coin defines a token with a denomination and an amount. - + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key + and value are - NOTE: The amount field is an Int which implements the custom - method + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all the + attributes - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that it - contains a + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some - balance in addition to shares which is more suitable for client - responses. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI + message log. + description: >- + The output of the application's logger (typed). May be + non-deterministic. + info: type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + description: Additional information. May be non-deterministic. + gas_wanted: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - title: |- - QueryValidatorDelegationsResponse is response type for the - Query/ValidatorDelegations RPC method - cosmos.staking.v1beta1.QueryValidatorResponse: - type: object - properties: - validator: - type: object - properties: - operator_address: + format: int64 + description: Amount of gas requested for transaction. + gas_used: type: string - description: >- - operator_address defines the address of the validator's operator; - bech encoded in JSON. - consensus_pubkey: + format: int64 + description: Amount of gas consumed by transaction. + tx: type: object properties: type_url: @@ -71997,208 +84702,161 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from bonded - status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a validator's - delegators. - description: - description: description defines the description terms for the validator. - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be - used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - update_time: - type: string - format: date-time - description: update_time is the last time the commission rate was changed. - min_self_delegation: + timestamp: type: string description: >- - min_self_delegation is the validator's self declared minimum self - delegation. + Time of the previous block. For heights > 1, it's the weighted + median of + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - Since: cosmos-sdk 0.46 - description: >- - Validator defines a validator, together with the total amount of the + it's genesis time. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: >- + EventAttribute is a single key-value pair, associated with + an event. + description: >- + Event allows application developers to attach additional + information to - Validator's bond shares and their exchange rate to coins. Slashing - results in + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. + + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, - a decrease in the exchange rate, allowing correct calculation of - future + these events include those emitted by processing all the messages + and those - undelegations without iterating over delegators. When coins are - delegated to + emitted from the ante. Whereas Logs contains the events, with - this validator, the validator is credited with a delegation whose - number of + additional metadata, emitted only by processing the messages. - bond shares is based on the amount of coins delegated divided by the - current - exchange rate. Voting power can be calculated as total bonded shares + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and + metadata. The - multiplied by exchange rate. - title: QueryValidatorResponse is response type for the Query/Validator RPC method - cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: + tags are stringified and the log is JSON decoded. + description: GetTxResponse is the response type for the Service.GetTx method. + cosmos.tx.v1beta1.GetTxsEventResponse: type: object properties: - unbonding_responses: + txs: + type: array + items: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: txs is the list of queried transactions. + tx_responses: type: array items: type: object properties: - delegator_address: + height: type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: + format: int64 + title: The block height + txhash: type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - entries: + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: 'Result bytes, if any.' + raw_log: + type: string + description: |- + The output of the application's logger (raw string). May be + non-deterministic. + logs: type: array items: type: object properties: - creation_height: - type: string + msg_index: + type: integer format: int64 - description: >- - creation_height is the height which the unbonding took - place. - completion_time: - type: string - format: date-time - description: completion_time is the unix time for unbonding completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially scheduled to - receive at completion. - balance: + log: type: string - description: balance defines the tokens to receive at completion. - description: >- - UnbondingDelegationEntry defines an unbonding object with - relevant metadata. - description: entries are the unbonding delegation entries. - description: >- - UnbondingDelegation stores all of a single delegator's unbonding - bonds + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the + key and value are - for a single validator in an time-ordered list. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all + the attributes - was set, its value is undefined otherwise - description: |- - QueryValidatorUnbondingDelegationsResponse is response type for the - Query/ValidatorUnbondingDelegations RPC method. - cosmos.staking.v1beta1.QueryValidatorsResponse: - type: object - properties: - validators: - type: array - items: - type: object - properties: - operator_address: - type: string + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some + + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx + ABCI message log. description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: + The output of the application's logger (typed). May be + non-deterministic. + info: + type: string + description: Additional information. May be non-deterministic. + gas_wanted: + type: string + format: int64 + description: Amount of gas requested for transaction. + gas_used: + type: string + format: int64 + description: Amount of gas consumed by transaction. + tx: type: object properties: type_url: @@ -72367,126 +85025,70 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from bonded - status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a validator's - delegators. - description: - description: description defines the description terms for the validator. - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be - used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of - the validator commission, as a fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: + timestamp: type: string description: >- - min_self_delegation is the validator's self declared minimum - self delegation. + Time of the previous block. For heights > 1, it's the weighted + median of + the timestamps of the valid votes in the block.LastCommit. For + height == 1, - Since: cosmos-sdk 0.46 - description: >- - Validator defines a validator, together with the total amount of the + it's genesis time. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: >- + EventAttribute is a single key-value pair, associated + with an event. + description: >- + Event allows application developers to attach additional + information to - Validator's bond shares and their exchange rate to coins. Slashing - results in + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - a decrease in the exchange rate, allowing correct calculation of - future + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a + transaction. Note, - undelegations without iterating over delegators. When coins are - delegated to + these events include those emitted by processing all the + messages and those - this validator, the validator is credited with a delegation whose - number of + emitted from the ante. Whereas Logs contains the events, with - bond shares is based on the amount of coins delegated divided by the - current + additional metadata, emitted only by processing the messages. - exchange rate. Voting power can be calculated as total bonded shares - multiplied by exchange rate. - description: validators contains all the queried validators. + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: >- + TxResponse defines a structure containing relevant tx data and + metadata. The + + tags are stringified and the log is JSON decoded. + description: tx_responses is the list of queried TxResponses. pagination: - description: pagination defines the pagination in the response. + description: |- + pagination defines a pagination for the response. + Deprecated post v0.46.x: use total instead. type: object properties: next_key: @@ -72504,293 +85106,213 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - title: >- - QueryValidatorsResponse is response type for the Query/Validators RPC - method - cosmos.staking.v1beta1.Redelegation: - type: object - properties: - delegator_address: - type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_src_address: - type: string - description: >- - validator_src_address is the validator redelegation source operator - address. - validator_dst_address: - type: string - description: >- - validator_dst_address is the validator redelegation destination - operator address. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the redelegation took - place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for redelegation - completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when redelegation - started. - shares_dst: - type: string - description: >- - shares_dst is the amount of destination-validator shares created - by redelegation. - description: >- - RedelegationEntry defines a redelegation object with relevant - metadata. - description: entries are the redelegation entries. - description: >- - Redelegation contains the list of a particular delegator's redelegating - bonds - - from a particular source validator to a particular destination validator. - cosmos.staking.v1beta1.RedelegationEntry: - type: object - properties: - creation_height: - type: string - format: int64 - description: creation_height defines the height which the redelegation took place. - completion_time: - type: string - format: date-time - description: completion_time defines the unix time for redelegation completion. - initial_balance: - type: string - description: initial_balance defines the initial balance when redelegation started. - shares_dst: + total: type: string - description: >- - shares_dst is the amount of destination-validator shares created by - redelegation. - description: RedelegationEntry defines a redelegation object with relevant metadata. - cosmos.staking.v1beta1.RedelegationEntryResponse: + format: uint64 + title: total is total number of results available + description: |- + GetTxsEventResponse is the response type for the Service.TxsByEvents + RPC method. + cosmos.tx.v1beta1.ModeInfo: type: object properties: - redelegation_entry: + single: + title: single represents a single signer type: object properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the redelegation took - place. - completion_time: - type: string - format: date-time - description: completion_time defines the unix time for redelegation completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when redelegation - started. - shares_dst: + mode: + title: mode is the signing mode of the single signer type: string + enum: + - SIGN_MODE_UNSPECIFIED + - SIGN_MODE_DIRECT + - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX + - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 + default: SIGN_MODE_UNSPECIFIED description: >- - shares_dst is the amount of destination-validator shares created - by redelegation. - description: >- - RedelegationEntry defines a redelegation object with relevant - metadata. - balance: - type: string - description: >- - RedelegationEntryResponse is equivalent to a RedelegationEntry except that - it + SignMode represents a signing mode with its own security + guarantees. - contains a balance in addition to shares which is more suitable for client - responses. - cosmos.staking.v1beta1.RedelegationResponse: + This enum should be considered a registry of all known sign modes + + in the Cosmos ecosystem. Apps are not expected to support all + known + + sign modes. Apps that would like to support custom sign modes are + + encouraged to open a small PR against this file to add a new case + + to this SignMode enum describing their sign mode so that different + + apps have a consistent version of this enum. + + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + verified with raw bytes from Tx. + - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some + human-readable textual representation on top of the binary + representation + + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode + does not + + require signers signing over other signers' `signer_info`. It also + allows + + for adding Tips in transactions. + + + Since: cosmos-sdk 0.46 + - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + + + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum + variant, + + but is not implemented on the SDK by default. To enable EIP-191, + you need + + to pass a custom `TxConfig` that has an implementation of + + `SignModeHandler` for EIP-191. The SDK may decide to fully support + + EIP-191 in the future. + + + Since: cosmos-sdk 0.45.2 + multi: + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi' + title: multi represents a nested multisig signer + description: ModeInfo describes the signing mode of a single or nested multisig signer. + cosmos.tx.v1beta1.ModeInfo.Multi: type: object properties: - redelegation: + bitarray: + title: bitarray specifies which keys within the multisig are signing type: object properties: - delegator_address: - type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_src_address: - type: string - description: >- - validator_src_address is the validator redelegation source - operator address. - validator_dst_address: + extra_bits_stored: + type: integer + format: int64 + elems: type: string - description: >- - validator_dst_address is the validator redelegation destination - operator address. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the redelegation - took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for redelegation - completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when - redelegation started. - shares_dst: - type: string - description: >- - shares_dst is the amount of destination-validator shares - created by redelegation. - description: >- - RedelegationEntry defines a redelegation object with relevant - metadata. - description: entries are the redelegation entries. + format: byte description: >- - Redelegation contains the list of a particular delegator's - redelegating bonds - - from a particular source validator to a particular destination - validator. - entries: - type: array - items: - type: object - properties: - redelegation_entry: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the redelegation - took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for redelegation - completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance when - redelegation started. - shares_dst: - type: string - description: >- - shares_dst is the amount of destination-validator shares - created by redelegation. - description: >- - RedelegationEntry defines a redelegation object with relevant - metadata. - balance: - type: string - description: >- - RedelegationEntryResponse is equivalent to a RedelegationEntry - except that it - - contains a balance in addition to shares which is more suitable for - client + CompactBitArray is an implementation of a space efficient bit array. - responses. - description: >- - RedelegationResponse is equivalent to a Redelegation except that its - entries + This is used to ensure that the encoded data takes up a minimal amount + of - contain a balance in addition to shares which is more suitable for client + space after proto encoding. - responses. - cosmos.staking.v1beta1.UnbondingDelegation: - type: object - properties: - delegator_address: - type: string - description: delegator_address is the bech32-encoded address of the delegator. - validator_address: - type: string - description: validator_address is the bech32-encoded address of the validator. - entries: + This is not thread safe, and is not intended for concurrent usage. + mode_infos: type: array items: - type: object - properties: - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - completion_time: - type: string - format: date-time - description: completion_time is the unix time for unbonding completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially scheduled to - receive at completion. - balance: - type: string - description: balance defines the tokens to receive at completion. - description: >- - UnbondingDelegationEntry defines an unbonding object with relevant - metadata. - description: entries are the unbonding delegation entries. - description: |- - UnbondingDelegation stores all of a single delegator's unbonding bonds - for a single validator in an time-ordered list. - cosmos.staking.v1beta1.UnbondingDelegationEntry: + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' + title: |- + mode_infos is the corresponding modes of the signers of the multisig + which could include nested multisig public keys + title: Multi is the mode info for a multisig public key + cosmos.tx.v1beta1.ModeInfo.Single: type: object properties: - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - completion_time: - type: string - format: date-time - description: completion_time is the unix time for unbonding completion. - initial_balance: + mode: + title: mode is the signing mode of the single signer type: string + enum: + - SIGN_MODE_UNSPECIFIED + - SIGN_MODE_DIRECT + - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX + - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 + default: SIGN_MODE_UNSPECIFIED description: >- - initial_balance defines the tokens initially scheduled to receive at - completion. - balance: - type: string - description: balance defines the tokens to receive at completion. + SignMode represents a signing mode with its own security guarantees. + + + This enum should be considered a registry of all known sign modes + + in the Cosmos ecosystem. Apps are not expected to support all known + + sign modes. Apps that would like to support custom sign modes are + + encouraged to open a small PR against this file to add a new case + + to this SignMode enum describing their sign mode so that different + + apps have a consistent version of this enum. + + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected. + - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + verified with raw bytes from Tx. + - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some + human-readable textual representation on top of the binary + representation + + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does + not + + require signers signing over other signers' `signer_info`. It also + allows + + for adding Tips in transactions. + + + Since: cosmos-sdk 0.46 + - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + + + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + + but is not implemented on the SDK by default. To enable EIP-191, you + need + + to pass a custom `TxConfig` that has an implementation of + + `SignModeHandler` for EIP-191. The SDK may decide to fully support + + EIP-191 in the future. + + + Since: cosmos-sdk 0.45.2 + title: |- + Single is the mode info for a single signer. It is structured as a message + to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + future + cosmos.tx.v1beta1.OrderBy: + type: string + enum: + - ORDER_BY_UNSPECIFIED + - ORDER_BY_ASC + - ORDER_BY_DESC + default: ORDER_BY_UNSPECIFIED description: >- - UnbondingDelegationEntry defines an unbonding object with relevant - metadata. - cosmos.staking.v1beta1.Validator: + - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting + order. OrderBy defaults to ASC in this case. + - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order + - ORDER_BY_DESC: ORDER_BY_DESC defines descending order + title: OrderBy defines the sorting order + cosmos.tx.v1beta1.SignerInfo: type: object properties: - operator_address: - type: string - description: >- - operator_address defines the address of the validator's operator; bech - encoded in JSON. - consensus_pubkey: + public_key: type: object properties: type_url: @@ -72861,2848 +85383,2089 @@ definitions: Protobuf library provides support to pack/unpack Any values in the form - of utility functions or additional generated methods of the Any type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + mode_info: + $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' + title: |- + mode_info describes the signing mode of the signer and is a nested + structure to support nested multisig pubkey's + sequence: + type: string + format: uint64 + description: >- + sequence is the sequence of the account, which describes the + + number of committed transactions signed by a given address. It is used + to + + prevent replay attacks. + description: |- + SignerInfo describes the public key and signing mode of a single top-level + signer. + cosmos.tx.v1beta1.SimulateRequest: + type: object + properties: + tx: + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: |- + tx is the transaction to simulate. + Deprecated. Send raw tx bytes instead. + tx_bytes: + type: string + format: byte + description: |- + tx_bytes is the raw transaction. + + Since: cosmos-sdk 0.43 + description: |- + SimulateRequest is the request type for the Service.Simulate + RPC method. + cosmos.tx.v1beta1.SimulateResponse: + type: object + properties: + gas_info: + description: gas_info is the information about gas used in the simulation. + type: object + properties: + gas_wanted: + type: string + format: uint64 + description: >- + GasWanted is the maximum units of work we allow this tx to + perform. + gas_used: + type: string + format: uint64 + description: GasUsed is the amount of gas actually consumed. + result: + description: result is the result of the simulation. + type: object + properties: + data: + type: string + format: byte + description: >- + Data is any data returned from message or handler execution. It + MUST be + + length prefixed in order to separate data from multiple message + executions. + + Deprecated. This field is still populated, but prefer msg_response + instead + + because it also contains the Msg response typeURL. + log: + type: string + description: >- + Log contains the log information from message or handler + execution. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: >- + EventAttribute is a single key-value pair, associated with + an event. + description: >- + Event allows application developers to attach additional + information to + + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. + + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted during + message + + or handler execution. + msg_responses: + type: array + items: + type: object + properties: + type_url: + 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. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Schemes other than `http`, `https` (or the empty scheme) + might be - Example 2: Pack and unpack a message in Java. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + URL that describes the type of the serialized message. - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Protobuf library provides support to pack/unpack Any values in + the form - Example 4: Pack and unpack a message in Go + of utility functions or additional generated methods of the Any + type. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default use + Example 1: Pack and unpack a message in C++. - 'type.googleapis.com/full.type.name' as the type URL and the unpack + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - methods only use the fully qualified type name after the last '/' + Example 2: Pack and unpack a message in Java. - in the type URL, for example "foo.bar.com/x/y.z" will yield type + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - name "y.z". + 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 - JSON + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - ==== + The pack methods provided by protobuf library will by default + use - The JSON representation of an `Any` value uses the regular + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - representation of the deserialized, embedded message, with an + methods only use the fully qualified type name after the last + '/' - additional field `@type` which contains the type URL. Example: + in the type URL, for example "foo.bar.com/x/y.z" will yield type - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + name "y.z". - { - "@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 + JSON - `value` which holds the custom JSON in addition to the `@type` + ==== - field. Example (for message [google.protobuf.Duration][]): + The JSON representation of an `Any` value uses the regular - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from bonded - status or not. - status: - description: status is the validator status (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: tokens define the delegated tokens (incl. self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a validator's - delegators. - description: - description: description defines the description terms for the validator. - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at which this - validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the validator - to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates to be used - for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator - can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - update_time: - type: string - format: date-time - description: update_time is the last time the commission rate was changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared minimum self - delegation. + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - Since: cosmos-sdk 0.46 - description: >- - Validator defines a validator, together with the total amount of the + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Validator's bond shares and their exchange rate to coins. Slashing results - in + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - a decrease in the exchange rate, allowing correct calculation of future + If the embedded message type is well-known and has a custom JSON - undelegations without iterating over delegators. When coins are delegated - to + representation, that representation will be embedded adding a + field - this validator, the validator is credited with a delegation whose number - of + `value` which holds the custom JSON in addition to the `@type` - bond shares is based on the amount of coins delegated divided by the - current + field. Example (for message [google.protobuf.Duration][]): - exchange rate. Voting power can be calculated as total bonded shares + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + msg_responses contains the Msg handler responses type packed in + Anys. - multiplied by exchange rate. - cosmos.base.abci.v1beta1.ABCIMessageLog: + + Since: cosmos-sdk 0.46 + description: |- + SimulateResponse is the response type for the + Service.SimulateRPC method. + cosmos.tx.v1beta1.Tip: type: object properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: + amount: type: array items: type: object properties: - type: + denom: + type: string + amount: type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the key and value - are - - strings instead of raw bytes. description: |- - StringEvent defines en Event object wrapper where all the attributes - contain key/value pairs that are strings instead of raw bytes. - description: |- - Events contains a slice of Event objects that were emitted during some - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI message - log. - cosmos.base.abci.v1beta1.Attribute: - type: object - properties: - key: - type: string - value: + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: amount is the amount of the tip + tipper: type: string + title: tipper is the address of the account paying for the tip description: |- - Attribute defines an attribute wrapper where the key and value are - strings instead of raw bytes. - cosmos.base.abci.v1beta1.GasInfo: - type: object - properties: - gas_wanted: - type: string - format: uint64 - description: GasWanted is the maximum units of work we allow this tx to perform. - gas_used: - type: string - format: uint64 - description: GasUsed is the amount of gas actually consumed. - description: GasInfo defines tx execution gas context. - cosmos.base.abci.v1beta1.Result: + Tip is the tip used for meta-transactions. + + Since: cosmos-sdk 0.46 + cosmos.tx.v1beta1.Tx: type: object properties: - data: - type: string - format: byte - description: >- - Data is any data returned from message or handler execution. It MUST - be - - length prefixed in order to separate data from multiple message - executions. - - Deprecated. This field is still populated, but prefer msg_response - instead - - because it also contains the Msg response typeURL. - log: - type: string - description: Log contains the log information from message or handler execution. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with an - event. - description: >- - Event allows application developers to attach additional information - to - - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + body: + title: body is the processable content of the transaction + type: object + properties: + messages: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Later, transactions may be queried using these events. - description: >- - Events contains a slice of Event objects that were emitted during - message + protocol buffer message. This string must contain at least - or handler execution. - msg_responses: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + one "/" character. The last segment of the URL's path must + represent - protocol buffer message. This string must contain at least + the fully qualified name of the type (as in - one "/" character. The last segment of the URL's path must - represent + `path/google.protobuf.Duration`). The name should be in a + canonical form - the fully qualified name of the type (as in + (e.g., leading "." is not accepted). - `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 - In practice, teams usually precompile into the binary all types - that they + scheme `http`, `https`, or no scheme, one can optionally set + up a type - expect it to use in the context of Any. However, for URLs which - use the + server that maps type URLs to message definitions as + follows: - 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.) - * If no scheme is provided, `https` is assumed. + Note: this functionality is not currently available in the + official - * 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.) + protobuf release, and it is not used for type URLs beginning + with - Note: this functionality is not currently available in the - official + type.googleapis.com. - 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - Schemes other than `http`, `https` (or the empty scheme) might - be + URL that describes the type of the serialized message. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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. - 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 1: Pack and unpack a message in C++. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 2: Pack and unpack a message in Java. + Example 3: Pack and unpack a message in Python. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Example 3: Pack and unpack a message in Python. + Example 4: Pack and unpack a message in Go - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - Example 4: Pack and unpack a message in Go + The pack methods provided by protobuf library will by default + use - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - The pack methods provided by protobuf library will by default use + methods only use the fully qualified type name after the last + '/' - 'type.googleapis.com/full.type.name' as the type URL and the unpack + in the type URL, for example "foo.bar.com/x/y.z" will yield type - methods only use the fully qualified type name after the last '/' + name "y.z". - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + JSON + ==== - JSON + The JSON representation of an `Any` value uses the regular - ==== + representation of the deserialized, embedded message, with an - The JSON representation of an `Any` value uses the regular + additional field `@type` which contains the type URL. Example: - representation of the deserialized, embedded message, with an + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - additional field `@type` which contains the type URL. Example: + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + If the embedded message type is well-known and has a custom JSON - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + representation, that representation will be embedded adding a + field - If the embedded message type is well-known and has a custom JSON + `value` which holds the custom JSON in addition to the `@type` - representation, that representation will be embedded adding a field + field. Example (for message [google.protobuf.Duration][]): - `value` which holds the custom JSON in addition to the `@type` + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of messages to be executed. The required + signers of - field. Example (for message [google.protobuf.Duration][]): + those messages define the number and order of elements in + AuthInfo's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: |- - msg_responses contains the Msg handler responses type packed in Anys. + signer_infos and Tx's signatures. Each required signer address is + added to - Since: cosmos-sdk 0.46 - description: Result is the union of ResponseFormat and ResponseCheckTx. - cosmos.base.abci.v1beta1.StringEvent: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: |- - Attribute defines an attribute wrapper where the key and value are - strings instead of raw bytes. - description: |- - StringEvent defines en Event object wrapper where all the attributes - contain key/value pairs that are strings instead of raw bytes. - cosmos.base.abci.v1beta1.TxResponse: - type: object - properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: - type: string - description: 'Result bytes, if any.' - raw_log: - type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the key and - value are + the list only the first time it occurs. - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all the - attributes + By convention, the first required signer (usually from the first + message) - contain key/value pairs that are strings instead of raw bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + is referred to as the primary signer and pays the fee for the + whole - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI - message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: - type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: - type: object - properties: - type_url: + transaction. + memo: type: string description: >- - A URL/resource name that uniquely identifies the type of the - serialized + memo is any arbitrary note/comment to be added to the transaction. - protocol buffer message. This string must contain at least + WARNING: in clients, any publicly exposed text should not be + called memo, - one "/" character. The last segment of the URL's path must - represent + but should be called `note` instead (see + https://github.com/cosmos/cosmos-sdk/issues/9122). + timeout_height: + type: string + format: uint64 + title: |- + timeout is the block height after which this transaction will not + be processed by the chain + extension_options: + type: array + items: + type: object + properties: + type_url: + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - The pack methods provided by protobuf library will by default use + Example 4: Pack and unpack a message in Go - 'type.googleapis.com/full.type.name' as the type URL and the unpack + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted median - of + `value` which holds the custom JSON in addition to the `@type` - the timestamps of the valid votes in the block.LastCommit. For height - == 1, + field. Example (for message [google.protobuf.Duration][]): - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with an - event. - description: >- - Event allows application developers to attach additional information - to + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + extension_options are arbitrary options that can be added by + chains - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + when the default options are not sufficient. If any of these are + present - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a transaction. - Note, + and can't be handled, the transaction will be rejected + non_critical_extension_options: + type: array + items: + type: object + properties: + type_url: + 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 - these events include those emitted by processing all the messages and - those + the fully qualified name of the type (as in - emitted from the ante. Whereas Logs contains the events, with + `path/google.protobuf.Duration`). The name should be in a + canonical form - additional metadata, emitted only by processing the messages. + (e.g., leading "." is not accepted). - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and metadata. - The + In practice, teams usually precompile into the binary all + types that they - tags are stringified and the log is JSON decoded. - cosmos.crypto.multisig.v1beta1.CompactBitArray: - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: |- - CompactBitArray is an implementation of a space efficient bit array. - This is used to ensure that the encoded data takes up a minimal amount of - space after proto encoding. - This is not thread safe, and is not intended for concurrent usage. - cosmos.tx.signing.v1beta1.SignMode: - type: string - enum: - - SIGN_MODE_UNSPECIFIED - - SIGN_MODE_DIRECT - - SIGN_MODE_TEXTUAL - - SIGN_MODE_DIRECT_AUX - - SIGN_MODE_LEGACY_AMINO_JSON - - SIGN_MODE_EIP_191 - default: SIGN_MODE_UNSPECIFIED - description: |- - SignMode represents a signing mode with its own security guarantees. + expect it to use in the context of Any. However, for URLs + which use the - This enum should be considered a registry of all known sign modes - in the Cosmos ecosystem. Apps are not expected to support all known - sign modes. Apps that would like to support custom sign modes are - encouraged to open a small PR against this file to add a new case - to this SignMode enum describing their sign mode so that different - apps have a consistent version of this enum. + scheme `http`, `https`, or no scheme, one can optionally set + up a type - - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx. - - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some - human-readable textual representation on top of the binary representation - from SIGN_MODE_DIRECT. It is currently not supported. - - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses - SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not - require signers signing over other signers' `signer_info`. It also allows - for adding Tips in transactions. + server that maps type URLs to message definitions as + follows: - Since: cosmos-sdk 0.46 - - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future. - - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos - SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 - Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, - but is not implemented on the SDK by default. To enable EIP-191, you need - to pass a custom `TxConfig` that has an implementation of - `SignModeHandler` for EIP-191. The SDK may decide to fully support - EIP-191 in the future. + * If no scheme is provided, `https` is assumed. - Since: cosmos-sdk 0.45.2 - cosmos.tx.v1beta1.AuthInfo: - type: object - properties: - signer_infos: - type: array - items: - $ref: '#/definitions/cosmos.tx.v1beta1.SignerInfo' - description: >- - signer_infos defines the signing modes for the required signers. The - number + * 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.) - and order of elements must match the required signers from TxBody's + Note: this functionality is not currently available in the + official - messages. The first element is the primary signer and the one which - pays + protobuf release, and it is not used for type URLs beginning + with - the fee. - fee: - description: >- - Fee is the fee and gas limit for the transaction. The first signer is - the + type.googleapis.com. - primary signer and the one which pays the fee. The fee can be - calculated - based on the cost of evaluating the body and doing signature - verification + Schemes other than `http`, `https` (or the empty scheme) + might be - of the signers. This can be estimated via simulation. - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: + used with implementation specific semantics. + value: type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - Coin defines a token with a denomination and an amount. + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - NOTE: The amount field is an Int which implements the custom - method - signatures required by gogoproto. - title: amount is the amount of coins to be paid as a fee - gas_limit: - type: string - format: uint64 - title: >- - gas_limit is the maximum gas that can be used in transaction - processing + Protobuf library provides support to pack/unpack Any values in + the form - before an out of gas error occurs - payer: - type: string - description: >- - if unset, the first signer is responsible for paying the fees. If - set, the specified account must pay the fees. + of utility functions or additional generated methods of the Any + type. - the payer must be a tx signer (and thus have signed this field in - AuthInfo). - setting this field does *not* change the ordering of required - signers for the transaction. - granter: - type: string - title: >- - if set, the fee payer (either the first signer or the value of the - payer field) requests that a fee grant be used + Example 1: Pack and unpack a message in C++. - to pay fees instead of the fee payer's own balance. If an - appropriate fee grant does not exist or the chain does + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - not support fee grants, this will fail - tip: - description: >- - Tip is the optional tip used for transactions fees paid in another - denom. + 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); + } - This field is ignored if the chain didn't enable tips, i.e. didn't add - the + Example 3: Pack and unpack a message in Python. - `TipDecorator` in its posthandler. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + Example 4: Pack and unpack a message in Go - Since: cosmos-sdk 0.46 - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default + use - NOTE: The amount field is an Int which implements the custom - method + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - signatures required by gogoproto. - title: amount is the amount of the tip - tipper: - type: string - title: tipper is the address of the account paying for the tip - description: |- - AuthInfo describes the fee and signer modes that are used to sign a - transaction. - cosmos.tx.v1beta1.BroadcastMode: - type: string - enum: - - BROADCAST_MODE_UNSPECIFIED - - BROADCAST_MODE_BLOCK - - BROADCAST_MODE_SYNC - - BROADCAST_MODE_ASYNC - default: BROADCAST_MODE_UNSPECIFIED - description: >- - BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC - method. + methods only use the fully qualified type name after the last + '/' - - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for - the tx to be committed in a block. - - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for - a CheckTx execution response only. - - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns - immediately. - cosmos.tx.v1beta1.BroadcastTxRequest: - type: object - properties: - tx_bytes: - type: string - format: byte - description: tx_bytes is the raw transaction. - mode: - type: string - enum: - - BROADCAST_MODE_UNSPECIFIED - - BROADCAST_MODE_BLOCK - - BROADCAST_MODE_SYNC - - BROADCAST_MODE_ASYNC - default: BROADCAST_MODE_UNSPECIFIED - description: >- - BroadcastMode specifies the broadcast mode for the TxService.Broadcast - RPC method. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for - the tx to be committed in a block. - - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for - a CheckTx execution response only. - - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns - immediately. - description: |- - BroadcastTxRequest is the request type for the Service.BroadcastTxRequest - RPC method. - cosmos.tx.v1beta1.BroadcastTxResponse: - type: object - properties: - tx_response: - type: object - properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: - type: string - description: 'Result bytes, if any.' - raw_log: - type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the key - and value are + name "y.z". - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all the - attributes - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI - message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: - type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + JSON - protocol buffer message. This string must contain at least + ==== - one "/" character. The last segment of the URL's path must - represent + The JSON representation of an `Any` value uses the regular - the fully qualified name of the type (as in + representation of the deserialized, embedded message, with an - `path/google.protobuf.Duration`). The name should be in a - canonical form + additional field `@type` which contains the type URL. Example: - (e.g., leading "." is not accepted). + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - In practice, teams usually precompile into the binary all - types that they + If the embedded message type is well-known and has a custom JSON - expect it to use in the context of Any. However, for URLs - which use the + representation, that representation will be embedded adding a + field - scheme `http`, `https`, or no scheme, one can optionally set - up a type + `value` which holds the custom JSON in addition to the `@type` - server that maps type URLs to message definitions as follows: + field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + extension_options are arbitrary options that can be added by + chains - * If no scheme is provided, `https` is assumed. + when the default options are not sufficient. If any of these are + present - * 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.) + and can't be handled, they will be ignored + description: TxBody is the body of a transaction that all signers sign over. + auth_info: + $ref: '#/definitions/cosmos.tx.v1beta1.AuthInfo' + title: |- + auth_info is the authorization related content of the transaction, + specifically signers, signer modes and fee + signatures: + type: array + items: + type: string + format: byte + description: >- + signatures is a list of signatures that matches the length and order + of - Note: this functionality is not currently available in the - official + AuthInfo's signer_infos to allow connecting signature meta information + like - protobuf release, and it is not used for type URLs beginning - with + public key and signing mode by position. + description: Tx is the standard type used for broadcasting transactions. + cosmos.tx.v1beta1.TxBody: + type: object + properties: + messages: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - type.googleapis.com. + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - Schemes other than `http`, `https` (or the empty scheme) might - be + the fully qualified name of the type (as in - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + `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 - 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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) + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + } - Example 4: Pack and unpack a message in Go + Example 2: Pack and unpack a message in Java. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of + If the embedded message type is well-known and has a custom JSON - the timestamps of the valid votes in the block.LastCommit. For - height == 1, + representation, that representation will be embedded adding a field - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with - an event. - description: >- - Event allows application developers to attach additional - information to + `value` which holds the custom JSON in addition to the `@type` - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + field. Example (for message [google.protobuf.Duration][]): - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a transaction. - Note, + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of messages to be executed. The required signers of - these events include those emitted by processing all the messages - and those + those messages define the number and order of elements in AuthInfo's - emitted from the ante. Whereas Logs contains the events, with + signer_infos and Tx's signatures. Each required signer address is + added to - additional metadata, emitted only by processing the messages. + the list only the first time it occurs. + By convention, the first required signer (usually from the first + message) - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + is referred to as the primary signer and pays the fee for the whole + + transaction. + memo: + type: string description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The + memo is any arbitrary note/comment to be added to the transaction. - tags are stringified and the log is JSON decoded. - description: |- - BroadcastTxResponse is the response type for the - Service.BroadcastTx method. - cosmos.tx.v1beta1.Fee: - type: object - properties: - amount: + WARNING: in clients, any publicly exposed text should not be called + memo, + + but should be called `note` instead (see + https://github.com/cosmos/cosmos-sdk/issues/9122). + timeout_height: + type: string + format: uint64 + title: |- + timeout is the block height after which this transaction will not + be processed by the chain + extension_options: type: array items: type: object properties: - denom: - type: string - amount: + type_url: type: string - description: |- - Coin defines a token with a denomination and an amount. + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: amount is the amount of coins to be paid as a fee - gas_limit: - type: string - format: uint64 - title: >- - gas_limit is the maximum gas that can be used in transaction - processing + protocol buffer message. This string must contain at least - before an out of gas error occurs - payer: - type: string - description: >- - if unset, the first signer is responsible for paying the fees. If set, - the specified account must pay the fees. + one "/" character. The last segment of the URL's path must + represent - the payer must be a tx signer (and thus have signed this field in - AuthInfo). + the fully qualified name of the type (as in - setting this field does *not* change the ordering of required signers - for the transaction. - granter: - type: string - title: >- - if set, the fee payer (either the first signer or the value of the - payer field) requests that a fee grant be used + `path/google.protobuf.Duration`). The name should be in a + canonical form - to pay fees instead of the fee payer's own balance. If an appropriate - fee grant does not exist or the chain does + (e.g., leading "." is not accepted). - not support fee grants, this will fail - description: >- - Fee includes the amount of coins paid in fees and the maximum - gas to be used by the transaction. The ratio yields an effective - "gasprice", + In practice, teams usually precompile into the binary all types + that they - which must be above some miminum to be accepted into the mempool. - cosmos.tx.v1beta1.GetBlockWithTxsResponse: - type: object - properties: - txs: - type: array - items: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: txs are the transactions in the block. - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - block: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, + expect it to use in the context of Any. However, for URLs which + use the - including all blockchain data structures and the rules of the - application's + scheme `http`, `https`, or no scheme, one can optionally set up + a type - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a block header. - data: - type: object - properties: - txs: - type: array - items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + server that maps type URLs to message definitions as follows: - NOTE: not all txs here are valid. We're just agreeing on the - order first. - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + * If no scheme is provided, `https` is assumed. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for + * 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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)) { + ... + } - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + Example 2: Pack and unpack a message in Java. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator - signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules - for processing a block in the - blockchain, + Example 3: Pack and unpack a message in Python. - including all blockchain data structures - and the rules of the application's + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a block - header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a block - was committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - last_commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set - of validators. - pagination: - description: pagination defines a pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Example 4: Pack and unpack a message in Go - was set, its value is undefined otherwise - description: >- - GetBlockWithTxsResponse is the response type for the - Service.GetBlockWithTxs method. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default use - Since: cosmos-sdk 0.45.2 - cosmos.tx.v1beta1.GetTxResponse: - type: object - properties: - tx: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: tx is the queried transaction. - tx_response: - type: object - properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: - type: string - description: 'Result bytes, if any.' - raw_log: - type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the key - and value are + 'type.googleapis.com/full.type.name' as the type URL and the unpack - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all the - attributes + methods only use the fully qualified type name after the last '/' - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + in the type URL, for example "foo.bar.com/x/y.z" will yield type - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI - message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: - type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + name "y.z". + + + + JSON + + ==== - protocol buffer message. This string must contain at least + The JSON representation of an `Any` value uses the regular - one "/" character. The last segment of the URL's path must - represent + representation of the deserialized, embedded message, with an - the fully qualified name of the type (as in + additional field `@type` which contains the type URL. Example: - `path/google.protobuf.Duration`). The name should be in a - canonical form + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - (e.g., leading "." is not accepted). + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - In practice, teams usually precompile into the binary all - types that they + representation, that representation will be embedded adding a field - expect it to use in the context of Any. However, for URLs - which use the + `value` which holds the custom JSON in addition to the `@type` - scheme `http`, `https`, or no scheme, one can optionally set - up a type + field. Example (for message [google.protobuf.Duration][]): - server that maps type URLs to message definitions as follows: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + extension_options are arbitrary options that can be added by chains + when the default options are not sufficient. If any of these are + present - * If no scheme is provided, `https` is assumed. + and can't be handled, the transaction will be rejected + non_critical_extension_options: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - * 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.) + protocol buffer message. This string must contain at least - Note: this functionality is not currently available in the - official + one "/" character. The last segment of the URL's path must + represent - protobuf release, and it is not used for type URLs beginning - with + the fully qualified name of the type (as in - type.googleapis.com. + `path/google.protobuf.Duration`). The name should be in a + canonical form + (e.g., leading "." is not accepted). - Schemes other than `http`, `https` (or the empty scheme) might - be - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + In practice, teams usually precompile into the binary all types + that they - URL that describes the type of the serialized message. + 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 - Protobuf library provides support to pack/unpack Any values in the - form + server that maps type URLs to message definitions as follows: - of utility functions or additional generated methods of the Any - type. + * If no scheme is provided, `https` is assumed. - Example 1: Pack and unpack a message in C++. + * 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.) - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Note: this functionality is not currently available in the + official - Example 2: Pack and unpack a message in Java. + protobuf release, and it is not used for type URLs beginning + with - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + type.googleapis.com. - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Schemes other than `http`, `https` (or the empty scheme) might + be - Example 4: Pack and unpack a message in Go + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + URL that describes the type of the serialized message. - The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Protobuf library provides support to pack/unpack Any values in the + form - methods only use the fully qualified type name after the last '/' + of utility functions or additional generated methods of the Any + type. - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + 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. - JSON + 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. - The JSON representation of an `Any` value uses the regular + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - representation of the deserialized, embedded message, with an + Example 4: Pack and unpack a message in Go - additional field `@type` which contains the type URL. Example: + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + The pack methods provided by protobuf library will by default use - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + 'type.googleapis.com/full.type.name' as the type URL and the unpack - If the embedded message type is well-known and has a custom JSON + methods only use the fully qualified type name after the last '/' - representation, that representation will be embedded adding a - field + in the type URL, for example "foo.bar.com/x/y.z" will yield type - `value` which holds the custom JSON in addition to the `@type` + name "y.z". - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of - the timestamps of the valid votes in the block.LastCommit. For - height == 1, + JSON - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with - an event. - description: >- - Event allows application developers to attach additional - information to + ==== - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + The JSON representation of an `Any` value uses the regular - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a transaction. - Note, + representation of the deserialized, embedded message, with an - these events include those emitted by processing all the messages - and those + additional field `@type` which contains the type URL. Example: - emitted from the ante. Whereas Logs contains the events, with + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - additional metadata, emitted only by processing the messages. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The + representation, that representation will be embedded adding a field - tags are stringified and the log is JSON decoded. - description: GetTxResponse is the response type for the Service.GetTx method. - cosmos.tx.v1beta1.GetTxsEventResponse: + `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" + } + title: >- + extension_options are arbitrary options that can be added by chains + + when the default options are not sufficient. If any of these are + present + + and can't be handled, they will be ignored + description: TxBody is the body of a transaction that all signers sign over. + tendermint.abci.Event: type: object properties: - txs: - type: array - items: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: txs is the list of queried transactions. - tx_responses: + type: + type: string + attributes: type: array items: type: object properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: + key: type: string - description: 'Result bytes, if any.' - raw_log: + format: byte + value: type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the - key and value are + format: byte + index: + type: boolean + description: 'EventAttribute is a single key-value pair, associated with an event.' + description: >- + Event allows application developers to attach additional information to - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all - the attributes + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + Later, transactions may be queried using these events. + tendermint.abci.EventAttribute: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + description: 'EventAttribute is a single key-value pair, associated with an event.' + cosmos.upgrade.v1beta1.ModuleVersion: + type: object + properties: + name: + type: string + title: name of the app module + version: + type: string + format: uint64 + title: consensus version of the app module + description: |- + ModuleVersion specifies a module and its consensus version. - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx - ABCI message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: - type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + Since: cosmos-sdk 0.43 + cosmos.upgrade.v1beta1.Plan: + type: object + properties: + name: + type: string + description: >- + Sets the name for the upgrade. This name will be used by the upgraded - protocol buffer message. This string must contain at least + version of the software to apply any special "on-upgrade" commands + during - one "/" character. The last segment of the URL's path must - represent + the first BeginBlock method after the upgrade is applied. It is also + used - the fully qualified name of the type (as in + to detect whether a software version can handle a given upgrade. If no - `path/google.protobuf.Duration`). The name should be in a - canonical form + upgrade handler with this name has been set in the software, it will + be - (e.g., leading "." is not accepted). + assumed that the software is out-of-date when the upgrade Time or + Height is + reached and the software will exit. + time: + type: string + format: date-time + description: >- + Deprecated: Time based upgrades have been deprecated. Time based + upgrade logic - In practice, teams usually precompile into the binary all - types that they + has been removed from the SDK. - expect it to use in the context of Any. However, for URLs - which use the + If this field is not empty, an error will be thrown. + height: + type: string + format: int64 + description: |- + The height at which the upgrade must be performed. + Only used if Time is not set. + info: + type: string + title: |- + Any application specific upgrade info to be included on-chain + such as a git commit that validators could automatically upgrade to + upgraded_client_state: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - scheme `http`, `https`, or no scheme, one can optionally set - up a type + 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 - server that maps type URLs to message definitions as - follows: + 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.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in the - official + * 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.) - protobuf release, and it is not used for type URLs beginning - with + Note: this functionality is not currently available in the + official - type.googleapis.com. + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Schemes other than `http`, `https` (or the empty scheme) might be - URL that describes the type of the serialized message. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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. + 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 1: Pack and unpack a message in C++. - Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Example 2: Pack and unpack a message in Java. - Example 3: Pack and unpack a message in Python. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 3: Pack and unpack a message in Python. - Example 4: Pack and unpack a message in Go + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Example 4: Pack and unpack a message in Go - The pack methods provided by protobuf library will by default - use + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + The pack methods provided by protobuf library will by default use - methods only use the fully qualified type name after the last - '/' + 'type.googleapis.com/full.type.name' as the type URL and the unpack - in the type URL, for example "foo.bar.com/x/y.z" will yield type + methods only use the fully qualified type name after the last '/' - name "y.z". + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". - JSON - ==== + JSON - The JSON representation of an `Any` value uses the regular + ==== - representation of the deserialized, embedded message, with an + The JSON representation of an `Any` value uses the regular - additional field `@type` which contains the type URL. Example: + representation of the deserialized, embedded message, with an - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + additional field `@type` which contains the type URL. Example: - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - If the embedded message type is well-known and has a custom JSON + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - representation, that representation will be embedded adding a - field + If the embedded message type is well-known and has a custom JSON - `value` which holds the custom JSON in addition to the `@type` + representation, that representation will be embedded adding a field - field. Example (for message [google.protobuf.Duration][]): + `value` which holds the custom JSON in addition to the `@type` - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of + field. Example (for message [google.protobuf.Duration][]): - the timestamps of the valid votes in the block.LastCommit. For - height == 1, + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + Plan specifies information about a planned upgrade and when it should + occur. + cosmos.upgrade.v1beta1.QueryAppliedPlanResponse: + type: object + properties: + height: + type: string + format: int64 + description: height is the block height at which the plan was applied. + description: >- + QueryAppliedPlanResponse is the response type for the Query/AppliedPlan + RPC - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated - with an event. - description: >- - Event allows application developers to attach additional - information to + method. + cosmos.upgrade.v1beta1.QueryAuthorityResponse: + type: object + properties: + address: + type: string + description: 'Since: cosmos-sdk 0.46' + title: QueryAuthorityResponse is the response type for Query/Authority + cosmos.upgrade.v1beta1.QueryCurrentPlanResponse: + type: object + properties: + plan: + description: plan is the current upgrade plan. + type: object + properties: + name: + type: string + description: >- + Sets the name for the upgrade. This name will be used by the + upgraded - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + version of the software to apply any special "on-upgrade" commands + during - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a - transaction. Note, + the first BeginBlock method after the upgrade is applied. It is + also used - these events include those emitted by processing all the - messages and those + to detect whether a software version can handle a given upgrade. + If no - emitted from the ante. Whereas Logs contains the events, with + upgrade handler with this name has been set in the software, it + will be - additional metadata, emitted only by processing the messages. + assumed that the software is out-of-date when the upgrade Time or + Height is + reached and the software will exit. + time: + type: string + format: date-time + description: >- + Deprecated: Time based upgrades have been deprecated. Time based + upgrade logic - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The + has been removed from the SDK. - tags are stringified and the log is JSON decoded. - description: tx_responses is the list of queried TxResponses. - pagination: - description: |- - pagination defines a pagination for the response. - Deprecated post v0.46.x: use total instead. - type: object - properties: - next_key: + If this field is not empty, an error will be thrown. + height: type: string - format: byte + format: int64 description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + The height at which the upgrade must be performed. + Only used if Time is not set. + info: type: string - format: uint64 title: >- - total is total number of results available if - PageRequest.count_total + Any application specific upgrade info to be included on-chain - was set, its value is undefined otherwise - total: - type: string - format: uint64 - title: total is total number of results available - description: |- - GetTxsEventResponse is the response type for the Service.TxsByEvents - RPC method. - cosmos.tx.v1beta1.ModeInfo: - type: object - properties: - single: - title: single represents a single signer - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - SIGN_MODE_UNSPECIFIED - - SIGN_MODE_DIRECT - - SIGN_MODE_TEXTUAL - - SIGN_MODE_DIRECT_AUX - - SIGN_MODE_LEGACY_AMINO_JSON - - SIGN_MODE_EIP_191 - default: SIGN_MODE_UNSPECIFIED - description: >- - SignMode represents a signing mode with its own security - guarantees. + such as a git commit that validators could automatically upgrade + to + upgraded_client_state: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - This enum should be considered a registry of all known sign modes + one "/" character. The last segment of the URL's path must + represent - in the Cosmos ecosystem. Apps are not expected to support all - known + the fully qualified name of the type (as in - sign modes. Apps that would like to support custom sign modes are + `path/google.protobuf.Duration`). The name should be in a + canonical form - encouraged to open a small PR against this file to add a new case + (e.g., leading "." is not accepted). - to this SignMode enum describing their sign mode so that different - apps have a consistent version of this enum. + In practice, teams usually precompile into the binary all + types that they - - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx. - - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some - human-readable textual representation on top of the binary - representation + expect it to use in the context of Any. However, for URLs + which use the - from SIGN_MODE_DIRECT. It is currently not supported. - - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses - SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode - does not + scheme `http`, `https`, or no scheme, one can optionally set + up a type - require signers signing over other signers' `signer_info`. It also - allows + server that maps type URLs to message definitions as follows: - for adding Tips in transactions. + * 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.) - Since: cosmos-sdk 0.46 - - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future. - - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos - SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning + with - Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum - variant, + type.googleapis.com. - but is not implemented on the SDK by default. To enable EIP-191, - you need - to pass a custom `TxConfig` that has an implementation of + Schemes other than `http`, `https` (or the empty scheme) might + be - `SignModeHandler` for EIP-191. The SDK may decide to fully support + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - EIP-191 in the future. + URL that describes the type of the serialized message. - Since: cosmos-sdk 0.45.2 - multi: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi' - title: multi represents a nested multisig signer - description: ModeInfo describes the signing mode of a single or nested multisig signer. - cosmos.tx.v1beta1.ModeInfo.Multi: - type: object - properties: - bitarray: - title: bitarray specifies which keys within the multisig are signing - type: object - properties: - extra_bits_stored: - type: integer - format: int64 - elems: - type: string - format: byte - description: >- - CompactBitArray is an implementation of a space efficient bit array. + Protobuf library provides support to pack/unpack Any values in the + form - This is used to ensure that the encoded data takes up a minimal amount - of + of utility functions or additional generated methods of the Any + type. - space after proto encoding. - This is not thread safe, and is not intended for concurrent usage. - mode_infos: - type: array - items: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' - title: |- - mode_infos is the corresponding modes of the signers of the multisig - which could include nested multisig public keys - title: Multi is the mode info for a multisig public key - cosmos.tx.v1beta1.ModeInfo.Single: - type: object - properties: - mode: - title: mode is the signing mode of the single signer - type: string - enum: - - SIGN_MODE_UNSPECIFIED - - SIGN_MODE_DIRECT - - SIGN_MODE_TEXTUAL - - SIGN_MODE_DIRECT_AUX - - SIGN_MODE_LEGACY_AMINO_JSON - - SIGN_MODE_EIP_191 - default: SIGN_MODE_UNSPECIFIED - description: >- - SignMode represents a signing mode with its own security guarantees. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default use - This enum should be considered a registry of all known sign modes + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - in the Cosmos ecosystem. Apps are not expected to support all known + methods only use the fully qualified type name after the last '/' - sign modes. Apps that would like to support custom sign modes are + in the type URL, for example "foo.bar.com/x/y.z" will yield type - encouraged to open a small PR against this file to add a new case + name "y.z". - to this SignMode enum describing their sign mode so that different - apps have a consistent version of this enum. - - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected. - - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx. - - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some - human-readable textual representation on top of the binary - representation + JSON - from SIGN_MODE_DIRECT. It is currently not supported. - - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses - SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does - not + ==== - require signers signing over other signers' `signer_info`. It also - allows + The JSON representation of an `Any` value uses the regular - for adding Tips in transactions. + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - Since: cosmos-sdk 0.46 - - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future. - - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos - SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + If the embedded message type is well-known and has a custom JSON - but is not implemented on the SDK by default. To enable EIP-191, you - need + representation, that representation will be embedded adding a + field - to pass a custom `TxConfig` that has an implementation of + `value` which holds the custom JSON in addition to the `@type` - `SignModeHandler` for EIP-191. The SDK may decide to fully support + field. Example (for message [google.protobuf.Duration][]): - EIP-191 in the future. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryCurrentPlanResponse is the response type for the Query/CurrentPlan + RPC + method. + cosmos.upgrade.v1beta1.QueryModuleVersionsResponse: + type: object + properties: + module_versions: + type: array + items: + type: object + properties: + name: + type: string + title: name of the app module + version: + type: string + format: uint64 + title: consensus version of the app module + description: |- + ModuleVersion specifies a module and its consensus version. - Since: cosmos-sdk 0.45.2 - title: |- - Single is the mode info for a single signer. It is structured as a message - to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the - future - cosmos.tx.v1beta1.OrderBy: - type: string - enum: - - ORDER_BY_UNSPECIFIED - - ORDER_BY_ASC - - ORDER_BY_DESC - default: ORDER_BY_UNSPECIFIED + Since: cosmos-sdk 0.43 + description: >- + module_versions is a list of module names with their consensus + versions. description: >- - - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting - order. OrderBy defaults to ASC in this case. - - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order - - ORDER_BY_DESC: ORDER_BY_DESC defines descending order - title: OrderBy defines the sorting order - cosmos.tx.v1beta1.SignerInfo: + QueryModuleVersionsResponse is the response type for the + Query/ModuleVersions + + RPC method. + + + Since: cosmos-sdk 0.43 + cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse: type: object properties: - public_key: + upgraded_consensus_state: + type: string + format: byte + title: 'Since: cosmos-sdk 0.43' + description: >- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState + + RPC method. + cosmos.authz.v1beta1.Grant: + type: object + properties: + authorization: type: object properties: type_url: @@ -75861,333 +87624,206 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - mode_info: - $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' - title: |- - mode_info describes the signing mode of the signer and is a nested - structure to support nested multisig pubkey's - sequence: + expiration: type: string - format: uint64 - description: >- - sequence is the sequence of the account, which describes the + format: date-time + title: >- + time when the grant will expire and will be pruned. If null, then the + grant - number of committed transactions signed by a given address. It is used - to + doesn't have a time expiration (other conditions in `authorization` - prevent replay attacks. + may apply to invalidate the grant) description: |- - SignerInfo describes the public key and signing mode of a single top-level - signer. - cosmos.tx.v1beta1.SimulateRequest: + Grant gives permissions to execute + the provide method with expiration time. + cosmos.authz.v1beta1.GrantAuthorization: type: object properties: - tx: - $ref: '#/definitions/cosmos.tx.v1beta1.Tx' - description: |- - tx is the transaction to simulate. - Deprecated. Send raw tx bytes instead. - tx_bytes: + granter: type: string - format: byte - description: |- - tx_bytes is the raw transaction. - - Since: cosmos-sdk 0.43 - description: |- - SimulateRequest is the request type for the Service.Simulate - RPC method. - cosmos.tx.v1beta1.SimulateResponse: - type: object - properties: - gas_info: - description: gas_info is the information about gas used in the simulation. - type: object - properties: - gas_wanted: - type: string - format: uint64 - description: >- - GasWanted is the maximum units of work we allow this tx to - perform. - gas_used: - type: string - format: uint64 - description: GasUsed is the amount of gas actually consumed. - result: - description: result is the result of the simulation. + grantee: + type: string + authorization: type: object properties: - data: - type: string - format: byte - description: >- - Data is any data returned from message or handler execution. It - MUST be - - length prefixed in order to separate data from multiple message - executions. - - Deprecated. This field is still populated, but prefer msg_response - instead - - because it also contains the Msg response typeURL. - log: + type_url: type: string description: >- - Log contains the log information from message or handler - execution. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with - an event. - description: >- - Event allows application developers to attach additional - information to - - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. - - Later, transactions may be queried using these events. - description: >- - Events contains a slice of Event objects that were emitted during - message - - or handler execution. - msg_responses: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least + A URL/resource name that uniquely identifies the type of the + serialized - one "/" character. The last segment of the URL's path must - represent + protocol buffer message. This string must contain at least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path must + represent - `path/google.protobuf.Duration`). The name should be in a - canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `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 + In practice, teams usually precompile into the binary all types + that they - scheme `http`, `https`, or no scheme, one can optionally set - up a type + expect it to use in the context of Any. However, for URLs which + use the - server that maps type URLs to message definitions as - follows: + 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.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in the - official + * 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.) - protobuf release, and it is not used for type URLs beginning - with + Note: this functionality is not currently available in the + official - type.googleapis.com. + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Schemes other than `http`, `https` (or the empty scheme) might be - URL that describes the type of the serialized message. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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. + 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 1: Pack and unpack a message in C++. - Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Example 2: Pack and unpack a message in Java. - Example 3: Pack and unpack a message in Python. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 3: Pack and unpack a message in Python. - Example 4: Pack and unpack a message in Go + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Example 4: Pack and unpack a message in Go - The pack methods provided by protobuf library will by default - use + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + The pack methods provided by protobuf library will by default use - methods only use the fully qualified type name after the last - '/' + 'type.googleapis.com/full.type.name' as the type URL and the unpack - in the type URL, for example "foo.bar.com/x/y.z" will yield type + methods only use the fully qualified type name after the last '/' - name "y.z". + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". - JSON - ==== + JSON - The JSON representation of an `Any` value uses the regular + ==== - representation of the deserialized, embedded message, with an + The JSON representation of an `Any` value uses the regular - additional field `@type` which contains the type URL. Example: + representation of the deserialized, embedded message, with an - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + additional field `@type` which contains the type URL. Example: - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - If the embedded message type is well-known and has a custom JSON + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - representation, that representation will be embedded adding a - field + If the embedded message type is well-known and has a custom JSON - `value` which holds the custom JSON in addition to the `@type` + representation, that representation will be embedded adding a field - field. Example (for message [google.protobuf.Duration][]): + `value` which holds the custom JSON in addition to the `@type` - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - msg_responses contains the Msg handler responses type packed in - Anys. + field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the grantee + and granter. - Since: cosmos-sdk 0.46 - description: |- - SimulateResponse is the response type for the - Service.SimulateRPC method. - cosmos.tx.v1beta1.Tip: + It is used in genesis.proto and query.proto + cosmos.authz.v1beta1.QueryGranteeGrantsResponse: type: object properties: - amount: + grants: type: array items: type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: amount is the amount of the tip - tipper: - type: string - title: tipper is the address of the account paying for the tip - description: |- - Tip is the tip used for meta-transactions. - - Since: cosmos-sdk 0.46 - cosmos.tx.v1beta1.Tx: - type: object - properties: - body: - title: body is the processable content of the transaction - type: object - properties: - messages: - type: array - items: + properties: + granter: + type: string + grantee: + type: string + authorization: type: object properties: type_url: @@ -76356,44 +87992,50 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: >- - messages is a list of messages to be executed. The required - signers of - - those messages define the number and order of elements in - AuthInfo's - - signer_infos and Tx's signatures. Each required signer address is - added to - - the list only the first time it occurs. - - By convention, the first required signer (usually from the first - message) - - is referred to as the primary signer and pays the fee for the - whole + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the + grantee and granter. - transaction. - memo: + It is used in genesis.proto and query.proto + description: grants is a list of grants granted to the grantee. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: type: string - description: >- - memo is any arbitrary note/comment to be added to the transaction. - - WARNING: in clients, any publicly exposed text should not be - called memo, - - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: - type: array - items: + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGranteeGrantsResponse is the response type for the + Query/GranteeGrants RPC method. + cosmos.authz.v1beta1.QueryGranterGrantsResponse: + type: object + properties: + grants: + type: array + items: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: type: object properties: type_url: @@ -76562,17 +88204,46 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: >- - extension_options are arbitrary options that can be added by - chains + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the + grantee and granter. - when the default options are not sufficient. If any of these are - present + It is used in genesis.proto and query.proto + description: grants is a list of grants granted by the granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - and can't be handled, the transaction will be rejected - non_critical_extension_options: - type: array - items: + was set, its value is undefined otherwise + description: >- + QueryGranterGrantsResponse is the response type for the + Query/GranterGrants RPC method. + cosmos.authz.v1beta1.QueryGrantsResponse: + type: object + properties: + grants: + type: array + items: + type: object + properties: + authorization: type: object properties: type_url: @@ -76741,673 +88412,632 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: >- - extension_options are arbitrary options that can be added by - chains - - when the default options are not sufficient. If any of these are - present + expiration: + type: string + format: date-time + title: >- + time when the grant will expire and will be pruned. If null, + then the grant - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - auth_info: - $ref: '#/definitions/cosmos.tx.v1beta1.AuthInfo' - title: |- - auth_info is the authorization related content of the transaction, - specifically signers, signer modes and fee - signatures: - type: array - items: - type: string - format: byte - description: >- - signatures is a list of signatures that matches the length and order - of + doesn't have a time expiration (other conditions in + `authorization` - AuthInfo's signer_infos to allow connecting signature meta information - like + may apply to invalidate the grant) + description: |- + Grant gives permissions to execute + the provide method with expiration time. + description: authorizations is a list of grants granted for grantee by granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - public key and signing mode by position. - description: Tx is the standard type used for broadcasting transactions. - cosmos.tx.v1beta1.TxBody: + was set, its value is undefined otherwise + description: >- + QueryGrantsResponse is the response type for the Query/Authorizations RPC + method. + cosmos.feegrant.v1beta1.Grant: type: object properties: - messages: - type: array - items: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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" - } + granter: + type: string description: >- - messages is a list of messages to be executed. The required signers of - - those messages define the number and order of elements in AuthInfo's - - signer_infos and Tx's signatures. Each required signer address is - added to + granter is the address of the user granting an allowance of their + funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: 'allowance can be any of basic, periodic, allowed fee allowance.' + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - the list only the first time it occurs. + protocol buffer message. This string must contain at least - By convention, the first required signer (usually from the first - message) + one "/" character. The last segment of the URL's path must + represent - is referred to as the primary signer and pays the fee for the whole + the fully qualified name of the type (as in - transaction. - memo: - type: string - description: >- - memo is any arbitrary note/comment to be added to the transaction. + `path/google.protobuf.Duration`). The name should be in a + canonical form - WARNING: in clients, any publicly exposed text should not be called - memo, + (e.g., leading "." is not accepted). - but should be called `note` instead (see - https://github.com/cosmos/cosmos-sdk/issues/9122). - timeout_height: - type: string - format: uint64 - title: |- - timeout is the block height after which this transaction will not - be processed by the chain - extension_options: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - protocol buffer message. This string must contain at least + In practice, teams usually precompile into the binary all types + that they - one "/" character. The last segment of the URL's path must - represent + expect it to use in the context of Any. However, for URLs which + use the - the fully qualified name of the type (as in + scheme `http`, `https`, or no scheme, one can optionally set up a + type - `path/google.protobuf.Duration`). The name should be in a - canonical form + server that maps type URLs to message definitions as follows: - (e.g., leading "." is not accepted). + * If no scheme is provided, `https` is assumed. - In practice, teams usually precompile into the binary all types - that they + * 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.) - expect it to use in the context of Any. However, for URLs which - use the + Note: this functionality is not currently available in the + official - scheme `http`, `https`, or no scheme, one can optionally set up - a type + protobuf release, and it is not used for type URLs beginning with - server that maps type URLs to message definitions as follows: + type.googleapis.com. - * If no scheme is provided, `https` is assumed. + Schemes other than `http`, `https` (or the empty scheme) might be - * 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.) + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + title: Grant is stored in the KVStore to record a grant with full context + cosmos.feegrant.v1beta1.QueryAllowanceResponse: + type: object + properties: + allowance: + description: allowance is a allowance granted for grantee by granter. + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of their + funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: 'allowance can be any of basic, periodic, allowed fee allowance.' + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Note: this functionality is not currently available in the - official + protocol buffer message. This string must contain at least - protobuf release, and it is not used for type URLs beginning - with + one "/" character. The last segment of the URL's path must + represent - type.googleapis.com. + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - Schemes other than `http`, `https` (or the empty scheme) might - be + (e.g., leading "." is not accepted). - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - URL that describes the type of the serialized message. + 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 - Protobuf library provides support to pack/unpack Any values in the - form + scheme `http`, `https`, or no scheme, one can optionally set + up a type - of utility functions or additional generated methods of the Any - type. + server that maps type URLs to message definitions as follows: - Example 1: Pack and unpack a message in C++. + * If no scheme is provided, `https` is assumed. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + * 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 2: Pack and unpack a message in Java. + Note: this functionality is not currently available in the + official - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + protobuf release, and it is not used for type URLs beginning + with - Example 3: Pack and unpack a message in Python. + type.googleapis.com. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Schemes other than `http`, `https` (or the empty scheme) might + be - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + title: Grant is stored in the KVStore to record a grant with full context + description: >- + QueryAllowanceResponse is the response type for the Query/Allowance RPC + method. + cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse: + type: object + properties: + allowances: + type: array + items: + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of + their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: 'allowance can be any of basic, periodic, allowed fee allowance.' + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - The pack methods provided by protobuf library will by default use + protocol buffer message. This string must contain at least - 'type.googleapis.com/full.type.name' as the type URL and the unpack + one "/" character. The last segment of the URL's path must + represent - methods only use the fully qualified type name after the last '/' + the fully qualified name of the type (as in - in the type URL, for example "foo.bar.com/x/y.z" will yield type + `path/google.protobuf.Duration`). The name should be in a + canonical form - name "y.z". + (e.g., leading "." is not accepted). + In practice, teams usually precompile into the binary all + types that they - JSON + 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 - The JSON representation of an `Any` value uses the regular + server that maps type URLs to message definitions as + follows: - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + * If no scheme is provided, `https` is assumed. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + * 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": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Note: this functionality is not currently available in the + official - If the embedded message type is well-known and has a custom JSON + protobuf release, and it is not used for type URLs beginning + with - representation, that representation will be embedded adding a field + type.googleapis.com. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + Schemes other than `http`, `https` (or the empty scheme) + might be - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - extension_options are arbitrary options that can be added by chains + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + title: Grant is stored in the KVStore to record a grant with full context + description: allowances that have been issued by the granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - when the default options are not sufficient. If any of these are - present + was set, its value is undefined otherwise + description: >- + QueryAllowancesByGranterResponse is the response type for the + Query/AllowancesByGranter RPC method. - and can't be handled, the transaction will be rejected - non_critical_extension_options: + + Since: cosmos-sdk 0.46 + cosmos.feegrant.v1beta1.QueryAllowancesResponse: + type: object + properties: + allowances: type: array items: type: object properties: - type_url: + granter: type: string description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least + granter is the address of the user granting an allowance of + their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: 'allowance can be any of basic, periodic, allowed fee allowance.' + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - one "/" character. The last segment of the URL's path must - represent + protocol buffer message. This string must contain at least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path must + represent - `path/google.protobuf.Duration`). The name should be in a - canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `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 + In practice, teams usually precompile into the binary all + types that they - scheme `http`, `https`, or no scheme, one can optionally set up - a type + expect it to use in the context of Any. However, for URLs + which use the - server that maps type URLs to message definitions as follows: + 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.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in the - official + * 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.) - protobuf release, and it is not used for type URLs beginning - with + Note: this functionality is not currently available in the + official - type.googleapis.com. + 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. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + Schemes other than `http`, `https` (or the empty scheme) + might be - URL that describes the type of the serialized message. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + title: Grant is stored in the KVStore to record a grant with full context + description: allowances are allowance's granted for grantee by granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + QueryAllowancesResponse is the response type for the Query/Allowances RPC + method. + cosmos.nft.v1beta1.Class: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT classification, similar to + the contract address of ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: description is a brief description of nft classification. Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define schema for + Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Protobuf library provides support to pack/unpack Any values in the - form + protocol buffer message. This string must contain at least - of utility functions or additional generated methods of the Any - type. + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in - Example 1: Pack and unpack a message in C++. + `path/google.protobuf.Duration`). The name should be in a + canonical form - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + (e.g., leading "." is not accepted). - 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); - } + In practice, teams usually precompile into the binary all types + that they - Example 3: Pack and unpack a message in Python. + expect it to use in the context of Any. However, for URLs which + use the - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + scheme `http`, `https`, or no scheme, one can optionally set up a + type - Example 4: Pack and unpack a message in Go + server that maps type URLs to message definitions as follows: - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default use + * If no scheme is provided, `https` is assumed. - 'type.googleapis.com/full.type.name' as the type URL and the unpack + * 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.) - methods only use the fully qualified type name after the last '/' + Note: this functionality is not currently available in the + official - in the type URL, for example "foo.bar.com/x/y.z" will yield type + protobuf release, and it is not used for type URLs beginning with - name "y.z". + type.googleapis.com. + Schemes other than `http`, `https` (or the empty scheme) might be - JSON + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - ==== + URL that describes the type of the serialized message. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + Protobuf library provides support to pack/unpack Any values in the + form - additional field `@type` which contains the type URL. Example: + of utility functions or additional generated methods of the Any type. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Example 1: Pack and unpack a message in C++. - If the embedded message type is well-known and has a custom JSON + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - representation, that representation will be embedded adding a field + Example 2: Pack and unpack a message in Java. - `value` which holds the custom JSON in addition to the `@type` + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - field. Example (for message [google.protobuf.Duration][]): + Example 3: Pack and unpack a message in Python. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - extension_options are arbitrary options that can be added by chains + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - when the default options are not sufficient. If any of these are - present + Example 4: Pack and unpack a message in Go - and can't be handled, they will be ignored - description: TxBody is the body of a transaction that all signers sign over. - tendermint.abci.Event: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: 'EventAttribute is a single key-value pair, associated with an event.' - description: >- - Event allows application developers to attach additional information to + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + The pack methods provided by protobuf library will by default use - Later, transactions may be queried using these events. - tendermint.abci.EventAttribute: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: 'EventAttribute is a single key-value pair, associated with an event.' - cosmos.upgrade.v1beta1.ModuleVersion: - type: object - properties: - name: - type: string - title: name of the app module - version: - type: string - format: uint64 - title: consensus version of the app module - description: |- - ModuleVersion specifies a module and its consensus version. + 'type.googleapis.com/full.type.name' as the type URL and the unpack - Since: cosmos-sdk 0.43 - cosmos.upgrade.v1beta1.Plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the upgraded + methods only use the fully qualified type name after the last '/' - version of the software to apply any special "on-upgrade" commands - during + in the type URL, for example "foo.bar.com/x/y.z" will yield type - the first BeginBlock method after the upgrade is applied. It is also - used + name "y.z". - to detect whether a software version can handle a given upgrade. If no - upgrade handler with this name has been set in the software, it will - be - assumed that the software is out-of-date when the upgrade Time or - Height is + JSON - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic + ==== - has been removed from the SDK. + The JSON representation of an `Any` value uses the regular - If this field is not empty, an error will be thrown. - height: + 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" + } + title: data is the app specific metadata of the NFT class. Optional + description: Class defines the class of the nft type. + cosmos.nft.v1beta1.NFT: + type: object + properties: + class_id: type: string - format: int64 - description: |- - The height at which the upgrade must be performed. - Only used if Time is not set. - info: + title: >- + class_id associated with the NFT, similar to the contract address of + ERC721 + id: type: string - title: |- - Any application specific upgrade info to be included on-chain - such as a git commit that validators could automatically upgrade to - upgraded_client_state: + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: type: object properties: type_url: @@ -77566,81 +89196,466 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - cosmos.upgrade.v1beta1.QueryAppliedPlanResponse: - type: object - properties: - height: - type: string - format: int64 - description: height is the block height at which the plan was applied. - description: >- - QueryAppliedPlanResponse is the response type for the Query/AppliedPlan - RPC - - method. - cosmos.upgrade.v1beta1.QueryAuthorityResponse: + title: data is an app specific data of the NFT. Optional + description: NFT defines the NFT. + cosmos.nft.v1beta1.QueryBalanceResponse: type: object properties: - address: + amount: type: string - description: 'Since: cosmos-sdk 0.46' - title: QueryAuthorityResponse is the response type for Query/Authority - cosmos.upgrade.v1beta1.QueryCurrentPlanResponse: + format: uint64 + title: QueryBalanceResponse is the response type for the Query/Balance RPC method + cosmos.nft.v1beta1.QueryClassResponse: type: object properties: - plan: - description: plan is the current upgrade plan. + class: type: object properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT classification, + similar to the contract address of ERC721 name: type: string + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: description is a brief description of nft classification. Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define schema + for Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. description: >- - Sets the name for the upgrade. This name will be used by the - upgraded + `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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + title: data is the app specific metadata of the NFT class. Optional + description: Class defines the class of the nft type. + title: QueryClassResponse is the response type for the Query/Class RPC method + cosmos.nft.v1beta1.QueryClassesResponse: + type: object + properties: + classes: + type: array + items: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT classification, + similar to the contract address of ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: >- + description is a brief description of nft classification. + Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define + schema for Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + type: object + properties: + type_url: + 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. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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". + + - version of the software to apply any special "on-upgrade" commands - during + JSON - the first BeginBlock method after the upgrade is applied. It is - also used + ==== - to detect whether a software version can handle a given upgrade. - If no + The JSON representation of an `Any` value uses the regular - upgrade handler with this name has been set in the software, it - will be + representation of the deserialized, embedded message, with an - assumed that the software is out-of-date when the upgrade Time or - Height is + additional field `@type` which contains the type URL. Example: - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - has been removed from the SDK. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If this field is not empty, an error will be thrown. - height: + 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" + } + title: data is the app specific metadata of the NFT class. Optional + description: Class defines the class of the nft type. + pagination: + type: object + properties: + next_key: type: string - format: int64 + format: byte description: |- - The height at which the upgrade must be performed. - Only used if Time is not set. - info: + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string + format: uint64 title: >- - Any application specific upgrade info to be included on-chain + total is total number of results available if + PageRequest.count_total - such as a git commit that validators could automatically upgrade - to - upgraded_client_state: + 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: QueryClassesResponse is the response type for the Query/Classes RPC method + cosmos.nft.v1beta1.QueryNFTResponse: + type: object + properties: + nft: + type: object + properties: + class_id: + type: string + title: >- + class_id associated with the NFT, similar to the contract address + of ERC721 + id: + type: string + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: type: object properties: type_url: @@ -77805,415 +89820,32 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: >- - QueryCurrentPlanResponse is the response type for the Query/CurrentPlan - RPC - - method. - cosmos.upgrade.v1beta1.QueryModuleVersionsResponse: + title: data is an app specific data of the NFT. Optional + description: NFT defines the NFT. + title: QueryNFTResponse is the response type for the Query/NFT RPC method + cosmos.nft.v1beta1.QueryNFTsResponse: type: object properties: - module_versions: + nfts: type: array items: type: object properties: - name: + class_id: type: string - title: name of the app module - version: + title: >- + class_id associated with the NFT, similar to the contract + address of ERC721 + id: type: string - format: uint64 - title: consensus version of the app module - description: |- - ModuleVersion specifies a module and its consensus version. - - Since: cosmos-sdk 0.43 - description: >- - module_versions is a list of module names with their consensus - versions. - description: >- - QueryModuleVersionsResponse is the response type for the - Query/ModuleVersions - - RPC method. - - - Since: cosmos-sdk 0.43 - cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse: - type: object - properties: - upgraded_consensus_state: - type: string - format: byte - title: 'Since: cosmos-sdk 0.43' - description: >- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState - - RPC method. - cosmos.authz.v1beta1.Grant: - type: object - properties: - authorization: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, then the - grant - - doesn't have a time expiration (other conditions in `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - cosmos.authz.v1beta1.GrantAuthorization: - type: object - properties: - granter: - type: string - grantee: - type: string - authorization: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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" - } - expiration: - type: string - format: date-time - title: >- - GrantAuthorization extends a grant with both the addresses of the grantee - and granter. - - It is used in genesis.proto and query.proto - cosmos.authz.v1beta1.QueryGranteeGrantsResponse: - type: object - properties: - grants: - type: array - items: - type: object - properties: - granter: + title: id is a unique identifier of the NFT + uri: type: string - grantee: + title: uri for the NFT metadata stored off chain + uri_hash: type: string - authorization: + title: uri_hash is a hash of the document pointed by uri + data: type: object properties: type_url: @@ -78382,17 +90014,9 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - expiration: - type: string - format: date-time - title: >- - GrantAuthorization extends a grant with both the addresses of the - grantee and granter. - - It is used in genesis.proto and query.proto - description: grants is a list of grants granted to the grantee. + title: data is an app specific data of the NFT. Optional + description: NFT defines the NFT. pagination: - description: pagination defines an pagination for the response. type: object properties: next_key: @@ -78410,617 +90034,743 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryGranteeGrantsResponse is the response type for the - Query/GranteeGrants RPC method. - cosmos.authz.v1beta1.QueryGranterGrantsResponse: + 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: QueryNFTsResponse is the response type for the Query/NFTs RPC methods + cosmos.nft.v1beta1.QueryOwnerResponse: type: object properties: - grants: - type: array - items: - type: object - properties: - granter: - type: string - grantee: - type: string - authorization: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + owner: + type: string + title: QueryOwnerResponse is the response type for the Query/Owner RPC method + cosmos.nft.v1beta1.QuerySupplyResponse: + type: object + properties: + amount: + type: string + format: uint64 + title: QuerySupplyResponse is the response type for the Query/Supply RPC method + cosmos.group.v1.GroupInfo: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership structure + that - protocol buffer message. This string must contain at least + would break existing proposals. Whenever any members weight is + changed, - one "/" character. The last segment of the URL's path must - represent + or any member is added or removed this version is incremented and will - the fully qualified name of the type (as in + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: GroupInfo represents the high-level on-chain information for a group. + cosmos.group.v1.GroupMember: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + member: + description: member is the member data. + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: >- + weight is the member's voting weight that should be greater than + 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + added_at: + type: string + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: GroupMember represents the relationship between a group and a member. + cosmos.group.v1.GroupPolicyInfo: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that - `path/google.protobuf.Duration`). The name should be in a - canonical form + would create a different result on a running proposal. + decision_policy: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - (e.g., leading "." is not accepted). + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - In practice, teams usually precompile into the binary all - types that they + the fully qualified name of the type (as in - expect it to use in the context of Any. However, for URLs - which use the + `path/google.protobuf.Duration`). The name should be in a + canonical form - scheme `http`, `https`, or no scheme, one can optionally set - up a type + (e.g., leading "." is not accepted). - server that maps type URLs to message definitions as - follows: + In practice, teams usually precompile into the binary all types + that they - * If no scheme is provided, `https` is assumed. + expect it to use in the context of Any. However, for URLs which + use the - * 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.) + scheme `http`, `https`, or no scheme, one can optionally set up a + type - Note: this functionality is not currently available in the - official + server that maps type URLs to message definitions as follows: - protobuf release, and it is not used for type URLs beginning - with - type.googleapis.com. + * 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.) - Schemes other than `http`, `https` (or the empty scheme) - might be + Note: this functionality is not currently available in the + official - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" - } - expiration: - type: string - format: date-time - title: >- - GrantAuthorization extends a grant with both the addresses of the - grantee and granter. + If the embedded message type is well-known and has a custom JSON - It is used in genesis.proto and query.proto - description: grants is a list of grants granted by the granter. - pagination: - description: pagination defines an pagination for the response. + 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" + } + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group policy was created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a group + policy. + cosmos.group.v1.Member: + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: weight is the member's voting weight that should be greater than 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + added_at: + type: string + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: |- + Member represents a group member with an account address, + non-zero weight, metadata and added_at timestamp. + cosmos.group.v1.Proposal: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: + type: string + description: group_policy_address is the account address of group policy. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: + type: string + format: date-time + description: submit_time is a timestamp specifying when a proposal was submitted. + group_version: + type: string + format: uint64 + description: |- + group_version tracks the version of the group at proposal submission. + This field is here for informational purposes only. + group_policy_version: + type: string + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. + + When a decision policy is changed, existing proposals from previous + policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of the + proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for this + + proposal for each vote option. It is empty at submission, and only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. type: object properties: - next_key: + yes_count: type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + description: yes_count is the weighted sum of yes votes. + abstain_count: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting must be done. - was set, its value is undefined otherwise - description: >- - QueryGranterGrantsResponse is the response type for the - Query/GranterGrants RPC method. - cosmos.authz.v1beta1.QueryGrantsResponse: - type: object - properties: - grants: + Unless a successfull MsgExec is called before (to execute a proposal + whose + + tally is successful before the voting period ends), tallying will be + done + + at this point, and the `final_tally_result`and `status` fields will be + + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. Initial + value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: type: array items: type: object properties: - authorization: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + type_url: + 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 + protobuf release, and it is not used for type URLs beginning + with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + Schemes other than `http`, `https` (or the empty scheme) might + be - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. + used with implementation specific semantics. + value: + type: string + format: byte description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values in - the form + Protobuf library provides support to pack/unpack Any values in the + form - of utility functions or additional generated methods of the Any - type. + of utility functions or additional generated methods of the Any + type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 2: Pack and unpack a message in Java. + 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); - } + 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 3: Pack and unpack a message in Python. - 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.DESCRIPTOR): + any.Unpack(foo) + ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - The pack methods provided by protobuf library will by default - use + The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last - '/' + 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 + in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, - then the grant + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the proposal + passes. + description: >- + Proposal defines a group proposal. Any member of a group can submit a + proposal - doesn't have a time expiration (other conditions in - `authorization` + for a group policy to decide upon. - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: authorizations is a list of grants granted for grantee by granter. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + A proposal consists of a set of `sdk.Msg`s that will be executed if the + proposal - was set, its value is undefined otherwise - description: >- - QueryGrantsResponse is the response type for the Query/Authorizations RPC - method. - cosmos.feegrant.v1beta1.Grant: + passes as well as some optional metadata associated with the proposal. + cosmos.group.v1.ProposalExecutorResult: + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + description: |- + ProposalExecutorResult defines types of proposal executor results. + + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed. + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor. + - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state. + - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state. + cosmos.group.v1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus defines proposal statuses. + + - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed. + - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted. + - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome + passes the group policy's decision policy. + - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome + is rejected by the group policy's decision policy. + - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the + final tally. + - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner. + When this happens the final status is Withdrawn. + cosmos.group.v1.QueryGroupInfoResponse: type: object properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: 'allowance can be any of basic, periodic, allowed fee allowance.' + info: + description: info is the GroupInfo for the group. type: object properties: - type_url: + id: 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. + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership structure + that + would break existing proposals. Whenever any members weight is + changed, - Schemes other than `http`, `https` (or the empty scheme) might be + or any member is added or removed this version is incremented and + will - used with implementation specific semantics. - value: + cause proposals based on older versions of this group to fail + total_weight: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - title: Grant is stored in the KVStore to record a grant with full context - cosmos.feegrant.v1beta1.QueryAllowanceResponse: + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: QueryGroupInfoResponse is the Query/GroupInfo response type. + cosmos.group.v1.QueryGroupMembersResponse: type: object properties: - allowance: - description: allowance is a allowance granted for grantee by granter. + members: + type: array + items: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + member: + description: member is the member data. + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: >- + weight is the member's voting weight that should be greater + than 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + added_at: + type: string + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: >- + GroupMember represents the relationship between a group and a + member. + description: members are the members of the group with given group_id. + pagination: + description: pagination defines the pagination in the response. type: object properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: + next_key: type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: 'allowance can be any of basic, periodic, allowed fee allowance.' - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might - be + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - title: Grant is stored in the KVStore to record a grant with full context - description: >- - QueryAllowanceResponse is the response type for the Query/Allowance RPC - method. - cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse: + was set, its value is undefined otherwise + description: QueryGroupMembersResponse is the Query/GroupMembersResponse response type. + cosmos.group.v1.QueryGroupPoliciesByAdminResponse: type: object properties: - allowances: + group_policies: type: array items: type: object properties: - granter: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: type: string description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: + metadata is any arbitrary metadata to attached to the group + policy. + version: type: string + format: uint64 description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: 'allowance can be any of basic, periodic, allowed fee allowance.' + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: type: object properties: type_url: @@ -79086,10 +90836,121 @@ definitions: description: >- Must be a valid serialized protocol buffer of the above specified type. - title: Grant is stored in the KVStore to record a grant with full context - description: allowances that have been issued by the granter. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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" + } + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a + group policy. + description: group_policies are the group policies info with provided admin. pagination: - description: pagination defines an pagination for the response. + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -79108,31 +90969,40 @@ definitions: was set, its value is undefined otherwise description: >- - QueryAllowancesByGranterResponse is the response type for the - Query/AllowancesByGranter RPC method. - - - Since: cosmos-sdk 0.46 - cosmos.feegrant.v1beta1.QueryAllowancesResponse: + QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin + response type. + cosmos.group.v1.QueryGroupPoliciesByGroupResponse: type: object properties: - allowances: + group_policies: type: array items: type: object properties: - granter: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: type: string description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: + metadata is any arbitrary metadata to attached to the group + policy. + version: type: string + format: uint64 description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: 'allowance can be any of basic, periodic, allowed fee allowance.' + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: type: object properties: type_url: @@ -79198,807 +91068,1541 @@ definitions: description: >- Must be a valid serialized protocol buffer of the above specified type. - title: Grant is stored in the KVStore to record a grant with full context - description: allowances are allowance's granted for grantee by granter. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: >- - QueryAllowancesResponse is the response type for the Query/Allowances RPC - method. - cosmos.nft.v1beta1.Class: - type: object - properties: - id: - type: string - title: >- - id defines the unique identifier of the NFT classification, similar to - the contract address of ERC721 - name: - type: string - title: >- - name defines the human-readable name of the NFT classification. - Optional - symbol: - type: string - title: symbol is an abbreviated name for nft classification. Optional - description: - type: string - title: description is a brief description of nft classification. Optional - uri: - type: string - title: >- - uri for the class metadata stored off chain. It can define schema for - Class and NFT `Data` attributes. Optional - uri_hash: - type: string - title: uri_hash is a hash of the document pointed by uri. Optional - data: - type: object - properties: - type_url: - 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: + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - * 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.) + Protobuf library provides support to pack/unpack Any values in + the form - Note: this functionality is not currently available in the - official + of utility functions or additional generated methods of the Any + type. - protobuf release, and it is not used for type URLs beginning with - type.googleapis.com. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Schemes other than `http`, `https` (or the empty scheme) might be + Example 2: Pack and unpack a message in Java. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - URL that describes the type of the serialized message. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Protobuf library provides support to pack/unpack Any values in the - form + Example 4: Pack and unpack a message in Go - of utility functions or additional generated methods of the Any type. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default + use - Example 1: Pack and unpack a message in C++. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + methods only use the fully qualified type name after the last + '/' - Example 2: Pack and unpack a message in Java. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + name "y.z". - 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 + JSON - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + ==== - The pack methods provided by protobuf library will by default use + The JSON representation of an `Any` value uses the regular - 'type.googleapis.com/full.type.name' as the type URL and the unpack + representation of the deserialized, embedded message, with an - methods only use the fully qualified type name after the last '/' + additional field `@type` which contains the type URL. Example: - in the type URL, for example "foo.bar.com/x/y.z" will yield type + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - name "y.z". + { + "@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 - JSON + `value` which holds the custom JSON in addition to the `@type` - ==== + field. Example (for message [google.protobuf.Duration][]): - The JSON representation of an `Any` value uses the regular + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a + group policy. + description: >- + group_policies are the group policies info associated with the + provided group. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - representation of the deserialized, embedded message, with an + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup + response type. + cosmos.group.v1.QueryGroupPolicyInfoResponse: + type: object + properties: + info: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the group + policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that - additional field `@type` which contains the type URL. Example: + would create a different result on a running proposal. + decision_policy: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + protocol buffer message. This string must contain at least - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + one "/" character. The last segment of the URL's path must + represent - If the embedded message type is well-known and has a custom JSON + the fully qualified name of the type (as in - representation, that representation will be embedded adding a field + `path/google.protobuf.Duration`). The name should be in a + canonical form - `value` which holds the custom JSON in addition to the `@type` + (e.g., leading "." is not accepted). - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: data is the app specific metadata of the NFT class. Optional - description: Class defines the class of the nft type. - cosmos.nft.v1beta1.NFT: - type: object - properties: - class_id: - type: string - title: >- - class_id associated with the NFT, similar to the contract address of - ERC721 - id: - type: string - title: id is a unique identifier of the NFT - uri: - type: string - title: uri for the NFT metadata stored off chain - uri_hash: - type: string - title: uri_hash is a hash of the document pointed by uri - data: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + In practice, teams usually precompile into the binary all + types that they - protocol buffer message. This string must contain at least + expect it to use in the context of Any. However, for URLs + which use the - one "/" character. The last segment of the URL's path must - represent + scheme `http`, `https`, or no scheme, one can optionally set + up a type - the fully qualified name of the type (as in + server that maps type URLs to message definitions as follows: - `path/google.protobuf.Duration`). The name should be in a - canonical form - (e.g., leading "." is not accepted). + * 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.) - In practice, teams usually precompile into the binary all types - that they + Note: this functionality is not currently available in the + official - expect it to use in the context of Any. However, for URLs which - use the + protobuf release, and it is not used for type URLs beginning + with - scheme `http`, `https`, or no scheme, one can optionally set up a - type + type.googleapis.com. - server that maps type URLs to message definitions as follows: + Schemes other than `http`, `https` (or the empty scheme) might + be - * If no scheme is provided, `https` is assumed. + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - * 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.) + URL that describes the type of the serialized message. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning with + Protobuf library provides support to pack/unpack Any values in the + form - type.googleapis.com. + of utility functions or additional generated methods of the Any + type. - Schemes other than `http`, `https` (or the empty scheme) might be + Example 1: Pack and unpack a message in C++. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - URL that describes the type of the serialized message. + 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); + } - Protobuf library provides support to pack/unpack Any values in the - form + Example 3: Pack and unpack a message in Python. - of utility functions or additional generated methods of the Any type. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + Example 4: Pack and unpack a message in Go - Example 1: Pack and unpack a message in C++. + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + The pack methods provided by protobuf library will by default use - Example 2: Pack and unpack a message in Java. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + methods only use the fully qualified type name after the last '/' - Example 3: Pack and unpack a message in Python. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + name "y.z". - Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default use + JSON - 'type.googleapis.com/full.type.name' as the type URL and the unpack + ==== - methods only use the fully qualified type name after the last '/' + The JSON representation of an `Any` value uses the regular - in the type URL, for example "foo.bar.com/x/y.z" will yield type + representation of the deserialized, embedded message, with an - name "y.z". + 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": + } - JSON + If the embedded message type is well-known and has a custom JSON - ==== + representation, that representation will be embedded adding a + field - The JSON representation of an `Any` value uses the regular + `value` which holds the custom JSON in addition to the `@type` - representation of the deserialized, embedded message, with an + field. Example (for message [google.protobuf.Duration][]): - additional field `@type` which contains the type URL. Example: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a + group policy. + description: QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type. + cosmos.group.v1.QueryGroupsByAdminResponse: + type: object + properties: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + would break existing proposals. Whenever any members weight is + changed, - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + or any member is added or removed this version is incremented + and will - If the embedded message type is well-known and has a custom JSON + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: groups are the groups info with the provided admin. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - representation, that representation will be embedded adding a field + was set, its value is undefined otherwise + description: >- + QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response + type. + cosmos.group.v1.QueryGroupsByMemberResponse: + type: object + properties: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that - `value` which holds the custom JSON in addition to the `@type` + would break existing proposals. Whenever any members weight is + changed, - field. Example (for message [google.protobuf.Duration][]): + or any member is added or removed this version is incremented + and will - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: data is an app specific data of the NFT. Optional - description: NFT defines the NFT. - cosmos.nft.v1beta1.QueryBalanceResponse: + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: groups are the groups info with the provided group member. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: QueryGroupsByMemberResponse is the Query/GroupsByMember response type. + cosmos.group.v1.QueryGroupsResponse: type: object properties: - amount: - type: string - format: uint64 - title: QueryBalanceResponse is the response type for the Query/Balance RPC method - cosmos.nft.v1beta1.QueryClassResponse: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + + would break existing proposals. Whenever any members weight is + changed, + + or any member is added or removed this version is incremented + and will + + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: '`groups` is all the groups present in state.' + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: |- + QueryGroupsResponse is the Query/Groups response type. + + Since: cosmos-sdk 0.47.1 + cosmos.group.v1.QueryProposalResponse: type: object properties: - class: + proposal: + description: proposal is the proposal info. type: object properties: id: type: string - title: >- - id defines the unique identifier of the NFT classification, - similar to the contract address of ERC721 - name: + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: type: string - title: >- - name defines the human-readable name of the NFT classification. - Optional - symbol: + description: group_policy_address is the account address of group policy. + metadata: type: string - title: symbol is an abbreviated name for nft classification. Optional - description: + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: type: string - title: description is a brief description of nft classification. Optional - uri: + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal was + submitted. + group_version: type: string - title: >- - uri for the class metadata stored off chain. It can define schema - for Class and NFT `Data` attributes. Optional - uri_hash: + format: uint64 + description: >- + group_version tracks the version of the group at proposal + submission. + + This field is here for informational purposes only. + group_policy_version: type: string - title: uri_hash is a hash of the document pointed by uri. Optional - data: + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. + + When a decision policy is changed, existing proposals from + previous policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of the + proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for + this + + proposal for each vote option. It is empty at submission, and only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. type: object properties: - type_url: + yes_count: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting must be + done. - protocol buffer message. This string must contain at least + Unless a successfull MsgExec is called before (to execute a + proposal whose - one "/" character. The last segment of the URL's path must - represent + tally is successful before the voting period ends), tallying will + be done - the fully qualified name of the type (as in + at this point, and the `final_tally_result`and `status` fields + will be - `path/google.protobuf.Duration`). The name should be in a - canonical form + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. + Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - (e.g., leading "." is not accepted). + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - In practice, teams usually precompile into the binary all - types that they + the fully qualified name of the type (as in - expect it to use in the context of Any. However, for URLs - which use the + `path/google.protobuf.Duration`). The name should be in a + canonical form - scheme `http`, `https`, or no scheme, one can optionally set - up a type + (e.g., leading "." is not accepted). - server that maps type URLs to message definitions as follows: + In practice, teams usually precompile into the binary all + types that they - * If no scheme is provided, `https` is assumed. + expect it to use in the context of Any. However, for URLs + which use the - * 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.) + scheme `http`, `https`, or no scheme, one can optionally set + up a type - Note: this functionality is not currently available in the - official + server that maps type URLs to message definitions as + follows: - protobuf release, and it is not used for type URLs beginning - with - type.googleapis.com. + * 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.) - Schemes other than `http`, `https` (or the empty scheme) might - be + Note: this functionality is not currently available in the + official - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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 + + 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. + 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); - } + 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 3: Pack and unpack a message in Python. - 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.DESCRIPTOR): + any.Unpack(foo) + ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) ... - } + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - The pack methods provided by protobuf library will by default use + The pack methods provided by protobuf library will by default + use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the last '/' + 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 + in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding a + field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: data is the app specific metadata of the NFT class. Optional - description: Class defines the class of the nft type. - title: QueryClassResponse is the response type for the Query/Class RPC method - cosmos.nft.v1beta1.QueryClassesResponse: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the + proposal passes. + description: QueryProposalResponse is the Query/Proposal response type. + cosmos.group.v1.QueryProposalsByGroupPolicyResponse: type: object properties: - classes: + proposals: type: array items: type: object properties: id: type: string - title: >- - id defines the unique identifier of the NFT classification, - similar to the contract address of ERC721 - name: + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: type: string - title: >- - name defines the human-readable name of the NFT classification. - Optional - symbol: + description: group_policy_address is the account address of group policy. + metadata: type: string - title: symbol is an abbreviated name for nft classification. Optional - description: + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: type: string - title: >- - description is a brief description of nft classification. - Optional - uri: + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal was + submitted. + group_version: type: string - title: >- - uri for the class metadata stored off chain. It can define - schema for Class and NFT `Data` attributes. Optional - uri_hash: + format: uint64 + description: >- + group_version tracks the version of the group at proposal + submission. + + This field is here for informational purposes only. + group_policy_version: type: string - title: uri_hash is a hash of the document pointed by uri. Optional - data: + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. + + When a decision policy is changed, existing proposals from + previous policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of + the proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for + this + + proposal for each vote option. It is empty at submission, and + only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. type: object properties: - type_url: + yes_count: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting must be + done. - protocol buffer message. This string must contain at least + Unless a successfull MsgExec is called before (to execute a + proposal whose - one "/" character. The last segment of the URL's path must - represent + tally is successful before the voting period ends), tallying + will be done - the fully qualified name of the type (as in + at this point, and the `final_tally_result`and `status` fields + will be - `path/google.protobuf.Duration`). The name should be in a - canonical form + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. + Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - (e.g., leading "." is not accepted). + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - In practice, teams usually precompile into the binary all - types that they + the fully qualified name of the type (as in - expect it to use in the context of Any. However, for URLs - which use the + `path/google.protobuf.Duration`). The name should be in a + canonical form - scheme `http`, `https`, or no scheme, one can optionally set - up a type + (e.g., leading "." is not accepted). - server that maps type URLs to message definitions as - follows: + In practice, teams usually precompile into the binary all + types that they - * If no scheme is provided, `https` is assumed. + expect it to use in the context of Any. However, for URLs + which use the - * 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.) + scheme `http`, `https`, or no scheme, one can optionally + set up a type - Note: this functionality is not currently available in the - official + server that maps type URLs to message definitions as + follows: - protobuf release, and it is not used for type URLs beginning - with - type.googleapis.com. + * 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.) - Schemes other than `http`, `https` (or the empty scheme) - might be + Note: this functionality is not currently available in the + official - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + 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. - URL that describes the type of the serialized message. + Example 1: Pack and unpack a message in C++. - Protobuf library provides support to pack/unpack Any values in - the form + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - of utility functions or additional generated methods of the Any - type. + 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 1: Pack and unpack a message in C++. + Example 3: Pack and unpack a message in Python. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { + foo = Foo(...) + any = Any() + any.Pack(foo) ... - } + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Example 2: Pack and unpack a message in Java. + Example 4: Pack and unpack a message in Go - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - Example 3: Pack and unpack a message in Python. + The pack methods provided by protobuf library will by default + use - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - Example 4: Pack and unpack a message in Go + methods only use the fully qualified type name after the last + '/' - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - The pack methods provided by protobuf library will by default - use + name "y.z". - '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 + JSON - name "y.z". + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - JSON + additional field `@type` which contains the type URL. Example: - ==== + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - The JSON representation of an `Any` value uses the regular + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - representation of the deserialized, embedded message, with an + If the embedded message type is well-known and has a custom + JSON - additional field `@type` which contains the type URL. Example: + representation, that representation will be embedded adding a + field - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + `value` which holds the custom JSON in addition to the `@type` - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + field. Example (for message [google.protobuf.Duration][]): - If the embedded message type is well-known and has a custom JSON + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the + proposal passes. + description: >- + Proposal defines a group proposal. Any member of a group can submit + a proposal - representation, that representation will be embedded adding a - field + for a group policy to decide upon. - `value` which holds the custom JSON in addition to the `@type` + A proposal consists of a set of `sdk.Msg`s that will be executed if + the proposal - field. Example (for message [google.protobuf.Duration][]): + passes as well as some optional metadata associated with the + proposal. + description: proposals are the proposals with given group policy. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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" - } - title: data is the app specific metadata of the NFT class. Optional - description: Class defines the class of the nft type. + was set, its value is undefined otherwise + description: >- + QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy + response type. + cosmos.group.v1.QueryTallyResultResponse: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + description: QueryTallyResultResponse is the Query/TallyResult response type. + cosmos.group.v1.QueryVoteByProposalVoterResponse: + type: object + properties: + vote: + description: vote is the vote with given proposal_id and voter. + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: >- + QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response + type. + cosmos.group.v1.QueryVotesByProposalResponse: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes for given proposal_id. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: QueryVotesByProposalResponse is the Query/VotesByProposal response type. + cosmos.group.v1.QueryVotesByVoterResponse: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes by given voter. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: QueryVotesByVoterResponse is the Query/VotesByVoter response type. + cosmos.group.v1.TallyResult: + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + description: TallyResult represents the sum of weighted votes for each vote option. + cosmos.group.v1.Vote: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + cosmos.group.v1.VoteOption: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: |- + VoteOption enumerates the valid vote options for a given proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will + return an error. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + provenance.attribute.v1.Attribute: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the attribute + value + address: + type: string + title: The address the attribute is bound to + expiration_date: + type: string + format: date-time + description: Time that an attribute will expire. + title: >- + Attribute holds a typed key/value structure for data associated with an + account + provenance.attribute.v1.AttributeType: + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + description: >- + - ATTRIBUTE_TYPE_UNSPECIFIED: ATTRIBUTE_TYPE_UNSPECIFIED defines an + unknown/invalid type + - ATTRIBUTE_TYPE_UUID: ATTRIBUTE_TYPE_UUID defines an attribute value that contains a string value representation of a V4 uuid + - ATTRIBUTE_TYPE_JSON: ATTRIBUTE_TYPE_JSON defines an attribute value that contains a byte string containing json data + - ATTRIBUTE_TYPE_STRING: ATTRIBUTE_TYPE_STRING defines an attribute value that contains a generic string value + - ATTRIBUTE_TYPE_URI: ATTRIBUTE_TYPE_URI defines an attribute value that contains a URI + - ATTRIBUTE_TYPE_INT: ATTRIBUTE_TYPE_INT defines an attribute value that contains an integer (cast as int64) + - ATTRIBUTE_TYPE_FLOAT: ATTRIBUTE_TYPE_FLOAT defines an attribute value that contains a float + - ATTRIBUTE_TYPE_PROTO: ATTRIBUTE_TYPE_PROTO defines an attribute value that contains a serialized proto value in bytes + - ATTRIBUTE_TYPE_BYTES: ATTRIBUTE_TYPE_BYTES defines an attribute value that contains an untyped array of bytes + title: AttributeType defines the type of the data stored in the attribute value + provenance.attribute.v1.Params: + type: object + properties: + max_value_length: + type: integer + format: int64 + title: maximum length of data to allow in an attribute value + description: Params defines the set of params for the attribute module. + provenance.attribute.v1.QueryAccountDataResponse: + type: object + properties: + value: + type: string + description: value is the accountdata attribute value for the requested account. + description: >- + QueryAccountDataResponse is the response type for the Query/AccountData + method. + provenance.attribute.v1.QueryAttributeAccountsResponse: + type: object + properties: + accounts: + type: array + items: + type: string + title: list of account addresses that have attributes of request name + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + QueryAttributeAccountsResponse is the response type for the + Query/AttributeAccounts method. + provenance.attribute.v1.QueryAttributeResponse: + type: object + properties: + account: + type: string + description: >- + a string containing the address of the account the attributes are + assigned to. + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + expiration_date: + type: string + format: date-time + description: Time that an attribute will expire. + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values pagination: + description: pagination defines an optional pagination for the request. type: object properties: next_key: @@ -80016,397 +92620,141 @@ definitions: 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; - } - title: QueryClassesResponse is the response type for the Query/Classes RPC method - cosmos.nft.v1beta1.QueryNFTResponse: + description: >- + QueryAttributeResponse is the response type for the Query/Attribute + method. + provenance.attribute.v1.QueryAttributesResponse: type: object properties: - nft: + account: + type: string + title: >- + a string containing the address of the account the attributes are + assigned to= + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + expiration_date: + type: string + format: date-time + description: Time that an attribute will expire. + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - class_id: - type: string - title: >- - class_id associated with the NFT, similar to the contract address - of ERC721 - id: - type: string - title: id is a unique identifier of the NFT - uri: + next_key: type: string - title: uri for the NFT metadata stored off chain - uri_hash: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - title: uri_hash is a hash of the document pointed by uri - data: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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][]): + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: data is an app specific data of the NFT. Optional - description: NFT defines the NFT. - title: QueryNFTResponse is the response type for the Query/NFT RPC method - cosmos.nft.v1beta1.QueryNFTsResponse: + was set, its value is undefined otherwise + description: >- + QueryAttributesResponse is the response type for the Query/Attributes + method. + provenance.attribute.v1.QueryParamsResponse: type: object properties: - nfts: + params: + description: params defines the parameters of the module. + type: object + properties: + max_value_length: + type: integer + format: int64 + title: maximum length of data to allow in an attribute value + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.attribute.v1.QueryScanResponse: + type: object + properties: + account: + type: string + title: >- + a string containing the address of the account the attributes are + assigned to= + attributes: type: array items: type: object properties: - class_id: - type: string - title: >- - class_id associated with the NFT, similar to the contract - address of ERC721 - id: + name: type: string - title: id is a unique identifier of the NFT - uri: + description: The attribute name. + value: type: string - title: uri for the NFT metadata stored off chain - uri_hash: + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. type: string - title: uri_hash is a hash of the document pointed by uri - data: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - 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 := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, 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" - } - title: data is an app specific data of the NFT. Optional - description: NFT defines the NFT. + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + expiration_date: + type: string + format: date-time + description: Time that an attribute will expire. + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values pagination: + description: pagination defines an optional pagination for the request. type: object properties: next_key: @@ -80424,1157 +92772,2222 @@ definitions: 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; - } - title: QueryNFTsResponse is the response type for the Query/NFTs RPC methods - cosmos.nft.v1beta1.QueryOwnerResponse: + description: QueryScanResponse is the response type for the Query/Scan method. + provenance.attribute.v1.MsgAddAttributeResponse: + type: object + description: MsgAddAttributeResponse defines the Msg/AddAttribute response type. + provenance.attribute.v1.MsgDeleteAttributeResponse: + type: object + description: MsgDeleteAttributeResponse defines the Msg/DeleteAttribute response type. + provenance.attribute.v1.MsgDeleteDistinctAttributeResponse: + type: object + description: >- + MsgDeleteDistinctAttributeResponse defines the Msg/DeleteDistinctAttribute + response type. + provenance.attribute.v1.MsgSetAccountDataResponse: + type: object + description: MsgSetAccountDataResponse defines the Msg/SetAccountData response type. + provenance.attribute.v1.MsgUpdateAttributeExpirationResponse: + type: object + description: MsgUpdateAttributeExpirationResponse defines the Msg/Vote response type. + provenance.attribute.v1.MsgUpdateAttributeResponse: + type: object + description: MsgUpdateAttributeResponse defines the Msg/UpdateAttribute response type. + provenance.exchange.v1.AccessGrant: type: object properties: - owner: + address: type: string - title: QueryOwnerResponse is the response type for the Query/Owner RPC method - cosmos.nft.v1beta1.QuerySupplyResponse: + description: address is the address that these permissions apply to. + permissions: + type: array + items: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED + description: >- + Permission defines the different types of permission that can be + given to an account for a market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. + description: allowed is the list of permissions available for the address. + description: >- + AddrPermissions associates an address with a list of permissions available + for that address. + provenance.exchange.v1.AccountAmount: type: object properties: - amount: + account: type: string - format: uint64 - title: QuerySupplyResponse is the response type for the Query/Supply RPC method - cosmos.group.v1.GroupInfo: + description: >- + account is the bech32 address string of the account associated with + the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + provenance.exchange.v1.AskOrder: type: object properties: - id: - type: string - format: uint64 - description: id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group's admin. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the group. - version: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: type: string - format: uint64 - title: >- - version is used to track changes to a group's membership structure - that + description: >- + seller is the address of the account that owns this order and has the + assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - would break existing proposals. Whenever any members weight is - changed, + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - or any member is added or removed this version is incremented and will + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - cause proposals based on older versions of this group to fail - total_weight: - type: string - description: total_weight is the sum of the group members' weights. - created_at: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: type: string - format: date-time - description: created_at is a timestamp specifying when a group was created. - description: GroupInfo represents the high-level on-chain information for a group. - cosmos.group.v1.GroupMember: + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. + + If an order in this market with this external id already exists, this + order will be rejected. + description: AskOrder represents someone's desire to sell something at a minimum price. + provenance.exchange.v1.BidOrder: type: object properties: - group_id: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: type: string - format: uint64 - description: group_id is the unique ID of the group. - member: - description: member is the member data. + description: >- + buyer is the address of the account that owns this order and has the + price to spend. + assets: type: object properties: - address: + denom: type: string - description: address is the member's account address. - weight: + amount: type: string - description: >- - weight is the member's voting weight that should be greater than - 0. - metadata: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + price: + type: object + properties: + denom: type: string - description: metadata is any arbitrary metadata attached to the member. - added_at: + amount: type: string - format: date-time - description: added_at is a timestamp specifying when a member was added. - description: GroupMember represents the relationship between a group and a member. - cosmos.group.v1.GroupPolicyInfo: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and proportional) that + the buyer will pay (in addition to the price) + + when the order is settled. A hold is placed on this until the order is + filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. + + If an order in this market with this external id already exists, this + order will be rejected. + description: BidOrder represents someone's desire to buy something at a specific price. + provenance.exchange.v1.Commitment: type: object properties: - address: - type: string - description: address is the account address of group policy. - group_id: - type: string - format: uint64 - description: group_id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group admin. - metadata: + account: type: string - description: metadata is any arbitrary metadata to attached to the group policy. - version: + description: account is the bech32 address string with the committed funds. + market_id: + type: integer + format: int64 + description: >- + market_id is the numeric identifier of the market the funds are + committed to. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + amount is the funds that have been committed by the account to the + market. + description: Commitment contains information on committed funds. + provenance.exchange.v1.DenomSplit: + type: object + properties: + denom: type: string - format: uint64 + description: denom is the coin denomination this split applies to. + split: + type: integer + format: int64 description: >- - version is used to track changes to a group's GroupPolicyInfo - structure that + split is the proportion of fees the exchange receives for this denom + in basis points. - would create a different result on a running proposal. - decision_policy: + E.g. 100 = 1%. Min = 0, Max = 10000. + description: >- + DenomSplit associates a coin denomination with an amount the exchange + receives for that denom. + provenance.exchange.v1.FeeRatio: + type: object + properties: + price: type: object properties: - type_url: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. + provenance.exchange.v1.Market: + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: name is a moniker that people can use to refer to this market. + description: type: string description: >- - A URL/resource name that uniquely identifies the type of the - serialized + description extra information about this market. The field is + meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this market, or at + least get more information about this market. + icon_uri: + type: string + description: icon_uri is a uri for an icon to associate with this market. + fee_create_ask_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - protocol buffer message. This string must contain at least + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + fee_create_ask_flat is the flat fee charged for creating an ask order. - one "/" character. The last segment of the URL's path must - represent + Each coin entry is a separate option. When an ask is created, one of + these must be paid. - the fully qualified name of the type (as in + If empty, no fee is required to create an ask order. + fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - `path/google.protobuf.Duration`). The name should be in a - canonical form + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + fee_create_bid_flat is the flat fee charged for creating a bid order. - (e.g., leading "." is not accepted). + Each coin entry is a separate option. When a bid is created, one of + these must be paid. + If empty, no fee is required to create a bid order. + fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - In practice, teams usually precompile into the binary all types - that they + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + fee_seller_settlement_flat is the flat fee charged to the seller + during settlement. - expect it to use in the context of Any. However, for URLs which - use the + Each coin entry is a separate option. - scheme `http`, `https`, or no scheme, one can optionally set up a - type + When an ask is settled, the seller will pay the amount in the denom + that matches the price they received. + fee_seller_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - server that maps type URLs to message definitions as follows: + NOTE: The amount field is an Int which implements the custom + method - * If no scheme is provided, `https` is assumed. + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - * 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: The amount field is an Int which implements the custom + method - protobuf release, and it is not used for type URLs beginning with + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. - type.googleapis.com. + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. + description: >- + fee_seller_settlement_ratios is the fee to charge a seller during + settlement based on the price they are receiving. + The price and fee denoms must be equal for each entry, and only one + entry for any given denom is allowed. + fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) might be + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + fee_buyer_settlement_flat is the flat fee charged to the buyer during + settlement. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above specified - type. + Each coin entry is a separate option. + + When a bid is created, the settlement fees provided must contain one + of these. + fee_buyer_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + fee_buyer_settlement_ratios is the fee to charge a buyer during + settlement based on the price they are spending. - URL that describes the type of the serialized message. + The price and fee denoms do not have to equal. Multiple entries for + any given price or fee denom are allowed, but + + each price denom to fee denom pair can only have one entry. + accepting_orders: + type: boolean + format: boolean + description: >- + accepting_orders is whether this market is allowing orders to be + created for it. + allow_user_settlement: + type: boolean + format: boolean + description: >- + allow_user_settlement is whether this market allows users to initiate + their own settlements. + For example, the FillBids and FillAsks endpoints are available if and + only if this is true. - Protobuf library provides support to pack/unpack Any values in the - form + The MarketSettle endpoint is only available to market actors + regardless of the value of this field. + access_grants: + type: array + items: + type: object + properties: + address: + type: string + description: address is the address that these permissions apply to. + permissions: + type: array + items: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED + description: >- + Permission defines the different types of permission that can + be given to an account for a market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. + description: allowed is the list of permissions available for the address. + description: >- + AddrPermissions associates an address with a list of permissions + available for that address. + description: >- + access_grants is the list of addresses and permissions granted for + this market. + req_attr_create_ask: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an account for + it to be allowed to create an ask order. - of utility functions or additional generated methods of the Any type. + An account must have all of these attributes in order to create an ask + order in this market. + If the list is empty, any account can create ask orders in this + market. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + An entry that starts with "*." will match any attributes that end with + the rest of it. - Example 2: Pack and unpack a message in Java. + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; but + not "b.a", "xb.a", "b.x.a", or "c.b.a.x". + req_attr_create_bid: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an account for + it to be allowed to create a bid order. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + An account must have all of these attributes in order to create a bid + order in this market. - Example 3: Pack and unpack a message in Python. + If the list is empty, any account can create bid orders in this + market. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + An entry that starts with "*." will match any attributes that end with + the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; but + not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + accepting_commitments: + type: boolean + format: boolean + description: >- + accepting_commitments is whether the market is allowing users to + commit funds to it. + fee_create_commitment_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + fee_create_commitment_flat is the flat fee charged for creating a + commitment. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Each coin entry is a separate option. When a commitment is created, + one of these must be paid. - The pack methods provided by protobuf library will by default use + If empty, no fee is required to create a commitment. + commitment_settlement_bips: + type: integer + format: int64 + description: >- + commitment_settlement_bips is the fraction of a commitment settlement + that will be paid to the exchange. - 'type.googleapis.com/full.type.name' as the type URL and the unpack + It is represented in basis points (1/100th of 1%, e.g. 0.0001) and is + limited to 0 to 10,000 inclusive. - methods only use the fully qualified type name after the last '/' + During a commitment settlement, the inputs are summed and NAVs are + used to convert that total to the - in the type URL, for example "foo.bar.com/x/y.z" will yield type + intermediary denom, then to the fee denom. That is then multiplied by + this value to get the fee amount - name "y.z". + that will be transferred out of the market's account into the exchange + for that settlement. + Summing the inputs effectively doubles the value of the settlement + from what what is usually thought of - JSON + as the value of a trade. That should be taken into account when + setting this value. - ==== + E.g. if two accounts are trading 10apples for 100grapes, the inputs + total will be 10apples,100grapes - The JSON representation of an `Any` value uses the regular + (which might then be converted to USD then nhash before applying this + ratio); Usually, though, the value - representation of the deserialized, embedded message, with an + of that trade would be viewed as either just 10apples or just + 100grapes. + intermediary_denom: + type: string + description: >- + intermediary_denom is the denom that funds get converted to (before + being converted to the chain's fee denom) - additional field `@type` which contains the type URL. Example: + when calculating the fees that are paid to the exchange. NAVs are used + for this conversion and actions will fail - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + if a NAV is needed but not available. + req_attr_create_commitment: + type: array + items: + type: string + description: >- + req_attr_create_commitment is a list of attributes required on an + account for it to be allowed to create a - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + commitment. An account must have all of these attributes in order to + create a commitment in this market. - If the embedded message type is well-known and has a custom JSON + If the list is empty, any account can create commitments in this + market. - representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + An entry that starts with "*." will match any attributes that end with + the rest of it. - field. Example (for message [google.protobuf.Duration][]): + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; but + not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + description: Market contains all information about a market. + provenance.exchange.v1.MarketAmount: + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id is the numeric identifier the amount has been committed to. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - created_at: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: MarketAmount associates a market with a coins amount. + provenance.exchange.v1.MarketBrief: + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_address: type: string - format: date-time - description: created_at is a timestamp specifying when a group policy was created. + description: market_address is the bech32 address string of this market's account. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: name is a moniker that people can use to refer to this market. + description: + type: string + description: >- + description extra information about this market. The field is + meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this market, or at + least get more information about this market. + icon_uri: + type: string + description: icon_uri is a uri for an icon to associate with this market. description: >- - GroupPolicyInfo represents the high-level on-chain information for a group - policy. - cosmos.group.v1.Member: + MarketBrief is a message containing brief, superficial information about a + market. + provenance.exchange.v1.MarketDetails: type: object properties: - address: + name: type: string - description: address is the member's account address. - weight: + description: name is a moniker that people can use to refer to this market. + description: type: string - description: weight is the member's voting weight that should be greater than 0. - metadata: + description: >- + description extra information about this market. The field is meant to + be human-readable. + website_url: type: string - description: metadata is any arbitrary metadata attached to the member. - added_at: + description: >- + website_url is a url people can use to get to this market, or at least + get more information about this market. + icon_uri: type: string - format: date-time - description: added_at is a timestamp specifying when a member was added. - description: |- - Member represents a group member with an account address, - non-zero weight, metadata and added_at timestamp. - cosmos.group.v1.Proposal: + description: icon_uri is a uri for an icon to associate with this market. + description: MarketDetails contains information about a market. + provenance.exchange.v1.MsgGovCreateMarketRequest: type: object properties: - id: - type: string - format: uint64 - description: id is the unique id of the proposal. - group_policy_address: - type: string - description: group_policy_address is the account address of group policy. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the proposal. - proposers: - type: array - items: - type: string - description: proposers are the account addresses of the proposers. - submit_time: - type: string - format: date-time - description: submit_time is a timestamp specifying when a proposal was submitted. - group_version: - type: string - format: uint64 - description: |- - group_version tracks the version of the group at proposal submission. - This field is here for informational purposes only. - group_policy_version: + authority: type: string - format: uint64 + description: authority should be the governance module account address. + market: description: >- - group_policy_version tracks the version of the group policy at - proposal submission. + market is the initial market configuration. - When a decision policy is changed, existing proposals from previous - policy + If the market_id is 0, the next available market_id will be used (once + voting ends). - versions will become invalid with the `ABORTED` status. + If it is not zero, it must not yet be in use when the voting period + ends. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: name is a moniker that people can use to refer to this market. + description: + type: string + description: >- + description extra information about this market. The field is + meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this market, or + at least get more information about this market. + icon_uri: + type: string + description: icon_uri is a uri for an icon to associate with this market. + fee_create_ask_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - This field is here for informational purposes only. - status: - description: >- - status represents the high level position in the life cycle of the - proposal. Initial value is Submitted. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_SUBMITTED - - PROPOSAL_STATUS_ACCEPTED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result contains the sums of all weighted votes for this - proposal for each vote option. It is empty at submission, and only + NOTE: The amount field is an Int which implements the custom + method - populated after tallying, at voting period end or at proposal - execution, + signatures required by gogoproto. + description: >- + fee_create_ask_flat is the flat fee charged for creating an ask + order. - whichever happens first. - type: object - properties: - yes_count: - type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: - type: string - description: abstain_count is the weighted sum of abstainers. - no_count: - type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: - type: string - description: no_with_veto_count is the weighted sum of veto. - voting_period_end: - type: string - format: date-time - description: >- - voting_period_end is the timestamp before which voting must be done. + Each coin entry is a separate option. When an ask is created, one + of these must be paid. - Unless a successfull MsgExec is called before (to execute a proposal - whose + If empty, no fee is required to create an ask order. + fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - tally is successful before the voting period ends), tallying will be - done - at this point, and the `final_tally_result`and `status` fields will be + NOTE: The amount field is an Int which implements the custom + method - accordingly updated. - executor_result: - description: >- - executor_result is the final result of the proposal execution. Initial - value is NotRun. - type: string - enum: - - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - - PROPOSAL_EXECUTOR_RESULT_NOT_RUN - - PROPOSAL_EXECUTOR_RESULT_SUCCESS - - PROPOSAL_EXECUTOR_RESULT_FAILURE - default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - messages: - type: array - items: - type: object - properties: - type_url: - type: string + signatures required by gogoproto. + description: >- + fee_create_bid_flat is the flat fee charged for creating a bid + order. + + Each coin entry is a separate option. When a bid is created, one + of these must be paid. + + If empty, no fee is required to create a bid order. + fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - A URL/resource name that uniquely identifies the type of the - serialized + Coin defines a token with a denomination and an amount. - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must - represent + NOTE: The amount field is an Int which implements the custom + method - the fully qualified name of the type (as in + signatures required by gogoproto. + description: >- + fee_seller_settlement_flat is the flat fee charged to the seller + during settlement. - `path/google.protobuf.Duration`). The name should be in a - canonical form + Each coin entry is a separate option. - (e.g., leading "." is not accepted). + When an ask is settled, the seller will pay the amount in the + denom that matches the price they received. + fee_seller_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - In practice, teams usually precompile into the binary all types - that they + NOTE: The amount field is an Int which implements the custom + method - expect it to use in the context of Any. However, for URLs which - use the + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - scheme `http`, `https`, or no scheme, one can optionally set up - a type - server that maps type URLs to message definitions as follows: + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. - * If no scheme is provided, `https` is assumed. + For an order to be valid, its price must be evenly divisible by + a FeeRatio's price. + description: >- + fee_seller_settlement_ratios is the fee to charge a seller during + settlement based on the price they are receiving. - * 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 price and fee denoms must be equal for each entry, and only + one entry for any given denom is allowed. + fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + NOTE: The amount field is an Int which implements the custom + method - type.googleapis.com. + signatures required by gogoproto. + description: >- + fee_buyer_settlement_flat is the flat fee charged to the buyer + during settlement. + Each coin entry is a separate option. - Schemes other than `http`, `https` (or the empty scheme) might - be + When a bid is created, the settlement fees provided must contain + one of these. + fee_buyer_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - used with implementation specific semantics. - value: + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly divisible by + a FeeRatio's price. + description: >- + fee_buyer_settlement_ratios is the fee to charge a buyer during + settlement based on the price they are spending. + + The price and fee denoms do not have to equal. Multiple entries + for any given price or fee denom are allowed, but + + each price denom to fee denom pair can only have one entry. + accepting_orders: + type: boolean + format: boolean + description: >- + accepting_orders is whether this market is allowing orders to be + created for it. + allow_user_settlement: + type: boolean + format: boolean + description: >- + allow_user_settlement is whether this market allows users to + initiate their own settlements. + + For example, the FillBids and FillAsks endpoints are available if + and only if this is true. + + The MarketSettle endpoint is only available to market actors + regardless of the value of this field. + access_grants: + type: array + items: + type: object + properties: + address: + type: string + description: address is the address that these permissions apply to. + permissions: + type: array + items: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED + description: >- + Permission defines the different types of permission that + can be given to an account for a market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. + description: >- + allowed is the list of permissions available for the + address. + description: >- + AddrPermissions associates an address with a list of permissions + available for that address. + description: >- + access_grants is the list of addresses and permissions granted for + this market. + req_attr_create_ask: + type: array + items: type: string - format: byte + description: >- + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create an ask order. + + An account must have all of these attributes in order to create an + ask order in this market. + + If the list is empty, any account can create ask orders in this + market. + + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "b.x.a", or "c.b.a.x". + req_attr_create_bid: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create a bid order. + + An account must have all of these attributes in order to create a + bid order in this market. + + If the list is empty, any account can create bid orders in this + market. + + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + accepting_commitments: + type: boolean + format: boolean + description: >- + accepting_commitments is whether the market is allowing users to + commit funds to it. + fee_create_commitment_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + Coin defines a token with a denomination and an amount. - URL that describes the type of the serialized message. + NOTE: The amount field is an Int which implements the custom + method - Protobuf library provides support to pack/unpack Any values in the - form + signatures required by gogoproto. + description: >- + fee_create_commitment_flat is the flat fee charged for creating a + commitment. - of utility functions or additional generated methods of the Any - type. + Each coin entry is a separate option. When a commitment is + created, one of these must be paid. + If empty, no fee is required to create a commitment. + commitment_settlement_bips: + type: integer + format: int64 + description: >- + commitment_settlement_bips is the fraction of a commitment + settlement that will be paid to the exchange. - Example 1: Pack and unpack a message in C++. + It is represented in basis points (1/100th of 1%, e.g. 0.0001) and + is limited to 0 to 10,000 inclusive. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + During a commitment settlement, the inputs are summed and NAVs are + used to convert that total to the - Example 2: Pack and unpack a message in Java. + intermediary denom, then to the fee denom. That is then multiplied + by this value to get the fee amount - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + that will be transferred out of the market's account into the + exchange for that settlement. - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Summing the inputs effectively doubles the value of the settlement + from what what is usually thought of - Example 4: Pack and unpack a message in Go + as the value of a trade. That should be taken into account when + setting this value. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + E.g. if two accounts are trading 10apples for 100grapes, the + inputs total will be 10apples,100grapes + + (which might then be converted to USD then nhash before applying + this ratio); Usually, though, the value + + of that trade would be viewed as either just 10apples or just + 100grapes. + intermediary_denom: + type: string + description: >- + intermediary_denom is the denom that funds get converted to + (before being converted to the chain's fee denom) + + when calculating the fees that are paid to the exchange. NAVs are + used for this conversion and actions will fail + + if a NAV is needed but not available. + req_attr_create_commitment: + type: array + items: + type: string + description: >- + req_attr_create_commitment is a list of attributes required on an + account for it to be allowed to create a + + commitment. An account must have all of these attributes in order + to create a commitment in this market. + + If the list is empty, any account can create commitments in this + market. + + + An entry that starts with "*." will match any attributes that end + with the rest of it. + + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + description: >- + MsgGovCreateMarketRequest is a request message for the GovCreateMarket + endpoint. + provenance.exchange.v1.MsgGovManageFeesRequest: + type: object + properties: + authority: + type: string + description: authority should be the governance module account address. + market_id: + type: integer + format: int64 + description: market_id is the market id that will get these fee updates. + add_fee_create_ask_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: add_fee_create_ask_flat are the create-ask flat fee options to add. + remove_fee_create_ask_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - The pack methods provided by protobuf library will by default use + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + remove_fee_create_ask_flat are the create-ask flat fee options to + remove. + add_fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - 'type.googleapis.com/full.type.name' as the type URL and the unpack + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: add_fee_create_bid_flat are the create-bid flat fee options to add. + remove_fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - methods only use the fully qualified type name after the last '/' + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + remove_fee_create_bid_flat are the create-bid flat fee options to + remove. + add_fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - in the type URL, for example "foo.bar.com/x/y.z" will yield type + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + add_fee_seller_settlement_flat are the seller settlement flat fee + options to add. + remove_fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - name "y.z". + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + remove_fee_seller_settlement_flat are the seller settlement flat fee + options to remove. + add_fee_seller_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom + method - JSON + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - ==== - The JSON representation of an `Any` value uses the regular + NOTE: The amount field is an Int which implements the custom + method - representation of the deserialized, embedded message, with an + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. - additional field `@type` which contains the type URL. Example: + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. + description: >- + add_fee_seller_settlement_ratios are the seller settlement fee ratios + to add. + remove_fee_seller_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + NOTE: The amount field is an Int which implements the custom + method - If the embedded message type is well-known and has a custom JSON + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + NOTE: The amount field is an Int which implements the custom + method - field. Example (for message [google.protobuf.Duration][]): + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. description: >- - messages is a list of `sdk.Msg`s that will be executed if the proposal - passes. - description: >- - Proposal defines a group proposal. Any member of a group can submit a - proposal + remove_fee_seller_settlement_ratios are the seller settlement fee + ratios to remove. + add_fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - for a group policy to decide upon. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + add_fee_buyer_settlement_flat are the buyer settlement flat fee + options to add. + remove_fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - A proposal consists of a set of `sdk.Msg`s that will be executed if the - proposal + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + remove_fee_buyer_settlement_flat are the buyer settlement flat fee + options to remove. + add_fee_buyer_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - passes as well as some optional metadata associated with the proposal. - cosmos.group.v1.ProposalExecutorResult: - type: string - enum: - - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - - PROPOSAL_EXECUTOR_RESULT_NOT_RUN - - PROPOSAL_EXECUTOR_RESULT_SUCCESS - - PROPOSAL_EXECUTOR_RESULT_FAILURE - default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - description: |- - ProposalExecutorResult defines types of proposal executor results. - - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed. - - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor. - - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state. - - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state. - cosmos.group.v1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_SUBMITTED - - PROPOSAL_STATUS_ACCEPTED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus defines proposal statuses. + NOTE: The amount field is an Int which implements the custom + method - - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed. - - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted. - - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome - passes the group policy's decision policy. - - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome - is rejected by the group policy's decision policy. - - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the - final tally. - - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner. - When this happens the final status is Withdrawn. - cosmos.group.v1.QueryGroupInfoResponse: - type: object - properties: - info: - description: info is the GroupInfo for the group. - type: object - properties: - id: - type: string - format: uint64 - description: id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group's admin. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the group. - version: - type: string - format: uint64 - title: >- - version is used to track changes to a group's membership structure - that + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - would break existing proposals. Whenever any members weight is - changed, - or any member is added or removed this version is incremented and - will + NOTE: The amount field is an Int which implements the custom + method - cause proposals based on older versions of this group to fail - total_weight: - type: string - description: total_weight is the sum of the group members' weights. - created_at: - type: string - format: date-time - description: created_at is a timestamp specifying when a group was created. - description: QueryGroupInfoResponse is the Query/GroupInfo response type. - cosmos.group.v1.QueryGroupMembersResponse: - type: object - properties: - members: + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. + description: >- + add_fee_buyer_settlement_ratios are the buyer settlement fee ratios to + add. + remove_fee_buyer_settlement_ratios: type: array items: type: object properties: - group_id: - type: string - format: uint64 - description: group_id is the unique ID of the group. - member: - description: member is the member data. + price: type: object properties: - address: + denom: type: string - description: address is the member's account address. - weight: + amount: type: string - description: >- - weight is the member's voting weight that should be greater - than 0. - metadata: + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + fee: + type: object + properties: + denom: type: string - description: metadata is any arbitrary metadata attached to the member. - added_at: + amount: type: string - format: date-time - description: added_at is a timestamp specifying when a member was added. + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. description: >- - GroupMember represents the relationship between a group and a - member. - description: members are the members of the group with given group_id. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + FeeRatio defines a ratio of price amount to fee amount. - was set, its value is undefined otherwise - description: QueryGroupMembersResponse is the Query/GroupMembersResponse response type. - cosmos.group.v1.QueryGroupPoliciesByAdminResponse: - type: object - properties: - group_policies: + For an order to be valid, its price must be evenly divisible by a + FeeRatio's price. + description: >- + remove_fee_buyer_settlement_ratios are the buyer settlement fee ratios + to remove. + add_fee_create_commitment_flat: type: array items: type: object properties: - address: - type: string - description: address is the account address of group policy. - group_id: + denom: type: string - format: uint64 - description: group_id is the unique ID of the group. - admin: + amount: type: string - description: admin is the account address of the group admin. - metadata: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + add_fee_create_commitment_flat are the create-commitment flat fee + options to add. + remove_fee_create_commitment_flat: + type: array + items: + type: object + properties: + denom: type: string - description: >- - metadata is any arbitrary metadata to attached to the group - policy. - version: + amount: type: string - format: uint64 - description: >- - version is used to track changes to a group's GroupPolicyInfo - structure that - - would create a different result on a running proposal. - decision_policy: - type: object - properties: - type_url: - 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 + description: |- + Coin defines a token with a denomination and an amount. - `path/google.protobuf.Duration`). The name should be in a - canonical form + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + remove_fee_create_commitment_flat are the create-commitment flat fee + options to remove. + set_fee_commitment_settlement_bips: + type: integer + format: int64 + description: >- + set_fee_commitment_settlement_bips is the new + fee_commitment_settlement_bips for the market. - (e.g., leading "." is not accepted). + It is ignored if it is zero. To set it to zero set + unset_fee_commitment_settlement_bips to true. + unset_fee_commitment_settlement_bips: + type: boolean + format: boolean + description: >- + unset_fee_commitment_settlement_bips, if true, sets the + fee_commitment_settlement_bips to zero. + If false, it is ignored. + description: >- + MsgGovManageFeesRequest is a request message for the GovManageFees + endpoint. + provenance.exchange.v1.MsgMarketCommitmentSettleRequest: + type: object + properties: + admin: + type: string + description: >- + admin is the account with "settle" permission requesting this + settlement. + market_id: + type: integer + format: int64 + description: >- + market_id is the numerical identifier of the market requesting this + settlement. + inputs: + type: array + items: + type: object + properties: + account: + type: string + description: >- + account is the bech32 address string of the account associated + with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - scheme `http`, `https`, or no scheme, one can optionally set - up a type + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: >- + inputs defines where the funds are coming from. All of these funds + must be already committed to the market. + outputs: + type: array + items: + type: object + properties: + account: + type: string + description: >- + account is the bech32 address string of the account associated + with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - server that maps type URLs to message definitions as - follows: + NOTE: The amount field is an Int which implements the custom + method - * If no scheme is provided, `https` is assumed. + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: >- + outputs defines how the funds are to be distributed. These funds will + be re-committed in the destination accounts. + fees: + type: array + items: + type: object + properties: + account: + type: string + description: >- + account is the bech32 address string of the account associated + with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - * 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: The amount field is an Int which implements the custom + method - protobuf release, and it is not used for type URLs beginning - with + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: >- + fees is the funds that the market is collecting as part of this + settlement. - type.googleapis.com. + All of these funds must be already committed to the market. + navs: + type: array + items: + type: object + properties: + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) - might be + NOTE: The amount field is an Int which implements the custom + method - used with implementation specific semantics. - value: + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Coin defines a token with a denomination and an amount. - URL that describes the type of the serialized message. + NOTE: The amount field is an Int which implements the custom + method - Protobuf library provides support to pack/unpack Any values in - the form + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to record + the value of things. - of utility functions or additional generated methods of the Any - type. + It is related to the NetAssetValue message from the x/marker module, + and is therefore often referred to as "a NAV". + description: >- + navs are any NAV info that should be updated at the beginning of this + settlement. + event_tag: + type: string + description: >- + event_tag is a string that is included in the funds-committed/released + events. Max length is 100 characters. + description: >- + MsgMarketCommitmentSettleRequest is a request message for the + MarketCommitmentSettle endpoint. + provenance.exchange.v1.NetAssetPrice: + type: object + properties: + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - Example 1: Pack and unpack a message in C++. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to record the + value of things. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + It is related to the NetAssetValue message from the x/marker module, and + is therefore often referred to as "a NAV". + provenance.exchange.v1.Order: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents an ask + order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order and has + the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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); - } + NOTE: The amount field is an Int which implements the custom + method - Example 3: Pack and unpack a message in Python. + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + NOTE: The amount field is an Int which implements the custom + method - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - The pack methods provided by protobuf library will by default - use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + NOTE: The amount field is an Int which implements the custom + method - methods only use the fully qualified type name after the last - '/' + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the - in the type URL, for example "foo.bar.com/x/y.z" will yield type + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. - name "y.z". + If an order in this market with this external id already exists, + this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a bid + order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and has + the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom + method - JSON + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - ==== - The JSON representation of an `Any` value uses the regular + NOTE: The amount field is an Int which implements the custom + method - representation of the deserialized, embedded message, with an + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + NOTE: The amount field is an Int which implements the custom + method - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and proportional) + that the buyer will pay (in addition to the price) - If the embedded message type is well-known and has a custom JSON + when the order is settled. A hold is placed on this until the + order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this order + should be allowed, and should be false if the - representation, that representation will be embedded adding a - field + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify this + order. Max length is 100 characters. - `value` which holds the custom JSON in addition to the `@type` + If an order in this market with this external id already exists, + this order will be rejected. + description: Order associates an order id with one of the order types. + provenance.exchange.v1.Params: + type: object + properties: + default_split: + type: integer + format: int64 + description: >- + default_split is the default proportion of fees the exchange receives + in basis points. - field. Example (for message [google.protobuf.Duration][]): + It is used if there isn't an applicable denom-specific split defined. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - created_at: + E.g. 100 = 1%. Min = 0, Max = 10000. + denom_splits: + type: array + items: + type: object + properties: + denom: type: string - format: date-time + description: denom is the coin denomination this split applies to. + split: + type: integer + format: int64 description: >- - created_at is a timestamp specifying when a group policy was - created. - description: >- - GroupPolicyInfo represents the high-level on-chain information for a - group policy. - description: group_policies are the group policies info with provided admin. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + split is the proportion of fees the exchange receives for this + denom in basis points. - was set, its value is undefined otherwise + E.g. 100 = 1%. Min = 0, Max = 10000. + description: >- + DenomSplit associates a coin denomination with an amount the + exchange receives for that denom. + description: denom_splits are the denom-specific amounts the exchange receives. + description: Params is a representation of the exchange module parameters. + provenance.exchange.v1.Permission: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED description: >- - QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin - response type. - cosmos.group.v1.QueryGroupPoliciesByGroupResponse: + Permission defines the different types of permission that can be given to + an account for a market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. + provenance.exchange.v1.QueryCommitmentSettlementFeeCalcResponse: type: object properties: - group_policies: + exchange_fees: type: array items: type: object properties: - address: + denom: type: string - description: address is the account address of group policy. - group_id: + amount: type: string - format: uint64 - description: group_id is the unique ID of the group. - admin: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + exchange_fees is the total that the exchange would currently pay for + the provided settlement. + input_total: + type: array + items: + type: object + properties: + denom: type: string - description: admin is the account address of the group admin. - metadata: + amount: type: string - description: >- - metadata is any arbitrary metadata to attached to the group - policy. - version: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: input_total is the sum of all the inputs in the provided settlement. + converted_total: + type: array + items: + type: object + properties: + denom: type: string - format: uint64 - description: >- - version is used to track changes to a group's GroupPolicyInfo - structure that + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - would create a different result on a running proposal. - decision_policy: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + converted_total is the input_total converted to a single intermediary + denom or left as the fee denom. + conversion_navs: + type: array + items: + type: object + properties: + assets: type: object properties: - type_url: + denom: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: + amount: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. 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 + Coin defines a token with a denomination and an amount. - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default - use + NOTE: The amount field is an Int which implements the custom + method - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - name "y.z". + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to record + the value of things. + It is related to the NetAssetValue message from the x/marker module, + and is therefore often referred to as "a NAV". + description: >- + conversion_navs are the NAVs used to convert the input_total to the + converted_total. + to_fee_nav: + type: object + properties: + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - JSON + NOTE: The amount field is an Int which implements the custom + method - ==== + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + NOTE: The amount field is an Int which implements the custom + method - additional field `@type` which contains the type URL. Example: + signatures required by gogoproto. + description: >- + NetAssetPrice is an association of assets and price used to record the + value of things. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + It is related to the NetAssetValue message from the x/marker module, + and is therefore often referred to as "a NAV". + description: >- + QueryCommitmentSettlementFeeCalcResponse is a response message for the + CommitmentSettlementFeeCalc query. + provenance.exchange.v1.QueryGetAccountCommitmentsResponse: + type: object + properties: + commitments: + type: array + items: + type: object + properties: + market_id: + type: integer + format: int64 + description: >- + market_id is the numeric identifier the amount has been + committed to. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom JSON + NOTE: The amount field is an Int which implements the custom + method - representation, that representation will be embedded adding a - field + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: MarketAmount associates a market with a coins amount. + description: >- + commitments is the amounts committed from the account to the any + market. + description: >- + QueryGetAccountCommitmentsResponse is a response message for the + GetAccountCommitments query. + provenance.exchange.v1.QueryGetAllCommitmentsResponse: + type: object + properties: + commitments: + type: array + items: + type: object + properties: + account: + type: string + description: account is the bech32 address string with the committed funds. + market_id: + type: integer + format: int64 + description: >- + market_id is the numeric identifier of the market the funds are + committed to. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + NOTE: The amount field is an Int which implements the custom + method - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - created_at: - type: string - format: date-time + signatures required by gogoproto. description: >- - created_at is a timestamp specifying when a group policy was - created. - description: >- - GroupPolicyInfo represents the high-level on-chain information for a - group policy. - description: >- - group_policies are the group policies info associated with the - provided group. + amount is the funds that have been committed by the account to + the market. + description: Commitment contains information on committed funds. + description: commitments is the requested commitment information. pagination: - description: pagination defines the pagination in the response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -81593,257 +95006,447 @@ definitions: was set, its value is undefined otherwise description: >- - QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup - response type. - cosmos.group.v1.QueryGroupPolicyInfoResponse: + QueryGetAllCommitmentsResponse is a response message for the + GetAllCommitments query. + provenance.exchange.v1.QueryGetAllMarketsResponse: type: object properties: - info: + markets: + type: array + items: + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_address: + type: string + description: >- + market_address is the bech32 address string of this market's + account. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: >- + name is a moniker that people can use to refer to this + market. + description: + type: string + description: >- + description extra information about this market. The field + is meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this market, + or at least get more information about this market. + icon_uri: + type: string + description: icon_uri is a uri for an icon to associate with this market. + description: >- + MarketBrief is a message containing brief, superficial information + about a market. + description: markets are a page of the briefs for all markets. + pagination: + description: pagination is the resulting pagination parameters. type: object properties: - address: - type: string - description: address is the account address of group policy. - group_id: - type: string - format: uint64 - description: group_id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group admin. - metadata: + next_key: type: string - description: >- - metadata is any arbitrary metadata to attached to the group - policy. - version: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - description: >- - version is used to track changes to a group's GroupPolicyInfo - structure that - - would create a different result on a running proposal. - decision_policy: - type: object - properties: - type_url: - 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 + title: >- + total is total number of results available if + PageRequest.count_total - server that maps type URLs to message definitions as follows: + was set, its value is undefined otherwise + description: >- + QueryGetAllMarketsResponse is a response message for the GetAllMarkets + query. + provenance.exchange.v1.QueryGetAllOrdersResponse: + type: object + properties: + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents + an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order + and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - * If no scheme is provided, `https` is assumed. + NOTE: The amount field is an Int which implements the custom + method - * 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.) + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + NOTE: The amount field is an Int which implements the custom + method - type.googleapis.com. + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) might - be + NOTE: The amount field is an Int which implements the custom + method - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - URL that describes the type of the serialized message. + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Protobuf library provides support to pack/unpack Any values in the - form - of utility functions or additional generated methods of the Any - type. + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + NOTE: The amount field is an Int which implements the custom + method - Example 2: Pack and unpack a message in Java. + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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. + NOTE: The amount field is an Int which implements the + custom method - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) - Example 4: Pack and unpack a message in Go + when the order is settled. A hold is placed on this until + the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - The pack methods provided by protobuf library will by default use + If an order in this market with this external id already + exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the all orders. + pagination: + description: pagination is the resulting pagination parameters. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + was set, its value is undefined otherwise + description: >- + QueryGetAllOrdersResponse is a response message for the GetAllOrders + query. + provenance.exchange.v1.QueryGetAssetOrdersResponse: + type: object + properties: + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents + an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order + and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - name "y.z". + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom + method - JSON + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - ==== - The JSON representation of an `Any` value uses the regular + NOTE: The amount field is an Int which implements the custom + method - representation of the deserialized, embedded message, with an + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - additional field `@type` which contains the type URL. Example: + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom JSON + NOTE: The amount field is an Int which implements the custom + method - representation, that representation will be embedded adding a - field + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + NOTE: The amount field is an Int which implements the custom + method - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - created_at: - type: string - format: date-time - description: >- - created_at is a timestamp specifying when a group policy was - created. - description: >- - GroupPolicyInfo represents the high-level on-chain information for a - group policy. - description: QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type. - cosmos.group.v1.QueryGroupsByAdminResponse: - type: object - properties: - groups: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - description: id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group's admin. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the group. - version: - type: string - format: uint64 - title: >- - version is used to track changes to a group's membership - structure that + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - would break existing proposals. Whenever any members weight is - changed, - or any member is added or removed this version is incremented - and will + NOTE: The amount field is an Int which implements the + custom method - cause proposals based on older versions of this group to fail - total_weight: - type: string - description: total_weight is the sum of the group members' weights. - created_at: - type: string - format: date-time - description: created_at is a timestamp specifying when a group was created. - description: >- - GroupInfo represents the high-level on-chain information for a - group. - description: groups are the groups info with the provided admin. + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) + + when the order is settled. A hold is placed on this until + the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id already + exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders for the provided asset. pagination: - description: pagination defines the pagination in the response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -81862,53 +95465,64 @@ definitions: was set, its value is undefined otherwise description: >- - QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response - type. - cosmos.group.v1.QueryGroupsByMemberResponse: + QueryGetAssetOrdersResponse is a response message for the GetAssetOrders + query. + provenance.exchange.v1.QueryGetCommitmentResponse: type: object properties: - groups: + amount: type: array items: type: object properties: - id: - type: string - format: uint64 - description: id is the unique ID of the group. - admin: + denom: type: string - description: admin is the account address of the group's admin. - metadata: + amount: type: string - description: metadata is any arbitrary metadata to attached to the group. - version: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: amount is the total funds committed to the market by the account. + description: >- + QueryGetCommitmentResponse is a response message for the GetCommitment + query. + provenance.exchange.v1.QueryGetMarketCommitmentsResponse: + type: object + properties: + commitments: + type: array + items: + type: object + properties: + account: type: string - format: uint64 - title: >- - version is used to track changes to a group's membership - structure that + description: >- + account is the bech32 address string of the account associated + with the amount. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - would break existing proposals. Whenever any members weight is - changed, - or any member is added or removed this version is incremented - and will + NOTE: The amount field is an Int which implements the custom + method - cause proposals based on older versions of this group to fail - total_weight: - type: string - description: total_weight is the sum of the group members' weights. - created_at: - type: string - format: date-time - description: created_at is a timestamp specifying when a group was created. - description: >- - GroupInfo represents the high-level on-chain information for a - group. - description: groups are the groups info with the provided group member. + signatures required by gogoproto. + description: amount is the funds associated with the address. + description: AccountAmount associates an account with a coins amount. + description: commitments is the amounts committed to the market from any account. pagination: - description: pagination defines the pagination in the response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -81926,52 +95540,186 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: QueryGroupsByMemberResponse is the Query/GroupsByMember response type. - cosmos.group.v1.QueryGroupsResponse: + description: >- + QueryGetMarketCommitmentsResponse is a response message for the + GetMarketCommitments query. + provenance.exchange.v1.QueryGetMarketOrdersResponse: type: object properties: - groups: + orders: type: array items: type: object properties: - id: - type: string - format: uint64 - description: id is the unique ID of the group. - admin: - type: string - description: admin is the account address of the group's admin. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the group. - version: + order_id: type: string format: uint64 - title: >- - version is used to track changes to a group's membership - structure that + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents + an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order + and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - would break existing proposals. Whenever any members weight is - changed, - or any member is added or removed this version is incremented - and will + NOTE: The amount field is an Int which implements the custom + method - cause proposals based on older versions of this group to fail - total_weight: - type: string - description: total_weight is the sum of the group members' weights. - created_at: - type: string - format: date-time - description: created_at is a timestamp specifying when a group was created. - description: >- - GroupInfo represents the high-level on-chain information for a - group. - description: '`groups` is all the groups present in state.' + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) + + when the order is settled. A hold is placed on this until + the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id already + exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders in the provided market. pagination: - description: pagination defines the pagination in the response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -81989,607 +95737,959 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: |- - QueryGroupsResponse is the Query/Groups response type. - - Since: cosmos-sdk 0.47.1 - cosmos.group.v1.QueryProposalResponse: + description: >- + QueryGetMarketOrdersResponse is a response message for the GetMarketOrders + query. + provenance.exchange.v1.QueryGetMarketResponse: type: object properties: - proposal: - description: proposal is the proposal info. + address: + type: string + description: address is the bech32 address string of this market's account. + market: + description: market is all information and details of the market. type: object properties: - id: - type: string - format: uint64 - description: id is the unique id of the proposal. - group_policy_address: - type: string - description: group_policy_address is the account address of group policy. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the proposal. - proposers: + market_id: + type: integer + format: int64 + description: market_id is the numerical identifier for this market. + market_details: + description: market_details is some information about this market. + type: object + properties: + name: + type: string + description: name is a moniker that people can use to refer to this market. + description: + type: string + description: >- + description extra information about this market. The field is + meant to be human-readable. + website_url: + type: string + description: >- + website_url is a url people can use to get to this market, or + at least get more information about this market. + icon_uri: + type: string + description: icon_uri is a uri for an icon to associate with this market. + fee_create_ask_flat: type: array items: - type: string - description: proposers are the account addresses of the proposers. - submit_time: - type: string - format: date-time - description: >- - submit_time is a timestamp specifying when a proposal was - submitted. - group_version: - type: string - format: uint64 - description: >- - group_version tracks the version of the group at proposal - submission. - - This field is here for informational purposes only. - group_policy_version: - type: string - format: uint64 - description: >- - group_policy_version tracks the version of the group policy at - proposal submission. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - When a decision policy is changed, existing proposals from - previous policy - versions will become invalid with the `ABORTED` status. + NOTE: The amount field is an Int which implements the custom + method - This field is here for informational purposes only. - status: - description: >- - status represents the high level position in the life cycle of the - proposal. Initial value is Submitted. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_SUBMITTED - - PROPOSAL_STATUS_ACCEPTED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: + signatures required by gogoproto. description: >- - final_tally_result contains the sums of all weighted votes for - this + fee_create_ask_flat is the flat fee charged for creating an ask + order. - proposal for each vote option. It is empty at submission, and only + Each coin entry is a separate option. When an ask is created, one + of these must be paid. - populated after tallying, at voting period end or at proposal - execution, + If empty, no fee is required to create an ask order. + fee_create_bid_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - whichever happens first. - type: object - properties: - yes_count: - type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: - type: string - description: abstain_count is the weighted sum of abstainers. - no_count: - type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: - type: string - description: no_with_veto_count is the weighted sum of veto. - voting_period_end: - type: string - format: date-time + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. description: >- - voting_period_end is the timestamp before which voting must be - done. + fee_create_bid_flat is the flat fee charged for creating a bid + order. - Unless a successfull MsgExec is called before (to execute a - proposal whose + Each coin entry is a separate option. When a bid is created, one + of these must be paid. - tally is successful before the voting period ends), tallying will - be done + If empty, no fee is required to create a bid order. + fee_seller_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - at this point, and the `final_tally_result`and `status` fields - will be - accordingly updated. - executor_result: + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. description: >- - executor_result is the final result of the proposal execution. - Initial value is NotRun. - type: string - enum: - - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - - PROPOSAL_EXECUTOR_RESULT_NOT_RUN - - PROPOSAL_EXECUTOR_RESULT_SUCCESS - - PROPOSAL_EXECUTOR_RESULT_FAILURE - default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - messages: + fee_seller_settlement_flat is the flat fee charged to the seller + during settlement. + + Each coin entry is a separate option. + + When an ask is settled, the seller will pay the amount in the + denom that matches the price they received. + fee_seller_settlement_ratios: type: array items: type: object properties: - type_url: - type: string + price: + type: object + properties: + denom: + type: string + amount: + type: string description: >- - A URL/resource name that uniquely identifies the type of the - serialized + Coin defines a token with a denomination and an amount. - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must - represent + NOTE: The amount field is an Int which implements the custom + method - the fully qualified name of the type (as in + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - `path/google.protobuf.Duration`). The name should be in a - canonical form - (e.g., leading "." is not accepted). + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. - In practice, teams usually precompile into the binary all - types that they + For an order to be valid, its price must be evenly divisible by + a FeeRatio's price. + description: >- + fee_seller_settlement_ratios is the fee to charge a seller during + settlement based on the price they are receiving. - expect it to use in the context of Any. However, for URLs - which use the + The price and fee denoms must be equal for each entry, and only + one entry for any given denom is allowed. + fee_buyer_settlement_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - scheme `http`, `https`, or no scheme, one can optionally set - up a type - server that maps type URLs to message definitions as - follows: + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + description: >- + fee_buyer_settlement_flat is the flat fee charged to the buyer + during settlement. - * If no scheme is provided, `https` is assumed. + Each coin entry is a separate option. - * 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.) + When a bid is created, the settlement fees provided must contain + one of these. + fee_buyer_settlement_ratios: + type: array + items: + type: object + properties: + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + NOTE: The amount field is an Int which implements the custom + method - type.googleapis.com. + signatures required by gogoproto. + fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) - might be + NOTE: The amount field is an Int which implements the custom + method - used with implementation specific semantics. - value: + signatures required by gogoproto. + description: >- + FeeRatio defines a ratio of price amount to fee amount. + + For an order to be valid, its price must be evenly divisible by + a FeeRatio's price. + description: >- + fee_buyer_settlement_ratios is the fee to charge a buyer during + settlement based on the price they are spending. + + The price and fee denoms do not have to equal. Multiple entries + for any given price or fee denom are allowed, but + + each price denom to fee denom pair can only have one entry. + accepting_orders: + type: boolean + format: boolean + description: >- + accepting_orders is whether this market is allowing orders to be + created for it. + allow_user_settlement: + type: boolean + format: boolean + description: >- + allow_user_settlement is whether this market allows users to + initiate their own settlements. + + For example, the FillBids and FillAsks endpoints are available if + and only if this is true. + + The MarketSettle endpoint is only available to market actors + regardless of the value of this field. + access_grants: + type: array + items: + type: object + properties: + address: type: string - format: byte + description: address is the address that these permissions apply to. + permissions: + type: array + items: + type: string + enum: + - PERMISSION_UNSPECIFIED + - PERMISSION_SETTLE + - PERMISSION_SET_IDS + - PERMISSION_CANCEL + - PERMISSION_WITHDRAW + - PERMISSION_UPDATE + - PERMISSION_PERMISSIONS + - PERMISSION_ATTRIBUTES + default: PERMISSION_UNSPECIFIED + description: >- + Permission defines the different types of permission that + can be given to an account for a market. + + - PERMISSION_UNSPECIFIED: PERMISSION_UNSPECIFIED is the zero-value Permission; it is an error to use it. + - PERMISSION_SETTLE: PERMISSION_SETTLE is the ability to use the Settle Tx endpoint on behalf of a market. + - PERMISSION_SET_IDS: PERMISSION_SET_IDS is the ability to use the SetOrderExternalID Tx endpoint on behalf of a market. + - PERMISSION_CANCEL: PERMISSION_CANCEL is the ability to use the Cancel Tx endpoint on behalf of a market. + - PERMISSION_WITHDRAW: PERMISSION_WITHDRAW is the ability to use the MarketWithdraw Tx endpoint. + - PERMISSION_UPDATE: PERMISSION_UPDATE is the ability to use the MarketUpdate* Tx endpoints. + - PERMISSION_PERMISSIONS: PERMISSION_PERMISSIONS is the ability to use the MarketManagePermissions Tx endpoint. + - PERMISSION_ATTRIBUTES: PERMISSION_ATTRIBUTES is the ability to use the MarketManageReqAttrs Tx endpoint. description: >- - Must be a valid serialized protocol buffer of the above - specified type. + allowed is the list of permissions available for the + address. description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + AddrPermissions associates an address with a list of permissions + available for that address. + description: >- + access_grants is the list of addresses and permissions granted for + this market. + req_attr_create_ask: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create an ask order. - URL that describes the type of the serialized message. + An account must have all of these attributes in order to create an + ask order in this market. + If the list is empty, any account can create ask orders in this + market. - Protobuf library provides support to pack/unpack Any values in - the form - of utility functions or additional generated methods of the Any - type. + An entry that starts with "*." will match any attributes that end + with the rest of it. + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "b.x.a", or "c.b.a.x". + req_attr_create_bid: + type: array + items: + type: string + description: >- + req_attr_create_ask is a list of attributes required on an account + for it to be allowed to create a bid order. - Example 1: Pack and unpack a message in C++. + An account must have all of these attributes in order to create a + bid order in this market. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + If the list is empty, any account can create bid orders in this + market. - 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); - } + An entry that starts with "*." will match any attributes that end + with the rest of it. - Example 3: Pack and unpack a message in Python. + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + accepting_commitments: + type: boolean + format: boolean + description: >- + accepting_commitments is whether the market is allowing users to + commit funds to it. + fee_create_commitment_flat: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + NOTE: The amount field is an Int which implements the custom + method - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + signatures required by gogoproto. + description: >- + fee_create_commitment_flat is the flat fee charged for creating a + commitment. - The pack methods provided by protobuf library will by default - use + Each coin entry is a separate option. When a commitment is + created, one of these must be paid. - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + If empty, no fee is required to create a commitment. + commitment_settlement_bips: + type: integer + format: int64 + description: >- + commitment_settlement_bips is the fraction of a commitment + settlement that will be paid to the exchange. - methods only use the fully qualified type name after the last - '/' + It is represented in basis points (1/100th of 1%, e.g. 0.0001) and + is limited to 0 to 10,000 inclusive. - in the type URL, for example "foo.bar.com/x/y.z" will yield type + During a commitment settlement, the inputs are summed and NAVs are + used to convert that total to the - name "y.z". + intermediary denom, then to the fee denom. That is then multiplied + by this value to get the fee amount + that will be transferred out of the market's account into the + exchange for that settlement. - JSON + Summing the inputs effectively doubles the value of the settlement + from what what is usually thought of - ==== + as the value of a trade. That should be taken into account when + setting this value. - The JSON representation of an `Any` value uses the regular + E.g. if two accounts are trading 10apples for 100grapes, the + inputs total will be 10apples,100grapes - representation of the deserialized, embedded message, with an + (which might then be converted to USD then nhash before applying + this ratio); Usually, though, the value - additional field `@type` which contains the type URL. Example: + of that trade would be viewed as either just 10apples or just + 100grapes. + intermediary_denom: + type: string + description: >- + intermediary_denom is the denom that funds get converted to + (before being converted to the chain's fee denom) - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + when calculating the fees that are paid to the exchange. NAVs are + used for this conversion and actions will fail - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + if a NAV is needed but not available. + req_attr_create_commitment: + type: array + items: + type: string + description: >- + req_attr_create_commitment is a list of attributes required on an + account for it to be allowed to create a - If the embedded message type is well-known and has a custom JSON + commitment. An account must have all of these attributes in order + to create a commitment in this market. - representation, that representation will be embedded adding a - field + If the list is empty, any account can create commitments in this + market. - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + An entry that starts with "*." will match any attributes that end + with the rest of it. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages is a list of `sdk.Msg`s that will be executed if the - proposal passes. - description: QueryProposalResponse is the Query/Proposal response type. - cosmos.group.v1.QueryProposalsByGroupPolicyResponse: + E.g. "*.b.a" will match all of "c.b.a", "x.b.a", and "e.d.c.b.a"; + but not "b.a", "xb.a", "c.b.x.a", or "c.b.a.x". + description: QueryGetMarketResponse is a response message for the GetMarket query. + provenance.exchange.v1.QueryGetOrderByExternalIDResponse: type: object properties: - proposals: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - description: id is the unique id of the proposal. - group_policy_address: - type: string - description: group_policy_address is the account address of group policy. - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the proposal. - proposers: - type: array - items: + order: + description: order is the requested order. + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents an + ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: type: string - description: proposers are the account addresses of the proposers. - submit_time: - type: string - format: date-time - description: >- - submit_time is a timestamp specifying when a proposal was - submitted. - group_version: - type: string - format: uint64 - description: >- - group_version tracks the version of the group at proposal - submission. + description: >- + seller is the address of the account that owns this order and + has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - This field is here for informational purposes only. - group_policy_version: - type: string - format: uint64 - description: >- - group_policy_version tracks the version of the group policy at - proposal submission. - When a decision policy is changed, existing proposals from - previous policy + NOTE: The amount field is an Int which implements the custom + method - versions will become invalid with the `ABORTED` status. + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - This field is here for informational purposes only. - status: - description: >- - status represents the high level position in the life cycle of - the proposal. Initial value is Submitted. - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_SUBMITTED - - PROPOSAL_STATUS_ACCEPTED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_ABORTED - - PROPOSAL_STATUS_WITHDRAWN - default: PROPOSAL_STATUS_UNSPECIFIED - final_tally_result: - description: >- - final_tally_result contains the sums of all weighted votes for - this - proposal for each vote option. It is empty at submission, and - only + NOTE: The amount field is an Int which implements the custom + method - populated after tallying, at voting period end or at proposal - execution, + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - whichever happens first. - type: object - properties: - yes_count: - type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: - type: string - description: abstain_count is the weighted sum of abstainers. - no_count: - type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: - type: string - description: no_with_veto_count is the weighted sum of veto. - voting_period_end: - type: string - format: date-time - description: >- - voting_period_end is the timestamp before which voting must be - done. - Unless a successfull MsgExec is called before (to execute a - proposal whose + NOTE: The amount field is an Int which implements the custom + method - tally is successful before the voting period ends), tallying - will be done + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - at this point, and the `final_tally_result`and `status` fields - will be + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify + this order. Max length is 100 characters. - accordingly updated. - executor_result: - description: >- - executor_result is the final result of the proposal execution. - Initial value is NotRun. - type: string - enum: - - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - - PROPOSAL_EXECUTOR_RESULT_NOT_RUN - - PROPOSAL_EXECUTOR_RESULT_SUCCESS - - PROPOSAL_EXECUTOR_RESULT_FAILURE - default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED - messages: - type: array - items: + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: type: object properties: - type_url: + denom: type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - one "/" character. The last segment of the URL's path must - represent - the fully qualified name of the type (as in + NOTE: The amount field is an Int which implements the custom + method - `path/google.protobuf.Duration`). The name should be in a - canonical form + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - (e.g., leading "." is not accepted). + NOTE: The amount field is an Int which implements the custom + method - In practice, teams usually precompile into the binary all - types that they + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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 + NOTE: The amount field is an Int which implements the custom + method - server that maps type URLs to message definitions as - follows: + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) + when the order is settled. A hold is placed on this until the + order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - * If no scheme is provided, `https` is assumed. + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify + this order. Max length is 100 characters. - * 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.) + If an order in this market with this external id already + exists, this order will be rejected. + description: >- + QueryGetOrderByExternalIDResponse is a response message for the + GetOrderByExternalID query. + provenance.exchange.v1.QueryGetOrderResponse: + type: object + properties: + order: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents an + ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order and + has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs - beginning with + NOTE: The amount field is an Int which implements the custom + method - type.googleapis.com. + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Schemes other than `http`, `https` (or the empty scheme) - might be + NOTE: The amount field is an Int which implements the custom + method - used with implementation specific semantics. - value: + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + Coin defines a token with a denomination and an amount. - URL that describes the type of the serialized message. + NOTE: The amount field is an Int which implements the custom + method - Protobuf library provides support to pack/unpack Any values in - the form + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - of utility functions or additional generated methods of the - Any type. + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify + this order. Max length is 100 characters. + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + NOTE: The amount field is an Int which implements the custom + method - Example 2: Pack and unpack a message in Java. + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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. + NOTE: The amount field is an Int which implements the custom + method - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) + + when the order is settled. A hold is placed on this until the + order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the + + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally identify + this order. Max length is 100 characters. + + If an order in this market with this external id already + exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: QueryGetOrderResponse is a response message for the GetOrder query. + provenance.exchange.v1.QueryGetOwnerOrdersResponse: + type: object + properties: + orders: + type: array + items: + type: object + properties: + order_id: + type: string + format: uint64 + description: order_id is the numerical identifier for this order. + ask_order: + description: >- + ask_order is the information about this order if it represents + an ask order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + seller: + type: string + description: >- + seller is the address of the account that owns this order + and has the assets to sell. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - The pack methods provided by protobuf library will by default - use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + NOTE: The amount field is an Int which implements the custom + method - methods only use the fully qualified type name after the last - '/' + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - name "y.z". + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + seller_settlement_flat_fee: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - JSON + NOTE: The amount field is an Int which implements the custom + method - ==== + signatures required by gogoproto. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - The JSON representation of an `Any` value uses the regular + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. - representation of the deserialized, embedded message, with an + If an order in this market with this external id already + exists, this order will be rejected. + bid_order: + description: >- + bid_order is the information about this order if it represents a + bid order. + type: object + properties: + market_id: + type: integer + format: int64 + description: market_id identifies the market that this order belongs to. + buyer: + type: string + description: >- + buyer is the address of the account that owns this order and + has the price to spend. + assets: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + NOTE: The amount field is an Int which implements the custom + method - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + signatures required by gogoproto. + price: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding a - field + NOTE: The amount field is an Int which implements the custom + method - `value` which holds the custom JSON in addition to the `@type` + signatures required by gogoproto. + buyer_settlement_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages is a list of `sdk.Msg`s that will be executed if the - proposal passes. - description: >- - Proposal defines a group proposal. Any member of a group can submit - a proposal + NOTE: The amount field is an Int which implements the + custom method - for a group policy to decide upon. + signatures required by gogoproto. + description: >- + buyer_settlement_fees are the fees (both flat and + proportional) that the buyer will pay (in addition to the + price) - A proposal consists of a set of `sdk.Msg`s that will be executed if - the proposal + when the order is settled. A hold is placed on this until + the order is filled or cancelled. + allow_partial: + type: boolean + format: boolean + description: >- + allow_partial should be true if partial fulfillment of this + order should be allowed, and should be false if the - passes as well as some optional metadata associated with the - proposal. - description: proposals are the proposals with given group policy. + order must be either filled in full or not filled at all. + external_id: + type: string + description: >- + external_id is an optional string used to externally + identify this order. Max length is 100 characters. + + If an order in this market with this external id already + exists, this order will be rejected. + description: Order associates an order id with one of the order types. + description: orders are a page of the orders for the provided address. pagination: - description: pagination defines the pagination in the response. + description: pagination is the resulting pagination parameters. type: object properties: next_key: @@ -82608,459 +96708,365 @@ definitions: was set, its value is undefined otherwise description: >- - QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy - response type. - cosmos.group.v1.QueryTallyResultResponse: - type: object - properties: - tally: - description: tally defines the requested tally. - type: object - properties: - yes_count: - type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: - type: string - description: abstain_count is the weighted sum of abstainers. - no_count: - type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: - type: string - description: no_with_veto_count is the weighted sum of veto. - description: QueryTallyResultResponse is the Query/TallyResult response type. - cosmos.group.v1.QueryVoteByProposalVoterResponse: - type: object - properties: - vote: - description: vote is the vote with given proposal_id and voter. - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal is the unique ID of the proposal. - voter: - type: string - description: voter is the account address of the voter. - option: - description: option is the voter's choice on the proposal. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the vote. - submit_time: - type: string - format: date-time - description: submit_time is the timestamp when the vote was submitted. - description: >- - QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response - type. - cosmos.group.v1.QueryVotesByProposalResponse: + QueryGetOwnerOrdersResponse is a response message for the GetOwnerOrders + query. + provenance.exchange.v1.QueryOrderFeeCalcResponse: type: object properties: - votes: + creation_fee_options: type: array items: type: object properties: - proposal_id: - type: string - format: uint64 - description: proposal is the unique ID of the proposal. - voter: - type: string - description: voter is the account address of the voter. - option: - description: option is the voter's choice on the proposal. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: + denom: type: string - description: metadata is any arbitrary metadata to attached to the vote. - submit_time: + amount: type: string - format: date-time - description: submit_time is the timestamp when the vote was submitted. - description: Vote represents a vote for a proposal. - description: votes are the list of votes for given proposal_id. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: |- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise - description: QueryVotesByProposalResponse is the Query/VotesByProposal response type. - cosmos.group.v1.QueryVotesByVoterResponse: - type: object - properties: - votes: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + creation_fee_options are the order creation flat fee options available + for creating the provided order. + + If it's empty, no order creation fee is required. + + When creating the order, you should include exactly one of these. + settlement_flat_fee_options: type: array items: type: object properties: - proposal_id: - type: string - format: uint64 - description: proposal is the unique ID of the proposal. - voter: + denom: type: string - description: voter is the account address of the voter. - option: - description: option is the voter's choice on the proposal. + amount: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + settlement_flat_fee_options are the settlement flat fee options + available for the provided order. + + If it's empty, no settlement flat fee is required. + + When creating an order, you should include exactly one of these in the + settlement fees field. + settlement_ratio_fee_options: + type: array + items: + type: object + properties: + denom: type: string - description: metadata is any arbitrary metadata to attached to the vote. - submit_time: + amount: type: string - format: date-time - description: submit_time is the timestamp when the vote was submitted. - description: Vote represents a vote for a proposal. - description: votes are the list of votes by given voter. - pagination: - description: pagination defines the pagination in the response. + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + settlement_ratio_fee_options are the settlement ratio fee options + available for the provided order. + + If it's empty, no settlement ratio fee is required. + + + If the provided order was a bid order, you should include exactly one + of these in the settlement fees field. + + If the flat and ratio options you've chose have the same denom, a + single entry should be included with their sum. + + + If the provided order was an ask order, these are purely informational + and represent how much will be removed + + from your price if it settles at that price. If it settles for more, + the actual amount will probably be larger. + description: >- + QueryOrderFeeCalcResponse is a response message for the OrderFeeCalc + query. + provenance.exchange.v1.QueryParamsResponse: + type: object + properties: + params: + description: params are the exchange module parameter values. type: object properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + default_split: + type: integer + format: int64 + description: >- + default_split is the default proportion of fees the exchange + receives in basis points. - was set, its value is undefined otherwise - description: QueryVotesByVoterResponse is the Query/VotesByVoter response type. - cosmos.group.v1.TallyResult: + It is used if there isn't an applicable denom-specific split + defined. + + E.g. 100 = 1%. Min = 0, Max = 10000. + denom_splits: + type: array + items: + type: object + properties: + denom: + type: string + description: denom is the coin denomination this split applies to. + split: + type: integer + format: int64 + description: >- + split is the proportion of fees the exchange receives for + this denom in basis points. + + E.g. 100 = 1%. Min = 0, Max = 10000. + description: >- + DenomSplit associates a coin denomination with an amount the + exchange receives for that denom. + description: denom_splits are the denom-specific amounts the exchange receives. + description: QueryParamsResponse is a response message for the Params query. + provenance.exchange.v1.QueryValidateCreateMarketResponse: type: object properties: - yes_count: - type: string - description: yes_count is the weighted sum of yes votes. - abstain_count: - type: string - description: abstain_count is the weighted sum of abstainers. - no_count: - type: string - description: no_count is the weighted sum of no votes. - no_with_veto_count: + error: type: string - description: no_with_veto_count is the weighted sum of veto. - description: TallyResult represents the sum of weighted votes for each vote option. - cosmos.group.v1.Vote: + description: >- + error is any problems or inconsistencies in the provided gov prop msg. + + This goes above and beyond the validation done when actually + processing the governance proposal. + + If an error is returned, and gov_prop_will_pass is true, it means the + error is more of an + + inconsistency that might cause certain aspects of the market to behave + unexpectedly. + gov_prop_will_pass: + type: boolean + format: boolean + description: >- + gov_prop_will_pass will be true if the the provided msg will be + successfully processed at the end of it's voting + + period (assuming it passes). + description: >- + QueryValidateCreateMarketResponse is a response message for the + ValidateCreateMarket query. + provenance.exchange.v1.QueryValidateManageFeesResponse: type: object properties: - proposal_id: - type: string - format: uint64 - description: proposal is the unique ID of the proposal. - voter: - type: string - description: voter is the account address of the voter. - option: - description: option is the voter's choice on the proposal. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata to attached to the vote. - submit_time: + error: type: string - format: date-time - description: submit_time is the timestamp when the vote was submitted. - description: Vote represents a vote for a proposal. - cosmos.group.v1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: |- - VoteOption enumerates the valid vote options for a given proposal. + description: >- + error is any problems or inconsistencies in the provided gov prop msg. - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will - return an error. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - provenance.attribute.v1.Attribute: + This goes above and beyond the validation done when actually + processing the governance proposal. + + If an error is returned, and gov_prop_will_pass is true, it means the + error is more of an + + inconsistency that might cause certain aspects of the market to behave + unexpectedly. + gov_prop_will_pass: + type: boolean + format: boolean + description: >- + gov_prop_will_pass will be true if the the provided msg will be + successfully processed at the end of it's voting + + period (assuming it passes). + description: >- + QueryValidateManageFeesResponse is a response message for the + ValidateManageFees query. + provenance.exchange.v1.QueryValidateMarketResponse: type: object properties: - name: - type: string - description: The attribute name. - value: - type: string - format: byte - description: The attribute value. - attribute_type: - description: The attribute value type. - type: string - enum: - - ATTRIBUTE_TYPE_UNSPECIFIED - - ATTRIBUTE_TYPE_UUID - - ATTRIBUTE_TYPE_JSON - - ATTRIBUTE_TYPE_STRING - - ATTRIBUTE_TYPE_URI - - ATTRIBUTE_TYPE_INT - - ATTRIBUTE_TYPE_FLOAT - - ATTRIBUTE_TYPE_PROTO - - ATTRIBUTE_TYPE_BYTES - default: ATTRIBUTE_TYPE_UNSPECIFIED - title: >- - AttributeType defines the type of the data stored in the attribute - value - address: - type: string - title: The address the attribute is bound to - expiration_date: + error: type: string - format: date-time - description: Time that an attribute will expire. - title: >- - Attribute holds a typed key/value structure for data associated with an - account - provenance.attribute.v1.AttributeType: - type: string - enum: - - ATTRIBUTE_TYPE_UNSPECIFIED - - ATTRIBUTE_TYPE_UUID - - ATTRIBUTE_TYPE_JSON - - ATTRIBUTE_TYPE_STRING - - ATTRIBUTE_TYPE_URI - - ATTRIBUTE_TYPE_INT - - ATTRIBUTE_TYPE_FLOAT - - ATTRIBUTE_TYPE_PROTO - - ATTRIBUTE_TYPE_BYTES - default: ATTRIBUTE_TYPE_UNSPECIFIED + description: error is any problems or inconsistencies in the provided market. description: >- - - ATTRIBUTE_TYPE_UNSPECIFIED: ATTRIBUTE_TYPE_UNSPECIFIED defines an - unknown/invalid type - - ATTRIBUTE_TYPE_UUID: ATTRIBUTE_TYPE_UUID defines an attribute value that contains a string value representation of a V4 uuid - - ATTRIBUTE_TYPE_JSON: ATTRIBUTE_TYPE_JSON defines an attribute value that contains a byte string containing json data - - ATTRIBUTE_TYPE_STRING: ATTRIBUTE_TYPE_STRING defines an attribute value that contains a generic string value - - ATTRIBUTE_TYPE_URI: ATTRIBUTE_TYPE_URI defines an attribute value that contains a URI - - ATTRIBUTE_TYPE_INT: ATTRIBUTE_TYPE_INT defines an attribute value that contains an integer (cast as int64) - - ATTRIBUTE_TYPE_FLOAT: ATTRIBUTE_TYPE_FLOAT defines an attribute value that contains a float - - ATTRIBUTE_TYPE_PROTO: ATTRIBUTE_TYPE_PROTO defines an attribute value that contains a serialized proto value in bytes - - ATTRIBUTE_TYPE_BYTES: ATTRIBUTE_TYPE_BYTES defines an attribute value that contains an untyped array of bytes - title: AttributeType defines the type of the data stored in the attribute value - provenance.attribute.v1.Params: + QueryValidateMarketResponse is a response message for the ValidateMarket + query. + provenance.exchange.v1.MsgCancelOrderResponse: + type: object + description: MsgCancelOrderResponse is a response message for the CancelOrder endpoint. + provenance.exchange.v1.MsgCommitFundsResponse: + type: object + description: MsgCommitFundsResponse is a response message for the CommitFunds endpoint. + provenance.exchange.v1.MsgCreateAskResponse: type: object properties: - max_value_length: - type: integer - format: int64 - title: maximum length of data to allow in an attribute value - description: Params defines the set of params for the attribute module. - provenance.attribute.v1.QueryAccountDataResponse: + order_id: + type: string + format: uint64 + description: order_id is the id of the order created. + description: MsgCreateAskResponse is a response message for the CreateAsk endpoint. + provenance.exchange.v1.MsgCreateBidResponse: type: object properties: - value: + order_id: type: string - description: value is the accountdata attribute value for the requested account. + format: uint64 + description: order_id is the id of the order created. + description: MsgCreateBidResponse is a response message for the CreateBid endpoint. + provenance.exchange.v1.MsgFillAsksResponse: + type: object + description: MsgFillAsksResponse is a response message for the FillAsks endpoint. + provenance.exchange.v1.MsgFillBidsResponse: + type: object + description: MsgFillBidsResponse is a response message for the FillBids endpoint. + provenance.exchange.v1.MsgGovCloseMarketResponse: + type: object + description: >- + MsgGovCloseMarketResponse is a response message for the GovCloseMarket + endpoint. + provenance.exchange.v1.MsgGovCreateMarketResponse: + type: object + description: >- + MsgGovCreateMarketResponse is a response message for the GovCreateMarket + endpoint. + provenance.exchange.v1.MsgGovManageFeesResponse: + type: object + description: >- + MsgGovManageFeesResponse is a response message for the GovManageFees + endpoint. + provenance.exchange.v1.MsgGovUpdateParamsResponse: + type: object + description: >- + MsgGovUpdateParamsResponse is a response message for the GovUpdateParams + endpoint. + provenance.exchange.v1.MsgMarketCommitmentSettleResponse: + type: object + description: >- + MsgMarketCommitmentSettleResponse is a response message for the + MarketCommitmentSettle endpoint. + provenance.exchange.v1.MsgMarketManagePermissionsResponse: + type: object + description: >- + MsgMarketManagePermissionsResponse is a response message for the + MarketManagePermissions endpoint. + provenance.exchange.v1.MsgMarketManageReqAttrsResponse: + type: object + description: >- + MsgMarketManageReqAttrsResponse is a response message for the + MarketManageReqAttrs endpoint. + provenance.exchange.v1.MsgMarketReleaseCommitmentsResponse: + type: object + description: >- + MsgMarketReleaseCommitmentsResponse is a response message for the + MarketReleaseCommitments endpoint. + provenance.exchange.v1.MsgMarketSetOrderExternalIDResponse: + type: object + description: >- + MsgMarketSetOrderExternalIDResponse is a response message for the + MarketSetOrderExternalID endpoint. + provenance.exchange.v1.MsgMarketSettleResponse: + type: object + description: >- + MsgMarketSettleResponse is a response message for the MarketSettle + endpoint. + provenance.exchange.v1.MsgMarketUpdateAcceptingCommitmentsResponse: + type: object + description: >- + MsgMarketUpdateAcceptingCommitmentsResponse is a response message for the + MarketUpdateAcceptingCommitments endpoint. + provenance.exchange.v1.MsgMarketUpdateAcceptingOrdersResponse: + type: object + description: >- + MsgMarketUpdateAcceptingOrdersResponse is a response message for the + MarketUpdateAcceptingOrders endpoint. + provenance.exchange.v1.MsgMarketUpdateDetailsResponse: + type: object + description: >- + MsgMarketUpdateDetailsResponse is a response message for the + MarketUpdateDetails endpoint. + provenance.exchange.v1.MsgMarketUpdateEnabledResponse: + type: object + description: >- + MsgMarketUpdateEnabledResponse is a response message for the + MarketUpdateEnabled endpoint. + + Deprecated: This endpoint is no longer usable. It is replaced by + MarketUpdateAcceptingOrders. + provenance.exchange.v1.MsgMarketUpdateIntermediaryDenomResponse: + type: object + description: >- + MsgMarketUpdateIntermediaryDenomResponse is a response message for the + MarketUpdateIntermediaryDenom endpoint. + provenance.exchange.v1.MsgMarketUpdateUserSettleResponse: + type: object description: >- - QueryAccountDataResponse is the response type for the Query/AccountData - method. - provenance.attribute.v1.QueryAttributeAccountsResponse: + MsgMarketUpdateUserSettleResponse is a response message for the + MarketUpdateUserSettle endpoint. + provenance.exchange.v1.MsgMarketWithdrawResponse: type: object - properties: - accounts: - type: array - items: - type: string - title: list of account addresses that have attributes of request name - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - 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: >- - QueryAttributeAccountsResponse is the response type for the - Query/AttributeAccounts method. - provenance.attribute.v1.QueryAttributeResponse: + MsgMarketWithdrawResponse is a response message for the MarketWithdraw + endpoint. + provenance.hold.v1.AccountHold: type: object properties: - account: + address: type: string - description: >- - a string containing the address of the account the attributes are - assigned to. - attributes: + description: address is the account address that holds the funds on hold. + amount: type: array items: type: object properties: - name: - type: string - description: The attribute name. - value: - type: string - format: byte - description: The attribute value. - attribute_type: - description: The attribute value type. - type: string - enum: - - ATTRIBUTE_TYPE_UNSPECIFIED - - ATTRIBUTE_TYPE_UUID - - ATTRIBUTE_TYPE_JSON - - ATTRIBUTE_TYPE_STRING - - ATTRIBUTE_TYPE_URI - - ATTRIBUTE_TYPE_INT - - ATTRIBUTE_TYPE_FLOAT - - ATTRIBUTE_TYPE_PROTO - - ATTRIBUTE_TYPE_BYTES - default: ATTRIBUTE_TYPE_UNSPECIFIED - title: >- - AttributeType defines the type of the data stored in the - attribute value - address: + denom: type: string - title: The address the attribute is bound to - expiration_date: + amount: type: string - format: date-time - description: Time that an attribute will expire. - title: >- - Attribute holds a typed key/value structure for data associated with - an account - title: a list of attribute values - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: |- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise - description: >- - QueryAttributeResponse is the response type for the Query/Attribute - method. - provenance.attribute.v1.QueryAttributesResponse: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: amount is the balances that are on hold for the address. + description: AccountHold associates an address with an amount on hold for that address. + provenance.hold.v1.GetAllHoldsResponse: type: object properties: - account: - type: string - title: >- - a string containing the address of the account the attributes are - assigned to= - attributes: + holds: type: array items: type: object properties: - name: - type: string - description: The attribute name. - value: - type: string - format: byte - description: The attribute value. - attribute_type: - description: The attribute value type. - type: string - enum: - - ATTRIBUTE_TYPE_UNSPECIFIED - - ATTRIBUTE_TYPE_UUID - - ATTRIBUTE_TYPE_JSON - - ATTRIBUTE_TYPE_STRING - - ATTRIBUTE_TYPE_URI - - ATTRIBUTE_TYPE_INT - - ATTRIBUTE_TYPE_FLOAT - - ATTRIBUTE_TYPE_PROTO - - ATTRIBUTE_TYPE_BYTES - default: ATTRIBUTE_TYPE_UNSPECIFIED - title: >- - AttributeType defines the type of the data stored in the - attribute value address: type: string - title: The address the attribute is bound to - expiration_date: - type: string - format: date-time - description: Time that an attribute will expire. - title: >- - Attribute holds a typed key/value structure for data associated with - an account - title: a list of attribute values + description: address is the account address that holds the funds on hold. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: amount is the balances that are on hold for the address. + description: >- + AccountHold associates an address with an amount on hold for that + address. + description: >- + holds is a list of addresses with funds on hold and the amounts being + held. pagination: description: pagination defines an optional pagination for the request. type: object @@ -83080,109 +97086,57 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryAttributesResponse is the response type for the Query/Attributes - method. - provenance.attribute.v1.QueryParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. - type: object - properties: - max_value_length: - type: integer - format: int64 - title: maximum length of data to allow in an attribute value - description: QueryParamsResponse is the response type for the Query/Params RPC method. - provenance.attribute.v1.QueryScanResponse: + description: GetAllHoldsResponse is the response type for the Query/GetAllHolds query. + provenance.hold.v1.GetHoldsResponse: type: object properties: - account: - type: string - title: >- - a string containing the address of the account the attributes are - assigned to= - attributes: + amount: type: array items: type: object properties: - name: - type: string - description: The attribute name. - value: - type: string - format: byte - description: The attribute value. - attribute_type: - description: The attribute value type. - type: string - enum: - - ATTRIBUTE_TYPE_UNSPECIFIED - - ATTRIBUTE_TYPE_UUID - - ATTRIBUTE_TYPE_JSON - - ATTRIBUTE_TYPE_STRING - - ATTRIBUTE_TYPE_URI - - ATTRIBUTE_TYPE_INT - - ATTRIBUTE_TYPE_FLOAT - - ATTRIBUTE_TYPE_PROTO - - ATTRIBUTE_TYPE_BYTES - default: ATTRIBUTE_TYPE_UNSPECIFIED - title: >- - AttributeType defines the type of the data stored in the - attribute value - address: + denom: type: string - title: The address the attribute is bound to - expiration_date: + amount: type: string - format: date-time - description: Time that an attribute will expire. - title: >- - Attribute holds a typed key/value structure for data associated with - an account - title: a list of attribute values - pagination: - description: pagination defines an optional pagination for the request. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: |- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise - description: QueryScanResponse is the response type for the Query/Scan method. - provenance.attribute.v1.MsgAddAttributeResponse: - type: object - description: MsgAddAttributeResponse defines the Msg/AddAttribute response type. - provenance.attribute.v1.MsgDeleteAttributeResponse: - type: object - description: MsgDeleteAttributeResponse defines the Msg/DeleteAttribute response type. - provenance.attribute.v1.MsgDeleteDistinctAttributeResponse: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: amount is the total on hold for the requested address. + description: GetHoldsResponse is the response type for the Query/GetHolds query. + provenance.ibchooks.v1.MsgEmitIBCAckResponse: type: object - description: >- - MsgDeleteDistinctAttributeResponse defines the Msg/DeleteDistinctAttribute - response type. - provenance.attribute.v1.MsgSetAccountDataResponse: + properties: + contract_result: + type: string + ibc_ack: + type: string + title: MsgEmitIBCAckResponse is the IBC Acknowledgement response + provenance.ibcratelimit.v1.Params: type: object - description: MsgSetAccountDataResponse defines the Msg/SetAccountData response type. - provenance.attribute.v1.MsgUpdateAttributeExpirationResponse: + properties: + contract_address: + type: string + description: contract_address is the address of the rate limiter contract. + description: Params defines the parameters for the ibcratelimit module. + provenance.ibcratelimit.v1.ParamsResponse: type: object - description: MsgUpdateAttributeExpirationResponse defines the Msg/Vote response type. - provenance.attribute.v1.MsgUpdateAttributeResponse: + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + contract_address: + type: string + description: contract_address is the address of the rate limiter contract. + description: ParamsResponse is the response type for the Query/Params RPC method. + provenance.ibcratelimit.v1.MsgGovUpdateParamsResponse: type: object - description: MsgUpdateAttributeResponse defines the Msg/UpdateAttribute response type. + description: >- + MsgGovUpdateParamsResponse is a response message for the GovUpdateParams + endpoint. provenance.marker.v1.Access: type: string enum: @@ -85796,6 +99750,27 @@ definitions: on or off chain) to define an input parameter + provenance.metadata.v1.NetAssetValue: + type: object + properties: + price: + title: price is the complete value of the asset's volume + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + updated_block_height: + type: string + format: uint64 + title: updated_block_height is the block height of last update + title: NetAssetValue defines a scope's net asset value provenance.metadata.v1.OSAllLocatorsRequest: type: object properties: @@ -86612,6 +100587,39 @@ definitions: include_request is a flag for whether to include this request in your result. description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.metadata.v1.QueryScopeNetAssetValuesResponse: + type: object + properties: + net_asset_values: + type: array + items: + type: object + properties: + price: + title: price is the complete value of the asset's volume + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + updated_block_height: + type: string + format: uint64 + title: updated_block_height is the block height of last update + title: NetAssetValue defines a scope's net asset value + title: net asset values for scope + description: >- + QueryNetAssetValuesRequest is the response type for the + Query/NetAssetValues method. provenance.metadata.v1.Record: type: object properties: @@ -93279,220 +107287,878 @@ definitions: RecordWrapper contains a single record and some extra identifiers for it. description: >- - records is any number of wrapped records contained in these sessions - (if requested). - request: - description: request is a copy of the request that generated these results. + records is any number of wrapped records contained in these sessions + (if requested). + request: + description: request is a copy of the request that generated these results. + type: object + properties: + scope_id: + type: string + description: >- + scope_id can either be a uuid, e.g. + 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, + e.g. + + scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. + session_id: + type: string + description: >- + session_id can either be a uuid, e.g. + 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, + e.g. + + session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. + This can only be a uuid if a scope_id is also + + provided. + record_addr: + type: string + description: >- + record_addr is a bech32 record address, e.g. + record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. + record_name: + type: string + description: >- + record_name is the name of the record to find the session for in + the provided scope. + include_scope: + type: boolean + format: boolean + description: >- + include_scope is a flag for whether to include the scope + containing these sessions in the response. + include_records: + type: boolean + format: boolean + description: >- + include_records is a flag for whether to include the records of + these sessions in the response. + exclude_id_info: + type: boolean + format: boolean + description: >- + exclude_id_info is a flag for whether to exclude the id info from + the response. + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this request in + your result. + description: SessionsResponse is the response type for the Query/Sessions RPC method. + provenance.metadata.v1.ValueOwnershipRequest: + type: object + properties: + address: + type: string + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this request in your + result. + pagination: + description: pagination defines optional pagination parameters for the request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + title: |- + PageRequest is to be embedded in gRPC request messages for efficient + pagination. Ex: + description: >- + ValueOwnershipRequest is the request type for the Query/ValueOwnership RPC + method. + provenance.metadata.v1.ValueOwnershipResponse: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + request: + description: request is a copy of the request that generated these results. + type: object + properties: + address: + type: string + include_request: + type: boolean + format: boolean + description: >- + include_request is a flag for whether to include this request in + your result. + pagination: + description: pagination defines optional pagination parameters for the request. + type: object + properties: + key: + type: string + format: byte + 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. + offset: + type: string + format: uint64 + 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. + limit: + type: string + format: uint64 + 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. + count_total: + type: boolean + format: boolean + 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. + reverse: + type: boolean + format: boolean + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + title: >- + PageRequest is to be embedded in gRPC request messages for + efficient + + pagination. Ex: + pagination: + description: pagination provides the pagination information of this response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + 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: >- + ValueOwnershipResponse is the response type for the Query/ValueOwnership + RPC method. + provenance.metadata.v1.MsgAddContractSpecToScopeSpecResponse: + type: object + description: >- + MsgAddContractSpecToScopeSpecResponse is the response type for the + Msg/AddContractSpecToScopeSpec RPC method. + provenance.metadata.v1.MsgAddNetAssetValuesResponse: + type: object + title: >- + MsgAddNetAssetValuesResponse defines the Msg/AddNetAssetValue response + type + provenance.metadata.v1.MsgAddScopeDataAccessResponse: + type: object + title: >- + MsgAddScopeDataAccessResponse is the response for adding data access + AccAddress to scope + provenance.metadata.v1.MsgAddScopeOwnerResponse: + type: object + title: >- + MsgAddScopeOwnerResponse is the response for adding owner AccAddresses to + scope + provenance.metadata.v1.MsgBindOSLocatorResponse: + type: object + properties: + locator: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents a owner( + blockchain address) associated with a endpoint + + uri for it's associated object store. + description: >- + MsgBindOSLocatorResponse is the response type for the Msg/BindOSLocator + RPC method. + provenance.metadata.v1.MsgDeleteContractSpecFromScopeSpecResponse: + type: object + description: >- + MsgDeleteContractSpecFromScopeSpecResponse is the response type for the + Msg/DeleteContractSpecFromScopeSpec RPC + + method. + provenance.metadata.v1.MsgDeleteContractSpecificationResponse: + type: object + description: >- + MsgDeleteContractSpecificationResponse is the response type for the + Msg/DeleteContractSpecification RPC method. + provenance.metadata.v1.MsgDeleteOSLocatorResponse: + type: object + properties: + locator: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents a owner( + blockchain address) associated with a endpoint + + uri for it's associated object store. + description: >- + MsgDeleteOSLocatorResponse is the response type for the + Msg/DeleteOSLocator RPC method. + provenance.metadata.v1.MsgDeleteRecordResponse: + type: object + description: >- + MsgDeleteRecordResponse is the response type for the Msg/DeleteRecord RPC + method. + provenance.metadata.v1.MsgDeleteRecordSpecificationResponse: + type: object + description: >- + MsgDeleteRecordSpecificationResponse is the response type for the + Msg/DeleteRecordSpecification RPC method. + provenance.metadata.v1.MsgDeleteScopeDataAccessResponse: + type: object + title: >- + MsgDeleteScopeDataAccessResponse is the response from removing data access + AccAddress to scope + provenance.metadata.v1.MsgDeleteScopeOwnerResponse: + type: object + title: >- + MsgDeleteScopeOwnerResponse is the response from removing owner AccAddress + to scope + provenance.metadata.v1.MsgDeleteScopeResponse: + type: object + description: >- + MsgDeleteScopeResponse is the response type for the Msg/DeleteScope RPC + method. + provenance.metadata.v1.MsgDeleteScopeSpecificationResponse: + type: object + description: >- + MsgDeleteScopeSpecificationResponse is the response type for the + Msg/DeleteScopeSpecification RPC method. + provenance.metadata.v1.MsgMigrateValueOwnerResponse: + type: object + description: >- + MsgMigrateValueOwnerResponse is the response from migrating a value owner + address. + provenance.metadata.v1.MsgModifyOSLocatorResponse: + type: object + properties: + locator: + type: object + properties: + owner: + type: string + title: account address the endpoint is owned by + locator_uri: + type: string + title: locator endpoint uri + encryption_key: + type: string + title: owners encryption key address + description: >- + Defines an Locator object stored on chain, which represents a owner( + blockchain address) associated with a endpoint + + uri for it's associated object store. + description: >- + MsgModifyOSLocatorResponse is the response type for the + Msg/ModifyOSLocator RPC method. + provenance.metadata.v1.MsgSetAccountDataResponse: + type: object + description: >- + MsgSetAccountDataResponse is the response from setting/updating/deleting a + scope's account data. + provenance.metadata.v1.MsgUpdateValueOwnersResponse: + type: object + description: >- + MsgUpdateValueOwnersResponse is the response from updating value owner + addresses in one or more scopes. + provenance.metadata.v1.MsgWriteContractSpecificationResponse: + type: object + properties: + contract_spec_id_info: + description: >- + contract_spec_id_info contains information about the id/address of the + contract specification that was added or + + updated. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract specification + address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the contract_spec_uuid + portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of the + contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + MsgWriteContractSpecificationResponse is the response type for the + Msg/WriteContractSpecification RPC method. + provenance.metadata.v1.MsgWriteRecordResponse: + type: object + properties: + record_id_info: + description: >- + record_id_info contains information about the id/address of the record + that was added or updated. + type: object + properties: + record_id: + type: string + format: byte + description: record_id is the raw bytes of the record address. + record_id_prefix: + type: string + format: byte + description: record_id_prefix is the prefix portion of the record_id. + record_id_scope_uuid: + type: string + format: byte + description: record_id_scope_uuid is the scope_uuid portion of the record_id. + record_id_hashed_name: + type: string + format: byte + description: record_id_hashed_name is the hashed name portion of the record_id. + record_addr: + type: string + description: record_addr is the bech32 string version of the record_id. + scope_id_info: + description: >- + scope_id_info is information about the scope id referenced in the + record_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. + scope_addr: + type: string + description: scope_addr is the bech32 string version of the scope_id. + scope_uuid: + type: string + description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. + description: >- + MsgWriteRecordResponse is the response type for the Msg/WriteRecord RPC + method. + provenance.metadata.v1.MsgWriteRecordSpecificationResponse: + type: object + properties: + record_spec_id_info: + description: >- + record_spec_id_info contains information about the id/address of the + record specification that was added or + + updated. + type: object + properties: + record_spec_id: + type: string + format: byte + description: >- + record_spec_id is the raw bytes of the record specification + address. + record_spec_id_prefix: + type: string + format: byte + description: record_spec_id_prefix is the prefix portion of the record_spec_id. + record_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + record_spec_id_contract_spec_uuid is the contract_spec_uuid + portion of the record_spec_id. + record_spec_id_hashed_name: + type: string + format: byte + description: >- + record_spec_id_hashed_name is the hashed name portion of the + record_spec_id. + record_spec_addr: + type: string + description: >- + record_spec_addr is the bech32 string version of the + record_spec_id. + contract_spec_id_info: + description: >- + contract_spec_id_info is information about the contract spec id + referenced in the record_spec_id. + type: object + properties: + contract_spec_id: + type: string + format: byte + description: >- + contract_spec_id is the raw bytes of the contract + specification address. + contract_spec_id_prefix: + type: string + format: byte + description: >- + contract_spec_id_prefix is the prefix portion of the + contract_spec_id. + contract_spec_id_contract_spec_uuid: + type: string + format: byte + description: >- + contract_spec_id_contract_spec_uuid is the contract_spec_uuid + portion of the contract_spec_id. + contract_spec_addr: + type: string + description: >- + contract_spec_addr is the bech32 string version of the + contract_spec_id. + contract_spec_uuid: + type: string + description: >- + contract_spec_uuid is the uuid hex string of the + contract_spec_id_contract_spec_uuid. + description: >- + MsgWriteRecordSpecificationResponse is the response type for the + Msg/WriteRecordSpecification RPC method. + provenance.metadata.v1.MsgWriteScopeResponse: + type: object + properties: + scope_id_info: + description: >- + scope_id_info contains information about the id/address of the scope + that was added or updated. type: object properties: scope_id: type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. + scope_addr: + type: string + description: scope_addr is the bech32 string version of the scope_id. + scope_uuid: + type: string + description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. + description: >- + MsgWriteScopeResponse is the response type for the Msg/WriteScope RPC + method. + provenance.metadata.v1.MsgWriteScopeSpecificationResponse: + type: object + properties: + scope_spec_id_info: + description: >- + scope_spec_id_info contains information about the id/address of the + scope specification that was added or updated. + type: object + properties: + scope_spec_id: + type: string + format: byte + description: scope_spec_id is the raw bytes of the scope specification address. + scope_spec_id_prefix: + type: string + format: byte + description: scope_spec_id_prefix is the prefix portion of the scope_spec_id. + scope_spec_id_scope_spec_uuid: + type: string + format: byte description: >- - scope_id can either be a uuid, e.g. - 91978ba2-5f35-459a-86a7-feca1b0512e0 or a bech32 scope address, - e.g. + scope_spec_id_scope_spec_uuid is the scope_spec_uuid portion of + the scope_spec_id. + scope_spec_addr: + type: string + description: scope_spec_addr is the bech32 string version of the scope_spec_id. + scope_spec_uuid: + type: string + description: >- + scope_spec_uuid is the uuid hex string of the + scope_spec_id_scope_spec_uuid. + description: >- + MsgWriteScopeSpecificationResponse is the response type for the + Msg/WriteScopeSpecification RPC method. + provenance.metadata.v1.MsgWriteSessionResponse: + type: object + properties: + session_id_info: + description: >- + session_id_info contains information about the id/address of the + session that was added or updated. + type: object + properties: + session_id: + type: string + format: byte + description: session_id is the raw bytes of the session address. + session_id_prefix: + type: string + format: byte + description: session_id_prefix is the prefix portion of the session_id. + session_id_scope_uuid: + type: string + format: byte + description: session_id_scope_uuid is the scope_uuid portion of the session_id. + session_id_session_uuid: + type: string + format: byte + description: >- + session_id_session_uuid is the session_uuid portion of the + session_id. + session_addr: + type: string + description: session_addr is the bech32 string version of the session_id. + session_uuid: + type: string + description: >- + session_uuid is the uuid hex string of the + session_id_session_uuid. + scope_id_info: + description: >- + scope_id_info is information about the scope id referenced in the + session_id. + type: object + properties: + scope_id: + type: string + format: byte + description: scope_id is the raw bytes of the scope address. + scope_id_prefix: + type: string + format: byte + description: scope_id_prefix is the prefix portion of the scope_id. + scope_id_scope_uuid: + type: string + format: byte + description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. + scope_addr: + type: string + description: scope_addr is the bech32 string version of the scope_id. + scope_uuid: + type: string + description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. + description: >- + MsgWriteSessionResponse is the response type for the Msg/WriteSession RPC + method. + provenance.metadata.v1.SessionIdComponents: + type: object + properties: + scope_uuid: + type: string + title: >- + scope_uuid is the uuid string for the scope, e.g. + "91978ba2-5f35-459a-86a7-feca1b0512e0" + scope_addr: + type: string + title: >- + scope_addr is the bech32 address string for the scope, g.g. + "scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel" + session_uuid: + type: string + title: >- + session_uuid is a uuid string for identifying this session, e.g. + "5803f8bc-6067-4eb5-951f-2121671c2ec0" + description: >- + SessionIDComponents contains fields for the components that make up a + session id. + provenance.msgfees.v1.CalculateTxFeesRequest: + type: object + properties: + tx_bytes: + type: string + format: byte + description: tx_bytes is the transaction to simulate. + default_base_denom: + type: string + description: |- + default_base_denom is used to set the denom used for gas fees + if not set it will default to nhash. + gas_adjustment: + type: number + format: float + title: >- + gas_adjustment is the adjustment factor to be multiplied against the + estimate returned by the tx simulation + description: CalculateTxFeesRequest is the request type for the Query RPC method. + provenance.msgfees.v1.CalculateTxFeesResponse: + type: object + properties: + additional_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel. - session_id: - type: string - description: >- - session_id can either be a uuid, e.g. - 5803f8bc-6067-4eb5-951f-2121671c2ec0 or a bech32 session address, - e.g. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: additional_fees are the amount of coins to be for addition msg fees + total_fees: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - session1qxge0zaztu65tx5x5llv5xc9zts9sqlch3sxwn44j50jzgt8rshvqyfrjcr. - This can only be a uuid if a scope_id is also + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + total_fees are the total amount of fees needed for the transactions + (msg fees + gas fee) - provided. - record_addr: - type: string - description: >- - record_addr is a bech32 record address, e.g. - record1q2ge0zaztu65tx5x5llv5xc9ztsw42dq2jdvmdazuwzcaddhh8gmu3mcze3. - record_name: - type: string - description: >- - record_name is the name of the record to find the session for in - the provided scope. - include_scope: - type: boolean - format: boolean - description: >- - include_scope is a flag for whether to include the scope - containing these sessions in the response. - include_records: - type: boolean - format: boolean - description: >- - include_records is a flag for whether to include the records of - these sessions in the response. - exclude_id_info: - type: boolean - format: boolean - description: >- - exclude_id_info is a flag for whether to exclude the id info from - the response. - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this request in - your result. - description: SessionsResponse is the response type for the Query/Sessions RPC method. - provenance.metadata.v1.ValueOwnershipRequest: + note: the gas fee is calculated with the floor gas price module param. + estimated_gas: + type: string + format: uint64 + title: estimated_gas is the amount of gas needed for the transaction + description: CalculateTxFeesResponse is the response type for the Query RPC method. + provenance.msgfees.v1.MsgFee: type: object properties: - address: + msg_type_url: type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this request in your - result. - pagination: - description: pagination defines optional pagination parameters for the request. + additional_fee: + title: >- + additional_fee can pay in any Coin( basically a Denom and Amount, + Amount can be zero) type: object properties: - key: - type: string - format: byte - 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. - offset: + denom: type: string - format: uint64 - 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. - limit: + amount: type: string - format: uint64 - description: >- - limit is the total number of results to be returned in the result - page. + description: |- + Coin defines a token with a denomination and an amount. - If left empty it will default to a value to be set by each app. - count_total: - type: boolean - format: boolean - description: >- - count_total is set to true to indicate that the result set should - include + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + recipient: + type: string + recipient_basis_points: + type: integer + format: int64 + title: >- + MsgFee is the core of what gets stored on the blockchain - a count of the total number of items available for pagination in - UIs. + it consists of four parts - count_total is only respected when offset is used. It is ignored - when key + 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned in the - descending order. + 2. minimum additional fees(can be of any denom) + 3. optional recipient of fee based on `recipient_basis_points` - Since: cosmos-sdk 0.43 - title: |- - PageRequest is to be embedded in gRPC request messages for efficient - pagination. Ex: - description: >- - ValueOwnershipRequest is the request type for the Query/ValueOwnership RPC - method. - provenance.metadata.v1.ValueOwnershipResponse: + 4. if recipient is declared they will recieve the basis points of the fee + (0-10,000) + provenance.msgfees.v1.Params: type: object properties: - scope_uuids: - type: array - items: - type: string - description: A list of scope ids (uuid) associated with the given address. - request: - description: request is a copy of the request that generated these results. + floor_gas_price: + title: >- + constant used to calculate fees when gas fees shares denom with msg + fee type: object properties: - address: + denom: type: string - include_request: - type: boolean - format: boolean - description: >- - include_request is a flag for whether to include this request in - your result. - pagination: - description: pagination defines optional pagination parameters for the request. - type: object - properties: - key: - type: string - format: byte - 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. - offset: - type: string - format: uint64 - description: >- - offset is a numeric offset that can be used when key is - unavailable. + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - It is less efficient than using key. Only one of offset or key - should + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + nhash_per_usd_mil: + type: string + format: uint64 + title: total nhash per usd mil for converting usd to nhash + conversion_fee_denom: + type: string + title: conversion fee denom is the denom usd is converted to + description: Params defines the set of params for the msgfees module. + provenance.msgfees.v1.QueryAllMsgFeesResponse: + type: object + properties: + msg_fees: + type: array + items: + type: object + properties: + msg_type_url: + type: string + additional_fee: + title: >- + additional_fee can pay in any Coin( basically a Denom and + Amount, Amount can be zero) + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - be set. - limit: - type: string - format: uint64 - 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. - count_total: - type: boolean - format: boolean - description: >- - count_total is set to true to indicate that the result set - should include + NOTE: The amount field is an Int which implements the custom + method - a count of the total number of items available for pagination - in UIs. + signatures required by gogoproto. + recipient: + type: string + recipient_basis_points: + type: integer + format: int64 + title: >- + MsgFee is the core of what gets stored on the blockchain - count_total is only respected when offset is used. It is - ignored when key + it consists of four parts - is set. - reverse: - type: boolean - format: boolean - description: >- - reverse is set to true if results are to be returned in the - descending order. + 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend + 2. minimum additional fees(can be of any denom) - Since: cosmos-sdk 0.43 - title: >- - PageRequest is to be embedded in gRPC request messages for - efficient + 3. optional recipient of fee based on `recipient_basis_points` - pagination. Ex: + 4. if recipient is declared they will recieve the basis points of + the fee (0-10,000) pagination: - description: pagination provides the pagination information of this response. + description: pagination defines an optional pagination for the request. type: object properties: next_key: @@ -93510,538 +108176,549 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - ValueOwnershipResponse is the response type for the Query/ValueOwnership - RPC method. - provenance.metadata.v1.MsgAddContractSpecToScopeSpecResponse: + title: response for querying all msg's with fees associated with them + provenance.msgfees.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + floor_gas_price: + title: >- + constant used to calculate fees when gas fees shares denom with + msg fee + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + nhash_per_usd_mil: + type: string + format: uint64 + title: total nhash per usd mil for converting usd to nhash + conversion_fee_denom: + type: string + title: conversion fee denom is the denom usd is converted to + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.msgfees.v1.MsgAddMsgFeeProposalResponse: + type: object + title: >- + MsgAddMsgFeeProposalResponse defines the Msg/AddMsgFeeProposal response + type + provenance.msgfees.v1.MsgAssessCustomMsgFeeResponse: type: object description: >- - MsgAddContractSpecToScopeSpecResponse is the response type for the - Msg/AddContractSpecToScopeSpec RPC method. - provenance.metadata.v1.MsgAddScopeDataAccessResponse: + MsgAssessCustomMsgFeeResponse defines the Msg/AssessCustomMsgFeee response + type. + provenance.msgfees.v1.MsgRemoveMsgFeeProposalResponse: type: object title: >- - MsgAddScopeDataAccessResponse is the response for adding data access - AccAddress to scope - provenance.metadata.v1.MsgAddScopeOwnerResponse: + MsgRemoveMsgFeeProposalResponse defines the Msg/RemoveMsgFeeProposal + response type + provenance.msgfees.v1.MsgUpdateConversionFeeDenomProposalResponse: type: object title: >- - MsgAddScopeOwnerResponse is the response for adding owner AccAddresses to - scope - provenance.metadata.v1.MsgBindOSLocatorResponse: + MsgUpdateConversionFeeDenomProposalResponse defines the + Msg/UpdateConversionFeeDenomProposal response type + provenance.msgfees.v1.MsgUpdateMsgFeeProposalResponse: + type: object + title: >- + MsgUpdateMsgFeeProposalResponse defines the Msg/RemoveMsgFeeProposal + response type + provenance.msgfees.v1.MsgUpdateNhashPerUsdMilProposalResponse: + type: object + title: >- + MsgUpdateNhashPerUsdMilProposalResponse defines the + Msg/UpdateNhashPerUsdMilProposal response type + provenance.name.v1.Params: type: object properties: - locator: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: `foo.bar.baz` + would be 3 + allow_unrestricted_names: + type: boolean + format: boolean + title: determines if unrestricted name keys are allowed or not + description: Params defines the set of params for the name module. + provenance.name.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. type: object properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: - type: string - title: locator endpoint uri - encryption_key: - type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents a owner( - blockchain address) associated with a endpoint - - uri for it's associated object store. - description: >- - MsgBindOSLocatorResponse is the response type for the Msg/BindOSLocator - RPC method. - provenance.metadata.v1.MsgDeleteContractSpecFromScopeSpecResponse: - type: object - description: >- - MsgDeleteContractSpecFromScopeSpecResponse is the response type for the - Msg/DeleteContractSpecFromScopeSpec RPC - - method. - provenance.metadata.v1.MsgDeleteContractSpecificationResponse: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: `foo.bar.baz` + would be 3 + allow_unrestricted_names: + type: boolean + format: boolean + title: determines if unrestricted name keys are allowed or not + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.name.v1.QueryResolveResponse: type: object - description: >- - MsgDeleteContractSpecificationResponse is the response type for the - Msg/DeleteContractSpecification RPC method. - provenance.metadata.v1.MsgDeleteOSLocatorResponse: + properties: + address: + type: string + title: a string containing the address the name resolves to + restricted: + type: boolean + format: boolean + description: Whether owner signature is required to add sub-names. + description: QueryResolveResponse is the response type for the Query/Resolve method. + provenance.name.v1.QueryReverseLookupResponse: type: object properties: - locator: + name: + type: array + items: + type: string + title: an array of names bound against a given address + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: + next_key: type: string - title: locator endpoint uri - encryption_key: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents a owner( - blockchain address) associated with a endpoint + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - uri for it's associated object store. - description: >- - MsgDeleteOSLocatorResponse is the response type for the - Msg/DeleteOSLocator RPC method. - provenance.metadata.v1.MsgDeleteRecordResponse: - type: object + was set, its value is undefined otherwise description: >- - MsgDeleteRecordResponse is the response type for the Msg/DeleteRecord RPC + QueryReverseLookupResponse is the response type for the Query/Resolve method. - provenance.metadata.v1.MsgDeleteRecordSpecificationResponse: + provenance.name.v1.MsgBindNameResponse: type: object - description: >- - MsgDeleteRecordSpecificationResponse is the response type for the - Msg/DeleteRecordSpecification RPC method. - provenance.metadata.v1.MsgDeleteScopeDataAccessResponse: + description: MsgBindNameResponse defines the Msg/BindName response type. + provenance.name.v1.MsgCreateRootNameResponse: + type: object + description: MsgCreateRootNameResponse defines Msg/CreateRootName response type. + provenance.name.v1.MsgDeleteNameResponse: type: object + description: MsgDeleteNameResponse defines the Msg/DeleteName response type. + provenance.name.v1.MsgModifyNameResponse: + type: object + description: MsgModifyNameResponse defines the Msg/ModifyName response type. + provenance.name.v1.NameRecord: + type: object + properties: + name: + type: string + title: the bound name + address: + type: string + title: the address the name resolved to + restricted: + type: boolean + format: boolean + title: whether owner signature is required to add sub-names title: >- - MsgDeleteScopeDataAccessResponse is the response from removing data access - AccAddress to scope - provenance.metadata.v1.MsgDeleteScopeOwnerResponse: + NameRecord is a structure used to bind ownership of a name hierarchy to a + collection of addresses + provenance.oracle.v1.QueryOracleAddressResponse: type: object - title: >- - MsgDeleteScopeOwnerResponse is the response from removing owner AccAddress - to scope - provenance.metadata.v1.MsgDeleteScopeResponse: + properties: + address: + type: string + title: The address of the oracle + description: QueryOracleAddressResponse contains the address of the oracle. + provenance.oracle.v1.QueryOracleResponse: type: object - description: >- - MsgDeleteScopeResponse is the response type for the Msg/DeleteScope RPC - method. - provenance.metadata.v1.MsgDeleteScopeSpecificationResponse: + properties: + data: + type: string + format: byte + description: Data contains the json data returned from the oracle. + description: QueryOracleResponse contains the result of the query sent to the oracle. + provenance.oracle.v1.MsgSendQueryOracleResponse: type: object - description: >- - MsgDeleteScopeSpecificationResponse is the response type for the - Msg/DeleteScopeSpecification RPC method. - provenance.metadata.v1.MsgMigrateValueOwnerResponse: + properties: + sequence: + type: string + format: uint64 + description: The sequence number that uniquely identifies the query. + description: MsgSendQueryOracleResponse contains the id of the oracle query. + provenance.oracle.v1.MsgUpdateOracleResponse: type: object - description: >- - MsgMigrateValueOwnerResponse is the response from migrating a value owner - address. - provenance.metadata.v1.MsgModifyOSLocatorResponse: + description: MsgUpdateOracleResponse is the response type for updating the oracle. + provenance.reward.v1.ActionDelegate: type: object properties: - locator: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have currently delegated on the + validator. type: object properties: - owner: - type: string - title: account address the endpoint is owned by - locator_uri: + denom: type: string - title: locator endpoint uri - encryption_key: + amount: type: string - title: owners encryption key address - description: >- - Defines an Locator object stored on chain, which represents a owner( - blockchain address) associated with a endpoint - - uri for it's associated object store. - description: >- - MsgModifyOSLocatorResponse is the response type for the - Msg/ModifyOSLocator RPC method. - provenance.metadata.v1.MsgSetAccountDataResponse: - type: object - description: >- - MsgSetAccountDataResponse is the response from setting/updating/deleting a - scope's account data. - provenance.metadata.v1.MsgUpdateValueOwnersResponse: - type: object - description: >- - MsgUpdateValueOwnersResponse is the response from updating value owner - addresses in one or more scopes. - provenance.metadata.v1.MsgWriteContractSpecificationResponse: - type: object - properties: - contract_spec_id_info: + maximum_delegation_amount: description: >- - contract_spec_id_info contains information about the id/address of the - contract specification that was added or - - updated. + Maximum amount that the user must have currently delegated on the + validator. type: object properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract specification - address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the contract_spec_uuid - portion of the contract_spec_id. - contract_spec_addr: + denom: type: string - description: >- - contract_spec_addr is the bech32 string version of the - contract_spec_id. - contract_spec_uuid: + amount: type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + minimum_active_stake_percentile: + type: string + description: Minimum percentile that can be below the validator's power ranking. + maximum_active_stake_percentile: + type: string + description: Maximum percentile that can be below the validator's power ranking. description: >- - MsgWriteContractSpecificationResponse is the response type for the - Msg/WriteContractSpecification RPC method. - provenance.metadata.v1.MsgWriteRecordResponse: + ActionDelegate represents the delegate action and its required eligibility + criteria. + provenance.reward.v1.ActionTransfer: type: object properties: - record_id_info: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: description: >- - record_id_info contains information about the id/address of the record - that was added or updated. + Minimum delegation amount the account must have across all validators, + for the transfer action to be counted. type: object properties: - record_id: - type: string - format: byte - description: record_id is the raw bytes of the record address. - record_id_prefix: - type: string - format: byte - description: record_id_prefix is the prefix portion of the record_id. - record_id_scope_uuid: - type: string - format: byte - description: record_id_scope_uuid is the scope_uuid portion of the record_id. - record_id_hashed_name: + denom: type: string - format: byte - description: record_id_hashed_name is the hashed name portion of the record_id. - record_addr: + amount: type: string - description: record_addr is the bech32 string version of the record_id. - scope_id_info: - description: >- - scope_id_info is information about the scope id referenced in the - record_id. - type: object - properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. - scope_addr: - type: string - description: scope_addr is the bech32 string version of the scope_id. - scope_uuid: - type: string - description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. description: >- - MsgWriteRecordResponse is the response type for the Msg/WriteRecord RPC - method. - provenance.metadata.v1.MsgWriteRecordSpecificationResponse: + ActionTransfer represents the transfer action and its required eligibility + criteria. + provenance.reward.v1.ActionVote: type: object properties: - record_spec_id_info: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: description: >- - record_spec_id_info contains information about the id/address of the - record specification that was added or - - updated. + Minimum delegation amount the account must have across all validators, + for the vote action to be counted. type: object properties: - record_spec_id: - type: string - format: byte - description: >- - record_spec_id is the raw bytes of the record specification - address. - record_spec_id_prefix: - type: string - format: byte - description: record_spec_id_prefix is the prefix portion of the record_spec_id. - record_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - record_spec_id_contract_spec_uuid is the contract_spec_uuid - portion of the record_spec_id. - record_spec_id_hashed_name: + denom: type: string - format: byte - description: >- - record_spec_id_hashed_name is the hashed name portion of the - record_spec_id. - record_spec_addr: + amount: type: string - description: >- - record_spec_addr is the bech32 string version of the - record_spec_id. - contract_spec_id_info: - description: >- - contract_spec_id_info is information about the contract spec id - referenced in the record_spec_id. - type: object - properties: - contract_spec_id: - type: string - format: byte - description: >- - contract_spec_id is the raw bytes of the contract - specification address. - contract_spec_id_prefix: - type: string - format: byte - description: >- - contract_spec_id_prefix is the prefix portion of the - contract_spec_id. - contract_spec_id_contract_spec_uuid: - type: string - format: byte - description: >- - contract_spec_id_contract_spec_uuid is the contract_spec_uuid - portion of the contract_spec_id. - contract_spec_addr: - type: string - description: >- - contract_spec_addr is the bech32 string version of the - contract_spec_id. - contract_spec_uuid: - type: string - description: >- - contract_spec_uuid is the uuid hex string of the - contract_spec_id_contract_spec_uuid. + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the shares awarded by the vote + action when conditions + + are met(for now the only condition is the current vote is a validator + vote). A value of zero will behave the same + + as one description: >- - MsgWriteRecordSpecificationResponse is the response type for the - Msg/WriteRecordSpecification RPC method. - provenance.metadata.v1.MsgWriteScopeResponse: + ActionVote represents the voting action and its required eligibility + criteria. + provenance.reward.v1.ClaimPeriodRewardDistribution: type: object properties: - scope_id_info: - description: >- - scope_id_info contains information about the id/address of the scope - that was added or updated. + claim_period_id: + type: string + format: uint64 + description: The claim period id. + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this reward belongs to. + total_rewards_pool_for_claim_period: + description: The sum of all the granted rewards for this claim period. type: object properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: + denom: type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: + amount: type: string - format: byte - description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. - scope_addr: + rewards_pool: + description: The final allocated rewards for this claim period. + type: object + properties: + denom: type: string - description: scope_addr is the bech32 string version of the scope_id. - scope_uuid: + amount: type: string - description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. + total_shares: + type: string + format: int64 + description: The total number of granted shares for this claim period. + claim_period_ended: + type: boolean + format: boolean + description: A flag representing if the claim period for this reward has ended. description: >- - MsgWriteScopeResponse is the response type for the Msg/WriteScope RPC - method. - provenance.metadata.v1.MsgWriteScopeSpecificationResponse: + ClaimPeriodRewardDistribution, this is updated at the end of every claim + period. + provenance.reward.v1.QualifyingAction: type: object properties: - scope_spec_id_info: - description: >- - scope_spec_id_info contains information about the id/address of the - scope specification that was added or updated. + delegate: type: object properties: - scope_spec_id: - type: string - format: byte - description: scope_spec_id is the raw bytes of the scope specification address. - scope_spec_id_prefix: + minimum_actions: type: string - format: byte - description: scope_spec_id_prefix is the prefix portion of the scope_spec_id. - scope_spec_id_scope_spec_uuid: + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: type: string - format: byte + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: description: >- - scope_spec_id_scope_spec_uuid is the scope_spec_uuid portion of - the scope_spec_id. - scope_spec_addr: + Minimum amount that the user must have currently delegated on the + validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have currently delegated on the + validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: type: string - description: scope_spec_addr is the bech32 string version of the scope_spec_id. - scope_spec_uuid: + description: >- + Minimum percentile that can be below the validator's power + ranking. + maximum_active_stake_percentile: type: string description: >- - scope_spec_uuid is the uuid hex string of the - scope_spec_id_scope_spec_uuid. - description: >- - MsgWriteScopeSpecificationResponse is the response type for the - Msg/WriteScopeSpecification RPC method. - provenance.metadata.v1.MsgWriteSessionResponse: - type: object - properties: - session_id_info: + Maximum percentile that can be below the validator's power + ranking. description: >- - session_id_info contains information about the id/address of the - session that was added or updated. + ActionDelegate represents the delegate action and its required + eligibility criteria. + transfer: type: object properties: - session_id: - type: string - format: byte - description: session_id is the raw bytes of the session address. - session_id_prefix: - type: string - format: byte - description: session_id_prefix is the prefix portion of the session_id. - session_id_scope_uuid: - type: string - format: byte - description: session_id_scope_uuid is the scope_uuid portion of the session_id. - session_id_session_uuid: - type: string - format: byte - description: >- - session_id_session_uuid is the session_uuid portion of the - session_id. - session_addr: + minimum_actions: type: string - description: session_addr is the bech32 string version of the session_id. - session_uuid: + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: description: >- - session_uuid is the uuid hex string of the - session_id_session_uuid. - scope_id_info: - description: >- - scope_id_info is information about the scope id referenced in the - session_id. + Minimum delegation amount the account must have across all + validators, for the transfer action to be counted. type: object properties: - scope_id: - type: string - format: byte - description: scope_id is the raw bytes of the scope address. - scope_id_prefix: - type: string - format: byte - description: scope_id_prefix is the prefix portion of the scope_id. - scope_id_scope_uuid: - type: string - format: byte - description: scope_id_scope_uuid is the scope_uuid portion of the scope_id. - scope_addr: + denom: type: string - description: scope_addr is the bech32 string version of the scope_id. - scope_uuid: + amount: type: string - description: scope_uuid is the uuid hex string of the scope_id_scope_uuid. - description: >- - MsgWriteSessionResponse is the response type for the Msg/WriteSession RPC - method. - provenance.metadata.v1.SessionIdComponents: - type: object - properties: - scope_uuid: - type: string - title: >- - scope_uuid is the uuid string for the scope, e.g. - "91978ba2-5f35-459a-86a7-feca1b0512e0" - scope_addr: - type: string - title: >- - scope_addr is the bech32 address string for the scope, g.g. - "scope1qzge0zaztu65tx5x5llv5xc9ztsqxlkwel" - session_uuid: - type: string - title: >- - session_uuid is a uuid string for identifying this session, e.g. - "5803f8bc-6067-4eb5-951f-2121671c2ec0" - description: >- - SessionIDComponents contains fields for the components that make up a - session id. - provenance.name.v1.Params: - type: object - properties: - max_segment_length: - type: integer - format: int64 - title: maximum length of name segment to allow - min_segment_length: - type: integer - format: int64 - title: minimum length of name segment to allow - max_name_levels: - type: integer - format: int64 - title: >- - maximum number of name segments to allow. Example: `foo.bar.baz` - would be 3 - allow_unrestricted_names: - type: boolean - format: boolean - title: determines if unrestricted name keys are allowed or not - description: Params defines the set of params for the name module. - provenance.name.v1.QueryParamsResponse: + description: >- + ActionTransfer represents the transfer action and its required + eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across all + validators, for the vote action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the shares awarded by the + vote action when conditions + + are met(for now the only condition is the current vote is a + validator vote). A value of zero will behave the same + + as one + description: >- + ActionVote represents the voting action and its required eligibility + criteria. + description: QualifyingAction can be one of many action types. + provenance.reward.v1.QueryClaimPeriodRewardDistributionsByIDResponse: type: object properties: - params: - description: params defines the parameters of the module. + claim_period_reward_distribution: type: object properties: - max_segment_length: - type: integer - format: int64 - title: maximum length of name segment to allow - min_segment_length: - type: integer - format: int64 - title: minimum length of name segment to allow - max_name_levels: - type: integer + claim_period_id: + type: string + format: uint64 + description: The claim period id. + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this reward belongs to. + total_rewards_pool_for_claim_period: + description: The sum of all the granted rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + rewards_pool: + description: The final allocated rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + total_shares: + type: string format: int64 - title: >- - maximum number of name segments to allow. Example: `foo.bar.baz` - would be 3 - allow_unrestricted_names: + description: The total number of granted shares for this claim period. + claim_period_ended: type: boolean format: boolean - title: determines if unrestricted name keys are allowed or not - description: QueryParamsResponse is the response type for the Query/Params RPC method. - provenance.name.v1.QueryResolveResponse: - type: object - properties: - address: - type: string - title: a string containing the address the name resolves to - restricted: - type: boolean - format: boolean - description: Whether owner signature is required to add sub-names. - description: QueryResolveResponse is the response type for the Query/Resolve method. - provenance.name.v1.QueryReverseLookupResponse: + description: A flag representing if the claim period for this reward has ended. + description: >- + ClaimPeriodRewardDistribution, this is updated at the end of every + claim period. + title: >- + QueryClaimPeriodRewardDistributionsByIDResponse returns the requested + ClaimPeriodRewardDistribution + provenance.reward.v1.QueryClaimPeriodRewardDistributionsResponse: type: object properties: - name: + claim_period_reward_distributions: type: array items: - type: string - title: an array of names bound against a given address + type: object + properties: + claim_period_id: + type: string + format: uint64 + description: The claim period id. + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this reward belongs to. + total_rewards_pool_for_claim_period: + description: The sum of all the granted rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + rewards_pool: + description: The final allocated rewards for this claim period. + type: object + properties: + denom: + type: string + amount: + type: string + total_shares: + type: string + format: int64 + description: The total number of granted shares for this claim period. + claim_period_ended: + type: boolean + format: boolean + description: >- + A flag representing if the claim period for this reward has + ended. + description: >- + ClaimPeriodRewardDistribution, this is updated at the end of every + claim period. + description: List of all ClaimPeriodRewardDistribution objects queried for. pagination: - description: pagination defines an optional pagination for the request. + description: pagination defines an optional pagination for the response. type: object properties: next_key: @@ -94059,210 +108736,580 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryReverseLookupResponse is the response type for the Query/Resolve - method. - provenance.name.v1.MsgBindNameResponse: - type: object - description: MsgBindNameResponse defines the Msg/BindName response type. - provenance.name.v1.MsgCreateRootNameResponse: - type: object - description: MsgCreateRootNameResponse defines Msg/CreateRootName response type. - provenance.name.v1.MsgDeleteNameResponse: - type: object - description: MsgDeleteNameResponse defines the Msg/DeleteName response type. - provenance.name.v1.MsgModifyNameResponse: - type: object - description: MsgModifyNameResponse defines the Msg/ModifyName response type. - provenance.name.v1.NameRecord: - type: object - properties: - name: - type: string - title: the bound name - address: - type: string - title: the address the name resolved to - restricted: - type: boolean - format: boolean - title: whether owner signature is required to add sub-names title: >- - NameRecord is a structure used to bind ownership of a name hierarchy to a - collection of addresses - provenance.msgfees.v1.CalculateTxFeesRequest: + QueryClaimPeriodRewardDistributionsResponse returns the list of paginated + ClaimPeriodRewardDistributions + provenance.reward.v1.QueryRewardDistributionsByAddressResponse: type: object properties: - tx_bytes: - type: string - format: byte - description: tx_bytes is the transaction to simulate. - default_base_denom: + address: type: string - description: |- - default_base_denom is used to set the denom used for gas fees - if not set it will default to nhash. - gas_adjustment: - type: number - format: float - title: >- - gas_adjustment is the adjustment factor to be multiplied against the - estimate returned by the tx simulation - description: CalculateTxFeesRequest is the request type for the Query RPC method. - provenance.msgfees.v1.CalculateTxFeesResponse: - type: object - properties: - additional_fees: + description: The address that the reward account belongs to. + reward_account_state: type: array items: type: object properties: - denom: - type: string - amount: + reward_program_id: type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: additional_fees are the amount of coins to be for addition msg fees - total_fees: - type: array - items: - type: object - properties: - denom: + format: uint64 + description: The id of the reward program that this claim belongs to. + total_reward_claim: + description: total rewards claimed for all eligible claim periods in program. + type: object + properties: + denom: + type: string + amount: + type: string + claim_status: + description: The status of the claim. type: string - amount: + enum: + - CLAIM_STATUS_UNSPECIFIED + - CLAIM_STATUS_UNCLAIMABLE + - CLAIM_STATUS_CLAIMABLE + - CLAIM_STATUS_CLAIMED + - CLAIM_STATUS_EXPIRED + default: CLAIM_STATUS_UNSPECIFIED + title: ClaimStatus is the state a claim is in + claim_id: type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - total_fees are the total amount of fees needed for the transactions - (msg fees + gas fee) + format: uint64 + description: The claim period that the claim belongs to. + description: >- + RewardAccountResponse is an address' reward claim for a reward + program's claim period. + description: List of RewardAccounts queried for. + pagination: + description: pagination defines an optional pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - note: the gas fee is calculated with the floor gas price module param. - estimated_gas: - type: string - format: uint64 - title: estimated_gas is the amount of gas needed for the transaction - description: CalculateTxFeesResponse is the response type for the Query RPC method. - provenance.msgfees.v1.MsgFee: + was set, its value is undefined otherwise + description: >- + QueryRewardDistributionsByAddressResponse returns the reward claims for an + address that match the claim_status. + provenance.reward.v1.QueryRewardProgramByIDResponse: type: object properties: - msg_type_url: - type: string - additional_fee: - title: >- - additional_fee can pay in any Coin( basically a Denom and Amount, - Amount can be zero) + reward_program: type: object properties: - denom: + id: type: string - amount: + format: uint64 + description: An integer to uniquely identify the reward program. + title: type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - recipient: - type: string - recipient_basis_points: - type: integer - format: int64 - title: >- - MsgFee is the core of what gets stored on the blockchain - - it consists of four parts - - 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend - - 2. minimum additional fees(can be of any denom) + title: Name to help identify the Reward Program.(MaxTitleLength=140) + description: + type: string + title: >- + Short summary describing the Reward + Program.(MaxDescriptionLength=10000) + distribute_from_address: + type: string + description: address that provides funds for the total reward pool. + total_reward_pool: + description: The total amount of funding given to the RewardProgram. + type: object + properties: + denom: + type: string + amount: + type: string + remaining_pool_balance: + description: >- + The remaining funds available to distribute after n claim periods + have passed. + type: object + properties: + denom: + type: string + amount: + type: string + claimed_amount: + description: >- + The total amount of all funds claimed by participants for all past + claim periods. + type: object + properties: + denom: + type: string + amount: + type: string + max_reward_by_address: + description: Maximum reward per claim period per address. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_rollover_amount: + description: Minimum amount of coins for a program to rollover. + type: object + properties: + denom: + type: string + amount: + type: string + claim_period_seconds: + type: string + format: uint64 + description: Number of seconds that a claim period lasts. + program_start_time: + type: string + format: date-time + description: >- + Time that a RewardProgram should start and switch to STARTED + state. + expected_program_end_time: + type: string + format: date-time + description: >- + Time that a RewardProgram is expected to end, based on data when + it was setup. + program_end_time_max: + type: string + format: date-time + description: Time that a RewardProgram MUST end. + claim_period_end_time: + type: string + format: date-time + description: >- + Used internally to calculate and track the current claim period's + ending time. + actual_program_end_time: + type: string + format: date-time + description: >- + Time the RewardProgram switched to FINISHED state. Initially set + as empty. + claim_periods: + type: string + format: uint64 + description: Number of claim periods this program will run for. + current_claim_period: + type: string + format: uint64 + description: Current claim period of the RewardProgram. Uses 1-based indexing. + max_rollover_claim_periods: + type: string + format: uint64 + description: maximum number of claim periods a reward program can rollover. + state: + description: Current state of the RewardProgram. + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + title: State is the state of the reward program + expiration_offset: + type: string + format: uint64 + description: >- + Grace period after a RewardProgram FINISHED. It is the number of + seconds until a RewardProgram enters the EXPIRED - 3. optional recipient of fee based on `recipient_basis_points` + state. + qualifying_actions: + type: array + items: + type: object + properties: + delegate: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: + type: string + description: >- + Minimum percentile that can be below the validator's + power ranking. + maximum_active_stake_percentile: + type: string + description: >- + Maximum percentile that can be below the validator's + power ranking. + description: >- + ActionDelegate represents the delegate action and its + required eligibility criteria. + transfer: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across + all validators, for the transfer action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + ActionTransfer represents the transfer action and its + required eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across + all validators, for the vote action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the shares + awarded by the vote action when conditions - 4. if recipient is declared they will recieve the basis points of the fee - (0-10,000) - provenance.msgfees.v1.Params: - type: object - properties: - floor_gas_price: - title: >- - constant used to calculate fees when gas fees shares denom with msg - fee - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + are met(for now the only condition is the current vote + is a validator vote). A value of zero will behave the + same - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - nhash_per_usd_mil: - type: string - format: uint64 - title: total nhash per usd mil for converting usd to nhash - conversion_fee_denom: - type: string - title: conversion fee denom is the denom usd is converted to - description: Params defines the set of params for the msgfees module. - provenance.msgfees.v1.QueryAllMsgFeesResponse: + as one + description: >- + ActionVote represents the voting action and its required + eligibility criteria. + description: QualifyingAction can be one of many action types. + description: Actions that count towards the reward. + title: RewardProgram + description: The reward program object that was queried for. + title: QueryRewardProgramByIDResponse contains the requested RewardProgram + provenance.reward.v1.QueryRewardProgramsRequest.QueryType: + type: string + enum: + - QUERY_TYPE_UNSPECIFIED + - QUERY_TYPE_ALL + - QUERY_TYPE_PENDING + - QUERY_TYPE_ACTIVE + - QUERY_TYPE_OUTSTANDING + - QUERY_TYPE_FINISHED + default: QUERY_TYPE_UNSPECIFIED + description: |- + - QUERY_TYPE_UNSPECIFIED: unspecified type + - QUERY_TYPE_ALL: all reward programs states + - QUERY_TYPE_PENDING: pending reward program state= + - QUERY_TYPE_ACTIVE: active reward program state + - QUERY_TYPE_OUTSTANDING: pending and active reward program states + - QUERY_TYPE_FINISHED: finished reward program state + title: QueryType is the state of reward program to query + provenance.reward.v1.QueryRewardProgramsResponse: type: object properties: - msg_fees: + reward_programs: type: array items: type: object properties: - msg_type_url: + id: + type: string + format: uint64 + description: An integer to uniquely identify the reward program. + title: + type: string + title: Name to help identify the Reward Program.(MaxTitleLength=140) + description: type: string - additional_fee: title: >- - additional_fee can pay in any Coin( basically a Denom and - Amount, Amount can be zero) + Short summary describing the Reward + Program.(MaxDescriptionLength=10000) + distribute_from_address: + type: string + description: address that provides funds for the total reward pool. + total_reward_pool: + description: The total amount of funding given to the RewardProgram. type: object properties: denom: type: string amount: type: string + remaining_pool_balance: description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - recipient: + The remaining funds available to distribute after n claim + periods have passed. + type: object + properties: + denom: + type: string + amount: + type: string + claimed_amount: + description: >- + The total amount of all funds claimed by participants for all + past claim periods. + type: object + properties: + denom: + type: string + amount: + type: string + max_reward_by_address: + description: Maximum reward per claim period per address. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_rollover_amount: + description: Minimum amount of coins for a program to rollover. + type: object + properties: + denom: + type: string + amount: + type: string + claim_period_seconds: type: string - recipient_basis_points: - type: integer - format: int64 - title: >- - MsgFee is the core of what gets stored on the blockchain - - it consists of four parts - - 1. the msg type url, i.e. /cosmos.bank.v1beta1.MsgSend + format: uint64 + description: Number of seconds that a claim period lasts. + program_start_time: + type: string + format: date-time + description: >- + Time that a RewardProgram should start and switch to STARTED + state. + expected_program_end_time: + type: string + format: date-time + description: >- + Time that a RewardProgram is expected to end, based on data when + it was setup. + program_end_time_max: + type: string + format: date-time + description: Time that a RewardProgram MUST end. + claim_period_end_time: + type: string + format: date-time + description: >- + Used internally to calculate and track the current claim + period's ending time. + actual_program_end_time: + type: string + format: date-time + description: >- + Time the RewardProgram switched to FINISHED state. Initially set + as empty. + claim_periods: + type: string + format: uint64 + description: Number of claim periods this program will run for. + current_claim_period: + type: string + format: uint64 + description: >- + Current claim period of the RewardProgram. Uses 1-based + indexing. + max_rollover_claim_periods: + type: string + format: uint64 + description: maximum number of claim periods a reward program can rollover. + state: + description: Current state of the RewardProgram. + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + title: State is the state of the reward program + expiration_offset: + type: string + format: uint64 + description: >- + Grace period after a RewardProgram FINISHED. It is the number of + seconds until a RewardProgram enters the EXPIRED - 2. minimum additional fees(can be of any denom) + state. + qualifying_actions: + type: array + items: + type: object + properties: + delegate: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have currently + delegated on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: + type: string + description: >- + Minimum percentile that can be below the validator's + power ranking. + maximum_active_stake_percentile: + type: string + description: >- + Maximum percentile that can be below the validator's + power ranking. + description: >- + ActionDelegate represents the delegate action and its + required eligibility criteria. + transfer: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across + all validators, for the transfer action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + ActionTransfer represents the transfer action and its + required eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across + all validators, for the vote action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the shares + awarded by the vote action when conditions - 3. optional recipient of fee based on `recipient_basis_points` + are met(for now the only condition is the current vote + is a validator vote). A value of zero will behave the + same - 4. if recipient is declared they will recieve the basis points of - the fee (0-10,000) + as one + description: >- + ActionVote represents the voting action and its required + eligibility criteria. + description: QualifyingAction can be one of many action types. + description: Actions that count towards the reward. + title: RewardProgram + description: List of RewardProgram objects matching the query_type. pagination: - description: pagination defines an optional pagination for the request. + description: pagination defines an optional pagination for the response. type: object properties: next_key: @@ -94280,139 +109327,308 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - title: response for querying all msg's with fees associated with them - provenance.msgfees.v1.QueryParamsResponse: + title: >- + QueryRewardProgramsResponse contains the list of RewardPrograms matching + the query + provenance.reward.v1.RewardAccountResponse: type: object properties: - params: - description: params defines the parameters of the module. + reward_program_id: + type: string + format: uint64 + description: The id of the reward program that this claim belongs to. + total_reward_claim: + description: total rewards claimed for all eligible claim periods in program. type: object properties: - floor_gas_price: - title: >- - constant used to calculate fees when gas fees shares denom with - msg fee - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - nhash_per_usd_mil: + denom: type: string - format: uint64 - title: total nhash per usd mil for converting usd to nhash - conversion_fee_denom: + amount: type: string - title: conversion fee denom is the denom usd is converted to - description: QueryParamsResponse is the response type for the Query/Params RPC method. - provenance.reward.v1.ActionDelegate: + claim_status: + description: The status of the claim. + type: string + enum: + - CLAIM_STATUS_UNSPECIFIED + - CLAIM_STATUS_UNCLAIMABLE + - CLAIM_STATUS_CLAIMABLE + - CLAIM_STATUS_CLAIMED + - CLAIM_STATUS_EXPIRED + default: CLAIM_STATUS_UNSPECIFIED + title: ClaimStatus is the state a claim is in + claim_id: + type: string + format: uint64 + description: The claim period that the claim belongs to. + description: >- + RewardAccountResponse is an address' reward claim for a reward program's + claim period. + provenance.reward.v1.RewardAccountState.ClaimStatus: + type: string + enum: + - CLAIM_STATUS_UNSPECIFIED + - CLAIM_STATUS_UNCLAIMABLE + - CLAIM_STATUS_CLAIMABLE + - CLAIM_STATUS_CLAIMED + - CLAIM_STATUS_EXPIRED + default: CLAIM_STATUS_UNSPECIFIED + description: |- + - CLAIM_STATUS_UNSPECIFIED: undefined state + - CLAIM_STATUS_UNCLAIMABLE: unclaimable status + - CLAIM_STATUS_CLAIMABLE: unclaimable claimable + - CLAIM_STATUS_CLAIMED: unclaimable claimed + - CLAIM_STATUS_EXPIRED: unclaimable expired + title: ClaimStatus is the state a claim is in + provenance.reward.v1.RewardProgram: type: object properties: - minimum_actions: + id: type: string format: uint64 - description: Minimum number of successful delegates. - maximum_actions: + description: An integer to uniquely identify the reward program. + title: type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently delegated on the - validator. + title: Name to help identify the Reward Program.(MaxTitleLength=140) + description: + type: string + title: >- + Short summary describing the Reward + Program.(MaxDescriptionLength=10000) + distribute_from_address: + type: string + description: address that provides funds for the total reward pool. + total_reward_pool: + description: The total amount of funding given to the RewardProgram. type: object properties: denom: type: string amount: type: string - maximum_delegation_amount: + remaining_pool_balance: description: >- - Maximum amount that the user must have currently delegated on the - validator. + The remaining funds available to distribute after n claim periods have + passed. type: object properties: denom: type: string amount: type: string - minimum_active_stake_percentile: - type: string - description: Minimum percentile that can be below the validator's power ranking. - maximum_active_stake_percentile: - type: string - description: Maximum percentile that can be below the validator's power ranking. - description: >- - ActionDelegate represents the delegate action and its required eligibility - criteria. - provenance.reward.v1.ActionTransfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: + claimed_amount: description: >- - Minimum delegation amount the account must have across all validators, - for the transfer action to be counted. + The total amount of all funds claimed by participants for all past + claim periods. type: object properties: denom: type: string amount: type: string - description: >- - ActionTransfer represents the transfer action and its required eligibility - criteria. - provenance.reward.v1.ActionVote: - type: object - properties: - minimum_actions: + max_reward_by_address: + description: Maximum reward per claim period per address. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_rollover_amount: + description: Minimum amount of coins for a program to rollover. + type: object + properties: + denom: + type: string + amount: + type: string + claim_period_seconds: + type: string + format: uint64 + description: Number of seconds that a claim period lasts. + program_start_time: + type: string + format: date-time + description: Time that a RewardProgram should start and switch to STARTED state. + expected_program_end_time: + type: string + format: date-time + description: >- + Time that a RewardProgram is expected to end, based on data when it + was setup. + program_end_time_max: + type: string + format: date-time + description: Time that a RewardProgram MUST end. + claim_period_end_time: + type: string + format: date-time + description: >- + Used internally to calculate and track the current claim period's + ending time. + actual_program_end_time: + type: string + format: date-time + description: >- + Time the RewardProgram switched to FINISHED state. Initially set as + empty. + claim_periods: + type: string + format: uint64 + description: Number of claim periods this program will run for. + current_claim_period: type: string format: uint64 - description: Minimum number of successful votes. - maximum_actions: + description: Current claim period of the RewardProgram. Uses 1-based indexing. + max_rollover_claim_periods: type: string format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across all validators, - for the vote action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: + description: maximum number of claim periods a reward program can rollover. + state: + description: Current state of the RewardProgram. + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + title: State is the state of the reward program + expiration_offset: type: string format: uint64 - title: >- - Positive multiplier that is applied to the shares awarded by the vote - action when conditions + description: >- + Grace period after a RewardProgram FINISHED. It is the number of + seconds until a RewardProgram enters the EXPIRED - are met(for now the only condition is the current vote is a validator - vote). A value of zero will behave the same + state. + qualifying_actions: + type: array + items: + type: object + properties: + delegate: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful delegates. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful delegates. + minimum_delegation_amount: + description: >- + Minimum amount that the user must have currently delegated + on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + maximum_delegation_amount: + description: >- + Maximum amount that the user must have currently delegated + on the validator. + type: object + properties: + denom: + type: string + amount: + type: string + minimum_active_stake_percentile: + type: string + description: >- + Minimum percentile that can be below the validator's power + ranking. + maximum_active_stake_percentile: + type: string + description: >- + Maximum percentile that can be below the validator's power + ranking. + description: >- + ActionDelegate represents the delegate action and its required + eligibility criteria. + transfer: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful transfers. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful transfers. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across all + validators, for the transfer action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + ActionTransfer represents the transfer action and its required + eligibility criteria. + vote: + type: object + properties: + minimum_actions: + type: string + format: uint64 + description: Minimum number of successful votes. + maximum_actions: + type: string + format: uint64 + description: Maximum number of successful votes. + minimum_delegation_amount: + description: >- + Minimum delegation amount the account must have across all + validators, for the vote action to be counted. + type: object + properties: + denom: + type: string + amount: + type: string + validator_multiplier: + type: string + format: uint64 + title: >- + Positive multiplier that is applied to the shares awarded by + the vote action when conditions - as one - description: >- - ActionVote represents the voting action and its required eligibility - criteria. + are met(for now the only condition is the current vote is a + validator vote). A value of zero will behave the same + + as one + description: >- + ActionVote represents the voting action and its required + eligibility criteria. + description: QualifyingAction can be one of many action types. + description: Actions that count towards the reward. + title: RewardProgram + provenance.reward.v1.RewardProgram.State: + type: string + enum: + - STATE_UNSPECIFIED + - STATE_PENDING + - STATE_STARTED + - STATE_FINISHED + - STATE_EXPIRED + default: STATE_UNSPECIFIED + description: |- + - STATE_UNSPECIFIED: undefined program state + - STATE_PENDING: pending state of reward program + - STATE_STARTED: started state of reward program + - STATE_FINISHED: finished state of reward program + - STATE_EXPIRED: expired state of reward program + title: State is the state of the reward program provenance.reward.v1.ClaimedRewardPeriodDetail: type: object properties: @@ -94564,683 +109780,355 @@ definitions: title: total rewards for claim period type: object properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - ClaimedRewardPeriodDetail is information regarding an addresses' - shares and reward for a claim period. - description: claim period details. - description: >- - RewardProgramClaimDetail is the response object regarding an address's - shares and reward for a reward program. - title: >- - MsgClaimRewardsResponse is the response type for claiming reward from - reward program RPC - provenance.reward.v1.MsgCreateRewardProgramResponse: - type: object - properties: - id: - type: string - format: uint64 - description: reward program id that is generated on creation. - title: >- - MsgCreateRewardProgramResponse is the response type for creating a reward - program RPC - provenance.reward.v1.MsgEndRewardProgramResponse: - type: object - title: >- - MsgEndRewardProgramResponse is the response type for ending a reward - program RPC - provenance.reward.v1.QualifyingAction: - type: object - properties: - delegate: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently delegated on the - validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have currently delegated on the - validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: - type: string - description: >- - Minimum percentile that can be below the validator's power - ranking. - maximum_active_stake_percentile: - type: string - description: >- - Maximum percentile that can be below the validator's power - ranking. - description: >- - ActionDelegate represents the delegate action and its required - eligibility criteria. - transfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across all - validators, for the transfer action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - ActionTransfer represents the transfer action and its required - eligibility criteria. - vote: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across all - validators, for the vote action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: - type: string - format: uint64 - title: >- - Positive multiplier that is applied to the shares awarded by the - vote action when conditions - - are met(for now the only condition is the current vote is a - validator vote). A value of zero will behave the same - - as one - description: >- - ActionVote represents the voting action and its required eligibility - criteria. - description: QualifyingAction can be one of many action types. - provenance.reward.v1.RewardProgramClaimDetail: - type: object - properties: - reward_program_id: - type: string - format: uint64 - description: reward program id. - total_reward_claim: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - claimed_reward_period_details: - type: array - items: - type: object - properties: - claim_period_id: - type: string - format: uint64 - title: claim period id - total_shares: - type: string - format: uint64 - title: total shares accumulated for claim period - claim_period_reward: - title: total rewards for claim period - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - ClaimedRewardPeriodDetail is information regarding an addresses' - shares and reward for a claim period. - description: claim period details. - description: >- - RewardProgramClaimDetail is the response object regarding an address's - shares and reward for a reward program. - provenance.reward.v1.ClaimPeriodRewardDistribution: - type: object - properties: - claim_period_id: - type: string - format: uint64 - description: The claim period id. - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this reward belongs to. - total_rewards_pool_for_claim_period: - description: The sum of all the granted rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - rewards_pool: - description: The final allocated rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - total_shares: - type: string - format: int64 - description: The total number of granted shares for this claim period. - claim_period_ended: - type: boolean - format: boolean - description: A flag representing if the claim period for this reward has ended. - description: >- - ClaimPeriodRewardDistribution, this is updated at the end of every claim - period. - provenance.reward.v1.QueryClaimPeriodRewardDistributionsByIDResponse: - type: object - properties: - claim_period_reward_distribution: - type: object - properties: - claim_period_id: - type: string - format: uint64 - description: The claim period id. - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this reward belongs to. - total_rewards_pool_for_claim_period: - description: The sum of all the granted rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - rewards_pool: - description: The final allocated rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - total_shares: - type: string - format: int64 - description: The total number of granted shares for this claim period. - claim_period_ended: - type: boolean - format: boolean - description: A flag representing if the claim period for this reward has ended. - description: >- - ClaimPeriodRewardDistribution, this is updated at the end of every - claim period. - title: >- - QueryClaimPeriodRewardDistributionsByIDResponse returns the requested - ClaimPeriodRewardDistribution - provenance.reward.v1.QueryClaimPeriodRewardDistributionsResponse: - type: object - properties: - claim_period_reward_distributions: - type: array - items: - type: object - properties: - claim_period_id: - type: string - format: uint64 - description: The claim period id. - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this reward belongs to. - total_rewards_pool_for_claim_period: - description: The sum of all the granted rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - rewards_pool: - description: The final allocated rewards for this claim period. - type: object - properties: - denom: - type: string - amount: - type: string - total_shares: - type: string - format: int64 - description: The total number of granted shares for this claim period. - claim_period_ended: - type: boolean - format: boolean - description: >- - A flag representing if the claim period for this reward has - ended. - description: >- - ClaimPeriodRewardDistribution, this is updated at the end of every - claim period. - description: List of all ClaimPeriodRewardDistribution objects queried for. - pagination: - description: pagination defines an optional pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + ClaimedRewardPeriodDetail is information regarding an addresses' + shares and reward for a claim period. + description: claim period details. + description: >- + RewardProgramClaimDetail is the response object regarding an address's + shares and reward for a reward program. title: >- - QueryClaimPeriodRewardDistributionsResponse returns the list of paginated - ClaimPeriodRewardDistributions - provenance.reward.v1.QueryRewardDistributionsByAddressResponse: + MsgClaimRewardsResponse is the response type for claiming reward from + reward program RPC + provenance.reward.v1.MsgCreateRewardProgramResponse: type: object properties: - address: + id: type: string - description: The address that the reward account belongs to. - reward_account_state: + format: uint64 + description: reward program id that is generated on creation. + title: >- + MsgCreateRewardProgramResponse is the response type for creating a reward + program RPC + provenance.reward.v1.MsgEndRewardProgramResponse: + type: object + title: >- + MsgEndRewardProgramResponse is the response type for ending a reward + program RPC + provenance.reward.v1.RewardProgramClaimDetail: + type: object + properties: + reward_program_id: + type: string + format: uint64 + description: reward program id. + total_reward_claim: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + claimed_reward_period_details: type: array items: type: object properties: - reward_program_id: + claim_period_id: type: string format: uint64 - description: The id of the reward program that this claim belongs to. - total_reward_claim: - description: total rewards claimed for all eligible claim periods in program. + title: claim period id + total_shares: + type: string + format: uint64 + title: total shares accumulated for claim period + claim_period_reward: + title: total rewards for claim period type: object properties: denom: type: string amount: type: string - claim_status: - description: The status of the claim. - type: string - enum: - - CLAIM_STATUS_UNSPECIFIED - - CLAIM_STATUS_UNCLAIMABLE - - CLAIM_STATUS_CLAIMABLE - - CLAIM_STATUS_CLAIMED - - CLAIM_STATUS_EXPIRED - default: CLAIM_STATUS_UNSPECIFIED - title: ClaimStatus is the state a claim is in - claim_id: - type: string - format: uint64 - description: The claim period that the claim belongs to. - description: >- - RewardAccountResponse is an address' reward claim for a reward - program's claim period. - description: List of RewardAccounts queried for. - pagination: - description: pagination defines an optional pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: >- + Coin defines a token with a denomination and an amount. - was set, its value is undefined otherwise + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + ClaimedRewardPeriodDetail is information regarding an addresses' + shares and reward for a claim period. + description: claim period details. description: >- - QueryRewardDistributionsByAddressResponse returns the reward claims for an - address that match the claim_status. - provenance.reward.v1.QueryRewardProgramByIDResponse: + RewardProgramClaimDetail is the response object regarding an address's + shares and reward for a reward program. + provenance.trigger.v1.QueryTriggerByIDResponse: type: object properties: - reward_program: + trigger: type: object properties: id: type: string format: uint64 - description: An integer to uniquely identify the reward program. - title: - type: string - title: Name to help identify the Reward Program.(MaxTitleLength=140) - description: - type: string - title: >- - Short summary describing the Reward - Program.(MaxDescriptionLength=10000) - distribute_from_address: + description: An integer to uniquely identify the trigger. + owner: type: string - description: address that provides funds for the total reward pool. - total_reward_pool: - description: The total amount of funding given to the RewardProgram. - type: object - properties: - denom: - type: string - amount: - type: string - remaining_pool_balance: - description: >- - The remaining funds available to distribute after n claim periods - have passed. - type: object - properties: - denom: - type: string - amount: - type: string - claimed_amount: - description: >- - The total amount of all funds claimed by participants for all past - claim periods. - type: object - properties: - denom: - type: string - amount: - type: string - max_reward_by_address: - description: Maximum reward per claim period per address. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_rollover_amount: - description: Minimum amount of coins for a program to rollover. + description: The owner of the trigger. + event: + description: The event that must be detected for the trigger to fire. type: object properties: - denom: - type: string - amount: + type_url: type: string - claim_period_seconds: - type: string - format: uint64 - description: Number of seconds that a claim period lasts. - program_start_time: - type: string - format: date-time - description: >- - Time that a RewardProgram should start and switch to STARTED - state. - expected_program_end_time: - type: string - format: date-time - description: >- - Time that a RewardProgram is expected to end, based on data when - it was setup. - program_end_time_max: - type: string - format: date-time - description: Time that a RewardProgram MUST end. - claim_period_end_time: - type: string - format: date-time - description: >- - Used internally to calculate and track the current claim period's - ending time. - actual_program_end_time: - type: string - format: date-time - description: >- - Time the RewardProgram switched to FINISHED state. Initially set - as empty. - claim_periods: - type: string - format: uint64 - description: Number of claim periods this program will run for. - current_claim_period: - type: string - format: uint64 - description: Current claim period of the RewardProgram. Uses 1-based indexing. - max_rollover_claim_periods: - type: string - format: uint64 - description: maximum number of claim periods a reward program can rollover. - state: - description: Current state of the RewardProgram. - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - title: State is the state of the reward program - expiration_offset: - type: string - format: uint64 - description: >- - Grace period after a RewardProgram FINISHED. It is the number of - seconds until a RewardProgram enters the EXPIRED + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - state. - qualifying_actions: + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + actions: type: array items: type: object properties: - delegate: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: - type: string - description: >- - Minimum percentile that can be below the validator's - power ranking. - maximum_active_stake_percentile: - type: string - description: >- - Maximum percentile that can be below the validator's - power ranking. + type_url: + type: string description: >- - ActionDelegate represents the delegate action and its - required eligibility criteria. - transfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across - all validators, for the transfer action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string + 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. + value: + type: string + format: byte description: >- - ActionTransfer represents the transfer action and its - required eligibility criteria. - vote: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across - all validators, for the vote action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: - type: string - format: uint64 - title: >- - Positive multiplier that is applied to the shares - awarded by the vote action when conditions + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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 - are met(for now the only condition is the current vote - is a validator vote). A value of zero will behave the - same + methods only use the fully qualified type name after the last + '/' - as one - description: >- - ActionVote represents the voting action and its required - eligibility criteria. - description: QualifyingAction can be one of many action types. - description: Actions that count towards the reward. - title: RewardProgram - description: The reward program object that was queried for. - title: QueryRewardProgramByIDResponse contains the requested RewardProgram - provenance.reward.v1.QueryRewardProgramsRequest.QueryType: - type: string - enum: - - QUERY_TYPE_UNSPECIFIED - - QUERY_TYPE_ALL - - QUERY_TYPE_PENDING - - QUERY_TYPE_ACTIVE - - QUERY_TYPE_OUTSTANDING - - QUERY_TYPE_FINISHED - default: QUERY_TYPE_UNSPECIFIED - description: |- - - QUERY_TYPE_UNSPECIFIED: unspecified type - - QUERY_TYPE_ALL: all reward programs states - - QUERY_TYPE_PENDING: pending reward program state= - - QUERY_TYPE_ACTIVE: active reward program state - - QUERY_TYPE_OUTSTANDING: pending and active reward program states - - QUERY_TYPE_FINISHED: finished reward program state - title: QueryType is the state of reward program to query - provenance.reward.v1.QueryRewardProgramsResponse: + 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: The messages to run when the trigger fires. + title: Trigger + description: The trigger object that was queried for. + description: QueryTriggerByIDResponse contains the requested Trigger. + provenance.trigger.v1.QueryTriggersResponse: type: object properties: - reward_programs: + triggers: type: array items: type: object @@ -95248,240 +110136,253 @@ definitions: id: type: string format: uint64 - description: An integer to uniquely identify the reward program. - title: - type: string - title: Name to help identify the Reward Program.(MaxTitleLength=140) - description: - type: string - title: >- - Short summary describing the Reward - Program.(MaxDescriptionLength=10000) - distribute_from_address: + description: An integer to uniquely identify the trigger. + owner: type: string - description: address that provides funds for the total reward pool. - total_reward_pool: - description: The total amount of funding given to the RewardProgram. - type: object - properties: - denom: - type: string - amount: - type: string - remaining_pool_balance: - description: >- - The remaining funds available to distribute after n claim - periods have passed. - type: object - properties: - denom: - type: string - amount: - type: string - claimed_amount: - description: >- - The total amount of all funds claimed by participants for all - past claim periods. - type: object - properties: - denom: - type: string - amount: - type: string - max_reward_by_address: - description: Maximum reward per claim period per address. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_rollover_amount: - description: Minimum amount of coins for a program to rollover. + description: The owner of the trigger. + event: + description: The event that must be detected for the trigger to fire. type: object properties: - denom: - type: string - amount: + type_url: type: string - claim_period_seconds: - type: string - format: uint64 - description: Number of seconds that a claim period lasts. - program_start_time: - type: string - format: date-time - description: >- - Time that a RewardProgram should start and switch to STARTED - state. - expected_program_end_time: - type: string - format: date-time - description: >- - Time that a RewardProgram is expected to end, based on data when - it was setup. - program_end_time_max: - type: string - format: date-time - description: Time that a RewardProgram MUST end. - claim_period_end_time: - type: string - format: date-time - description: >- - Used internally to calculate and track the current claim - period's ending time. - actual_program_end_time: - type: string - format: date-time - description: >- - Time the RewardProgram switched to FINISHED state. Initially set - as empty. - claim_periods: - type: string - format: uint64 - description: Number of claim periods this program will run for. - current_claim_period: - type: string - format: uint64 - description: >- - Current claim period of the RewardProgram. Uses 1-based - indexing. - max_rollover_claim_periods: - type: string - format: uint64 - description: maximum number of claim periods a reward program can rollover. - state: - description: Current state of the RewardProgram. - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - title: State is the state of the reward program - expiration_offset: - type: string - format: uint64 - description: >- - Grace period after a RewardProgram FINISHED. It is the number of - seconds until a RewardProgram enters the EXPIRED + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - state. - qualifying_actions: + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + actions: type: array items: type: object properties: - delegate: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have currently - delegated on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: - type: string - description: >- - Minimum percentile that can be below the validator's - power ranking. - maximum_active_stake_percentile: - type: string - description: >- - Maximum percentile that can be below the validator's - power ranking. - description: >- - ActionDelegate represents the delegate action and its - required eligibility criteria. - transfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across - all validators, for the transfer action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string + type_url: + type: string description: >- - ActionTransfer represents the transfer action and its - required eligibility criteria. - vote: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across - all validators, for the vote action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: - type: string - format: uint64 - title: >- - Positive multiplier that is applied to the shares - awarded by the vote action when conditions + A URL/resource name that uniquely identifies the type of + the serialized - are met(for now the only condition is the current vote - is a validator vote). A value of zero will behave the - same + protocol buffer message. This string must contain at least - as one + 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. + value: + type: string + format: byte description: >- - ActionVote represents the voting action and its required - eligibility criteria. - description: QualifyingAction can be one of many action types. - description: Actions that count towards the reward. - title: RewardProgram - description: List of RewardProgram objects matching the query_type. + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: The messages to run when the trigger fires. + title: Trigger + description: List of Trigger objects. pagination: description: pagination defines an optional pagination for the response. type: object @@ -95501,305 +110402,253 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - title: >- - QueryRewardProgramsResponse contains the list of RewardPrograms matching - the query - provenance.reward.v1.RewardAccountResponse: - type: object - properties: - reward_program_id: - type: string - format: uint64 - description: The id of the reward program that this claim belongs to. - total_reward_claim: - description: total rewards claimed for all eligible claim periods in program. - type: object - properties: - denom: - type: string - amount: - type: string - claim_status: - description: The status of the claim. - type: string - enum: - - CLAIM_STATUS_UNSPECIFIED - - CLAIM_STATUS_UNCLAIMABLE - - CLAIM_STATUS_CLAIMABLE - - CLAIM_STATUS_CLAIMED - - CLAIM_STATUS_EXPIRED - default: CLAIM_STATUS_UNSPECIFIED - title: ClaimStatus is the state a claim is in - claim_id: - type: string - format: uint64 - description: The claim period that the claim belongs to. - description: >- - RewardAccountResponse is an address' reward claim for a reward program's - claim period. - provenance.reward.v1.RewardAccountState.ClaimStatus: - type: string - enum: - - CLAIM_STATUS_UNSPECIFIED - - CLAIM_STATUS_UNCLAIMABLE - - CLAIM_STATUS_CLAIMABLE - - CLAIM_STATUS_CLAIMED - - CLAIM_STATUS_EXPIRED - default: CLAIM_STATUS_UNSPECIFIED - description: |- - - CLAIM_STATUS_UNSPECIFIED: undefined state - - CLAIM_STATUS_UNCLAIMABLE: unclaimable status - - CLAIM_STATUS_CLAIMABLE: unclaimable claimable - - CLAIM_STATUS_CLAIMED: unclaimable claimed - - CLAIM_STATUS_EXPIRED: unclaimable expired - title: ClaimStatus is the state a claim is in - provenance.reward.v1.RewardProgram: + description: QueryTriggersResponse contains the list of Triggers. + provenance.trigger.v1.Trigger: type: object properties: id: type: string format: uint64 - description: An integer to uniquely identify the reward program. - title: - type: string - title: Name to help identify the Reward Program.(MaxTitleLength=140) - description: - type: string - title: >- - Short summary describing the Reward - Program.(MaxDescriptionLength=10000) - distribute_from_address: + description: An integer to uniquely identify the trigger. + owner: type: string - description: address that provides funds for the total reward pool. - total_reward_pool: - description: The total amount of funding given to the RewardProgram. - type: object - properties: - denom: - type: string - amount: - type: string - remaining_pool_balance: - description: >- - The remaining funds available to distribute after n claim periods have - passed. - type: object - properties: - denom: - type: string - amount: - type: string - claimed_amount: - description: >- - The total amount of all funds claimed by participants for all past - claim periods. - type: object - properties: - denom: - type: string - amount: - type: string - max_reward_by_address: - description: Maximum reward per claim period per address. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_rollover_amount: - description: Minimum amount of coins for a program to rollover. + description: The owner of the trigger. + event: + description: The event that must be detected for the trigger to fire. type: object properties: - denom: - type: string - amount: + type_url: type: string - claim_period_seconds: - type: string - format: uint64 - description: Number of seconds that a claim period lasts. - program_start_time: - type: string - format: date-time - description: Time that a RewardProgram should start and switch to STARTED state. - expected_program_end_time: - type: string - format: date-time - description: >- - Time that a RewardProgram is expected to end, based on data when it - was setup. - program_end_time_max: - type: string - format: date-time - description: Time that a RewardProgram MUST end. - claim_period_end_time: - type: string - format: date-time - description: >- - Used internally to calculate and track the current claim period's - ending time. - actual_program_end_time: - type: string - format: date-time - description: >- - Time the RewardProgram switched to FINISHED state. Initially set as - empty. - claim_periods: - type: string - format: uint64 - description: Number of claim periods this program will run for. - current_claim_period: - type: string - format: uint64 - description: Current claim period of the RewardProgram. Uses 1-based indexing. - max_rollover_claim_periods: - type: string - format: uint64 - description: maximum number of claim periods a reward program can rollover. - state: - description: Current state of the RewardProgram. - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - title: State is the state of the reward program - expiration_offset: - type: string - format: uint64 - description: >- - Grace period after a RewardProgram FINISHED. It is the number of - seconds until a RewardProgram enters the EXPIRED + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - state. - qualifying_actions: + 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. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + actions: type: array items: type: object properties: - delegate: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful delegates. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful delegates. - minimum_delegation_amount: - description: >- - Minimum amount that the user must have currently delegated - on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - maximum_delegation_amount: - description: >- - Maximum amount that the user must have currently delegated - on the validator. - type: object - properties: - denom: - type: string - amount: - type: string - minimum_active_stake_percentile: - type: string - description: >- - Minimum percentile that can be below the validator's power - ranking. - maximum_active_stake_percentile: - type: string - description: >- - Maximum percentile that can be below the validator's power - ranking. - description: >- - ActionDelegate represents the delegate action and its required - eligibility criteria. - transfer: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful transfers. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful transfers. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across all - validators, for the transfer action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string + type_url: + type: string description: >- - ActionTransfer represents the transfer action and its required - eligibility criteria. - vote: - type: object - properties: - minimum_actions: - type: string - format: uint64 - description: Minimum number of successful votes. - maximum_actions: - type: string - format: uint64 - description: Maximum number of successful votes. - minimum_delegation_amount: - description: >- - Minimum delegation amount the account must have across all - validators, for the vote action to be counted. - type: object - properties: - denom: - type: string - amount: - type: string - validator_multiplier: - type: string - format: uint64 - title: >- - Positive multiplier that is applied to the shares awarded by - the vote action when conditions + A URL/resource name that uniquely identifies the type of the + serialized - are met(for now the only condition is the current vote is a - validator vote). A value of zero will behave the same + protocol buffer message. This string must contain at least - as one + 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. + value: + type: string + format: byte description: >- - ActionVote represents the voting action and its required - eligibility criteria. - description: QualifyingAction can be one of many action types. - description: Actions that count towards the reward. - title: RewardProgram - provenance.reward.v1.RewardProgram.State: - type: string - enum: - - STATE_UNSPECIFIED - - STATE_PENDING - - STATE_STARTED - - STATE_FINISHED - - STATE_EXPIRED - default: STATE_UNSPECIFIED - description: |- - - STATE_UNSPECIFIED: undefined program state - - STATE_PENDING: pending state of reward program - - STATE_STARTED: started state of reward program - - STATE_FINISHED: finished state of reward program - - STATE_EXPIRED: expired state of reward program - title: State is the state of the reward program + Must be a valid serialized protocol buffer of the above + specified type. + 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 := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, 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: The messages to run when the trigger fires. + title: Trigger + provenance.trigger.v1.MsgCreateTriggerResponse: + type: object + properties: + id: + type: string + format: uint64 + description: trigger id that is generated on creation. + title: MsgCreateTriggerResponse is the response type for creating a trigger RPC + provenance.trigger.v1.MsgDestroyTriggerResponse: + type: object + title: MsgDestroyTriggerResponse is the response type for creating a trigger RPC