From 388dd93ed99238143306fc47ba246bdd0902d216 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Thu, 28 Nov 2024 20:10:38 +0200 Subject: [PATCH 1/4] fix(docs): move docs away from root folder to prevent errors, update scripts --- Dockerfile | 10 +- app/app.go | 2 +- {docs => lib/docs}/config.json | 35 +- {docs => lib/docs}/core/proto-docs.html | 0 {docs => lib/docs}/core/proto-docs.json | 0 {docs => lib/docs}/core/proto-docs.md | 0 {docs => lib/docs}/embed.go | 0 .../docs}/swagger-ui/favicon-16x16.png | Bin .../docs}/swagger-ui/favicon-32x32.png | Bin {docs => lib/docs}/swagger-ui/index.html | 0 .../docs}/swagger-ui/oauth2-redirect.html | 0 .../docs}/swagger-ui/swagger-ui-bundle.js | 0 .../swagger-ui/swagger-ui-es-bundle-core.js | 0 .../docs}/swagger-ui/swagger-ui-es-bundle.js | 0 .../swagger-ui-standalone-preset.js | 0 {docs => lib/docs}/swagger-ui/swagger-ui.css | 0 {docs => lib/docs}/swagger-ui/swagger-ui.js | 0 {docs => lib/docs}/swagger-ui/swagger.yaml | 6115 +++++++++++------ scripts/protoc-docs-gen.sh | 6 +- scripts/protoc-swagger-gen.sh | 2 +- 20 files changed, 4201 insertions(+), 1969 deletions(-) rename {docs => lib/docs}/config.json (91%) rename {docs => lib/docs}/core/proto-docs.html (100%) rename {docs => lib/docs}/core/proto-docs.json (100%) rename {docs => lib/docs}/core/proto-docs.md (100%) rename {docs => lib/docs}/embed.go (100%) rename {docs => lib/docs}/swagger-ui/favicon-16x16.png (100%) rename {docs => lib/docs}/swagger-ui/favicon-32x32.png (100%) rename {docs => lib/docs}/swagger-ui/index.html (100%) rename {docs => lib/docs}/swagger-ui/oauth2-redirect.html (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui-bundle.js (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui-es-bundle-core.js (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui-es-bundle.js (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui-standalone-preset.js (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui.css (100%) rename {docs => lib/docs}/swagger-ui/swagger-ui.js (100%) rename {docs => lib/docs}/swagger-ui/swagger.yaml (97%) diff --git a/Dockerfile b/Dockerfile index a6cd3ff7..919cbe28 100755 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ FROM golang:${GO_VERSION}-alpine3.20 AS builder # TODO: maybe extract below args to where called in cicd? # git log -1 --format='%H' ARG GIT_VERSION="v4.0.0" -ARG GIT_COMMIT="cbfe5c259cad5b192e6b6353879e80b1e8f2abd8" +ARG GIT_COMMIT="0c69a80ac7daaf633381744ca5d4f02302aa16df" ENV PACKAGES="ca-certificates build-base binutils-gold curl make git libc-dev bash file gcc linux-headers eudev-dev" RUN apk add --no-cache $PACKAGES @@ -22,7 +22,9 @@ RUN apk add --no-cache $PACKAGES # Download go dependencies WORKDIR /ixo COPY go.mod go.sum ./ -RUN go mod download +RUN --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/root/go/pkg/mod \ + go mod download # RUN ARCH=$(uname -m) # Cosmwasm - Download correct libwasmvm version @@ -35,7 +37,9 @@ RUN ARCH=x86_64 && WASMVM_VERSION=$(go list -m github.com/CosmWasm/wasmvm | sed COPY . . # Build ixod binary -RUN GOWORK=off go build \ +RUN --mount=type=cache,target=/root/.cache/go-build \ + --mount=type=cache,target=/root/go/pkg/mod \ + GOWORK=off go build \ -mod=readonly \ -tags "netgo,ledger,muslc" \ -ldflags \ diff --git a/app/app.go b/app/app.go index bec6dc58..a3ee3987 100755 --- a/app/app.go +++ b/app/app.go @@ -50,7 +50,7 @@ import ( v2 "github.com/ixofoundation/ixo-blockchain/v4/app/upgrades/v2" v3 "github.com/ixofoundation/ixo-blockchain/v4/app/upgrades/v3" v4 "github.com/ixofoundation/ixo-blockchain/v4/app/upgrades/v4" - "github.com/ixofoundation/ixo-blockchain/v4/docs" + "github.com/ixofoundation/ixo-blockchain/v4/lib/docs" "github.com/ixofoundation/ixo-blockchain/v4/lib/ixo" "github.com/spf13/cast" ) diff --git a/docs/config.json b/lib/docs/config.json similarity index 91% rename from docs/config.json rename to lib/docs/config.json index 7ccf375f..4c42cc63 100644 --- a/docs/config.json +++ b/lib/docs/config.json @@ -109,14 +109,6 @@ } } }, - { - "url": "./tmp-swagger-gen/cosmos/mint/v1beta1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "MintParams" - } - } - }, { "url": "./tmp-swagger-gen/cosmos/params/v1beta1/query.swagger.json", "operationIds": { @@ -241,6 +233,33 @@ { "url": "./tmp-swagger-gen/ixo/iid/v1beta1/query.swagger.json" }, + { + "url": "./tmp-swagger-gen/ixo/epochs/v1beta1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/ixo/liquidstake/v1beta1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "IXOLiquidStakeParams" + } + } + }, + { + "url": "./tmp-swagger-gen/ixo/mint/v1beta1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "IXOMintParams" + } + } + }, + { + "url": "./tmp-swagger-gen/ixo/smartaccount/v1beta1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "IXOSmartAccountParams" + } + } + }, { "url": "./tmp-swagger-gen/ixo/token/v1beta1/query.swagger.json", "operationIds": { diff --git a/docs/core/proto-docs.html b/lib/docs/core/proto-docs.html similarity index 100% rename from docs/core/proto-docs.html rename to lib/docs/core/proto-docs.html diff --git a/docs/core/proto-docs.json b/lib/docs/core/proto-docs.json similarity index 100% rename from docs/core/proto-docs.json rename to lib/docs/core/proto-docs.json diff --git a/docs/core/proto-docs.md b/lib/docs/core/proto-docs.md similarity index 100% rename from docs/core/proto-docs.md rename to lib/docs/core/proto-docs.md diff --git a/docs/embed.go b/lib/docs/embed.go similarity index 100% rename from docs/embed.go rename to lib/docs/embed.go diff --git a/docs/swagger-ui/favicon-16x16.png b/lib/docs/swagger-ui/favicon-16x16.png similarity index 100% rename from docs/swagger-ui/favicon-16x16.png rename to lib/docs/swagger-ui/favicon-16x16.png diff --git a/docs/swagger-ui/favicon-32x32.png b/lib/docs/swagger-ui/favicon-32x32.png similarity index 100% rename from docs/swagger-ui/favicon-32x32.png rename to lib/docs/swagger-ui/favicon-32x32.png diff --git a/docs/swagger-ui/index.html b/lib/docs/swagger-ui/index.html similarity index 100% rename from docs/swagger-ui/index.html rename to lib/docs/swagger-ui/index.html diff --git a/docs/swagger-ui/oauth2-redirect.html b/lib/docs/swagger-ui/oauth2-redirect.html similarity index 100% rename from docs/swagger-ui/oauth2-redirect.html rename to lib/docs/swagger-ui/oauth2-redirect.html diff --git a/docs/swagger-ui/swagger-ui-bundle.js b/lib/docs/swagger-ui/swagger-ui-bundle.js similarity index 100% rename from docs/swagger-ui/swagger-ui-bundle.js rename to lib/docs/swagger-ui/swagger-ui-bundle.js diff --git a/docs/swagger-ui/swagger-ui-es-bundle-core.js b/lib/docs/swagger-ui/swagger-ui-es-bundle-core.js similarity index 100% rename from docs/swagger-ui/swagger-ui-es-bundle-core.js rename to lib/docs/swagger-ui/swagger-ui-es-bundle-core.js diff --git a/docs/swagger-ui/swagger-ui-es-bundle.js b/lib/docs/swagger-ui/swagger-ui-es-bundle.js similarity index 100% rename from docs/swagger-ui/swagger-ui-es-bundle.js rename to lib/docs/swagger-ui/swagger-ui-es-bundle.js diff --git a/docs/swagger-ui/swagger-ui-standalone-preset.js b/lib/docs/swagger-ui/swagger-ui-standalone-preset.js similarity index 100% rename from docs/swagger-ui/swagger-ui-standalone-preset.js rename to lib/docs/swagger-ui/swagger-ui-standalone-preset.js diff --git a/docs/swagger-ui/swagger-ui.css b/lib/docs/swagger-ui/swagger-ui.css similarity index 100% rename from docs/swagger-ui/swagger-ui.css rename to lib/docs/swagger-ui/swagger-ui.css diff --git a/docs/swagger-ui/swagger-ui.js b/lib/docs/swagger-ui/swagger-ui.js similarity index 100% rename from docs/swagger-ui/swagger-ui.js rename to lib/docs/swagger-ui/swagger-ui.js diff --git a/docs/swagger-ui/swagger.yaml b/lib/docs/swagger-ui/swagger.yaml similarity index 97% rename from docs/swagger-ui/swagger.yaml rename to lib/docs/swagger-ui/swagger.yaml index 51f871e5..8c85d384 100644 --- a/docs/swagger-ui/swagger.yaml +++ b/lib/docs/swagger-ui/swagger.yaml @@ -20180,152 +20180,6 @@ paths: type: string tags: - Query - /cosmos/mint/v1beta1/annual_provisions: - get: - summary: AnnualProvisions current minting annual provisions value. - operationId: AnnualProvisions - responses: - '200': - description: A successful response. - schema: - 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. - 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 - /cosmos/mint/v1beta1/inflation: - get: - summary: Inflation returns the current minting inflation value. - operationId: Inflation - responses: - '200': - description: A successful response. - schema: - 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. - 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 - /cosmos/mint/v1beta1/params: - get: - summary: Params returns the total set of minting parameters. - operationId: MintParams - responses: - '200': - description: A successful response. - schema: - 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. - 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 /cosmos/params/v1beta1/params: get: summary: |- @@ -54491,51 +54345,341 @@ paths: type: string tags: - Query - /ixo/token/metadata/{id}: + /ixo/epochs/v1beta1/epochs: get: - operationId: TokenMetadata + summary: EpochInfos provide running epochInfos + operationId: EpochInfos responses: '200': description: A successful response. schema: type: object properties: - name: + epochs: + type: array + items: + type: object + properties: + identifier: + type: string + description: >- + identifier is a unique reference to this particular + timer. + start_time: + type: string + format: date-time + description: >- + start_time is the time at which the timer first ever + ticks. + + If start_time is in the future, the epoch will not begin + until the start + + time. + duration: + type: string + description: >- + duration is the time in between epoch ticks. + + In order for intended behavior to be met, duration + should + + be greater than the chains expected block time. + + Duration must be non-zero. + current_epoch: + type: string + format: int64 + description: >- + current_epoch is the current epoch number, or in other + words, + + how many times has the timer 'ticked'. + + The first tick (current_epoch=1) is defined as + + the first block whose blocktime is greater than the + EpochInfo start_time. + current_epoch_start_time: + type: string + format: date-time + description: >- + current_epoch_start_time describes the start time of the + current timer + + interval. The interval is (current_epoch_start_time, + + current_epoch_start_time + duration] When the timer + ticks, this is set to + + current_epoch_start_time = last_epoch_start_time + + duration only one timer + + tick for a given identifier can occur per block. + + + NOTE! The current_epoch_start_time may diverge + significantly from the + + wall-clock time the epoch began at. Wall-clock time of + epoch start may be + + >> current_epoch_start_time. Suppose + current_epoch_start_time = 10, + + duration = 5. Suppose the chain goes offline at t=14, + and comes back online + + at t=30, and produces blocks at every successive time. + (t=31, 32, etc.) + + * The t=30 block will start the epoch for (10, 15] + + * The t=31 block will start the epoch for (15, 20] + + * The t=32 block will start the epoch for (20, 25] + + * The t=33 block will start the epoch for (25, 30] + + * The t=34 block will start the epoch for (30, 35] + + * The **t=36** block will start the epoch for (35, 40] + epoch_counting_started: + type: boolean + description: >- + epoch_counting_started is a boolean, that indicates + whether this + + epoch timer has began yet. + current_epoch_start_height: + type: string + format: int64 + title: >- + current_epoch_start_height is the block height at which + the current epoch + + started. (The block height at which the timer last + ticked) + description: |- + EpochInfo is a struct that describes the data going into + a timer defined by the x/epochs module. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: type: string - description: + code: + type: integer + format: int32 + message: type: string - decimals: + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + /ixo/epochs/v1beta1/epochs/{identifier}: + get: + summary: CurrentEpoch provide current epoch of specified identifier + operationId: CurrentEpoch + responses: + '200': + description: A successful response. + schema: + type: object + properties: + current_epoch: type: string - image: + format: int64 + default: + description: An unexpected error response. + schema: + type: object + properties: + error: type: string - index: + code: + type: integer + format: int32 + message: type: string - properties: + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: identifier + in: path + required: true + type: string + tags: + - Query + /ixo/liquidstake/v1beta1/params: + get: + summary: Params returns parameters of the liquidstake module. + operationId: IXOLiquidStakeParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: type: object properties: - class: + liquid_bond_denom: type: string - collection: - type: string - cap: - type: string - linkedResources: + description: >- + LiquidBondDenom specifies the denomination of the token + receiving after + + liquid stake, The value is calculated through NetAmount. + whitelisted_validators: type: array items: type: object properties: - uri: + validator_address: type: string - title: media type value should always be "application/json" - encrypted: - type: boolean - proof: + title: >- + validator_address defines the bech32-encoded address + of the whitelisted + + validator + target_weight: type: string - type: + title: >- + target_weight specifies the target weight for liquid + staking, unstaking + + amount, which is a value for calculating the real + weight to be derived + + according to the active status + description: >- + WhitelistedValidator consists of the validator operator + address and the + + target weight, which is a value for calculating the real + weight to be derived + + according to the active status. + description: >- + WhitelistedValidators specifies the validators elected to + become Active + + Liquid Validators. + unstake_fee_rate: + type: string + title: >- + UnstakeFeeRate specifies the fee rate when liquid unstake + is requested, + + unbonded by subtracting it from unbondingAmount + min_liquid_stake_amount: + type: string + description: >- + MinLiquidStakingAmount specifies the minimum number of + coins to be staked + + to the active liquid validators on liquid staking to + minimize decimal loss + + and consider gas efficiency. + fee_account_address: + type: string + description: |- + FeeAccountAddress defines the bech32-encoded address of + an account responsible for accumulating protocol fees. + autocompound_fee_rate: + type: string + description: >- + AutocompoundFeeRate specifies the fee rate for auto + redelegating the stake + + rewards. The fee is taken in favour of the fee account + (see + + FeeAccountAddress). + whitelist_admin_address: + type: string + description: >- + WhitelistAdminAddress the bech32-encoded address of an + admin authority + + that is allowed to update whitelisted validators or pause + liquidstaking + + module entirely. It is also the only address that can + update the + + weighted_rewards_receivers. + + The key is controlled by the ZERO dao. + + Pausing of the module can be required during important + migrations or + + failures. + module_paused: + type: boolean + description: >- + ModulePaused is a safety toggle that allows to stop main + module functions + + such as stake/unstake/stake-to-lp and the BeginBlocker + logic. + weighted_rewards_receivers: + type: array + items: + type: object + properties: + address: type: string - id: + weight: type: string - title: did of entity to map token to + description: >- + WeightedAddress represents an address with a weight + assigned to it. + + The weight is used to determine the proportion of + autocompounding + + rewards to be paid to the address. + description: >- + weighted_rewards_receivers is the addresses to receive the + staking + + rewards on autocompounding with weights assigned to each + address. + + The total of weights in the list in not allowed to be + greater than 1. + + + Eg. if the list has 1 address with weight 0.2, then on + autocompounding + + the staking rewards will be split between 0.2 for the + weighted receiver + + and 0.8 gets auto-compounded to the proxy account. + description: Params defines the set of params for the liquidstake module. default: description: An unexpected error response. schema: @@ -54558,154 +54702,80 @@ paths: value: type: string format: byte - parameters: - - name: id - in: path - required: true - type: string tags: - Query - /ixo/token/minter/{minter}: + /ixo/liquidstake/v1beta1/states: get: - operationId: TokenList + summary: States returns states of the liquidstake module. + operationId: States responses: '200': description: A successful response. schema: type: object properties: - pagination: + net_amount_state: type: object properties: - next_key: + stake_rate: 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: + title: >- + stake_rate is the rate at which the liquid staking module + mints stkIXO + unstake_rate: 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. + unstake_rate is the rate at which the liquid staking + module burns stkIXO + stkixo_total_supply: + type: string + title: >- + btoken_total_supply returns the total supply of uzero + (stkIXO denom) + net_amount: + type: string + title: >- + net_amount is proxy account's total liquid tokens + total + unbonding balance + total_del_shares: + type: string + title: >- + total_del_shares define the delegation shares of all + liquid validators + total_liquid_tokens: + type: string + title: >- + total_liquid_tokens define the token amount worth of + delegation shares of - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - tokenDocs: - type: array - items: - type: object - properties: - minter: - type: string - title: address of minter - contract_address: - type: string - title: generated on token initiation - class: - type: string - title: class is the token protocol entity DID (validated) - name: - type: string - title: name is the token name, which must be unique (namespace) - description: - type: string - title: description is any arbitrary description - image: - type: string - title: image is the image url for the token - type: - type: string - title: type is the token type (eg ixo1155) - cap: - type: string - title: >- - cap is the maximum number of tokens with this name that - can be minted, 0 is + all liquid validator (slashing applied amount) + total_remaining_rewards: + type: string + title: >- + total_remaining_rewards define the sum of remaining + rewards of proxy - unlimited - supply: - type: string - title: >- - how much has already been minted for this Token type, - aka the supply - paused: - type: boolean - title: stop allowance of token minter temporarily - stopped: - type: boolean - title: stop allowance of token minter permanently - retired: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - jurisdiction: - type: string - amount: - type: string - owner: - type: string - title: >- - tokens that has been retired for this Token with - specific name and contract + account by all liquid validators + total_unbonding_balance: + type: string + title: >- + total_unbonding_balance define the unbonding balance of + proxy account by - address - cancelled: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - amount: - type: string - owner: - type: string - title: >- - tokens that has been cancelled for this Token with - specific name and + all liquid validator (slashing applied amount) + proxy_acc_balance: + type: string + title: >- + proxy_acc_balance define the balance of proxy account for + the native token + description: >- + NetAmountState is type for net amount raw data and mint rate, + This is a value - contract address - transferred: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - jurisdiction: - type: string - amount: - type: string - owner: - type: string - authorization_id: - type: string - title: >- - credits that has been transferred for this Token with - specific name and + that depends on the several module state every time, so it is + used only for - contract address + calculation and query and is not stored in kv. default: description: An unexpected error response. schema: @@ -54728,181 +54798,69 @@ paths: value: type: string format: byte - parameters: - - name: minter - description: minter address to get list 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 - - 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 tags: - Query - /ixo/token/minter/{minter}/{contract_address}: + /ixo/liquidstake/v1beta1/validators: get: - operationId: TokenDoc + summary: >- + LiquidValidators returns liquid validators with states of the + liquidstake + + module. + operationId: LiquidValidators responses: '200': description: A successful response. schema: type: object properties: - tokenDoc: - type: object - properties: - minter: - type: string - title: address of minter - contract_address: - type: string - title: generated on token initiation - class: - type: string - title: class is the token protocol entity DID (validated) - name: - type: string - title: name is the token name, which must be unique (namespace) - description: - type: string - title: description is any arbitrary description - image: - type: string - title: image is the image url for the token - type: - type: string - title: type is the token type (eg ixo1155) - cap: - type: string - title: >- - cap is the maximum number of tokens with this name that - can be minted, 0 is + liquid_validators: + type: array + items: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the validator's + operator; bech - unlimited - supply: - type: string - title: >- - how much has already been minted for this Token type, aka - the supply - paused: - type: boolean - title: stop allowance of token minter temporarily - stopped: - type: boolean - title: stop allowance of token minter permanently - retired: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - jurisdiction: - type: string - amount: - type: string - owner: - type: string - title: >- - tokens that has been retired for this Token with specific - name and contract + encoded in JSON. + weight: + type: string + title: >- + weight specifies the weight for liquid staking, + unstaking amount + status: + title: status is the liquid validator status + type: string + enum: + - VALIDATOR_STATUS_UNSPECIFIED + - VALIDATOR_STATUS_ACTIVE + - VALIDATOR_STATUS_INACTIVE + default: VALIDATOR_STATUS_UNSPECIFIED + description: >- + ValidatorStatus enumerates the status of a liquid + validator. - address - cancelled: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - amount: - type: string - owner: - type: string - title: >- - tokens that has been cancelled for this Token with - specific name and + - VALIDATOR_STATUS_UNSPECIFIED: VALIDATOR_STATUS_UNSPECIFIED defines the unspecified invalid status. + - VALIDATOR_STATUS_ACTIVE: VALIDATOR_STATUS_ACTIVE defines the active, valid status + - VALIDATOR_STATUS_INACTIVE: VALIDATOR_STATUS_INACTIVE defines the inactive, invalid status + del_shares: + type: string + title: del_shares define the delegation shares of the validator + liquid_tokens: + type: string + title: >- + liquid_tokens define the token amount worth of + delegation shares of the - contract address - transferred: - type: array - items: - type: object - properties: - id: - type: string - reason: - type: string - jurisdiction: - type: string - amount: - type: string - owner: - type: string - authorization_id: - type: string - title: >- - credits that has been transferred for this Token with - specific name and + validator (slashing applied amount) + description: >- + LiquidValidatorState is type LiquidValidator with state + added to return to - contract address + query results. default: description: An unexpected error response. schema: @@ -54925,34 +54883,26 @@ paths: value: type: string format: byte - parameters: - - name: minter - description: minter address to get Token Doc for - in: path - required: true - type: string - - name: contract_address - in: path - required: true - type: string tags: - Query - /ixo/token/params: + /ixo/mint/v1beta1/epoch_provisions: get: - operationId: IXOTokenParams + summary: EpochProvisions returns the current minting epoch provisions value. + operationId: EpochProvisions responses: '200': description: A successful response. schema: type: object properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - ixo1155_contract_code: - type: string - format: uint64 + epoch_provisions: + type: string + description: >- + epoch_provisions is the current minting per epoch provisions + value. + description: |- + QueryEpochProvisionsResponse is the response type for the + Query/EpochProvisions RPC method. default: description: An unexpected error response. schema: @@ -54972,377 +54922,307 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - tags: - - Query -definitions: - cosmos.app.v1alpha1.Config: - type: object - properties: - modules: - type: array - items: - type: object - properties: - name: - type: string - description: >- - name is the unique name of the module within the app. It should - be a name + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - that persists between different versions of a module so that - modules + protocol buffer message. This string must contain at + least - can be smoothly upgraded to new versions. + one "/" character. The last segment of the URL's path + must represent + the fully qualified name of the type (as in - For example, for the module cosmos.bank.module.v1.Module, we may - chose + `path/google.protobuf.Duration`). The name should be in + a canonical form - to simply name the module "bank" in the app. When we upgrade to + (e.g., leading "." is not accepted). - cosmos.bank.module.v2.Module, the app-specific name "bank" stays - the same - and the framework knows that the v2 module should receive all - the same state + In practice, teams usually precompile into the binary + all types that they - that the v1 module had. Note: modules should provide info on - which versions + expect it to use in the context of Any. However, for + URLs which use the - they can migrate from in the ModuleDescriptor.can_migration_from - field. - config: - description: >- - config is the config object for the module. Module config - messages should + scheme `http`, `https`, or no scheme, one can optionally + set up a type - define a ModuleDescriptor using the - cosmos.app.v1alpha1.is_module extension. - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + server that maps type URLs to message definitions as + follows: - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must - represent + * If no scheme is provided, `https` is assumed. - the fully qualified name of the type (as in + * 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.) - `path/google.protobuf.Duration`). The name should be in a - canonical form + Note: this functionality is not currently available in + the official - (e.g., leading "." is not accepted). + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - 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 + Schemes other than `http`, `https` (or the empty scheme) + might be - scheme `http`, `https`, or no scheme, one can optionally set - up a 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 - server that maps type URLs to message definitions as - follows: + URL that describes the type of the serialized message. - * If no scheme is provided, `https` is assumed. + Protobuf library provides support to pack/unpack Any values + in the 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.) + of utility functions or additional generated methods of the + Any type. - Note: this functionality is not currently available in the - official - protobuf release, and it is not used for type URLs beginning - with + Example 1: Pack and unpack a message in C++. - type.googleapis.com. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + Example 2: Pack and unpack a message in Java. - Schemes other than `http`, `https` (or the empty scheme) - might be + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + // or ... + if (any.isSameTypeAs(Foo.getDefaultInstance())) { + foo = any.unpack(Foo.getDefaultInstance()); + } - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - golang_bindings: - type: array - items: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be bound - to a specific implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be - supplied when an input of type interface is requested - description: >- - GolangBinding is an explicit interface type to implementing - type binding for dependency injection. - description: >- - golang_bindings specifies explicit interface to implementation - type bindings which - - depinject uses to resolve interface inputs to provider - functions. The scope of this - - field's configuration is module specific. - description: ModuleConfig is a module configuration for an app. - description: modules are the module configurations for the app. - golang_bindings: - type: array - items: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be bound to a - specific implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be supplied - when an input of type interface is requested - description: >- - GolangBinding is an explicit interface type to implementing type - binding for dependency injection. - description: >- - golang_bindings specifies explicit interface to implementation type - bindings which - - depinject uses to resolve interface inputs to provider functions. The - scope of this - - field's configuration is global (not module specific). - description: >- - Config represents the configuration for a Cosmos SDK ABCI app. - - It is intended that all state machine logic including the version of - - baseapp and tx handlers (and possibly even Tendermint) that an app needs + Example 3: Pack and unpack a message in Python. - can be described in a config object. For compatibility, the framework - should + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - allow a mixture of declarative and imperative app wiring, however, apps + Example 4: Pack and unpack a message in Go - that strive for the maximum ease of maintainability should be able to - describe + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - their state machine with a config object alone. - cosmos.app.v1alpha1.GolangBinding: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be bound to a specific - implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be supplied when an - input of type interface is requested - description: >- - GolangBinding is an explicit interface type to implementing type binding - for dependency injection. - cosmos.app.v1alpha1.ModuleConfig: - type: object - properties: - name: - type: string - description: >- - name is the unique name of the module within the app. It should be a - name + The pack methods provided by protobuf library will by + default use - that persists between different versions of a module so that modules + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - can be smoothly upgraded to new versions. + 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 - For example, for the module cosmos.bank.module.v1.Module, we may chose + name "y.z". - to simply name the module "bank" in the app. When we upgrade to - cosmos.bank.module.v2.Module, the app-specific name "bank" stays the - same + JSON - and the framework knows that the v2 module should receive all the same - state - that the v1 module had. Note: modules should provide info on which - versions + The JSON representation of an `Any` value uses the regular - they can migrate from in the ModuleDescriptor.can_migration_from - field. - config: - description: >- - config is the config object for the module. Module config messages - should + representation of the deserialized, embedded message, with + an - define a ModuleDescriptor using the cosmos.app.v1alpha1.is_module - extension. - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + additional field `@type` which contains the type URL. + Example: - protocol buffer message. This string must contain at least + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - one "/" character. The last segment of the URL's path must - represent + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - the fully qualified name of the type (as in + If the embedded message type is well-known and has a custom + JSON - `path/google.protobuf.Duration`). The name should be in a - canonical form + representation, that representation will be embedded adding + a field - (e.g., leading "." is not accepted). + `value` which holds the custom JSON in addition to the + `@type` + field. Example (for message [google.protobuf.Duration][]): - In practice, teams usually precompile into the binary all types - that they + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Query + /ixo/mint/v1beta1/params: + get: + summary: Params returns the total set of minting parameters. + operationId: IXOMintParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + mint_denom: + type: string + description: mint_denom is the denom of the coin to mint. + genesis_epoch_provisions: + type: string + description: >- + genesis_epoch_provisions epoch provisions from the first + epoch. + epoch_identifier: + type: string + description: epoch_identifier mint epoch identifier e.g. (day, week). + reduction_period_in_epochs: + type: string + format: int64 + description: |- + reduction_period_in_epochs the number of epochs it takes + to reduce the rewards. + reduction_factor: + type: string + description: >- + reduction_factor is the reduction multiplier to execute - expect it to use in the context of Any. However, for URLs which - use the + at the end of each period set by + reduction_period_in_epochs. + distribution_proportions: + description: >- + distribution_proportions defines the distribution + proportions of the minted - scheme `http`, `https`, or no scheme, one can optionally set up a - type + denom. In other words, defines which stakeholders will + receive the minted - server that maps type URLs to message definitions as follows: + denoms and how much. + type: object + properties: + staking: + type: string + description: >- + staking defines the proportion of the minted + mint_denom that is to be + allocated as staking rewards. + impact_rewards: + type: string + description: >- + impact_rewards defines the proportion of the minted + mint_denom that is - * If no scheme is provided, `https` is assumed. + to be allocated to impact rewards addresses. + community_pool: + type: string + description: >- + community_pool defines the proportion of the minted + mint_denom that is - * 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.) + to be allocated to the community pool. + weighted_impact_rewards_receivers: + type: array + items: + type: object + properties: + address: + type: string + weight: + type: string + description: >- + WeightedAddress represents an address with a weight + assigned to it. - Note: this functionality is not currently available in the - official + The weight is used to determine the proportion of the + total minted - protobuf release, and it is not used for type URLs beginning with + tokens to be minted to the address. + description: >- + weighted_impact_rewards_receivers is the address to + receive impact - type.googleapis.com. + rewards with weights assigned to each address. The final + amount that each + address receives is: epoch_provisions * - Schemes other than `http`, `https` (or the empty scheme) might be + distribution_proportions.impact_rewards * Address's + Weight. + minting_rewards_distribution_start_epoch: + type: string + format: int64 + title: >- + minting_rewards_distribution_start_epoch start epoch to + distribute minting - used with implementation specific semantics. - value: - type: string - format: byte + rewards description: >- - Must be a valid serialized protocol buffer of the above specified - type. - golang_bindings: - type: array - items: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be bound to a - specific implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be supplied - when an input of type interface is requested - description: >- - GolangBinding is an explicit interface type to implementing type - binding for dependency injection. - description: >- - golang_bindings specifies explicit interface to implementation type - bindings which - - depinject uses to resolve interface inputs to provider functions. The - scope of this - - field's configuration is module specific. - description: ModuleConfig is a module configuration for an app. - cosmos.app.v1alpha1.QueryConfigResponse: - type: object - properties: - config: - description: config is the current app config. - type: object - properties: - modules: - type: array - items: - type: object - properties: - name: - type: string - description: >- - name is the unique name of the module within the app. It - should be a name - - that persists between different versions of a module so that - modules - - can be smoothly upgraded to new versions. - - - For example, for the module cosmos.bank.module.v1.Module, we - may chose - - to simply name the module "bank" in the app. When we upgrade - to - - cosmos.bank.module.v2.Module, the app-specific name "bank" - stays the same - - and the framework knows that the v2 module should receive - all the same state - - that the v1 module had. Note: modules should provide info on - which versions - - they can migrate from in the - ModuleDescriptor.can_migration_from field. - config: - description: >- - config is the config object for the module. Module config - messages should - - define a ModuleDescriptor using the - cosmos.app.v1alpha1.is_module extension. + 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: @@ -55409,138 +55289,1412 @@ definitions: description: >- Must be a valid serialized protocol buffer of the above specified type. - golang_bindings: - type: array - items: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be - bound to a specific implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be - supplied when an input of type interface is requested - description: >- - GolangBinding is an explicit interface type to - implementing type binding for dependency injection. description: >- - golang_bindings specifies explicit interface to - implementation type bindings which + `Any` contains an arbitrary serialized protocol buffer + message along with a - depinject uses to resolve interface inputs to provider - functions. The scope of this + URL that describes the type of the serialized message. - field's configuration is module specific. - description: ModuleConfig is a module configuration for an app. - description: modules are the module configurations for the app. - golang_bindings: - type: array - items: - type: object - properties: - interface_type: - type: string - title: >- - interface_type is the interface type which will be bound to - a specific implementation type - implementation: - type: string - title: >- - implementation is the implementing type which will be - supplied when an input of type interface is requested - description: >- - GolangBinding is an explicit interface type to implementing type - binding for dependency injection. - description: >- - golang_bindings specifies explicit interface to implementation - type bindings which - depinject uses to resolve interface inputs to provider functions. - The scope of this + Protobuf library provides support to pack/unpack Any values + in the form - field's configuration is global (not module specific). - description: QueryConfigRequest is the Query/Config response type. - google.protobuf.Any: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + of utility functions or additional generated methods of the + Any type. - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must represent + Example 1: Pack and unpack a message in C++. - the fully qualified name of the type (as in + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - `path/google.protobuf.Duration`). The name should be in a canonical - form + Example 2: Pack and unpack a message in Java. - (e.g., leading "." is not accepted). + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + // or ... + if (any.isSameTypeAs(Foo.getDefaultInstance())) { + foo = any.unpack(Foo.getDefaultInstance()); + } + Example 3: Pack and unpack a message in Python. - In practice, teams usually precompile into the binary all types that - they + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - expect it to use in the context of Any. However, for URLs which use - the + Example 4: Pack and unpack a message in Go - scheme `http`, `https`, or no scheme, one can optionally set up a type + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - server that maps type URLs to message definitions as follows: + The pack methods provided by protobuf library will by + default use + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - * If no scheme is provided, `https` is assumed. + methods only use the fully qualified type name after the + last '/' - * 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 the type URL, for example "foo.bar.com/x/y.z" will yield + type - Note: this functionality is not currently available in the official + name "y.z". - protobuf release, and it is not used for type URLs beginning with - type.googleapis.com. + JSON - Schemes other than `http`, `https` (or the empty scheme) might be + The JSON representation of an `Any` value uses the regular - 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 + representation of the deserialized, embedded message, with + an - URL that describes the type of the serialized message. + additional field `@type` which contains the type URL. + Example: + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Protobuf library provides support to pack/unpack Any values in the form + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - of utility functions or additional generated methods of the Any type. + If the embedded message type is well-known and has a custom + JSON + representation, that representation will be embedded adding + a field - Example 1: Pack and unpack a message in C++. + `value` which holds the custom JSON in addition to the + `@type` - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Query + /ixo/smartaccount/authenticator/{account}/{authenticator_id}: + get: + operationId: GetAuthenticator + responses: + '200': + description: A successful response. + schema: + type: object + properties: + account_authenticator: + type: object + properties: + id: + type: string + format: uint64 + description: ID uniquely identifies the authenticator instance. + type: + type: string + description: >- + Type specifies the category of the AccountAuthenticator. + + This type information is essential for differentiating + authenticators + + and ensuring precise data retrieval from the storage + layer. + config: + type: string + format: byte + description: >- + Config is a versatile field used in conjunction with the + specific type of + + account authenticator to facilitate complex authentication + processes. + + The interpretation of this field is overloaded, enabling + multiple + + authenticators to utilize it for their respective + purposes. + description: >- + AccountAuthenticator represents a foundational model for all + authenticators. + + It provides extensibility by allowing concrete types to + interpret and + + validate transactions based on the encapsulated data. + description: >- + MsgGetAuthenticatorResponse defines the Msg/GetAuthenticator + response type. + 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: account + in: path + required: true + type: string + - name: authenticator_id + in: path + required: true + type: string + format: uint64 + tags: + - Query + /ixo/smartaccount/authenticators/{account}: + get: + operationId: GetAuthenticators + responses: + '200': + description: A successful response. + schema: + type: object + properties: + account_authenticators: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: ID uniquely identifies the authenticator instance. + type: + type: string + description: >- + Type specifies the category of the AccountAuthenticator. + + This type information is essential for differentiating + authenticators + + and ensuring precise data retrieval from the storage + layer. + config: + type: string + format: byte + description: >- + Config is a versatile field used in conjunction with the + specific type of + + account authenticator to facilitate complex + authentication processes. + + The interpretation of this field is overloaded, enabling + multiple + + authenticators to utilize it for their respective + purposes. + description: >- + AccountAuthenticator represents a foundational model for all + authenticators. + + It provides extensibility by allowing concrete types to + interpret and + + validate transactions based on the encapsulated data. + description: >- + MsgGetAuthenticatorsResponse defines the Msg/GetAuthenticators + response type. + 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: account + in: path + required: true + type: string + tags: + - Query + /ixo/smartaccount/params: + get: + summary: Parameters queries the parameters of the module. + operationId: IXOSmartAccountParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + maximum_unauthenticated_gas: + type: string + format: uint64 + description: >- + MaximumUnauthenticatedGas defines the maximum amount of + gas that can be + + used to authenticate a transaction in ante handler without + having fee payer + + authenticated. + is_smart_account_active: + type: boolean + description: >- + IsSmartAccountActive defines the state of the + authenticator. + + If set to false, the authenticator module will not be used + + and the classic cosmos sdk authentication will be used + instead. + circuit_breaker_controllers: + type: array + items: + type: string + description: >- + CircuitBreakerControllers defines list of addresses that + are allowed to + + set is_smart_account_active without going through + governance. + description: >- + QueryParamsResponse is 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 + /ixo/token/metadata/{id}: + get: + operationId: TokenMetadata + responses: + '200': + description: A successful response. + schema: + type: object + properties: + name: + type: string + description: + type: string + decimals: + type: string + image: + type: string + index: + type: string + properties: + type: object + properties: + class: + type: string + collection: + type: string + cap: + type: string + linkedResources: + type: array + items: + type: object + properties: + uri: + type: string + title: media type value should always be "application/json" + encrypted: + type: boolean + proof: + type: string + type: + type: string + id: + type: string + title: did of entity to map token to + 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 + in: path + required: true + type: string + tags: + - Query + /ixo/token/minter/{minter}: + get: + operationId: TokenList + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pagination: + 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: >- + 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; + } + tokenDocs: + type: array + items: + type: object + properties: + minter: + type: string + title: address of minter + contract_address: + type: string + title: generated on token initiation + class: + type: string + title: class is the token protocol entity DID (validated) + name: + type: string + title: name is the token name, which must be unique (namespace) + description: + type: string + title: description is any arbitrary description + image: + type: string + title: image is the image url for the token + type: + type: string + title: type is the token type (eg ixo1155) + cap: + type: string + title: >- + cap is the maximum number of tokens with this name that + can be minted, 0 is + + unlimited + supply: + type: string + title: >- + how much has already been minted for this Token type, + aka the supply + paused: + type: boolean + title: stop allowance of token minter temporarily + stopped: + type: boolean + title: stop allowance of token minter permanently + retired: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + jurisdiction: + type: string + amount: + type: string + owner: + type: string + title: >- + tokens that has been retired for this Token with + specific name and contract + + address + cancelled: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + amount: + type: string + owner: + type: string + title: >- + tokens that has been cancelled for this Token with + specific name and + + contract address + transferred: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + jurisdiction: + type: string + amount: + type: string + owner: + type: string + authorization_id: + type: string + title: >- + credits that has been transferred for this Token with + specific name and + + contract address + 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: minter + description: minter address to get list 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 + - 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 + tags: + - Query + /ixo/token/minter/{minter}/{contract_address}: + get: + operationId: TokenDoc + responses: + '200': + description: A successful response. + schema: + type: object + properties: + tokenDoc: + type: object + properties: + minter: + type: string + title: address of minter + contract_address: + type: string + title: generated on token initiation + class: + type: string + title: class is the token protocol entity DID (validated) + name: + type: string + title: name is the token name, which must be unique (namespace) + description: + type: string + title: description is any arbitrary description + image: + type: string + title: image is the image url for the token + type: + type: string + title: type is the token type (eg ixo1155) + cap: + type: string + title: >- + cap is the maximum number of tokens with this name that + can be minted, 0 is + + unlimited + supply: + type: string + title: >- + how much has already been minted for this Token type, aka + the supply + paused: + type: boolean + title: stop allowance of token minter temporarily + stopped: + type: boolean + title: stop allowance of token minter permanently + retired: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + jurisdiction: + type: string + amount: + type: string + owner: + type: string + title: >- + tokens that has been retired for this Token with specific + name and contract + + address + cancelled: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + amount: + type: string + owner: + type: string + title: >- + tokens that has been cancelled for this Token with + specific name and + + contract address + transferred: + type: array + items: + type: object + properties: + id: + type: string + reason: + type: string + jurisdiction: + type: string + amount: + type: string + owner: + type: string + authorization_id: + type: string + title: >- + credits that has been transferred for this Token with + specific name and + + contract address + 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: minter + description: minter address to get Token Doc for + in: path + required: true + type: string + - name: contract_address + in: path + required: true + type: string + tags: + - Query + /ixo/token/params: + get: + operationId: IXOTokenParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + ixo1155_contract_code: + type: string + format: uint64 + 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 +definitions: + cosmos.app.v1alpha1.Config: + type: object + properties: + modules: + type: array + items: + type: object + properties: + name: + type: string + description: >- + name is the unique name of the module within the app. It should + be a name + + that persists between different versions of a module so that + modules + + can be smoothly upgraded to new versions. + + + For example, for the module cosmos.bank.module.v1.Module, we may + chose + + to simply name the module "bank" in the app. When we upgrade to + + cosmos.bank.module.v2.Module, the app-specific name "bank" stays + the same + + and the framework knows that the v2 module should receive all + the same state + + that the v1 module had. Note: modules should provide info on + which versions + + they can migrate from in the ModuleDescriptor.can_migration_from + field. + config: + description: >- + config is the config object for the module. Module config + messages should + + define a ModuleDescriptor using the + cosmos.app.v1alpha1.is_module extension. + 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. + golang_bindings: + type: array + items: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be bound + to a specific implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be + supplied when an input of type interface is requested + description: >- + GolangBinding is an explicit interface type to implementing + type binding for dependency injection. + description: >- + golang_bindings specifies explicit interface to implementation + type bindings which + + depinject uses to resolve interface inputs to provider + functions. The scope of this + + field's configuration is module specific. + description: ModuleConfig is a module configuration for an app. + description: modules are the module configurations for the app. + golang_bindings: + type: array + items: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be bound to a + specific implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be supplied + when an input of type interface is requested + description: >- + GolangBinding is an explicit interface type to implementing type + binding for dependency injection. + description: >- + golang_bindings specifies explicit interface to implementation type + bindings which + + depinject uses to resolve interface inputs to provider functions. The + scope of this + + field's configuration is global (not module specific). + description: >- + Config represents the configuration for a Cosmos SDK ABCI app. + + It is intended that all state machine logic including the version of + + baseapp and tx handlers (and possibly even Tendermint) that an app needs + + can be described in a config object. For compatibility, the framework + should + + allow a mixture of declarative and imperative app wiring, however, apps + + that strive for the maximum ease of maintainability should be able to + describe + + their state machine with a config object alone. + cosmos.app.v1alpha1.GolangBinding: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be bound to a specific + implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be supplied when an + input of type interface is requested + description: >- + GolangBinding is an explicit interface type to implementing type binding + for dependency injection. + cosmos.app.v1alpha1.ModuleConfig: + type: object + properties: + name: + type: string + description: >- + name is the unique name of the module within the app. It should be a + name + + that persists between different versions of a module so that modules + + can be smoothly upgraded to new versions. + + + For example, for the module cosmos.bank.module.v1.Module, we may chose + + to simply name the module "bank" in the app. When we upgrade to + + cosmos.bank.module.v2.Module, the app-specific name "bank" stays the + same + + and the framework knows that the v2 module should receive all the same + state + + that the v1 module had. Note: modules should provide info on which + versions + + they can migrate from in the ModuleDescriptor.can_migration_from + field. + config: + description: >- + config is the config object for the module. Module config messages + should + + define a ModuleDescriptor using the cosmos.app.v1alpha1.is_module + extension. + 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. + golang_bindings: + type: array + items: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be bound to a + specific implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be supplied + when an input of type interface is requested + description: >- + GolangBinding is an explicit interface type to implementing type + binding for dependency injection. + description: >- + golang_bindings specifies explicit interface to implementation type + bindings which + + depinject uses to resolve interface inputs to provider functions. The + scope of this + + field's configuration is module specific. + description: ModuleConfig is a module configuration for an app. + cosmos.app.v1alpha1.QueryConfigResponse: + type: object + properties: + config: + description: config is the current app config. + type: object + properties: + modules: + type: array + items: + type: object + properties: + name: + type: string + description: >- + name is the unique name of the module within the app. It + should be a name + + that persists between different versions of a module so that + modules + + can be smoothly upgraded to new versions. + + + For example, for the module cosmos.bank.module.v1.Module, we + may chose + + to simply name the module "bank" in the app. When we upgrade + to + + cosmos.bank.module.v2.Module, the app-specific name "bank" + stays the same + + and the framework knows that the v2 module should receive + all the same state + + that the v1 module had. Note: modules should provide info on + which versions + + they can migrate from in the + ModuleDescriptor.can_migration_from field. + config: + description: >- + config is the config object for the module. Module config + messages should + + define a ModuleDescriptor using the + cosmos.app.v1alpha1.is_module extension. + 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. + golang_bindings: + type: array + items: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be + bound to a specific implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be + supplied when an input of type interface is requested + description: >- + GolangBinding is an explicit interface type to + implementing type binding for dependency injection. + description: >- + golang_bindings specifies explicit interface to + implementation type bindings which + + depinject uses to resolve interface inputs to provider + functions. The scope of this + + field's configuration is module specific. + description: ModuleConfig is a module configuration for an app. + description: modules are the module configurations for the app. + golang_bindings: + type: array + items: + type: object + properties: + interface_type: + type: string + title: >- + interface_type is the interface type which will be bound to + a specific implementation type + implementation: + type: string + title: >- + implementation is the implementing type which will be + supplied when an input of type interface is requested + description: >- + GolangBinding is an explicit interface type to implementing type + binding for dependency injection. + description: >- + golang_bindings specifies explicit interface to implementation + type bindings which + + depinject uses to resolve interface inputs to provider functions. + The scope of this + + field's configuration is global (not module specific). + description: QueryConfigRequest is the Query/Config response type. + google.protobuf.Any: + 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)) { ... } @@ -70038,76 +71192,6 @@ definitions: type: string description: weight is the vote weight associated with the vote option. 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 defines the parameters for the x/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: @@ -90395,161 +91479,618 @@ definitions: 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 + 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: The payment amount the agent intends to claim, if any. + cw20_payment: + type: array + items: + type: object + properties: + address: + type: string + amount: + type: string + format: uint64 + title: >- + chose uint64 for now as amounts should be small enough to + fit in a + + uint64(max 18446744073709551615) + description: The CW20Payment amount the agent intends to claim, if any. + from_address: + type: string + title: the address the escrow payment came from + escrow_address: + type: string + title: the escrow account address + description: Intent defines the structure for a service agent's claim intent. + ixo.claims.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + collection_sequence: + type: string + format: uint64 + ixo_account: + type: string + network_fee_percentage: + type: string + node_fee_percentage: + type: string + intent_sequence: + type: string + format: uint64 + ixo.entity.v1beta1.Entity: + type: object + properties: + id: + type: string + description: id represents the id for the entity document. + type: + type: string + title: Type of entity, eg protocol or asset + start_date: + type: string + format: date-time + title: >- + Start Date of the Entity as defined by the implementer and interpreted + by + + Client applications + end_date: + type: string + format: date-time + title: >- + End Date of the Entity as defined by the implementer and interpreted + by + + Client applications + status: + type: integer + format: int32 + title: |- + Status of the Entity as defined by the implementer and interpreted by + Client applications + relayer_node: + type: string + title: Did of the operator through which the Entity was created + credentials: + type: array + items: + type: string + title: Credentials of the entity to be verified + entity_verified: + type: boolean + title: Used as check whether the credentials of entity is verified + metadata: + title: |- + Metadata concerning the Entity such as versionId, created, updated and + deactivated + type: object + properties: + version_id: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + accounts: + type: array + items: + type: object + properties: + name: + type: string + address: + type: string + title: module accounts created for entity + ixo.entity.v1beta1.EntityAccount: + type: object + properties: + name: + type: string + address: + type: string + ixo.entity.v1beta1.EntityMetadata: + type: object + properties: + version_id: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + title: EntityMetadata defines metadata associated to a entity + ixo.entity.v1beta1.Params: + type: object + properties: + nftContractAddress: + type: string + nftContractMinter: + type: string + createSequence: + type: string + format: uint64 + ixo.entity.v1beta1.QueryEntityIidDocumentResponse: + type: object + properties: + iidDocument: + type: object + properties: + context: + type: array + items: + type: object + properties: + key: + type: string + val: + type: string + description: '@context is spec for did document.' + id: + type: string + description: id represents the id for the did document. + controller: + type: array + items: + type: string + title: >- + A DID controller is an entity that is authorized to make changes + to a DID + + document. cfr. https://www.w3.org/TR/did-core/#did-controller + verificationMethod: + type: array + items: + type: object + properties: + id: + type: string + type: + type: string + controller: + type: string + blockchainAccountID: + type: string + publicKeyHex: + type: string + publicKeyMultibase: + type: string + publicKeyBase58: + type: string + title: >- + A DID document can express verification methods, + + such as cryptographic public keys, which can be used + + to authenticate or authorize interactions with the DID subject or + + associated parties. + https://www.w3.org/TR/did-core/#verification-methods + service: + type: array + items: + type: object + properties: + id: + type: string + type: + type: string + serviceEndpoint: + type: string + title: >- + Services are used in DID documents to express ways of + communicating + + with the DID subject or associated entities. + + https://www.w3.org/TR/did-core/#services + authentication: + type: array + items: + type: string + title: >- + NOTE: below this line there are the relationships + + Authentication represents public key associated with the did + document. + + cfr. https://www.w3.org/TR/did-core/#authentication + assertionMethod: + type: array + items: + type: string + title: |- + Used to specify how the DID subject is expected to express claims, + such as for the purposes of issuing a Verifiable Credential. + cfr. https://www.w3.org/TR/did-core/#assertion + keyAgreement: + type: array + items: + type: string + title: >- + used to specify how an entity can generate encryption material + + in order to transmit confidential information intended for the DID + subject. + + https://www.w3.org/TR/did-core/#key-agreement + capabilityInvocation: + type: array + items: + type: string + title: >- + Used to specify a verification method that might be used by the + DID subject + + to invoke a cryptographic capability, such as the authorization + + to update the DID Document. + + https://www.w3.org/TR/did-core/#capability-invocation + capabilityDelegation: + type: array + items: + type: string + title: |- + Used to specify a mechanism that might be used by the DID subject + to delegate a cryptographic capability to another party. + https://www.w3.org/TR/did-core/#capability-delegation + linkedResource: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + mediaType: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + linkedClaim: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + accordedRight: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + mechanism: + type: string + message: + type: string + service: + type: string + linkedEntity: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + relationship: + type: string + service: + type: string + alsoKnownAs: + type: string + metadata: + title: >- + Metadata concerning the IidDocument such as versionId, created, + updated and + + deactivated + type: object + properties: + versionId: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + deactivated: + type: boolean + ixo.entity.v1beta1.QueryEntityListResponse: + type: object + properties: + entities: + type: array + items: + type: object + properties: + id: + type: string + description: id represents the id for the entity document. + type: + type: string + title: Type of entity, eg protocol or asset + start_date: + type: string + format: date-time + title: >- + Start Date of the Entity as defined by the implementer and + interpreted by + + Client applications + end_date: + type: string + format: date-time + title: >- + End Date of the Entity as defined by the implementer and + interpreted by + + Client applications + status: + type: integer + format: int32 + title: >- + Status of the Entity as defined by the implementer and + interpreted by + + Client applications + relayer_node: + type: string + title: Did of the operator through which the Entity was created + credentials: + type: array + items: + type: string + title: Credentials of the entity to be verified + entity_verified: + type: boolean + title: Used as check whether the credentials of entity is verified + metadata: + title: >- + Metadata concerning the Entity such as versionId, created, + updated and + + deactivated + type: object + properties: + version_id: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + accounts: + type: array + items: + type: object + properties: + name: + type: string + address: + type: string + title: module accounts created for entity + pagination: + 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: |- + 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; + } + ixo.entity.v1beta1.QueryEntityMetadataResponse: + type: object + properties: + entity: + type: object + properties: + id: + type: string + description: id represents the id for the entity document. + type: + type: string + title: Type of entity, eg protocol or asset + start_date: + type: string + format: date-time + title: >- + Start Date of the Entity as defined by the implementer and + interpreted by + + Client applications + end_date: + type: string + format: date-time + title: >- + End Date of the Entity as defined by the implementer and + interpreted by + + Client applications + status: + type: integer + format: int32 + title: >- + Status of the Entity as defined by the implementer and interpreted + by + + Client applications + relayer_node: + type: string + title: Did of the operator through which the Entity was created + credentials: + type: array + items: + type: string + title: Credentials of the entity to be verified + entity_verified: + type: boolean + title: Used as check whether the credentials of entity is verified + metadata: + title: >- + Metadata concerning the Entity such as versionId, created, updated + and - signatures required by gogoproto. - description: The payment amount the agent intends to claim, if any. - cw20_payment: + deactivated + type: object + properties: + version_id: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + accounts: type: array items: type: object properties: - address: + name: type: string - amount: + address: type: string - format: uint64 - title: >- - chose uint64 for now as amounts should be small enough to - fit in a - - uint64(max 18446744073709551615) - description: The CW20Payment amount the agent intends to claim, if any. - from_address: - type: string - title: the address the escrow payment came from - escrow_address: - type: string - title: the escrow account address - description: Intent defines the structure for a service agent's claim intent. - ixo.claims.v1beta1.QueryParamsResponse: + title: module accounts created for entity + ixo.entity.v1beta1.QueryEntityResponse: type: object properties: - params: - description: params holds all the parameters of this module. + entity: type: object properties: - collection_sequence: - type: string - format: uint64 - ixo_account: - type: string - network_fee_percentage: + id: type: string - node_fee_percentage: + description: id represents the id for the entity document. + type: type: string - intent_sequence: + title: Type of entity, eg protocol or asset + start_date: type: string - format: uint64 - ixo.entity.v1beta1.Entity: - type: object - properties: - id: - type: string - description: id represents the id for the entity document. - type: - type: string - title: Type of entity, eg protocol or asset - start_date: - type: string - format: date-time - title: >- - Start Date of the Entity as defined by the implementer and interpreted - by - - Client applications - end_date: - type: string - format: date-time - title: >- - End Date of the Entity as defined by the implementer and interpreted - by + format: date-time + title: >- + Start Date of the Entity as defined by the implementer and + interpreted by - Client applications - status: - type: integer - format: int32 - title: |- - Status of the Entity as defined by the implementer and interpreted by - Client applications - relayer_node: - type: string - title: Did of the operator through which the Entity was created - credentials: - type: array - items: - type: string - title: Credentials of the entity to be verified - entity_verified: - type: boolean - title: Used as check whether the credentials of entity is verified - metadata: - title: |- - Metadata concerning the Entity such as versionId, created, updated and - deactivated - type: object - properties: - version_id: - type: string - created: + Client applications + end_date: type: string format: date-time - updated: + title: >- + End Date of the Entity as defined by the implementer and + interpreted by + + Client applications + status: + type: integer + format: int32 + title: >- + Status of the Entity as defined by the implementer and interpreted + by + + Client applications + relayer_node: type: string - format: date-time - accounts: - type: array - items: - type: object - properties: - name: - type: string - address: + title: Did of the operator through which the Entity was created + credentials: + type: array + items: type: string - title: module accounts created for entity - ixo.entity.v1beta1.EntityAccount: - type: object - properties: - name: - type: string - address: - type: string - ixo.entity.v1beta1.EntityMetadata: - type: object - properties: - version_id: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - title: EntityMetadata defines metadata associated to a entity - ixo.entity.v1beta1.Params: - type: object - properties: - nftContractAddress: - type: string - nftContractMinter: - type: string - createSequence: - type: string - format: uint64 - ixo.entity.v1beta1.QueryEntityIidDocumentResponse: - type: object - properties: + title: Credentials of the entity to be verified + entity_verified: + type: boolean + title: Used as check whether the credentials of entity is verified + metadata: + title: >- + Metadata concerning the Entity such as versionId, created, updated + and + + deactivated + type: object + properties: + version_id: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + accounts: + type: array + items: + type: object + properties: + name: + type: string + address: + type: string + title: module accounts created for entity iidDocument: type: object properties: @@ -90760,253 +92301,338 @@ definitions: format: date-time deactivated: type: boolean - ixo.entity.v1beta1.QueryEntityListResponse: + ixo.entity.v1beta1.QueryEntityVerifiedResponse: type: object properties: - entities: + entity_verified: + type: boolean + ixo.entity.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + nftContractAddress: + type: string + nftContractMinter: + type: string + createSequence: + type: string + format: uint64 + ixo.iid.v1beta1.AccordedRight: + type: object + properties: + type: + type: string + id: + type: string + mechanism: + type: string + message: + type: string + service: + type: string + ixo.iid.v1beta1.Context: + type: object + properties: + key: + type: string + val: + type: string + ixo.iid.v1beta1.IidDocument: + type: object + properties: + context: + type: array + items: + type: object + properties: + key: + type: string + val: + type: string + description: '@context is spec for did document.' + id: + type: string + description: id represents the id for the did document. + controller: + type: array + items: + type: string + title: >- + A DID controller is an entity that is authorized to make changes to a + DID + + document. cfr. https://www.w3.org/TR/did-core/#did-controller + verificationMethod: type: array items: type: object properties: id: type: string - description: id represents the id for the entity document. type: type: string - title: Type of entity, eg protocol or asset - start_date: + controller: type: string - format: date-time - title: >- - Start Date of the Entity as defined by the implementer and - interpreted by - - Client applications - end_date: + blockchainAccountID: type: string - format: date-time - title: >- - End Date of the Entity as defined by the implementer and - interpreted by + publicKeyHex: + type: string + publicKeyMultibase: + type: string + publicKeyBase58: + type: string + title: >- + A DID document can express verification methods, - Client applications - status: - type: integer - format: int32 - title: >- - Status of the Entity as defined by the implementer and - interpreted by + such as cryptographic public keys, which can be used - Client applications - relayer_node: + to authenticate or authorize interactions with the DID subject or + + associated parties. + https://www.w3.org/TR/did-core/#verification-methods + service: + type: array + items: + type: object + properties: + id: type: string - title: Did of the operator through which the Entity was created - credentials: - type: array - items: - type: string - title: Credentials of the entity to be verified - entity_verified: - type: boolean - title: Used as check whether the credentials of entity is verified - metadata: - title: >- - Metadata concerning the Entity such as versionId, created, - updated and + type: + type: string + serviceEndpoint: + type: string + title: |- + Services are used in DID documents to express ways of communicating + with the DID subject or associated entities. + https://www.w3.org/TR/did-core/#services + authentication: + type: array + items: + type: string + title: |- + NOTE: below this line there are the relationships + Authentication represents public key associated with the did document. + cfr. https://www.w3.org/TR/did-core/#authentication + assertionMethod: + type: array + items: + type: string + title: |- + Used to specify how the DID subject is expected to express claims, + such as for the purposes of issuing a Verifiable Credential. + cfr. https://www.w3.org/TR/did-core/#assertion + keyAgreement: + type: array + items: + type: string + title: >- + used to specify how an entity can generate encryption material - deactivated - type: object - properties: - version_id: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - accounts: - type: array - items: - type: object - properties: - name: - type: string - address: - type: string - title: module accounts created for entity - pagination: - 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 + in order to transmit confidential information intended for the DID + subject. - 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. + https://www.w3.org/TR/did-core/#key-agreement + capabilityInvocation: + type: array + items: + type: string + title: >- + Used to specify a verification method that might be used by the DID + subject + + to invoke a cryptographic capability, such as the authorization + + to update the DID Document. + + https://www.w3.org/TR/did-core/#capability-invocation + capabilityDelegation: + type: array + items: + type: string + title: |- + Used to specify a mechanism that might be used by the DID subject + to delegate a cryptographic capability to another party. + https://www.w3.org/TR/did-core/#capability-delegation + linkedResource: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + mediaType: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + linkedClaim: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + accordedRight: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + mechanism: + type: string + message: + type: string + service: + type: string + linkedEntity: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + relationship: + type: string + service: + type: string + alsoKnownAs: + type: string + metadata: + title: >- + Metadata concerning the IidDocument such as versionId, created, + updated and - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - ixo.entity.v1beta1.QueryEntityMetadataResponse: - type: object - properties: - entity: + deactivated type: object properties: - id: - type: string - description: id represents the id for the entity document. - type: + versionId: type: string - title: Type of entity, eg protocol or asset - start_date: + created: type: string format: date-time - title: >- - Start Date of the Entity as defined by the implementer and - interpreted by - - Client applications - end_date: + updated: type: string format: date-time - title: >- - End Date of the Entity as defined by the implementer and - interpreted by - - Client applications - status: - type: integer - format: int32 - title: >- - Status of the Entity as defined by the implementer and interpreted - by - - Client applications - relayer_node: - type: string - title: Did of the operator through which the Entity was created - credentials: - type: array - items: - type: string - title: Credentials of the entity to be verified - entity_verified: + deactivated: type: boolean - title: Used as check whether the credentials of entity is verified - metadata: - title: >- - Metadata concerning the Entity such as versionId, created, updated - and - - deactivated - type: object - properties: - version_id: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - accounts: - type: array - items: - type: object - properties: - name: - type: string - address: - type: string - title: module accounts created for entity - ixo.entity.v1beta1.QueryEntityResponse: + ixo.iid.v1beta1.IidMetadata: + type: object + properties: + versionId: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + deactivated: + type: boolean + ixo.iid.v1beta1.LinkedClaim: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + ixo.iid.v1beta1.LinkedEntity: + type: object + properties: + type: + type: string + id: + type: string + relationship: + type: string + service: + type: string + ixo.iid.v1beta1.LinkedResource: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + mediaType: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + ixo.iid.v1beta1.Service: + type: object + properties: + id: + type: string + type: + type: string + serviceEndpoint: + type: string + ixo.iid.v1beta1.VerificationMethod: + type: object + properties: + id: + type: string + type: + type: string + controller: + type: string + blockchainAccountID: + type: string + publicKeyHex: + type: string + publicKeyMultibase: + type: string + publicKeyBase58: + type: string + ixo.iid.v1beta1.QueryIidDocumentResponse: type: object properties: - entity: - type: object - properties: - id: - type: string - description: id represents the id for the entity document. - type: - type: string - title: Type of entity, eg protocol or asset - start_date: - type: string - format: date-time - title: >- - Start Date of the Entity as defined by the implementer and - interpreted by - - Client applications - end_date: - type: string - format: date-time - title: >- - End Date of the Entity as defined by the implementer and - interpreted by - - Client applications - status: - type: integer - format: int32 - title: >- - Status of the Entity as defined by the implementer and interpreted - by - - Client applications - relayer_node: - type: string - title: Did of the operator through which the Entity was created - credentials: - type: array - items: - type: string - title: Credentials of the entity to be verified - entity_verified: - type: boolean - title: Used as check whether the credentials of entity is verified - metadata: - title: >- - Metadata concerning the Entity such as versionId, created, updated - and - - deactivated - type: object - properties: - version_id: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - accounts: - type: array - items: - type: object - properties: - name: - type: string - address: - type: string - title: module accounts created for entity iidDocument: type: object properties: @@ -91217,789 +92843,1372 @@ definitions: format: date-time deactivated: type: boolean - ixo.entity.v1beta1.QueryEntityVerifiedResponse: - type: object - properties: - entity_verified: - type: boolean - ixo.entity.v1beta1.QueryParamsResponse: + ixo.iid.v1beta1.QueryIidDocumentsResponse: type: object properties: - params: - description: params holds all the parameters of this module. + iidDocuments: + type: array + items: + type: object + properties: + context: + type: array + items: + type: object + properties: + key: + type: string + val: + type: string + description: '@context is spec for did document.' + id: + type: string + description: id represents the id for the did document. + controller: + type: array + items: + type: string + title: >- + A DID controller is an entity that is authorized to make changes + to a DID + + document. cfr. https://www.w3.org/TR/did-core/#did-controller + verificationMethod: + type: array + items: + type: object + properties: + id: + type: string + type: + type: string + controller: + type: string + blockchainAccountID: + type: string + publicKeyHex: + type: string + publicKeyMultibase: + type: string + publicKeyBase58: + type: string + title: >- + A DID document can express verification methods, + + such as cryptographic public keys, which can be used + + to authenticate or authorize interactions with the DID subject + or + + associated parties. + https://www.w3.org/TR/did-core/#verification-methods + service: + type: array + items: + type: object + properties: + id: + type: string + type: + type: string + serviceEndpoint: + type: string + title: >- + Services are used in DID documents to express ways of + communicating + + with the DID subject or associated entities. + + https://www.w3.org/TR/did-core/#services + authentication: + type: array + items: + type: string + title: >- + NOTE: below this line there are the relationships + + Authentication represents public key associated with the did + document. + + cfr. https://www.w3.org/TR/did-core/#authentication + assertionMethod: + type: array + items: + type: string + title: >- + Used to specify how the DID subject is expected to express + claims, + + such as for the purposes of issuing a Verifiable Credential. + + cfr. https://www.w3.org/TR/did-core/#assertion + keyAgreement: + type: array + items: + type: string + title: >- + used to specify how an entity can generate encryption material + + in order to transmit confidential information intended for the + DID subject. + + https://www.w3.org/TR/did-core/#key-agreement + capabilityInvocation: + type: array + items: + type: string + title: >- + Used to specify a verification method that might be used by the + DID subject + + to invoke a cryptographic capability, such as the authorization + + to update the DID Document. + + https://www.w3.org/TR/did-core/#capability-invocation + capabilityDelegation: + type: array + items: + type: string + title: >- + Used to specify a mechanism that might be used by the DID + subject + + to delegate a cryptographic capability to another party. + + https://www.w3.org/TR/did-core/#capability-delegation + linkedResource: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + mediaType: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + linkedClaim: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + description: + type: string + serviceEndpoint: + type: string + proof: + type: string + encrypted: + type: string + right: + type: string + accordedRight: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + mechanism: + type: string + message: + type: string + service: + type: string + linkedEntity: + type: array + items: + type: object + properties: + type: + type: string + id: + type: string + relationship: + type: string + service: + type: string + alsoKnownAs: + type: string + metadata: + title: >- + Metadata concerning the IidDocument such as versionId, created, + updated and + + deactivated + type: object + properties: + versionId: + type: string + created: + type: string + format: date-time + updated: + type: string + format: date-time + deactivated: + type: boolean + pagination: + description: pagination defines the pagination in the response. type: object properties: - nftContractAddress: - type: string - nftContractMinter: + next_key: type: string - createSequence: + 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 - ixo.iid.v1beta1.AccordedRight: + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + ixo.epochs.v1beta1.EpochInfo: type: object properties: - type: + identifier: type: string - id: + description: identifier is a unique reference to this particular timer. + start_time: type: string - mechanism: + format: date-time + description: >- + start_time is the time at which the timer first ever ticks. + + If start_time is in the future, the epoch will not begin until the + start + + time. + duration: type: string - message: + description: |- + duration is the time in between epoch ticks. + In order for intended behavior to be met, duration should + be greater than the chains expected block time. + Duration must be non-zero. + current_epoch: type: string - service: + format: int64 + description: >- + current_epoch is the current epoch number, or in other words, + + how many times has the timer 'ticked'. + + The first tick (current_epoch=1) is defined as + + the first block whose blocktime is greater than the EpochInfo + start_time. + current_epoch_start_time: + type: string + format: date-time + description: >- + current_epoch_start_time describes the start time of the current timer + + interval. The interval is (current_epoch_start_time, + + current_epoch_start_time + duration] When the timer ticks, this is set + to + + current_epoch_start_time = last_epoch_start_time + duration only one + timer + + tick for a given identifier can occur per block. + + + NOTE! The current_epoch_start_time may diverge significantly from the + + wall-clock time the epoch began at. Wall-clock time of epoch start may + be + + >> current_epoch_start_time. Suppose current_epoch_start_time = 10, + + duration = 5. Suppose the chain goes offline at t=14, and comes back + online + + at t=30, and produces blocks at every successive time. (t=31, 32, + etc.) + + * The t=30 block will start the epoch for (10, 15] + + * The t=31 block will start the epoch for (15, 20] + + * The t=32 block will start the epoch for (20, 25] + + * The t=33 block will start the epoch for (25, 30] + + * The t=34 block will start the epoch for (30, 35] + + * The **t=36** block will start the epoch for (35, 40] + epoch_counting_started: + type: boolean + description: |- + epoch_counting_started is a boolean, that indicates whether this + epoch timer has began yet. + current_epoch_start_height: type: string - ixo.iid.v1beta1.Context: + format: int64 + title: >- + current_epoch_start_height is the block height at which the current + epoch + + started. (The block height at which the timer last ticked) + description: |- + EpochInfo is a struct that describes the data going into + a timer defined by the x/epochs module. + ixo.epochs.v1beta1.QueryCurrentEpochResponse: type: object properties: - key: - type: string - val: + current_epoch: type: string - ixo.iid.v1beta1.IidDocument: + format: int64 + ixo.epochs.v1beta1.QueryEpochsInfoResponse: type: object properties: - context: + epochs: type: array items: type: object properties: - key: + identifier: type: string - val: + description: identifier is a unique reference to this particular timer. + start_time: type: string - description: '@context is spec for did document.' - id: - type: string - description: id represents the id for the did document. - controller: - type: array - items: - type: string - title: >- - A DID controller is an entity that is authorized to make changes to a - DID + format: date-time + description: >- + start_time is the time at which the timer first ever ticks. - document. cfr. https://www.w3.org/TR/did-core/#did-controller - verificationMethod: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - controller: - type: string - blockchainAccountID: - type: string - publicKeyHex: - type: string - publicKeyMultibase: + If start_time is in the future, the epoch will not begin until + the start + + time. + duration: type: string - publicKeyBase58: + description: |- + duration is the time in between epoch ticks. + In order for intended behavior to be met, duration should + be greater than the chains expected block time. + Duration must be non-zero. + current_epoch: type: string - title: >- - A DID document can express verification methods, + format: int64 + description: >- + current_epoch is the current epoch number, or in other words, - such as cryptographic public keys, which can be used + how many times has the timer 'ticked'. - to authenticate or authorize interactions with the DID subject or + The first tick (current_epoch=1) is defined as - associated parties. - https://www.w3.org/TR/did-core/#verification-methods - service: - type: array - items: - type: object - properties: - id: + the first block whose blocktime is greater than the EpochInfo + start_time. + current_epoch_start_time: type: string - type: - type: string - serviceEndpoint: + format: date-time + description: >- + current_epoch_start_time describes the start time of the current + timer + + interval. The interval is (current_epoch_start_time, + + current_epoch_start_time + duration] When the timer ticks, this + is set to + + current_epoch_start_time = last_epoch_start_time + duration only + one timer + + tick for a given identifier can occur per block. + + + NOTE! The current_epoch_start_time may diverge significantly + from the + + wall-clock time the epoch began at. Wall-clock time of epoch + start may be + + >> current_epoch_start_time. Suppose current_epoch_start_time = + 10, + + duration = 5. Suppose the chain goes offline at t=14, and comes + back online + + at t=30, and produces blocks at every successive time. (t=31, + 32, etc.) + + * The t=30 block will start the epoch for (10, 15] + + * The t=31 block will start the epoch for (15, 20] + + * The t=32 block will start the epoch for (20, 25] + + * The t=33 block will start the epoch for (25, 30] + + * The t=34 block will start the epoch for (30, 35] + + * The **t=36** block will start the epoch for (35, 40] + epoch_counting_started: + type: boolean + description: |- + epoch_counting_started is a boolean, that indicates whether this + epoch timer has began yet. + current_epoch_start_height: type: string - title: |- - Services are used in DID documents to express ways of communicating - with the DID subject or associated entities. - https://www.w3.org/TR/did-core/#services - authentication: - type: array - items: - type: string - title: |- - NOTE: below this line there are the relationships - Authentication represents public key associated with the did document. - cfr. https://www.w3.org/TR/did-core/#authentication - assertionMethod: - type: array - items: - type: string - title: |- - Used to specify how the DID subject is expected to express claims, - such as for the purposes of issuing a Verifiable Credential. - cfr. https://www.w3.org/TR/did-core/#assertion - keyAgreement: - type: array - items: - type: string + format: int64 + title: >- + current_epoch_start_height is the block height at which the + current epoch + + started. (The block height at which the timer last ticked) + description: |- + EpochInfo is a struct that describes the data going into + a timer defined by the x/epochs module. + ixo.liquidstake.v1beta1.LiquidValidatorState: + type: object + properties: + operator_address: + type: string + description: |- + operator_address defines the address of the validator's operator; bech + encoded in JSON. + weight: + type: string + title: weight specifies the weight for liquid staking, unstaking amount + status: + title: status is the liquid validator status + type: string + enum: + - VALIDATOR_STATUS_UNSPECIFIED + - VALIDATOR_STATUS_ACTIVE + - VALIDATOR_STATUS_INACTIVE + default: VALIDATOR_STATUS_UNSPECIFIED + description: |- + ValidatorStatus enumerates the status of a liquid validator. + + - VALIDATOR_STATUS_UNSPECIFIED: VALIDATOR_STATUS_UNSPECIFIED defines the unspecified invalid status. + - VALIDATOR_STATUS_ACTIVE: VALIDATOR_STATUS_ACTIVE defines the active, valid status + - VALIDATOR_STATUS_INACTIVE: VALIDATOR_STATUS_INACTIVE defines the inactive, invalid status + del_shares: + type: string + title: del_shares define the delegation shares of the validator + liquid_tokens: + type: string title: >- - used to specify how an entity can generate encryption material + liquid_tokens define the token amount worth of delegation shares of + the - in order to transmit confidential information intended for the DID - subject. + validator (slashing applied amount) + description: |- + LiquidValidatorState is type LiquidValidator with state added to return to + query results. + ixo.liquidstake.v1beta1.NetAmountState: + type: object + properties: + stake_rate: + type: string + title: stake_rate is the rate at which the liquid staking module mints stkIXO + unstake_rate: + type: string + title: >- + unstake_rate is the rate at which the liquid staking module burns + stkIXO + stkixo_total_supply: + type: string + title: btoken_total_supply returns the total supply of uzero (stkIXO denom) + net_amount: + type: string + title: >- + net_amount is proxy account's total liquid tokens + total unbonding + balance + total_del_shares: + type: string + title: total_del_shares define the delegation shares of all liquid validators + total_liquid_tokens: + type: string + title: >- + total_liquid_tokens define the token amount worth of delegation shares + of - https://www.w3.org/TR/did-core/#key-agreement - capabilityInvocation: - type: array - items: - type: string + all liquid validator (slashing applied amount) + total_remaining_rewards: + type: string + title: |- + total_remaining_rewards define the sum of remaining rewards of proxy + account by all liquid validators + total_unbonding_balance: + type: string title: >- - Used to specify a verification method that might be used by the DID - subject + total_unbonding_balance define the unbonding balance of proxy account + by - to invoke a cryptographic capability, such as the authorization + all liquid validator (slashing applied amount) + proxy_acc_balance: + type: string + title: >- + proxy_acc_balance define the balance of proxy account for the native + token + description: >- + NetAmountState is type for net amount raw data and mint rate, This is a + value - to update the DID Document. + that depends on the several module state every time, so it is used only + for - https://www.w3.org/TR/did-core/#capability-invocation - capabilityDelegation: - type: array - items: - type: string - title: |- - Used to specify a mechanism that might be used by the DID subject - to delegate a cryptographic capability to another party. - https://www.w3.org/TR/did-core/#capability-delegation - linkedResource: + calculation and query and is not stored in kv. + ixo.liquidstake.v1beta1.Params: + type: object + properties: + liquid_bond_denom: + type: string + description: >- + LiquidBondDenom specifies the denomination of the token receiving + after + + liquid stake, The value is calculated through NetAmount. + whitelisted_validators: type: array items: type: object properties: - type: - type: string - id: - type: string - description: - type: string - mediaType: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: + validator_address: type: string - right: + title: >- + validator_address defines the bech32-encoded address of the + whitelisted + + validator + target_weight: type: string - linkedClaim: + title: >- + target_weight specifies the target weight for liquid staking, + unstaking + + amount, which is a value for calculating the real weight to be + derived + + according to the active status + description: >- + WhitelistedValidator consists of the validator operator address and + the + + target weight, which is a value for calculating the real weight to + be derived + + according to the active status. + description: >- + WhitelistedValidators specifies the validators elected to become + Active + + Liquid Validators. + unstake_fee_rate: + type: string + title: >- + UnstakeFeeRate specifies the fee rate when liquid unstake is + requested, + + unbonded by subtracting it from unbondingAmount + min_liquid_stake_amount: + type: string + description: >- + MinLiquidStakingAmount specifies the minimum number of coins to be + staked + + to the active liquid validators on liquid staking to minimize decimal + loss + + and consider gas efficiency. + fee_account_address: + type: string + description: |- + FeeAccountAddress defines the bech32-encoded address of + an account responsible for accumulating protocol fees. + autocompound_fee_rate: + type: string + description: >- + AutocompoundFeeRate specifies the fee rate for auto redelegating the + stake + + rewards. The fee is taken in favour of the fee account (see + + FeeAccountAddress). + whitelist_admin_address: + type: string + description: >- + WhitelistAdminAddress the bech32-encoded address of an admin authority + + that is allowed to update whitelisted validators or pause + liquidstaking + + module entirely. It is also the only address that can update the + + weighted_rewards_receivers. + + The key is controlled by the ZERO dao. + + Pausing of the module can be required during important migrations or + + failures. + module_paused: + type: boolean + description: >- + ModulePaused is a safety toggle that allows to stop main module + functions + + such as stake/unstake/stake-to-lp and the BeginBlocker logic. + weighted_rewards_receivers: type: array items: type: object properties: - type: - type: string - id: - type: string - description: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: + address: type: string - right: + weight: type: string - accordedRight: + description: |- + WeightedAddress represents an address with a weight assigned to it. + The weight is used to determine the proportion of autocompounding + rewards to be paid to the address. + description: >- + weighted_rewards_receivers is the addresses to receive the staking + + rewards on autocompounding with weights assigned to each address. + + The total of weights in the list in not allowed to be greater than 1. + + + Eg. if the list has 1 address with weight 0.2, then on autocompounding + + the staking rewards will be split between 0.2 for the weighted + receiver + + and 0.8 gets auto-compounded to the proxy account. + description: Params defines the set of params for the liquidstake module. + ixo.liquidstake.v1beta1.QueryLiquidValidatorsResponse: + type: object + properties: + liquid_validators: type: array items: type: object properties: - type: - type: string - id: - type: string - mechanism: - type: string - message: - type: string - service: + operator_address: type: string - linkedEntity: - type: array - items: - type: object - properties: - type: + description: >- + operator_address defines the address of the validator's + operator; bech + + encoded in JSON. + weight: type: string - id: + title: weight specifies the weight for liquid staking, unstaking amount + status: + title: status is the liquid validator status type: string - relationship: + enum: + - VALIDATOR_STATUS_UNSPECIFIED + - VALIDATOR_STATUS_ACTIVE + - VALIDATOR_STATUS_INACTIVE + default: VALIDATOR_STATUS_UNSPECIFIED + description: |- + ValidatorStatus enumerates the status of a liquid validator. + + - VALIDATOR_STATUS_UNSPECIFIED: VALIDATOR_STATUS_UNSPECIFIED defines the unspecified invalid status. + - VALIDATOR_STATUS_ACTIVE: VALIDATOR_STATUS_ACTIVE defines the active, valid status + - VALIDATOR_STATUS_INACTIVE: VALIDATOR_STATUS_INACTIVE defines the inactive, invalid status + del_shares: type: string - service: + title: del_shares define the delegation shares of the validator + liquid_tokens: type: string - alsoKnownAs: - type: string - metadata: - title: >- - Metadata concerning the IidDocument such as versionId, created, - updated and + title: >- + liquid_tokens define the token amount worth of delegation shares + of the - deactivated + validator (slashing applied amount) + description: >- + LiquidValidatorState is type LiquidValidator with state added to + return to + + query results. + ixo.liquidstake.v1beta1.QueryParamsResponse: + type: object + properties: + params: type: object properties: - versionId: + liquid_bond_denom: type: string - created: + description: >- + LiquidBondDenom specifies the denomination of the token receiving + after + + liquid stake, The value is calculated through NetAmount. + whitelisted_validators: + type: array + items: + type: object + properties: + validator_address: + type: string + title: >- + validator_address defines the bech32-encoded address of the + whitelisted + + validator + target_weight: + type: string + title: >- + target_weight specifies the target weight for liquid + staking, unstaking + + amount, which is a value for calculating the real weight to + be derived + + according to the active status + description: >- + WhitelistedValidator consists of the validator operator address + and the + + target weight, which is a value for calculating the real weight + to be derived + + according to the active status. + description: >- + WhitelistedValidators specifies the validators elected to become + Active + + Liquid Validators. + unstake_fee_rate: type: string - format: date-time - updated: + title: >- + UnstakeFeeRate specifies the fee rate when liquid unstake is + requested, + + unbonded by subtracting it from unbondingAmount + min_liquid_stake_amount: type: string - format: date-time - deactivated: + description: >- + MinLiquidStakingAmount specifies the minimum number of coins to be + staked + + to the active liquid validators on liquid staking to minimize + decimal loss + + and consider gas efficiency. + fee_account_address: + type: string + description: |- + FeeAccountAddress defines the bech32-encoded address of + an account responsible for accumulating protocol fees. + autocompound_fee_rate: + type: string + description: >- + AutocompoundFeeRate specifies the fee rate for auto redelegating + the stake + + rewards. The fee is taken in favour of the fee account (see + + FeeAccountAddress). + whitelist_admin_address: + type: string + description: >- + WhitelistAdminAddress the bech32-encoded address of an admin + authority + + that is allowed to update whitelisted validators or pause + liquidstaking + + module entirely. It is also the only address that can update the + + weighted_rewards_receivers. + + The key is controlled by the ZERO dao. + + Pausing of the module can be required during important migrations + or + + failures. + module_paused: type: boolean - ixo.iid.v1beta1.IidMetadata: - type: object - properties: - versionId: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - deactivated: - type: boolean - ixo.iid.v1beta1.LinkedClaim: + description: >- + ModulePaused is a safety toggle that allows to stop main module + functions + + such as stake/unstake/stake-to-lp and the BeginBlocker logic. + weighted_rewards_receivers: + type: array + items: + type: object + properties: + address: + type: string + weight: + type: string + description: >- + WeightedAddress represents an address with a weight assigned to + it. + + The weight is used to determine the proportion of + autocompounding + + rewards to be paid to the address. + description: >- + weighted_rewards_receivers is the addresses to receive the staking + + rewards on autocompounding with weights assigned to each address. + + The total of weights in the list in not allowed to be greater than + 1. + + + Eg. if the list has 1 address with weight 0.2, then on + autocompounding + + the staking rewards will be split between 0.2 for the weighted + receiver + + and 0.8 gets auto-compounded to the proxy account. + description: Params defines the set of params for the liquidstake module. + ixo.liquidstake.v1beta1.QueryStatesResponse: type: object properties: - type: - type: string - id: - type: string - description: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: - type: string - right: - type: string - ixo.iid.v1beta1.LinkedEntity: + net_amount_state: + type: object + properties: + stake_rate: + type: string + title: >- + stake_rate is the rate at which the liquid staking module mints + stkIXO + unstake_rate: + type: string + title: >- + unstake_rate is the rate at which the liquid staking module burns + stkIXO + stkixo_total_supply: + type: string + title: >- + btoken_total_supply returns the total supply of uzero (stkIXO + denom) + net_amount: + type: string + title: >- + net_amount is proxy account's total liquid tokens + total + unbonding balance + total_del_shares: + type: string + title: >- + total_del_shares define the delegation shares of all liquid + validators + total_liquid_tokens: + type: string + title: >- + total_liquid_tokens define the token amount worth of delegation + shares of + + all liquid validator (slashing applied amount) + total_remaining_rewards: + type: string + title: >- + total_remaining_rewards define the sum of remaining rewards of + proxy + + account by all liquid validators + total_unbonding_balance: + type: string + title: >- + total_unbonding_balance define the unbonding balance of proxy + account by + + all liquid validator (slashing applied amount) + proxy_acc_balance: + type: string + title: >- + proxy_acc_balance define the balance of proxy account for the + native token + description: >- + NetAmountState is type for net amount raw data and mint rate, This is + a value + + that depends on the several module state every time, so it is used + only for + + calculation and query and is not stored in kv. + ixo.liquidstake.v1beta1.ValidatorStatus: + type: string + enum: + - VALIDATOR_STATUS_UNSPECIFIED + - VALIDATOR_STATUS_ACTIVE + - VALIDATOR_STATUS_INACTIVE + default: VALIDATOR_STATUS_UNSPECIFIED + description: |- + ValidatorStatus enumerates the status of a liquid validator. + + - VALIDATOR_STATUS_UNSPECIFIED: VALIDATOR_STATUS_UNSPECIFIED defines the unspecified invalid status. + - VALIDATOR_STATUS_ACTIVE: VALIDATOR_STATUS_ACTIVE defines the active, valid status + - VALIDATOR_STATUS_INACTIVE: VALIDATOR_STATUS_INACTIVE defines the inactive, invalid status + ixo.liquidstake.v1beta1.WeightedAddress: type: object properties: - type: - type: string - id: - type: string - relationship: + address: type: string - service: + weight: type: string - ixo.iid.v1beta1.LinkedResource: + description: |- + WeightedAddress represents an address with a weight assigned to it. + The weight is used to determine the proportion of autocompounding + rewards to be paid to the address. + ixo.liquidstake.v1beta1.WhitelistedValidator: type: object properties: - type: - type: string - id: - type: string - description: - type: string - mediaType: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: + validator_address: type: string - right: + title: >- + validator_address defines the bech32-encoded address of the + whitelisted + + validator + target_weight: type: string - ixo.iid.v1beta1.Service: + title: >- + target_weight specifies the target weight for liquid staking, + unstaking + + amount, which is a value for calculating the real weight to be derived + + according to the active status + description: >- + WhitelistedValidator consists of the validator operator address and the + + target weight, which is a value for calculating the real weight to be + derived + + according to the active status. + ixo.mint.v1beta1.DistributionProportions: type: object properties: - id: + staking: type: string - type: + description: |- + staking defines the proportion of the minted mint_denom that is to be + allocated as staking rewards. + impact_rewards: type: string - serviceEndpoint: + description: |- + impact_rewards defines the proportion of the minted mint_denom that is + to be allocated to impact rewards addresses. + community_pool: type: string - ixo.iid.v1beta1.VerificationMethod: + description: |- + community_pool defines the proportion of the minted mint_denom that is + to be allocated to the community pool. + description: |- + DistributionProportions defines the distribution proportions of the minted + denom. In other words, defines which stakeholders will receive the minted + denoms and how much. + ixo.mint.v1beta1.Params: type: object properties: - id: + mint_denom: type: string - type: + description: mint_denom is the denom of the coin to mint. + genesis_epoch_provisions: type: string - controller: + description: genesis_epoch_provisions epoch provisions from the first epoch. + epoch_identifier: type: string - blockchainAccountID: + description: epoch_identifier mint epoch identifier e.g. (day, week). + reduction_period_in_epochs: type: string - publicKeyHex: + format: int64 + description: |- + reduction_period_in_epochs the number of epochs it takes + to reduce the rewards. + reduction_factor: type: string - publicKeyMultibase: + description: |- + reduction_factor is the reduction multiplier to execute + at the end of each period set by reduction_period_in_epochs. + distribution_proportions: + description: >- + distribution_proportions defines the distribution proportions of the + minted + + denom. In other words, defines which stakeholders will receive the + minted + + denoms and how much. + type: object + properties: + staking: + type: string + description: >- + staking defines the proportion of the minted mint_denom that is to + be + + allocated as staking rewards. + impact_rewards: + type: string + description: >- + impact_rewards defines the proportion of the minted mint_denom + that is + + to be allocated to impact rewards addresses. + community_pool: + type: string + description: >- + community_pool defines the proportion of the minted mint_denom + that is + + to be allocated to the community pool. + weighted_impact_rewards_receivers: + type: array + items: + type: object + properties: + address: + type: string + weight: + type: string + description: |- + WeightedAddress represents an address with a weight assigned to it. + The weight is used to determine the proportion of the total minted + tokens to be minted to the address. + description: >- + weighted_impact_rewards_receivers is the address to receive impact + + rewards with weights assigned to each address. The final amount that + each + + address receives is: epoch_provisions * + + distribution_proportions.impact_rewards * Address's Weight. + minting_rewards_distribution_start_epoch: type: string - publicKeyBase58: + format: int64 + title: >- + minting_rewards_distribution_start_epoch start epoch to distribute + minting + + rewards + description: Params holds parameters for the x/mint module. + ixo.mint.v1beta1.QueryEpochProvisionsResponse: + type: object + properties: + epoch_provisions: type: string - ixo.iid.v1beta1.QueryIidDocumentResponse: + description: epoch_provisions is the current minting per epoch provisions value. + description: |- + QueryEpochProvisionsResponse is the response type for the + Query/EpochProvisions RPC method. + ixo.mint.v1beta1.QueryParamsResponse: type: object properties: - iidDocument: + params: + description: params defines the parameters of the module. type: object properties: - context: - type: array - items: - type: object - properties: - key: - type: string - val: - type: string - description: '@context is spec for did document.' - id: + mint_denom: type: string - description: id represents the id for the did document. - controller: - type: array - items: - type: string - title: >- - A DID controller is an entity that is authorized to make changes - to a DID + description: mint_denom is the denom of the coin to mint. + genesis_epoch_provisions: + type: string + description: genesis_epoch_provisions epoch provisions from the first epoch. + epoch_identifier: + type: string + description: epoch_identifier mint epoch identifier e.g. (day, week). + reduction_period_in_epochs: + type: string + format: int64 + description: |- + reduction_period_in_epochs the number of epochs it takes + to reduce the rewards. + reduction_factor: + type: string + description: |- + reduction_factor is the reduction multiplier to execute + at the end of each period set by reduction_period_in_epochs. + distribution_proportions: + description: >- + distribution_proportions defines the distribution proportions of + the minted - document. cfr. https://www.w3.org/TR/did-core/#did-controller - verificationMethod: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - controller: - type: string - blockchainAccountID: - type: string - publicKeyHex: - type: string - publicKeyMultibase: - type: string - publicKeyBase58: - type: string - title: >- - A DID document can express verification methods, + denom. In other words, defines which stakeholders will receive the + minted - such as cryptographic public keys, which can be used + denoms and how much. + type: object + properties: + staking: + type: string + description: >- + staking defines the proportion of the minted mint_denom that + is to be - to authenticate or authorize interactions with the DID subject or + allocated as staking rewards. + impact_rewards: + type: string + description: >- + impact_rewards defines the proportion of the minted mint_denom + that is - associated parties. - https://www.w3.org/TR/did-core/#verification-methods - service: + to be allocated to impact rewards addresses. + community_pool: + type: string + description: >- + community_pool defines the proportion of the minted mint_denom + that is + + to be allocated to the community pool. + weighted_impact_rewards_receivers: type: array items: type: object properties: - id: - type: string - type: + address: type: string - serviceEndpoint: + weight: type: string - title: >- - Services are used in DID documents to express ways of - communicating + description: >- + WeightedAddress represents an address with a weight assigned to + it. - with the DID subject or associated entities. + The weight is used to determine the proportion of the total + minted - https://www.w3.org/TR/did-core/#services - authentication: - type: array - items: - type: string - title: >- - NOTE: below this line there are the relationships + tokens to be minted to the address. + description: >- + weighted_impact_rewards_receivers is the address to receive impact - Authentication represents public key associated with the did - document. + rewards with weights assigned to each address. The final amount + that each - cfr. https://www.w3.org/TR/did-core/#authentication - assertionMethod: - type: array - items: - type: string - title: |- - Used to specify how the DID subject is expected to express claims, - such as for the purposes of issuing a Verifiable Credential. - cfr. https://www.w3.org/TR/did-core/#assertion - keyAgreement: - type: array - items: - type: string + address receives is: epoch_provisions * + + distribution_proportions.impact_rewards * Address's Weight. + minting_rewards_distribution_start_epoch: + type: string + format: int64 title: >- - used to specify how an entity can generate encryption material + minting_rewards_distribution_start_epoch start epoch to distribute + minting - in order to transmit confidential information intended for the DID - subject. + rewards + description: QueryParamsResponse is the response type for the Query/Params RPC method. + ixo.mint.v1beta1.WeightedAddress: + type: object + properties: + address: + type: string + weight: + type: string + description: |- + WeightedAddress represents an address with a weight assigned to it. + The weight is used to determine the proportion of the total minted + tokens to be minted to the address. + ixo.smartaccount.v1beta1.AccountAuthenticator: + type: object + properties: + id: + type: string + format: uint64 + description: ID uniquely identifies the authenticator instance. + type: + type: string + description: |- + Type specifies the category of the AccountAuthenticator. + This type information is essential for differentiating authenticators + and ensuring precise data retrieval from the storage layer. + config: + type: string + format: byte + description: >- + Config is a versatile field used in conjunction with the specific type + of - https://www.w3.org/TR/did-core/#key-agreement - capabilityInvocation: - type: array - items: - type: string - title: >- - Used to specify a verification method that might be used by the - DID subject + account authenticator to facilitate complex authentication processes. - to invoke a cryptographic capability, such as the authorization + The interpretation of this field is overloaded, enabling multiple - to update the DID Document. + authenticators to utilize it for their respective purposes. + description: >- + AccountAuthenticator represents a foundational model for all + authenticators. - https://www.w3.org/TR/did-core/#capability-invocation - capabilityDelegation: - type: array - items: - type: string - title: |- - Used to specify a mechanism that might be used by the DID subject - to delegate a cryptographic capability to another party. - https://www.w3.org/TR/did-core/#capability-delegation - linkedResource: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - description: - type: string - mediaType: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: - type: string - right: - type: string - linkedClaim: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - description: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: - type: string - right: - type: string - accordedRight: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - mechanism: - type: string - message: - type: string - service: - type: string - linkedEntity: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - relationship: - type: string - service: - type: string - alsoKnownAs: - type: string - metadata: - title: >- - Metadata concerning the IidDocument such as versionId, created, - updated and + It provides extensibility by allowing concrete types to interpret and - deactivated - type: object - properties: - versionId: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - deactivated: - type: boolean - ixo.iid.v1beta1.QueryIidDocumentsResponse: + validate transactions based on the encapsulated data. + ixo.smartaccount.v1beta1.GetAuthenticatorResponse: type: object properties: - iidDocuments: - type: array - items: - type: object - properties: - context: - type: array - items: - type: object - properties: - key: - type: string - val: - type: string - description: '@context is spec for did document.' - id: - type: string - description: id represents the id for the did document. - controller: - type: array - items: - type: string - title: >- - A DID controller is an entity that is authorized to make changes - to a DID - - document. cfr. https://www.w3.org/TR/did-core/#did-controller - verificationMethod: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - controller: - type: string - blockchainAccountID: - type: string - publicKeyHex: - type: string - publicKeyMultibase: - type: string - publicKeyBase58: - type: string - title: >- - A DID document can express verification methods, + account_authenticator: + type: object + properties: + id: + type: string + format: uint64 + description: ID uniquely identifies the authenticator instance. + type: + type: string + description: >- + Type specifies the category of the AccountAuthenticator. - such as cryptographic public keys, which can be used + This type information is essential for differentiating + authenticators - to authenticate or authorize interactions with the DID subject - or + and ensuring precise data retrieval from the storage layer. + config: + type: string + format: byte + description: >- + Config is a versatile field used in conjunction with the specific + type of - associated parties. - https://www.w3.org/TR/did-core/#verification-methods - service: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - serviceEndpoint: - type: string - title: >- - Services are used in DID documents to express ways of - communicating + account authenticator to facilitate complex authentication + processes. - with the DID subject or associated entities. + The interpretation of this field is overloaded, enabling multiple - https://www.w3.org/TR/did-core/#services - authentication: - type: array - items: - type: string - title: >- - NOTE: below this line there are the relationships + authenticators to utilize it for their respective purposes. + description: >- + AccountAuthenticator represents a foundational model for all + authenticators. - Authentication represents public key associated with the did - document. + It provides extensibility by allowing concrete types to interpret and - cfr. https://www.w3.org/TR/did-core/#authentication - assertionMethod: - type: array - items: - type: string - title: >- - Used to specify how the DID subject is expected to express - claims, + validate transactions based on the encapsulated data. + description: >- + MsgGetAuthenticatorResponse defines the Msg/GetAuthenticator response + type. + ixo.smartaccount.v1beta1.GetAuthenticatorsResponse: + type: object + properties: + account_authenticators: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: ID uniquely identifies the authenticator instance. + type: + type: string + description: >- + Type specifies the category of the AccountAuthenticator. - such as for the purposes of issuing a Verifiable Credential. + This type information is essential for differentiating + authenticators - cfr. https://www.w3.org/TR/did-core/#assertion - keyAgreement: - type: array - items: - type: string - title: >- - used to specify how an entity can generate encryption material + and ensuring precise data retrieval from the storage layer. + config: + type: string + format: byte + description: >- + Config is a versatile field used in conjunction with the + specific type of - in order to transmit confidential information intended for the - DID subject. + account authenticator to facilitate complex authentication + processes. - https://www.w3.org/TR/did-core/#key-agreement - capabilityInvocation: - type: array - items: - type: string - title: >- - Used to specify a verification method that might be used by the - DID subject + The interpretation of this field is overloaded, enabling + multiple - to invoke a cryptographic capability, such as the authorization + authenticators to utilize it for their respective purposes. + description: >- + AccountAuthenticator represents a foundational model for all + authenticators. - to update the DID Document. + It provides extensibility by allowing concrete types to interpret + and - https://www.w3.org/TR/did-core/#capability-invocation - capabilityDelegation: - type: array - items: - type: string - title: >- - Used to specify a mechanism that might be used by the DID - subject + validate transactions based on the encapsulated data. + description: >- + MsgGetAuthenticatorsResponse defines the Msg/GetAuthenticators response + type. + ixo.smartaccount.v1beta1.Params: + type: object + properties: + maximum_unauthenticated_gas: + type: string + format: uint64 + description: >- + MaximumUnauthenticatedGas defines the maximum amount of gas that can + be - to delegate a cryptographic capability to another party. + used to authenticate a transaction in ante handler without having fee + payer - https://www.w3.org/TR/did-core/#capability-delegation - linkedResource: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - description: - type: string - mediaType: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: - type: string - right: - type: string - linkedClaim: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - description: - type: string - serviceEndpoint: - type: string - proof: - type: string - encrypted: - type: string - right: - type: string - accordedRight: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - mechanism: - type: string - message: - type: string - service: - type: string - linkedEntity: - type: array - items: - type: object - properties: - type: - type: string - id: - type: string - relationship: - type: string - service: - type: string - alsoKnownAs: - type: string - metadata: - title: >- - Metadata concerning the IidDocument such as versionId, created, - updated and + authenticated. + is_smart_account_active: + type: boolean + description: |- + IsSmartAccountActive defines the state of the authenticator. + If set to false, the authenticator module will not be used + and the classic cosmos sdk authentication will be used instead. + circuit_breaker_controllers: + type: array + items: + type: string + description: >- + CircuitBreakerControllers defines list of addresses that are allowed + to - deactivated - type: object - properties: - versionId: - type: string - created: - type: string - format: date-time - updated: - type: string - format: date-time - deactivated: - type: boolean - pagination: - description: pagination defines the pagination in the response. + set is_smart_account_active without going through governance. + description: Params defines the parameters for the module. + ixo.smartaccount.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. 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: + maximum_unauthenticated_gas: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: >- + MaximumUnauthenticatedGas defines the maximum amount of gas that + can be - was set, its value is undefined otherwise + used to authenticate a transaction in ante handler without having + fee payer + + authenticated. + is_smart_account_active: + type: boolean + description: |- + IsSmartAccountActive defines the state of the authenticator. + If set to false, the authenticator module will not be used + and the classic cosmos sdk authentication will be used instead. + circuit_breaker_controllers: + type: array + items: + type: string + description: >- + CircuitBreakerControllers defines list of addresses that are + allowed to + + set is_smart_account_active without going through governance. + description: QueryParamsResponse is response type for the Query/Params RPC method. ixo.token.v1beta1.CreditsTransferred: type: object properties: diff --git a/scripts/protoc-docs-gen.sh b/scripts/protoc-docs-gen.sh index f37ccc51..8eb79726 100755 --- a/scripts/protoc-docs-gen.sh +++ b/scripts/protoc-docs-gen.sh @@ -12,7 +12,7 @@ sleep 2 buf protoc \ -I "proto" \ -I "$SWAGGER_DIR/third_party" \ - --doc_out=./docs/core \ + --doc_out=./lib/docs/core \ --doc_opt=markdown,proto-docs.md \ $(find "$(pwd)/proto" -maxdepth 5 -name '*.proto') @@ -20,7 +20,7 @@ buf protoc \ buf protoc \ -I "proto" \ -I "$SWAGGER_DIR/third_party" \ - --doc_out=./docs/core \ + --doc_out=./lib/docs/core \ --doc_opt=html,proto-docs.html \ $(find "$(pwd)/proto" -maxdepth 5 -name '*.proto') @@ -28,7 +28,7 @@ buf protoc \ buf protoc \ -I "proto" \ -I "$SWAGGER_DIR/third_party" \ - --doc_out=./docs/core \ + --doc_out=./lib/docs/core \ --doc_opt=json,proto-docs.json \ $(find "$(pwd)/proto" -maxdepth 5 -name '*.proto') diff --git a/scripts/protoc-swagger-gen.sh b/scripts/protoc-swagger-gen.sh index a8287c0c..578fc044 100644 --- a/scripts/protoc-swagger-gen.sh +++ b/scripts/protoc-swagger-gen.sh @@ -6,7 +6,7 @@ set -eo pipefail # The directory where the final output are to be stored -docs_dir="./docs" +docs_dir="./lib/docs" # The directory where temporary swagger files are to be stored before they are # combined. Will be deleted in the end From e612762d73384e1ba9747d39b52b36209387bcd9 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Fri, 29 Nov 2024 07:28:16 +0200 Subject: [PATCH 2/4] fix(upgrade): fix empty icq params upgrade panic, add liquidstake queries to wasm stargate whitelist --- app/upgrades/v4/upgrades.go | 26 +++++++++++++------------- wasmbinding/stargate_whitelist.go | 6 ++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/app/upgrades/v4/upgrades.go b/app/upgrades/v4/upgrades.go index 82c58f2b..4484d80a 100755 --- a/app/upgrades/v4/upgrades.go +++ b/app/upgrades/v4/upgrades.go @@ -137,6 +137,19 @@ func CreateUpgradeHandler( subspace.Set(ctx, stakingtypes.KeyGlobalLiquidStakingCap, ValidatorLiquidStakingCap) subspace.Set(ctx, stakingtypes.KeyValidatorLiquidStakingCap, GlobalLiquidStakingCap) } + + // If the subspace is for icq, set the new icq params before migration + // otheriwse chain like ixo devnet with no AllowQueries throw error on emoty bytes decode + // during RunMigrations + if subspace.Name() == icqtypes.ModuleName { + ctx.Logger().Info("Set new icq params before migration") + icqparams := icqtypes.DefaultParams() + icqparams.AllowQueries = wasmbinding.GetStargateWhitelistedPaths() + // Adding SmartContractState query to allowlist + icqparams.AllowQueries = append(icqparams.AllowQueries, "/cosmwasm.wasm.v1.Query/SmartContractState") + subspace.Set(ctx, icqtypes.KeyAllowQueries, icqparams.AllowQueries) + subspace.Set(ctx, icqtypes.KeyHostEnabled, icqparams.HostEnabled) + } } // Migrate Tendermint consensus parameters from x/params module to a deprecated x/consensus module. @@ -210,19 +223,6 @@ func CreateUpgradeHandler( liquidStakeParams.FeeAccountAddress = LSMFeeAccountAddress keepers.LiquidStakeKeeper.SetParams(ctx, liquidStakeParams) - // ------------------------------------------------- - // Set the ICQ params in the store - // ------------------------------------------------- - ctx.Logger().Info("Set ICQKeeper params") - icqparams := icqtypes.DefaultParams() - icqparams.AllowQueries = wasmbinding.GetStargateWhitelistedPaths() - // Adding SmartContractState query to allowlist - icqparams.AllowQueries = append(icqparams.AllowQueries, "/cosmwasm.wasm.v1.Query/SmartContractState") - err = keepers.ICQKeeper.SetParams(ctx, icqparams) - if err != nil { - return nil, err - } - // ------------------------------------------------- // Set the ICA Host params in the store // ------------------------------------------------- diff --git a/wasmbinding/stargate_whitelist.go b/wasmbinding/stargate_whitelist.go index 5eeecfdb..44c350e7 100755 --- a/wasmbinding/stargate_whitelist.go +++ b/wasmbinding/stargate_whitelist.go @@ -19,6 +19,7 @@ import ( entitytypes "github.com/ixofoundation/ixo-blockchain/v4/x/entity/types" epochtypes "github.com/ixofoundation/ixo-blockchain/v4/x/epochs/types" iidtypes "github.com/ixofoundation/ixo-blockchain/v4/x/iid/types" + liquidstaketypes "github.com/ixofoundation/ixo-blockchain/v4/x/liquidstake/types" minttypes "github.com/ixofoundation/ixo-blockchain/v4/x/mint/types" smartaccounttypes "github.com/ixofoundation/ixo-blockchain/v4/x/smart-account/types" tokentypes "github.com/ixofoundation/ixo-blockchain/v4/x/token/types" @@ -126,6 +127,11 @@ func init() { // mint setWhitelistedQuery("/ixo.mint.v1beta1.Query/Params", &minttypes.QueryParamsResponse{}) setWhitelistedQuery("/ixo.mint.v1beta1.Query/EpochProvisions", &minttypes.QueryEpochProvisionsResponse{}) + + // liquidstake + setWhitelistedQuery("/ixo.liquidstake.v1beta1.Query/Params", &liquidstaketypes.QueryParamsResponse{}) + setWhitelistedQuery("/ixo.liquidstake.v1beta1.Query/LiquidValidators", &liquidstaketypes.QueryLiquidValidatorsResponse{}) + setWhitelistedQuery("/ixo.liquidstake.v1beta1.Query/States", &liquidstaketypes.QueryStatesResponse{}) } // IsWhitelistedQuery returns if the query is not whitelisted. From 7910e1686b523477dfb57f0c24467bb34de3dcd1 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Thu, 5 Dec 2024 14:29:51 +0200 Subject: [PATCH 3/4] fix(upgrade): fix v4 upgrade constants --- scripts/release/create_all_binaries_json.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release/create_all_binaries_json.sh b/scripts/release/create_all_binaries_json.sh index d70561d0..344dd1dc 100755 --- a/scripts/release/create_all_binaries_json.sh +++ b/scripts/release/create_all_binaries_json.sh @@ -1,7 +1,7 @@ #!/bin/bash tags=( - "v2.0.0" + "v4.0.0" ) echo "# Cosmovisor binaries" From 2671d184bea9c7706552e4f4e02fb84aabf6fb70 Mon Sep 17 00:00:00 2001 From: Michael Pretorius Date: Thu, 5 Dec 2024 14:31:35 +0200 Subject: [PATCH 4/4] fix(upgrade): fix v4 upgrade constants --- app/upgrades/v4/constants.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/upgrades/v4/constants.go b/app/upgrades/v4/constants.go index 2138054d..69b5d96f 100755 --- a/app/upgrades/v4/constants.go +++ b/app/upgrades/v4/constants.go @@ -15,8 +15,6 @@ import ( smartaccounttypes "github.com/ixofoundation/ixo-blockchain/v4/x/smart-account/types" ) -// TODO: need details below!! - const ( // UpgradeName defines the on-chain upgrade name for the Ixo v4 upgrade. UpgradeName = "Dominia" @@ -41,7 +39,8 @@ const ( // IsSmartAccountActive is used for the smart account circuit breaker, smartaccounts are activated for v4 IsSmartAccountActive = true // CircuitBreakerController is a DAODAO address, used only to deactivate the smart account module - CircuitBreakerController = "ixo15rwc9v3jfvypve8zemdr7y68dydsrh9m2urvjn" + // Set to the Impact Hub DAO Security Group + CircuitBreakerController = "ixo1rrf8ydfh23y59vdv2aslvtfsua0vp84yyrg6gwflqht5dpexhxns45j7cd" ) var ( @@ -49,7 +48,7 @@ var ( // ------------------------------------------------- // total weights must be 10000 WhitelistedValidators = []liquidstaketypes.WhitelistedValidator{ - // Launchpad Validator to start with + // Internet of Impacts Launchpad Validator to start with { ValidatorAddress: "ixovaloper1kr8v9qt46ysltgmzcrtgyw5ckke83up673u2lu", TargetWeight: math.NewIntFromUint64(10000), @@ -62,12 +61,14 @@ var ( LSMAutocompoundFeeRate = math.LegacyZeroDec() // LSMWhitelistAdminAddress is the address of the whitelist admin, who is allowed to add/remove whitelisted validators, // pause/unpause the liquid stake module, and set the weighted rewards receivers. - LSMWhitelistAdminAddress = "ixo15rwc9v3jfvypve8zemdr7y68dydsrh9m2urvjn" + // Set to the ZERO DAO Members Group + LSMWhitelistAdminAddress = "ixo1dwaypqeva5j5p8a0dux9n35lp0aspepnfy9zj45fc9s3wmpvcz4sk6duea" // LSMWeightedRewardsReceivers is the list of weighted rewards receivers who will recieve the staking rewards based // on their weights. LSMWeightedRewardsReceivers = []liquidstaketypes.WeightedAddress{} // LSMFeeAccountAddress is the address of the fee account, which will receive the autocompound fees. - LSMFeeAccountAddress = "ixo15rwc9v3jfvypve8zemdr7y68dydsrh9m2urvjn" + // Set to the ZERO DAO "LS Fees" entity account + LSMFeeAccountAddress = "ixo1qzngrk3hnpytp9apt7442u3gyr0fyv9y4wvy6u" // STAKING PARAMS // -------------------------------------------------