diff --git a/.github/workflows/cover.yml b/.github/workflows/cover.yml deleted file mode 100644 index 08a8324837..0000000000 --- a/.github/workflows/cover.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Tests / Code Coverage -# Tests / Code Coverage workflow runs unit tests and uploads a code coverage report -# This workflow is run on pushes to master & every Pull Requests where a .go, .mod, .sum have been changed -on: - pull_request: - paths: - - "**.go" - - "go.mod" - - "go.sum" - push: - branches: - - main -jobs: - # This action cleans up previously running instances of a workflow on the same branch. This accomplishes - # the task of automatically cancelling CI runs on pushes to the same branch, which is a common feature in - # most CI systems but currently not possible with GitHub actions. - cleanup-runs: - runs-on: ubuntu-latest - steps: - - uses: rokroskar/workflow-run-cleanup-action@v0.3.2 - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'" - - # This action performs a code coverage assessment but filters out generated code from proto based types - # and grpc services - test-coverage: - runs-on: ubuntu-latest - timeout-minutes: 15 - steps: - - uses: actions/checkout@v2 - with: - # CodeCov requires fetch-depth > 1 - fetch-depth: 2 - - uses: actions/setup-go@v2.1.3 - with: - go-version: 1.15 - - name: Display go version - run: go version - - name: test & coverage report creation - run: make test-cover - - name: filter out DONTCOVER - run: | - excludelist="$(find ./ -type f -name '*.go' | xargs grep -l 'DONTCOVER')" - excludelist+=" $(find ./ -type f -name '*.pb.go')" - excludelist+=" $(find ./ -type f -name '*.pb.gw.go')" - excludelist+=" $(find ./ -type f -path './tests/mocks/*.go')" - for filename in ${excludelist}; do - filename=$(echo $filename | sed 's/^./github.com\/provenance\-io\/provenance/g') - echo "Excluding ${filename} from coverage report..." - sed -i "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt - done - - uses: codecov/codecov-action@v1.0.14 - with: - file: ./coverage.txt diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a3d359e9cb..08269a068f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,7 +21,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.15 + go-version: 1.16 - name: Go mod vendor run: | go mod vendor diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7f77621709..dc486c4919 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -22,7 +22,7 @@ jobs: - uses: golangci/golangci-lint-action@master with: # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. - version: v1.35 + version: v1.37 args: --timeout 10m github-token: ${{ secrets.github_token }} if: env.GIT_DIFF diff --git a/.github/workflows/matrix.yml b/.github/workflows/matrix.yml index 47d30a867a..1f34624c1c 100644 --- a/.github/workflows/matrix.yml +++ b/.github/workflows/matrix.yml @@ -32,7 +32,7 @@ jobs: - name: Setup go uses: actions/setup-go@v1 with: - go-version: 1.15 + go-version: 1.16 - name: Set tag version id: get_ver run: | diff --git a/.github/workflows/proto.yml b/.github/workflows/proto.yml index cc26c6c722..503bed0c43 100644 --- a/.github/workflows/proto.yml +++ b/.github/workflows/proto.yml @@ -3,19 +3,28 @@ name: Protobuf # This workflow is only run when a .proto file has been changed on: pull_request: - paths: - - "**.proto" + jobs: lint: runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@master + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.proto - name: lint - run: make proto-lint-docker - # breakage: - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@master - # - name: check-breakage - # run: make proto-check-breaking-docker + run: make proto-lint + if: env.GIT_DIFF + breakage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.proto + - name: check-breakage + run: make proto-check-breaking + if: env.GIT_DIFF diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..4dc1da0794 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,187 @@ +name: Tests / Code Coverage +# Tests / Code Coverage workflow runs unit tests and uploads a code coverage report +# This workflow is run on pushes to master & every Pull Requests where a .go, .mod, .sum have been changed +on: + pull_request: + paths: + - "**.go" + - "go.mod" + - "go.sum" + push: + branches: + - main +jobs: + # This action cleans up previously running instances of a workflow on the same branch. This accomplishes + # the task of automatically cancelling CI runs on pushes to the same branch, which is a common feature in + # most CI systems but currently not possible with GitHub actions. + cleanup-runs: + runs-on: ubuntu-latest + steps: + - uses: rokroskar/workflow-run-cleanup-action@v0.3.2 + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'" + + + install-tparse: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-go@v2.1.3 + with: + go-version: 1.16 + - name: Display go version + run: go version + - name: install tparse + run: | + export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3 + - uses: actions/cache@v2.1.4 + with: + path: ~/go/bin + key: ${{ runner.os }}-go-tparse-binary + + + split-test-files: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Create a file with all the pkgs + run: go list ./... > pkgs.txt + - name: Split pkgs into 4 files + run: split -d -n l/4 pkgs.txt pkgs.txt.part. + # cache multiple + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-00" + path: ./pkgs.txt.part.00 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-01" + path: ./pkgs.txt.part.01 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-02" + path: ./pkgs.txt.part.02 + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-03" + path: ./pkgs.txt.part.03 + + + tests: + runs-on: ubuntu-latest + needs: split-test-files + strategy: + fail-fast: false + matrix: + part: ["00", "01", "02", "03"] + steps: + - uses: actions/checkout@v2 + with: + # CodeCov requires fetch-depth > 1 + fetch-depth: 2 + - uses: actions/setup-go@v2.1.3 + with: + go-version: 1.16 + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.go + go.mod + go.sum + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}" + if: env.GIT_DIFF + - name: test & coverage report creation + run: | + cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='norace ledger test_ledger_mock' + if: env.GIT_DIFF + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}-coverage" + path: ./${{ matrix.part }}profile.out + + + # This action performs a code coverage assessment but filters out generated code from proto based types + # and grpc services + upload-coverage-report: + runs-on: ubuntu-latest + needs: tests + steps: + - uses: actions/checkout@v2 + with: + # CodeCov requires fetch-depth > 1 + fetch-depth: 2 + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.go + go.mod + go.sum + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-00-coverage" + if: env.GIT_DIFF + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-01-coverage" + if: env.GIT_DIFF + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-02-coverage" + if: env.GIT_DIFF + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-03-coverage" + if: env.GIT_DIFF + - run: | + cat ./*profile.out | grep -v "mode: atomic" >> coverage.txt + if: env.GIT_DIFF + - name: filter out DONTCOVER + run: | + excludelist="$(find ./ -type f -name '*.go' | xargs grep -l 'DONTCOVER')" + excludelist+=" $(find ./ -type f -name '*.pb.go')" + excludelist+=" $(find ./ -type f -name '*.pb.gw.go')" + excludelist+=" $(find ./ -type f -path './tests/mocks/*.go')" + for filename in ${excludelist}; do + filename=$(echo $filename | sed 's/^./github.com\/cosmos\/cosmos-sdk/g') + echo "Excluding ${filename} from coverage report..." + sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt + done + if: env.GIT_DIFF + - uses: codecov/codecov-action@v1.3.1 + with: + file: ./coverage.txt + if: env.GIT_DIFF + + + test-race: + runs-on: ubuntu-latest + needs: split-test-files + strategy: + fail-fast: false + matrix: + part: ["00", "01", "02", "03"] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2.1.3 + with: + go-version: 1.16 + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.go + go.mod + go.sum + - uses: actions/download-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}" + if: env.GIT_DIFF + - name: test & coverage report creation + run: | + xargs --arg-file=pkgs.txt.part.${{ matrix.part }} go test -mod=readonly -timeout 30m -race -tags='cgo ledger test_ledger_mock' + if: env.GIT_DIFF + - uses: actions/upload-artifact@v2 + with: + name: "${{ github.sha }}-${{ matrix.part }}-race-output" + path: ./${{ matrix.part }}-race-output.txt \ No newline at end of file diff --git a/Makefile b/Makefile index 38fbd80f56..39aadc1eaf 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ endif GO := go +HTTPS_GIT := https://github.com/provenance-io/provenance.git DOCKER := $(shell which docker) DOCKER_BUF := $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace bufbuild/buf @@ -312,22 +313,16 @@ proto-format: # This generates the SDK's custom wrapper for google.protobuf.Any. It should only be run manually when needed proto-gen-any: - @./scripts/protocgen-any.sh + $(DOCKER) run --rm -v $(CURDIR):/workspace --workdir /workspace tendermintdev/sdk-proto-gen sh ./scripts/protocgen-any.sh proto-swagger-gen: @./scripts/protoc-swagger-gen.sh proto-lint: - @buf check lint --error-format=json + @$(DOCKER_BUF) lint --error-format=json proto-check-breaking: - @buf check breaking --against-input '.git#branch=main' - -proto-lint-docker: - @$(DOCKER_BUF) check lint --error-format=json - -proto-check-breaking-docker: - @$(DOCKER_BUF) check breaking --against-input $(HTTPS_GIT)#branch=main + @$(DOCKER_BUF) breaking --against $(HTTPS_GIT)#branch=main TM_URL = https://raw.githubusercontent.com/tendermint/tendermint/v0.34.x/proto/tendermint GOGO_PROTO_URL = https://raw.githubusercontent.com/regen-network/protobuf/cosmos @@ -409,7 +404,7 @@ proto-update-deps: @rm $(CONFIO_TYPES)/proofs.proto.orig .PHONY: proto-all proto-gen proto-format proto-gen-any proto-swagger-gen proto-lint proto-check-breaking -.PHONY: proto-lint-docker proto-check-breaking-docker proto-update-deps +.PHONY: proto-update-deps ############################## diff --git a/buf.yaml b/buf.yaml index 7145938617..ecea563ac0 100644 --- a/buf.yaml +++ b/buf.yaml @@ -15,6 +15,7 @@ lint: - COMMENT_FIELD - SERVICE_SUFFIX - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME ignore: - tendermint - gogoproto @@ -35,6 +36,8 @@ lint: breaking: use: - FILE + except: + - FIELD_NO_DELETE ignore: - tendermint - gogoproto diff --git a/client/docs/config.json b/client/docs/config.json index 8fe341ae2a..fb15e66b3f 100644 --- a/client/docs/config.json +++ b/client/docs/config.json @@ -3,7 +3,7 @@ "info": { "title": "Provenance Blockchain", "description": "Provenance Blockchain Node Application", - "version": "2.0.0" + "version": "1.0.0" }, "apis": [ { @@ -40,14 +40,7 @@ "Params": "NameParams" } } - }, { - "url": "./tmp-swagger-gen/provenance/spec/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "SpecificationParams" - } - } - }, + } ] } \ No newline at end of file diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index d8f19bf0b7..30ee472ef3 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -1,7 +1,7 @@ swagger: '2.0' info: - title: Cosmos SDK - Legacy REST and gRPC Gateway docs - description: 'A REST interface for state queries, legacy transactions' + title: Provenance Blockchain + description: Provenance Blockchain Node Application version: 1.0.0 paths: '/name/{name}': @@ -304,11 +304,11 @@ paths: description: Unauthorized '500': description: Internal server error - '/attribute/{address}/attributes': + '/account/{address}/attributes': get: summary: Get all attributes for the given account address. tags: - - Attribute + - Account description: Get all account attributes produces: - application/json @@ -324,11 +324,11 @@ paths: description: The typed key-value pair attributes for the account. '404': description: Not found - '/attribute/{address}/attributes/{name}': + '/account/{address}/attributes/{name}': get: summary: Get attributes for the account address with the given name. tags: - - Attribute + - Account description: Get account attributes by name produces: - application/json @@ -350,11 +350,11 @@ paths: description: The typed attributes for the account. '404': description: Not found - '/attribute/{address}/scan/{suffix}': + '/account/{address}/scan/{suffix}': get: summary: Get attributes for the account address with the given name suffix tags: - - Attribute + - Account description: Get account attributes by name suffix produces: - application/json @@ -376,13 +376,13 @@ paths: description: The typed attributes for the account. '404': description: Not found - /attribute/attributes: + /account/attributes: post: summary: >- Generate an unsigned transaction that will add an attribute to an account. tags: - - Attribute + - Account consumes: - application/json produces: @@ -6241,1309 +6241,10315 @@ paths: description: Invalid coin denomination '500': description: Internal Server Error -definitions: - CheckTxResult: - type: object - properties: - code: - type: integer - data: - type: string - gas_used: - type: integer - gas_wanted: - type: integer - info: - type: string - log: - type: string - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - example: - code: 0 - data: data - log: log - gas_used: 5000 - gas_wanted: 10000 - info: info - tags: - - '' - - '' - DeliverTxResult: - type: object - properties: - code: - type: integer - data: - type: string - gas_used: - type: integer - gas_wanted: - type: integer - info: - type: string - log: - type: string - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - example: - code: 5 - data: data - log: log - gas_used: 5000 - gas_wanted: 10000 - info: info - tags: - - '' - - '' - BroadcastTxCommitResult: - type: object - properties: - check_tx: - type: object - properties: - code: - type: integer - data: - type: string - gas_used: - type: integer - gas_wanted: - type: integer - info: - type: string - log: - type: string - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - example: - code: 0 - data: data - log: log - gas_used: 5000 - gas_wanted: 10000 - info: info - tags: - - '' - - '' - deliver_tx: - type: object - properties: - code: - type: integer - data: - type: string - gas_used: - type: integer - gas_wanted: - type: integer - info: - type: string - log: - type: string - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - example: - code: 5 - data: data - log: log - gas_used: 5000 - gas_wanted: 10000 - info: info - tags: - - '' - - '' - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - height: - type: integer - KVPair: - type: object - properties: - key: - type: string - value: - type: string - Msg: - type: object - Address: - type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - ValidatorAddress: - type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - Coin: - type: object - properties: - denom: - type: string - example: vspn - amount: - type: string - example: '5000' - Hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - TxQuery: - type: object - properties: - hash: - type: string - example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656 - height: - type: number - example: 368 - tx: - type: object - properties: - msg: - type: array - items: - type: object - fee: + '/provenance/attribute/v1/attribute/{account}/scan/{suffix}': + get: + summary: >- + Scan queries attributes on a given account (address) for any that match + the provided suffix + operationId: Scan + responses: + '200': + description: A successful response. + schema: type: object properties: - gas: + account: type: string - amount: + title: >- + a string containing the address of the account the attributes + are assigned to= + attributes: type: array items: type: object properties: - denom: + name: type: string - example: vspn - amount: + description: The attribute name. + value: type: string - example: '5000' - memo: - type: string - signature: - type: object - properties: - signature: - type: string - example: >- - MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= - pub_key: + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data + associated with an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - type: + next_key: type: string - example: tendermint/PubKeySecp256k1 - value: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH - account_number: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryScanResponse is the response type for the Query/Attribute + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: type: string - example: '0' - sequence: + code: + type: integer + format: int32 + message: type: string - example: '0' - result: - type: object - properties: - log: - type: string - gas_wanted: - type: string - example: '200000' - gas_used: - type: string - example: '26354' - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - PaginatedQueryTxs: + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: account + description: account defines the address to query for. + in: path + required: true + type: string + - name: suffix + description: >- + name defines the partial attribute name to search for base on names + being in RDNS format. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/provenance/attribute/v1/attribute/{account}/{name}': + get: + summary: >- + Attribute queries attributes on a given account (address) for one (or + more) with the given name + operationId: Attribute + responses: + '200': + description: A successful response. + schema: + type: object + properties: + account: + type: string + description: >- + a string containing the address of the account the attributes + are assigned to. + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data + associated with an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAttributeResponse is the response type for the + Query/Attribute method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: account + description: account defines the address to query for. + in: path + required: true + type: string + - name: name + description: name is the attribute name to query 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 + tags: + - Query + '/provenance/attribute/v1/attributes/{account}': + get: + summary: >- + Attributes queries attributes on a given account (address) for any + defined attributes + operationId: Attributes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + account: + type: string + title: >- + a string containing the address of the account the attributes + are assigned to= + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data + associated with an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAttributesResponse is the response type for the + Query/Attribute method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: account + description: account defines the address to query 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 + tags: + - Query + /provenance/attribute/v1/params: + get: + summary: Params queries params of the attribute module. + operationId: AttributeParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_value_length: + type: integer + format: int64 + title: maximum length of data to allow in an attribute value + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + '/provenance/marker/v1/accesscontrol/{id}': + get: + summary: query for access records on an account + operationId: Access + responses: + '200': + description: A successful response. + schema: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + address: + type: string + permissions: + type: array + items: + type: string + enum: + - ACCESS_UNSPECIFIED + - ACCESS_MINT + - ACCESS_BURN + - ACCESS_DEPOSIT + - ACCESS_WITHDRAW + - ACCESS_DELETE + - ACCESS_ADMIN + - ACCESS_TRANSFER + default: ACCESS_UNSPECIFIED + description: >- + Access defines the different types of permissions that + a marker supports granting to an address. + + - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. + - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker + - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. + - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module + - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or + transfer coin from this marker account to another + account. + - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This + access also allows cancelled markers to be marked for + deletion + - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. + - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. + This capability is useful when the marker denomination + has "send enabled = false" preventing normal bank + transfer + description: >- + AccessGrant associates a colelction of permisssions with an + address for delegated marker account control. + description: >- + QueryAccessResponse is the response type for the + Query/MarkerAccess method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + /provenance/marker/v1/all: + get: + summary: Returns a list of all markers on the blockchain + operationId: AllMarkers + responses: + '200': + description: A successful response. + schema: + type: object + properties: + markers: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllMarkersResponse is the response type for the + Query/AllMarkers method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: status + description: |- + Optional status to filter request. + + - MARKER_STATUS_UNSPECIFIED: MARKER_STATUS_UNSPECIFIED - Unknown/Invalid Marker Status + - MARKER_STATUS_PROPOSED: MARKER_STATUS_PROPOSED - Initial configuration period, updates allowed, token supply not created. + - MARKER_STATUS_FINALIZED: MARKER_STATUS_FINALIZED - Configuration finalized, ready for supply creation + - MARKER_STATUS_ACTIVE: MARKER_STATUS_ACTIVE - Supply is created, rules are in force. + - MARKER_STATUS_CANCELLED: MARKER_STATUS_CANCELLED - Marker has been cancelled, pending destroy + - MARKER_STATUS_DESTROYED: MARKER_STATUS_DESTROYED - Marker supply has all been recalled, marker is considered destroyed and no further + actions allowed. + in: query + required: false + type: string + enum: + - MARKER_STATUS_UNSPECIFIED + - MARKER_STATUS_PROPOSED + - MARKER_STATUS_FINALIZED + - MARKER_STATUS_ACTIVE + - MARKER_STATUS_CANCELLED + - MARKER_STATUS_DESTROYED + default: MARKER_STATUS_UNSPECIFIED + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/provenance/marker/v1/detail/{id}': + get: + summary: query for a single marker by denom or address + operationId: Marker + responses: + '200': + description: A successful response. + schema: + type: object + properties: + marker: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryMarkerResponse is the response type for the Query/Marker + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: id + description: the address or denom of the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/escrow/{id}': + get: + summary: query for coins on a marker account + operationId: Escrow + responses: + '200': + description: A successful response. + schema: + type: object + properties: + escrow: + type: array + items: + type: object + properties: + 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: >- + QueryEscrowResponse is the response type for the + Query/MarkerEscrow method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/getdenommetadata/{denom}': + get: + summary: query for access records on an account + operationId: DenomMetadata + responses: + '200': + description: A successful response. + schema: + type: object + properties: + metadata: + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom + unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one + must + + raise the base_denom to in order to equal the given + DenomUnit's denom + + 1 denom = 1^exponent base_denom + + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with + + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: >- + aliases is a list of string aliases for the given + denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: >- + denom_units represents the list of DenomUnit's for a given + coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit + with exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + description: |- + Metadata represents a struct that describes + a basic token. + title: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: denom + in: path + required: true + type: string + tags: + - Query + '/provenance/marker/v1/holding/{id}': + get: + summary: query for all accounts holding the given marker coins + operationId: Holding + responses: + '200': + description: A successful response. + schema: + type: object + properties: + balances: + type: array + items: + type: object + properties: + address: + type: string + description: address is the address of the balance holder. + coins: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: coins defines the different coins this balance holds. + title: >- + Balance defines an account address and balance pair used in + queries for accounts holding a marker + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryHoldingResponse is the response type for the + Query/MarkerHolders method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: id + description: the address or denom of the marker + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + /provenance/marker/v1/params: + get: + summary: Params queries the parameters of x/bank module. + operationId: MarkerParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_total_supply: + type: string + format: uint64 + title: >- + maximum amount of supply to allow a marker to be created + with + enable_governance: + type: boolean + description: >- + indicates if governance based controls of markers is + allowed. + unrestricted_denom_regex: + type: string + title: >- + a regular expression used to validate marker denom values + from normal create requests (governance + + requests are only subject to platform coin validation + denom expression) + 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 + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Query + '/provenance/marker/v1/supply/{id}': + get: + summary: query for supply of coin on a marker account + operationId: Supply + responses: + '200': + description: A successful response. + schema: + type: object + properties: + amount: + 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: >- + QuerySupplyResponse is the response type for the + Query/MarkerSupply method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: id + description: address or denom for the marker + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/contractspec/{contract_specification_uuid}/recordspecs': + get: + summary: >- + RecordSpecificationsForContractSpecification returns the record + specifications for the given contract specification + + uuid + operationId: RecordSpecificationsForContractSpecification + responses: + '200': + description: A successful response. + schema: + type: object + properties: + record_specifications: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to define an + input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an unknown/invalid + value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + contract_specification_uuid: + type: string + description: >- + RecordSpecificationResponseResponse is the response to a record + specification for contract specification request. + 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: contract_specification_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/contractspec/{specification_uuid}': + get: + summary: >- + ContractSpecification returns a contract specification for the given + specification uuid + operationId: ContractSpecification + responses: + '200': + description: A successful response. + schema: + type: object + properties: + contract_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to + associate with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + a list of party roles that must be fullfilled when signing + a transaction for this contract specification + resource_id: + type: string + format: byte + title: >- + the address of a record on chain that represents this + contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + contract_specification_uuid: + type: string + description: >- + ContractSpecificationResponse is the response to a contract + specification request. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/contractspec/{specification_uuid}/extended': + get: + summary: >- + ContractSpecification returns a contract specification and record + specifications for the given contract + + specification uuid + operationId: ContractSpecificationExtended + responses: + '200': + description: A successful response. + schema: + type: object + properties: + contract_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to + associate with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + a list of party roles that must be fullfilled when signing + a transaction for this contract specification + resource_id: + type: string + format: byte + title: >- + the address of a record on chain that represents this + contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + record_specifications: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and + source reference (either on or off chain) to define an + input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: + DEFINITION_TYPE_UNSPECIFIED indicates an unknown/invalid + value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + contract_specification_uuid: + type: string + description: >- + ContractSpecificationExtendedResponse is the response to a + contract specification extended request. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/ownership/{address}': + get: + summary: >- + Ownership returns a list of scope identifiers that list the given + address as a data or value owner + operationId: Ownership + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + OwnershipResponse is the reponse to the ownership request and + includes a list of scope identifiers + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + /provenance/metadata/v1/params: + get: + summary: Params queries the parameters of x/metadata module. + operationId: MetadataParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + '/provenance/metadata/v1/recordspec/id/{record_specification_id}': + get: + summary: >- + RecordSpecificationByID returns a record specification for the given + record specification id + operationId: RecordSpecificationByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + record_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + record_specification_id: + type: string + description: >- + RecordSpecificationByIDResponse is the response to a record + specification by id request. + 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: record_specification_id + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/recordspec/{contract_specification_uuid}/{name}': + get: + summary: >- + RecordSpecification returns a record specification for the given + contract specification uuid and record name + operationId: RecordSpecification + responses: + '200': + description: A successful response. + schema: + type: object + properties: + record_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this + specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record + (typically a class or proto name) + result_type: + title: >- + Type of result for this record specification (must be + RECORD or RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record + including allowed/required inputs/outputs + contract_specification_uuid: + type: string + name: + type: string + description: >- + RecordSpecificationResponse is the response to a record + specification request. + 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: contract_specification_uuid + in: path + required: true + type: string + - name: name + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scope/id/{scope_id}/records/{name}': + get: + summary: >- + RecordsByScopeID returns a collection of the records in a scope by scope + bech32 id or a specific one by name + operationId: RecordsByScopeID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuid: + type: string + scope_id: + type: string + records: + type: array + items: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be unique + within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this + record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that was + invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the definition + spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on + this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated + for this record + status: + title: >- + Status of the process execution associated with + this output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on the + given process indicated in this record + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + title: >- + RecordsByScopeIDResponse is the response to a + RecordsByScopeIDRequest + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + in: path + required: true + type: string + - name: name + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scope/id/{scope_id}/session/{session_id}': + get: + summary: >- + SessionContextByID returns a specific session context within a scope (or + all sessions) + operationId: SessionContextByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_id: + type: string + session_id: + type: string + sessions: + type: array + items: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was used to + create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A Party is an address with/in a given role associated + with a contract + title: Set of identities that signed this contract + name: + type: string + title: >- + name to associate with this session execution context, + typically classname + audit: + description: >- + Created by, updated by, timestamps, version number, and + related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with + each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last account + to make modifications and when they were made + description: >- + The context will have a specification and set of parties + involved. The Session may be updated several + + times so long as the parties listed are signers on the + transaction. NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a + specific specification instance + title: >- + SessionContextByIDResponse is the response to a + SessionContextByIDRequest + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_id + in: path + required: true + type: string + - name: session_id + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scope/uuid/{scope_uuid}/records/{name}': + get: + summary: >- + RecordsByScopeUUID returns a collection of the records in a scope by + scope uuid or a specific one by name + operationId: RecordsByScopeUUID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuid: + type: string + scope_id: + type: string + records: + type: array + items: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be unique + within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this + record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that was + invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the definition + spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on + this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated + for this record + status: + title: >- + Status of the process execution associated with + this output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on the + given process indicated in this record + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + title: >- + RecordsByScopeUUIDResponse is the response to a + RecordsByScopeUUIDRequest + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_uuid + in: path + required: true + type: string + - name: name + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scope/uuid/{scope_uuid}/session/{session_uuid}': + get: + summary: >- + SessionContextByUUID returns a specific session context within a scope + (or all sessions) + operationId: SessionContextByUUID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_id: + type: string + session_id: + type: string + sessions: + type: array + items: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was used to + create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A Party is an address with/in a given role associated + with a contract + title: Set of identities that signed this contract + name: + type: string + title: >- + name to associate with this session execution context, + typically classname + audit: + description: >- + Created by, updated by, timestamps, version number, and + related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with + each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last account + to make modifications and when they were made + description: >- + The context will have a specification and set of parties + involved. The Session may be updated several + + times so long as the parties listed are signers on the + transaction. NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a + specific specification instance + title: >- + SessionContextByUUIDResponse is the response to a + SessionContextByUUIDRequest + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_uuid + in: path + required: true + type: string + - name: session_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scope/{scope_uuid}': + get: + summary: Scope returns a specific scope by id + operationId: Scope + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope: + type: object + properties: + scope_id: + type: string + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address + interface for use where addresses are required in Cosmos + specification_id: + type: string + format: byte + title: >- + the scope specification that contains the specifications + for data elements allowed within this scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is + an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A Party is an address with/in a given role associated + with a contract + description: >- + These parties represent top level owners of the records + within. These parties must sign any requests that modify + + the data within the scope. These addresses are in union + with parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addessses in this list are authorized to recieve off-chain + data associated with this scope. + value_owner_address: + type: string + description: >- + An address that controls the value associated with this + scope. Standard blockchain accounts and marker accounts + + are supported for this value. This attribute may only be + changed by the entity indicated once it is set. + description: >- + Scope defines a root reference for a collection of records + owned by one or more parties. + sessions: + type: array + items: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was used to + create this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED + is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a + contract may use + title: >- + A Party is an address with/in a given role associated + with a contract + title: Set of identities that signed this contract + name: + type: string + title: >- + name to associate with this session execution context, + typically classname + audit: + description: >- + Created by, updated by, timestamps, version number, and + related info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with + each update + message: + type: string + title: >- + an optional message associated with the + creation/update event + title: >- + AuditFields capture information about the last account + to make modifications and when they were made + description: >- + The context will have a specification and set of parties + involved. The Session may be updated several + + times so long as the parties listed are signers on the + transaction. NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a + specific specification instance + records: + type: array + items: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be unique + within the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this + record (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: >- + the address of a smart contract used for this + process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, + classname or smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific + operation (method) within a class/contract that was + invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: >- + Name value included to link back to the definition + spec. + record_id: + type: string + format: byte + title: >- + the address of a record on chain (For Established + Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on + chain or just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on + this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated + for this record + status: + title: >- + Status of the process execution associated with + this output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: + RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process + recorded on chain + title: >- + output(s) is the results of executing the process on the + given process indicated in this record + title: >- + A record (of fact) is attached to a session or each + consideration output from a contract + scope_uuid: + type: string + description: ScopeResponse is the response to a scope request. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: scope_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/scopespec/{specification_uuid}': + get: + summary: >- + ScopeSpecification returns a scope specification for the given + specification uuid + operationId: ScopeSpecification + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + description: General information about this scope specification. + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + A list of parties that must be present on a scope (and + their associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte + description: >- + A list of contract specification ids allowed for a scope + based on this specification. + title: >- + ScopeSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + specification_uuid: + type: string + description: >- + ScopeSpecification is the response to a scope specification + request. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: specification_uuid + in: path + required: true + type: string + tags: + - Query + '/provenance/metadata/v1/valueownership/{address}': + get: + summary: >- + ValueOwnership returns a list of scope identifiers that list the given + address as the value owner + operationId: ValueOwnership + responses: + '200': + description: A successful response. + schema: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + ValueOwnershipResponse is the reponse to the Valueownership + request and includes a list of scope identifiers + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + '/provenance/name/v1/lookup/{address}': + get: + summary: ReverseLookup queries for all names bound against a given address + operationId: ReverseLookup + responses: + '200': + description: A successful response. + schema: + type: object + properties: + name: + type: array + items: + type: string + title: an array of names bound against a given address + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryReverseLookupResponse is the response type for the + Query/Resolve method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + description: address to find name records for + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + tags: + - Query + /provenance/name/v1/params: + get: + summary: Params queries params of the name module. + operationId: NameParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: + `foo.bar.baz` would be 3 + allow_unrestricted_names: + type: boolean + title: determines if unrestricted name keys are allowed or not + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + tags: + - Query + '/provenance/name/v1/resolve/{name}': + get: + summary: Resolve queries for the address associated with a given name + operationId: Resolve + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + title: a string containing the address the name resolves to + description: >- + QueryResolveResponse is the response type for the Query/Resolve + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: name + description: name to resolve the address for + in: path + required: true + type: string + tags: + - Query +definitions: + CheckTxResult: + type: object + properties: + code: + type: integer + data: + type: string + gas_used: + type: integer + gas_wanted: + type: integer + info: + type: string + log: + type: string + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + example: + code: 0 + data: data + log: log + gas_used: 5000 + gas_wanted: 10000 + info: info + tags: + - '' + - '' + DeliverTxResult: + type: object + properties: + code: + type: integer + data: + type: string + gas_used: + type: integer + gas_wanted: + type: integer + info: + type: string + log: + type: string + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + example: + code: 5 + data: data + log: log + gas_used: 5000 + gas_wanted: 10000 + info: info + tags: + - '' + - '' + BroadcastTxCommitResult: + type: object + properties: + check_tx: + type: object + properties: + code: + type: integer + data: + type: string + gas_used: + type: integer + gas_wanted: + type: integer + info: + type: string + log: + type: string + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + example: + code: 0 + data: data + log: log + gas_used: 5000 + gas_wanted: 10000 + info: info + tags: + - '' + - '' + deliver_tx: + type: object + properties: + code: + type: integer + data: + type: string + gas_used: + type: integer + gas_wanted: + type: integer + info: + type: string + log: + type: string + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + example: + code: 5 + data: data + log: log + gas_used: 5000 + gas_wanted: 10000 + info: info + tags: + - '' + - '' + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + height: + type: integer + KVPair: + type: object + properties: + key: + type: string + value: + type: string + Msg: + type: object + Address: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + ValidatorAddress: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + Coin: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + Hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + TxQuery: + type: object + properties: + hash: + type: string + example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656 + height: + type: number + example: 368 + tx: + type: object + properties: + msg: + type: array + items: + type: object + fee: + type: object + properties: + gas: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + memo: + type: string + signature: + type: object + properties: + signature: + type: string + example: >- + MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= + pub_key: + type: object + properties: + type: + type: string + example: tendermint/PubKeySecp256k1 + value: + type: string + example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH + account_number: + type: string + example: '0' + sequence: + type: string + example: '0' + result: + type: object + properties: + log: + type: string + gas_wanted: + type: string + example: '200000' + gas_used: + type: string + example: '26354' + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + PaginatedQueryTxs: + type: object + properties: + total_count: + type: number + example: 1 + count: + type: number + example: 1 + page_number: + type: number + example: 1 + page_total: + type: number + example: 1 + limit: + type: number + example: 30 + txs: + type: array + items: + type: object + properties: + hash: + type: string + example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656 + height: + type: number + example: 368 + tx: + type: object + properties: + msg: + type: array + items: + type: object + fee: + type: object + properties: + gas: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + memo: + type: string + signature: + type: object + properties: + signature: + type: string + example: >- + MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= + pub_key: + type: object + properties: + type: + type: string + example: tendermint/PubKeySecp256k1 + value: + type: string + example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH + account_number: + type: string + example: '0' + sequence: + type: string + example: '0' + result: + type: object + properties: + log: + type: string + gas_wanted: + type: string + example: '200000' + gas_used: + type: string + example: '26354' + tags: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + StdTx: + type: object + properties: + msg: + type: array + items: + type: object + fee: + type: object + properties: + gas: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + memo: + type: string + signature: + type: object + properties: + signature: + type: string + example: >- + MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= + pub_key: + type: object + properties: + type: + type: string + example: tendermint/PubKeySecp256k1 + value: + type: string + example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH + account_number: + type: string + example: '0' + sequence: + type: string + example: '0' + BlockID: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + BlockHeader: + type: object + properties: + chain_id: + type: string + example: provenance-test-chain + height: + type: number + example: 1 + time: + type: string + example: '2017-12-30T05:53:09.287+01:00' + num_txs: + type: number + example: 0 + last_block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + total_txs: + type: number + example: 35 + last_commit_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + data_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + next_validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + consensus_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + app_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + last_results_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + evidence_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + proposer_address: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + version: + type: object + properties: + block: + type: string + example: 10 + app: + type: string + example: 0 + Block: + type: object + properties: + header: + type: object + properties: + chain_id: + type: string + example: provenance-test-chain + height: + type: number + example: 1 + time: + type: string + example: '2017-12-30T05:53:09.287+01:00' + num_txs: + type: number + example: 0 + last_block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + total_txs: + type: number + example: 35 + last_commit_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + data_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + next_validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + consensus_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + app_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + last_results_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + evidence_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + proposer_address: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + version: + type: object + properties: + block: + type: string + example: 10 + app: + type: string + example: 0 + txs: + type: array + items: + type: string + evidence: + type: array + items: + type: string + last_commit: + type: object + properties: + block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + precommits: + type: array + items: + type: object + properties: + validator_address: + type: string + validator_index: + type: string + example: '0' + height: + type: string + example: '0' + round: + type: string + example: '0' + timestamp: + type: string + example: '2017-12-30T05:53:09.287+01:00' + type: + type: number + example: 2 + block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + signature: + type: string + example: >- + 7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ== + BlockQuery: + type: object + properties: + block_meta: + type: object + properties: + header: + type: object + properties: + chain_id: + type: string + example: provenance-test-chain + height: + type: number + example: 1 + time: + type: string + example: '2017-12-30T05:53:09.287+01:00' + num_txs: + type: number + example: 0 + last_block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + total_txs: + type: number + example: 35 + last_commit_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + data_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + next_validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + consensus_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + app_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + last_results_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + evidence_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + proposer_address: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + version: + type: object + properties: + block: + type: string + example: 10 + app: + type: string + example: 0 + block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + block: + type: object + properties: + header: + type: object + properties: + chain_id: + type: string + example: provenance-test-chain + height: + type: number + example: 1 + time: + type: string + example: '2017-12-30T05:53:09.287+01:00' + num_txs: + type: number + example: 0 + last_block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + total_txs: + type: number + example: 35 + last_commit_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + data_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + next_validators_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + consensus_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + app_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + last_results_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + evidence_hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + proposer_address: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + version: + type: object + properties: + block: + type: string + example: 10 + app: + type: string + example: 0 + txs: + type: array + items: + type: string + evidence: + type: array + items: + type: string + last_commit: + type: object + properties: + block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + precommits: + type: array + items: + type: object + properties: + validator_address: + type: string + validator_index: + type: string + example: '0' + height: + type: string + example: '0' + round: + type: string + example: '0' + timestamp: + type: string + example: '2017-12-30T05:53:09.287+01:00' + type: + type: number + example: 2 + block_id: + type: object + properties: + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + parts: + type: object + properties: + total: + type: number + example: 0 + hash: + type: string + example: EE5F3404034C524501629B56E0DDC38FAD651F04 + signature: + type: string + example: >- + 7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ== + DelegationDelegatorReward: + type: object + properties: + validator_address: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + reward: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + DelegatorTotalRewards: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + validator_address: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + reward: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + total: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + BaseReq: + type: object + properties: + from: + type: string + example: pb1ytyfcdj0nymx9afx34mvwj6gyrped0hmfd9qyq + description: Sender address or Keybase name to generate a transaction + memo: + type: string + example: Sent via Provenance API + chain_id: + type: string + example: provenance-test-chain + account_number: + type: string + example: '0' + sequence: + type: string + example: '1' + gas: + type: string + example: '200000' + gas_adjustment: + type: string + example: '1.2' + fees: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + simulate: + type: boolean + example: false + description: >- + Estimate gas for a transaction (cannot be used in conjunction with + generate_only) + TendermintValidator: + type: object + properties: + address: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + pub_key: + type: string + example: >- + pbvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf + voting_power: + type: string + example: '1000' + proposer_priority: + type: string + example: '1000' + TextProposal: + type: object + properties: + proposal_id: + type: integer + title: + type: string + description: + type: string + proposal_type: + type: string + proposal_status: + type: string + final_tally_result: + type: object + properties: + 'yes': + type: string + example: '0.0000000000' + abstain: + type: string + example: '0.0000000000' + 'no': + type: string + example: '0.0000000000' + no_with_veto: + type: string + example: '0.0000000000' + submit_time: + type: string + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + voting_start_time: + type: string + Proposer: + type: object + properties: + proposal_id: + type: string + proposer: + type: string + Deposit: + type: object + properties: + amount: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + proposal_id: + type: string + depositor: + type: string + description: bech32 encoded address + example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 + TallyResult: + type: object + properties: + 'yes': + type: string + example: '0.0000000000' + abstain: + type: string + example: '0.0000000000' + 'no': + type: string + example: '0.0000000000' + no_with_veto: + type: string + example: '0.0000000000' + Vote: + type: object + properties: + voter: + type: string + proposal_id: + type: string + option: + type: string + Validator: + type: object + properties: + operator_address: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + consensus_pubkey: + type: string + example: >- + pbvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf + jailed: + type: boolean + status: + type: integer + tokens: + type: string + delegator_shares: + type: string + description: + type: object + properties: + moniker: + type: string + identity: + type: string + website: + type: string + security_contact: + type: string + details: + type: string + bond_height: + type: string + example: '0' + bond_intra_tx_counter: + type: integer + example: 0 + unbonding_height: + type: string + example: '0' + unbonding_time: + type: string + example: '1970-01-01T00:00:00Z' + commission: + type: object + properties: + rate: + type: string + example: '0' + max_rate: + type: string + example: '0' + max_change_rate: + type: string + example: '0' + update_time: + type: string + example: '1970-01-01T00:00:00Z' + Delegation: + type: object + properties: + delegator_address: + type: string + validator_address: + type: string + shares: + type: string + balance: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + UnbondingDelegationPair: + type: object + properties: + delegator_address: + type: string + validator_address: + type: string + entries: + type: array + items: + type: object + properties: + initial_balance: + type: string + balance: + type: string + creation_height: + type: string + min_time: + type: string + UnbondingEntries: + type: object + properties: + initial_balance: + type: string + balance: + type: string + creation_height: + type: string + min_time: + type: string + UnbondingDelegation: + type: object + properties: + delegator_address: + type: string + validator_address: + type: string + initial_balance: + type: string + balance: + type: string + creation_height: + type: integer + min_time: + type: integer + Redelegation: + type: object + properties: + delegator_address: + type: string + validator_src_address: + type: string + validator_dst_address: + type: string + entries: + type: array + items: + $ref: '#/definitions/Redelegation' + RedelegationEntry: + type: object + properties: + creation_height: + type: integer + completion_time: + type: integer + initial_balance: + type: string + balance: + type: string + shares_dst: + type: string + ValidatorDistInfo: + type: object + properties: + operator_address: + type: string + description: bech32 encoded address + example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l + self_bond_rewards: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + val_commission: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + PublicKey: + type: object + properties: + type: + type: string + value: + type: string + SigningInfo: + type: object + properties: + start_height: + type: string + index_offset: + type: string + jailed_until: + type: string + missed_blocks_counter: + type: string + ParamChange: + type: object + properties: + subspace: + type: string + example: staking + key: + type: string + example: MaxValidators + subkey: + type: string + example: '' + value: + type: object + Supply: + type: object + properties: + total: + type: array + items: + type: object + properties: + denom: + type: string + example: vspn + amount: + type: string + example: '5000' + cosmos.base.query.v1beta1.PageRequest: + type: object + properties: + key: + type: string + format: byte + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + offset: + type: string + format: uint64 + description: |- + offset is a numeric offset that can be used when key is unavailable. + It is less efficient than using key. Only one of offset or key should + be set. + limit: + type: string + format: uint64 + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + count_total: + type: boolean + 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. + description: |- + message SomeRequest { + Foo some_parameter = 1; + PageRequest pagination = 2; + } + title: |- + PageRequest is to be embedded in gRPC request messages for efficient + pagination. Ex: + cosmos.base.query.v1beta1.PageResponse: type: object properties: - total_count: - type: number - example: 1 - count: - type: number - example: 1 - page_number: - type: number - example: 1 - page_total: - type: number - example: 1 - limit: - type: number - example: 30 - txs: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: |- + total is total number of results available if PageRequest.count_total + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + 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)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + grpc.gateway.runtime.Error: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - hash: + type_url: type: string - example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656 - height: - type: number - example: 368 - tx: - type: object - properties: - msg: - type: array - items: - type: object - fee: - type: object - properties: - gas: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - example: vspn - amount: - type: string - example: '5000' - memo: - type: string - signature: - type: object - properties: - signature: - type: string - example: >- - MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= - pub_key: - type: object - properties: - type: - type: string - example: tendermint/PubKeySecp256k1 - value: - type: string - example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH - account_number: - type: string - example: '0' - sequence: - type: string - example: '0' - result: - type: object - properties: - log: - type: string - gas_wanted: - type: string - example: '200000' - gas_used: - type: string - example: '26354' - tags: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - StdTx: + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + provenance.attribute.v1.Attribute: type: object properties: - msg: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the attribute + value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data associated with an + account + provenance.attribute.v1.AttributeType: + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + description: >- + - ATTRIBUTE_TYPE_UNSPECIFIED: ATTRIBUTE_TYPE_UNSPECIFIED defines an + unknown/invalid type + - ATTRIBUTE_TYPE_UUID: ATTRIBUTE_TYPE_UUID defines an attribute value that contains a string value representation of a V4 uuid + - ATTRIBUTE_TYPE_JSON: ATTRIBUTE_TYPE_JSON defines an attribute value that contains a byte string containing json data + - ATTRIBUTE_TYPE_STRING: ATTRIBUTE_TYPE_STRING defines an attribute value that contains a generic string value + - ATTRIBUTE_TYPE_URI: ATTRIBUTE_TYPE_URI defines an attribute value that contains a URI + - ATTRIBUTE_TYPE_INT: ATTRIBUTE_TYPE_INT defines an attribute value that contains an integer (cast as int64) + - ATTRIBUTE_TYPE_FLOAT: ATTRIBUTE_TYPE_FLOAT defines an attribute value that contains a float + - ATTRIBUTE_TYPE_PROTO: ATTRIBUTE_TYPE_PROTO defines an attribute value that contains a serialized proto value in bytes + - ATTRIBUTE_TYPE_BYTES: ATTRIBUTE_TYPE_BYTES defines an attribute value that contains an untyped array of bytes + title: AttributeType defines the type of the data stored in the attribute value + provenance.attribute.v1.Params: + type: object + properties: + max_value_length: + type: integer + format: int64 + title: maximum length of data to allow in an attribute value + description: Params defines the set of params for the attribute module. + provenance.attribute.v1.QueryAttributeResponse: + type: object + properties: + account: + type: string + description: >- + a string containing the address of the account the attributes are + assigned to. + attributes: type: array items: type: object - fee: + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - gas: + next_key: type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - example: vspn - amount: - type: string - example: '5000' - memo: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAttributeResponse is the response type for the Query/Attribute + method. + provenance.attribute.v1.QueryAttributesResponse: + type: object + properties: + account: type: string - signature: + title: >- + a string containing the address of the account the attributes are + assigned to= + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - signature: + next_key: type: string - example: >- - MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY= - pub_key: - type: object - properties: - type: - type: string - example: tendermint/PubKeySecp256k1 - value: - type: string - example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH - account_number: - type: string - example: '0' - sequence: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - example: '0' - BlockID: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAttributesResponse is the response type for the Query/Attribute + method. + provenance.attribute.v1.QueryParamsResponse: type: object properties: - hash: + params: + description: params defines the parameters of the module. + type: object + properties: + max_value_length: + type: integer + format: int64 + title: maximum length of data to allow in an attribute value + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.attribute.v1.QueryScanResponse: + type: object + properties: + account: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: + title: >- + a string containing the address of the account the attributes are + assigned to= + attributes: + type: array + items: + type: object + properties: + name: + type: string + description: The attribute name. + value: + type: string + format: byte + description: The attribute value. + attribute_type: + description: The attribute value type. + type: string + enum: + - ATTRIBUTE_TYPE_UNSPECIFIED + - ATTRIBUTE_TYPE_UUID + - ATTRIBUTE_TYPE_JSON + - ATTRIBUTE_TYPE_STRING + - ATTRIBUTE_TYPE_URI + - ATTRIBUTE_TYPE_INT + - ATTRIBUTE_TYPE_FLOAT + - ATTRIBUTE_TYPE_PROTO + - ATTRIBUTE_TYPE_BYTES + default: ATTRIBUTE_TYPE_UNSPECIFIED + title: >- + AttributeType defines the type of the data stored in the + attribute value + address: + type: string + title: The address the attribute is bound to + title: >- + Attribute holds a typed key/value structure for data associated with + an account + title: a list of attribute values + pagination: + description: pagination defines an optional pagination for the request. type: object properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently total: - type: number - example: 0 - hash: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - BlockHeader: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: QueryScanResponse is the response type for the Query/Attribute method. + cosmos.bank.v1beta1.DenomUnit: type: object properties: - chain_id: + denom: type: string - example: provenance-test-chain - height: - type: number - example: 1 - time: + description: denom represents the string name of the given denom unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must + + raise the base_denom to in order to equal the given DenomUnit's denom + + 1 denom = 1^exponent base_denom + + (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' + with + + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + cosmos.bank.v1beta1.Metadata: + type: object + properties: + description: type: string - example: '2017-12-30T05:53:09.287+01:00' - num_txs: - type: number - example: 0 - last_block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom unit (e.g + uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must + + raise the base_denom to in order to equal the given DenomUnit's + denom + + 1 denom = 1^exponent base_denom + + (e.g. with a base_denom of uatom, one can create a DenomUnit of + 'atom' with + + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - total_txs: - type: number - example: 35 - last_commit_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - data_hash: + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: denom_units represents the list of DenomUnit's for a given coin + base: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - validators_hash: + description: >- + base represents the base denom (should be the DenomUnit with exponent + = 0). + display: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - next_validators_hash: + description: |- + display indicates the suggested denom that should be + displayed in clients. + description: |- + Metadata represents a struct that describes + a basic token. + cosmos.base.v1beta1.Coin: + type: object + properties: + denom: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - consensus_hash: + amount: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - app_hash: + 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. + provenance.marker.v1.Access: + type: string + enum: + - ACCESS_UNSPECIFIED + - ACCESS_MINT + - ACCESS_BURN + - ACCESS_DEPOSIT + - ACCESS_WITHDRAW + - ACCESS_DELETE + - ACCESS_ADMIN + - ACCESS_TRANSFER + default: ACCESS_UNSPECIFIED + description: >- + Access defines the different types of permissions that a marker supports + granting to an address. + + - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. + - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker + - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. + - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module + - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or + transfer coin from this marker account to another account. + - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This + access also allows cancelled markers to be marked for deletion + - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. + - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. + This capability is useful when the marker denomination has "send enabled = + false" preventing normal bank transfer + provenance.marker.v1.AccessGrant: + type: object + properties: + address: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - last_results_hash: + permissions: + type: array + items: + type: string + enum: + - ACCESS_UNSPECIFIED + - ACCESS_MINT + - ACCESS_BURN + - ACCESS_DEPOSIT + - ACCESS_WITHDRAW + - ACCESS_DELETE + - ACCESS_ADMIN + - ACCESS_TRANSFER + default: ACCESS_UNSPECIFIED + description: >- + Access defines the different types of permissions that a marker + supports granting to an address. + + - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. + - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker + - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. + - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module + - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or + transfer coin from this marker account to another account. + - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This + access also allows cancelled markers to be marked for deletion + - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. + - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. + This capability is useful when the marker denomination has "send + enabled = false" preventing normal bank transfer + description: >- + AccessGrant associates a colelction of permisssions with an address for + delegated marker account control. + provenance.marker.v1.Balance: + type: object + properties: + address: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - evidence_hash: + description: address is the address of the balance holder. + coins: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: coins defines the different coins this balance holds. + title: >- + Balance defines an account address and balance pair used in queries for + accounts holding a marker + provenance.marker.v1.MarkerStatus: + type: string + enum: + - MARKER_STATUS_UNSPECIFIED + - MARKER_STATUS_PROPOSED + - MARKER_STATUS_FINALIZED + - MARKER_STATUS_ACTIVE + - MARKER_STATUS_CANCELLED + - MARKER_STATUS_DESTROYED + default: MARKER_STATUS_UNSPECIFIED + description: |- + MarkerStatus defines the various states a marker account can be in. + + - MARKER_STATUS_UNSPECIFIED: MARKER_STATUS_UNSPECIFIED - Unknown/Invalid Marker Status + - MARKER_STATUS_PROPOSED: MARKER_STATUS_PROPOSED - Initial configuration period, updates allowed, token supply not created. + - MARKER_STATUS_FINALIZED: MARKER_STATUS_FINALIZED - Configuration finalized, ready for supply creation + - MARKER_STATUS_ACTIVE: MARKER_STATUS_ACTIVE - Supply is created, rules are in force. + - MARKER_STATUS_CANCELLED: MARKER_STATUS_CANCELLED - Marker has been cancelled, pending destroy + - MARKER_STATUS_DESTROYED: MARKER_STATUS_DESTROYED - Marker supply has all been recalled, marker is considered destroyed and no further + actions allowed. + provenance.marker.v1.Params: + type: object + properties: + max_total_supply: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - proposer_address: + format: uint64 + title: maximum amount of supply to allow a marker to be created with + enable_governance: + type: boolean + description: indicates if governance based controls of markers is allowed. + unrestricted_denom_regex: type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - version: + title: >- + a regular expression used to validate marker denom values from normal + create requests (governance + + requests are only subject to platform coin validation denom + expression) + description: Params defines the set of params for the account module. + provenance.marker.v1.QueryAccessResponse: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + address: + type: string + permissions: + type: array + items: + type: string + enum: + - ACCESS_UNSPECIFIED + - ACCESS_MINT + - ACCESS_BURN + - ACCESS_DEPOSIT + - ACCESS_WITHDRAW + - ACCESS_DELETE + - ACCESS_ADMIN + - ACCESS_TRANSFER + default: ACCESS_UNSPECIFIED + description: >- + Access defines the different types of permissions that a + marker supports granting to an address. + + - ACCESS_UNSPECIFIED: ACCESS_UNSPECIFIED defines a no-op vote option. + - ACCESS_MINT: ACCESS_MINT is the ability to increase the supply of a marker + - ACCESS_BURN: ACCESS_BURN is the ability to decrease the supply of the marker using coin held by the marker. + - ACCESS_DEPOSIT: ACCESS_DEPOSIT is the ability to set a marker reference to this marker in the metadata/scopes module + - ACCESS_WITHDRAW: ACCESS_WITHDRAW is the ability to remove marker references to this marker in from metadata/scopes or + transfer coin from this marker account to another account. + - ACCESS_DELETE: ACCESS_DELETE is the ability to move a proposed, finalized or active marker into the cancelled state. This + access also allows cancelled markers to be marked for deletion + - ACCESS_ADMIN: ACCESS_ADMIN is the ability to add access grants for accounts to the list of marker permissions. + - ACCESS_TRANSFER: ACCESS_TRANSFER is the ability to invoke a send operation using the marker module to facilitate exchange. + This capability is useful when the marker denomination has + "send enabled = false" preventing normal bank transfer + description: >- + AccessGrant associates a colelction of permisssions with an address + for delegated marker account control. + description: >- + QueryAccessResponse is the response type for the Query/MarkerAccess + method. + provenance.marker.v1.QueryAllMarkersResponse: + type: object + properties: + markers: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + pagination: + description: pagination defines an optional pagination for the request. type: object properties: - block: + next_key: type: string - example: 10 - app: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - example: 0 - Block: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllMarkersResponse is the response type for the Query/AllMarkers + method. + provenance.marker.v1.QueryDenomMetadataResponse: type: object properties: - header: + metadata: type: object properties: - chain_id: + description: type: string - example: provenance-test-chain - height: - type: number - example: 1 - time: + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom unit + (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must + + raise the base_denom to in order to equal the given + DenomUnit's denom + + 1 denom = 1^exponent base_denom + + (e.g. with a base_denom of uatom, one can create a DenomUnit + of 'atom' with + + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: denom_units represents the list of DenomUnit's for a given coin + base: type: string - example: '2017-12-30T05:53:09.287+01:00' - num_txs: - type: number - example: 0 - last_block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: + description: >- + base represents the base denom (should be the DenomUnit with + exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + description: |- + Metadata represents a struct that describes + a basic token. + title: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata + provenance.marker.v1.QueryEscrowResponse: + type: object + properties: + escrow: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: >- + QueryEscrowResponse is the response type for the Query/MarkerEscrow + method. + provenance.marker.v1.QueryHoldingResponse: + type: object + properties: + balances: + type: array + items: + type: object + properties: + address: + type: string + description: address is the address of the balance holder. + coins: + type: array + items: type: object properties: - total: - type: number - example: 0 - hash: + denom: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - total_txs: - type: number - example: 35 - last_commit_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - data_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - validators_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - next_validators_hash: + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: coins defines the different coins this balance holds. + title: >- + Balance defines an account address and balance pair used in queries + for accounts holding a marker + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - consensus_hash: + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - app_hash: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryHoldingResponse is the response type for the Query/MarkerHolders + method. + provenance.marker.v1.QueryMarkerResponse: + type: object + properties: + marker: + type: object + properties: + type_url: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - last_results_hash: + 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 - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - evidence_hash: + format: byte + description: >- + Must be a valid serialized protocol buffer of the above specified + type. + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: QueryMarkerResponse is the response type for the Query/Marker method. + provenance.marker.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_total_supply: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - proposer_address: + format: uint64 + title: maximum amount of supply to allow a marker to be created with + enable_governance: + type: boolean + description: indicates if governance based controls of markers is allowed. + unrestricted_denom_regex: type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - version: - type: object - properties: - block: - type: string - example: 10 - app: - type: string - example: 0 - txs: - type: array - items: - type: string - evidence: - type: array - items: - type: string - last_commit: + title: >- + a regular expression used to validate marker denom values from + normal create requests (governance + + requests are only subject to platform coin validation denom + expression) + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.marker.v1.QuerySupplyResponse: + type: object + properties: + amount: type: object - properties: - block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - precommits: - type: array - items: - type: object - properties: - validator_address: - type: string - validator_index: - type: string - example: '0' - height: - type: string - example: '0' - round: - type: string - example: '0' - timestamp: - type: string - example: '2017-12-30T05:53:09.287+01:00' - type: - type: number - example: 2 - block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - signature: - type: string - example: >- - 7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ== - BlockQuery: + 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: >- + QuerySupplyResponse is the response type for the Query/MarkerSupply + method. + provenance.metadata.v1.AuditFields: type: object properties: - block_meta: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: an optional version number that is incremented with each update + message: + type: string + title: an optional message associated with the creation/update event + title: >- + AuditFields capture information about the last account to make + modifications and when they were made + provenance.metadata.v1.ContractSpecification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification type: object properties: - header: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to associate with + a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + a list of party roles that must be fullfilled when signing a + transaction for this contract specification + resource_id: + type: string + format: byte + title: the address of a record on chain that represents this contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, resources, conditions, + and consideration outputs for a contract + provenance.metadata.v1.ContractSpecificationExtendedResponse: + type: object + properties: + contract_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification type: object properties: - chain_id: - type: string - example: provenance-test-chain - height: - type: number - example: 1 - time: - type: string - example: '2017-12-30T05:53:09.287+01:00' - num_txs: - type: number - example: 0 - last_block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - total_txs: - type: number - example: 35 - last_commit_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - data_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - validators_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - next_validators_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - consensus_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - app_hash: + name: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - last_results_hash: + description: A Name for this thing. + description: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - evidence_hash: + description: A description of this thing. + website_url: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - proposer_address: + description: URL to find even more info. + icon_url: type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - version: + description: URL of an icon. + description: >- + Description holds general information that is handy to associate + with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + a list of party roles that must be fullfilled when signing a + transaction for this contract specification + resource_id: + type: string + format: byte + title: the address of a record on chain that represents this contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + record_specifications: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this specification is + used + inputs: + type: array + items: type: object properties: - block: + name: type: string - example: 10 - app: + title: name for this input + type_name: type: string - example: 0 - block_id: + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record (typically a + class or proto name) + result_type: + title: >- + Type of result for this record specification (must be RECORD or + RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract may + use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record including + allowed/required inputs/outputs + contract_specification_uuid: + type: string + description: >- + ContractSpecificationExtendedResponse is the response to a contract + specification extended request. + provenance.metadata.v1.ContractSpecificationResponse: + type: object + properties: + contract_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + description: + title: Description information for this contract specification type: object properties: - hash: + name: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - block: + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to associate + with a structure. + owner_addresses: + type: array + items: + type: string + title: Address of the account that owns this specificaiton + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + a list of party roles that must be fullfilled when signing a + transaction for this contract specification + resource_id: + type: string + format: byte + title: the address of a record on chain that represents this contract + hash: + type: string + title: the hash of contract binary (off-chain instance) + class_name: + type: string + title: name of the class/type of this contract executable + title: >- + ContractSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + contract_specification_uuid: + type: string + description: >- + ContractSpecificationResponse is the response to a contract specification + request. + provenance.metadata.v1.DefinitionType: + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED indicates an + unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + title: DefinitionType indicates the required definition type for this value + provenance.metadata.v1.Description: + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + description: >- + Description holds general information that is handy to associate with a + structure. + provenance.metadata.v1.InputSpecification: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: the hash of an off-chain piece of information (For Proposed Records) + title: >- + InputSpecification defines a name, type_name, and source reference (either + on or off chain) to define an input + + parameter + provenance.metadata.v1.OwnershipResponse: + type: object + properties: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + OwnershipResponse is the reponse to the ownership request and includes a + list of scope identifiers + provenance.metadata.v1.Params: + type: object + description: Params defines the set of params for the account module. + provenance.metadata.v1.Party: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: |- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: A Party is an address with/in a given role associated with a contract + provenance.metadata.v1.PartyType: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: |- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + provenance.metadata.v1.Process: + type: object + properties: + address: + type: string + title: the address of a smart contract used for this process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, classname or smart + contract common name) + method: + type: string + title: >- + method is a name or reference to a specific operation (method) within + a class/contract that was invoked + title: >- + Process contains information used to uniquely identify what was used to + generate this record + provenance.metadata.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.metadata.v1.Record: + type: object + properties: + name: + type: string + title: >- + name/identifier for this record. Value must be unique within the + scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this record (use + with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an execution on + or off chain that generated this record + type: object + properties: + address: + type: string + title: the address of a smart contract used for this process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, classname or smart + contract common name) + method: + type: string + title: >- + method is a name or reference to a specific operation (method) + within a class/contract that was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: Name value included to link back to the definition spec. + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For Proposed + Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on chain or just a + given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an invalid/unknown + input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: inputs used with the process to achieve the output on this record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated for this + record + status: + title: >- + Status of the process execution associated with this output + indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED indicates + an unset condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: RecordOutput encapsulates the output of a process recorded on chain + title: >- + output(s) is the results of executing the process on the given process + indicated in this record + title: >- + A record (of fact) is attached to a session or each consideration output + from a contract + provenance.metadata.v1.RecordInput: + type: object + properties: + name: + type: string + description: Name value included to link back to the definition spec. + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: the hash of an off-chain piece of information (For Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on chain or just a given + hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: RECORD_INPUT_STATUS_UNSPECIFIED + indicates an invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + provenance.metadata.v1.RecordInputStatus: + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: RECORD_INPUT_STATUS_UNSPECIFIED + indicates an invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: A set of types for inputs on a record (of fact) + provenance.metadata.v1.RecordOutput: + type: object + properties: + hash: + type: string + title: Hash of the data output that was output/generated for this record + status: + title: >- + Status of the process execution associated with this output indicating + success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED indicates an + unset condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: RecordOutput encapsulates the output of a process recorded on chain + provenance.metadata.v1.RecordSpecification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: Name of Record that will be created when this specification is used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For Proposed + Records) + title: >- + InputSpecification defines a name, type_name, and source reference + (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record (typically a class or + proto name) + result_type: + title: >- + Type of result for this record specification (must be RECORD or + RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED indicates + an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record including + allowed/required inputs/outputs + provenance.metadata.v1.RecordSpecificationByIDResponse: + type: object + properties: + record_specification: type: object properties: - header: - type: object - properties: - chain_id: - type: string - example: provenance-test-chain - height: - type: number - example: 1 - time: - type: string - example: '2017-12-30T05:53:09.287+01:00' - num_txs: - type: number - example: 0 - last_block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - total_txs: - type: number - example: 35 - last_commit_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - data_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - validators_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - next_validators_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - consensus_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - app_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - last_results_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - evidence_hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - proposer_address: - type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - version: - type: object - properties: - block: - type: string - example: 10 - app: - type: string - example: 0 - txs: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this specification is + used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For Proposed + Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record (typically a + class or proto name) + result_type: + title: >- + Type of result for this record specification (must be RECORD or + RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: type: array items: type: string - evidence: + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record including + allowed/required inputs/outputs + record_specification_id: + type: string + description: >- + RecordSpecificationByIDResponse is the response to a record specification + by id request. + provenance.metadata.v1.RecordSpecificationResponse: + type: object + properties: + record_specification: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this specification is + used + inputs: + type: array + items: + type: object + properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For Proposed + Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record (typically a + class or proto name) + result_type: + title: >- + Type of result for this record specification (must be RECORD or + RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: type: array items: type: string - last_commit: - type: object - properties: - block_id: + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record including + allowed/required inputs/outputs + contract_specification_uuid: + type: string + name: + type: string + description: >- + RecordSpecificationResponse is the response to a record specification + request. + provenance.metadata.v1.RecordSpecificationsForContractSpecificationResponse: + type: object + properties: + record_specifications: + type: array + items: + type: object + properties: + specification_id: + type: string + format: byte + title: unique identifier for this specification on chain + name: + type: string + title: >- + Name of Record that will be created when this specification is + used + inputs: + type: array + items: type: object properties: + name: + type: string + title: name for this input + type_name: + type: string + title: a type_name (typically a proto name or class_name) + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) hash: type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - precommits: - type: array - items: - type: object - properties: - validator_address: - type: string - validator_index: - type: string - example: '0' - height: - type: string - example: '0' - round: - type: string - example: '0' - timestamp: - type: string - example: '2017-12-30T05:53:09.287+01:00' - type: - type: number - example: 2 - block_id: - type: object - properties: - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - parts: - type: object - properties: - total: - type: number - example: 0 - hash: - type: string - example: EE5F3404034C524501629B56E0DDC38FAD651F04 - signature: - type: string - example: >- - 7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ== - DelegationDelegatorReward: + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + title: >- + InputSpecification defines a name, type_name, and source + reference (either on or off chain) to define an input + + parameter + title: >- + A set of inputs that must be satisified to apply this + RecordSpecification and create a Record + type_name: + type: string + title: >- + A type name for data associated with this record (typically a + class or proto name) + result_type: + title: >- + Type of result for this record specification (must be RECORD or + RECORD_LIST) + type: string + enum: + - DEFINITION_TYPE_UNSPECIFIED + - DEFINITION_TYPE_PROPOSED + - DEFINITION_TYPE_RECORD + - DEFINITION_TYPE_RECORD_LIST + default: DEFINITION_TYPE_UNSPECIFIED + description: >- + - DEFINITION_TYPE_UNSPECIFIED: DEFINITION_TYPE_UNSPECIFIED + indicates an unknown/invalid value + - DEFINITION_TYPE_PROPOSED: DEFINITION_TYPE_PROPOSED indicates a proposed value is used here (a record that is not on-chain) + - DEFINITION_TYPE_RECORD: DEFINITION_TYPE_RECORD indicates the value must be a reference to a record on chain + - DEFINITION_TYPE_RECORD_LIST: DEFINITION_TYPE_RECORD_LIST indicates the value maybe a reference to a collection of values on chain having + the same name + responsible_parties: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract may + use + title: Type of party responsible for this record + title: >- + RecordSpecification defines the specification for a Record including + allowed/required inputs/outputs + contract_specification_uuid: + type: string + description: >- + RecordSpecificationResponseResponse is the response to a record + specification for contract specification request. + provenance.metadata.v1.RecordsByScopeIDResponse: type: object properties: - validator_address: + scope_uuid: type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - reward: + scope_id: + type: string + records: type: array items: type: object properties: - denom: + name: type: string - example: vspn - amount: + title: >- + name/identifier for this record. Value must be unique within + the scope. Also known as a Fact name + session_id: type: string - example: '5000' - DelegatorTotalRewards: + format: byte + title: >- + id of the session context that was used to create this record + (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: the address of a smart contract used for this process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, classname or + smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific operation + (method) within a class/contract that was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: Name value included to link back to the definition spec. + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on chain or + just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on this + record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated for this + record + status: + title: >- + Status of the process execution associated with this + output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED + indicates an unset condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process recorded on + chain + title: >- + output(s) is the results of executing the process on the given + process indicated in this record + title: >- + A record (of fact) is attached to a session or each consideration + output from a contract + title: RecordsByScopeIDResponse is the response to a RecordsByScopeIDRequest + provenance.metadata.v1.RecordsByScopeUUIDResponse: type: object properties: - rewards: + scope_uuid: + type: string + scope_id: + type: string + records: type: array items: type: object properties: - validator_address: + name: type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - reward: + title: >- + name/identifier for this record. Value must be unique within + the scope. Also known as a Fact name + session_id: + type: string + format: byte + title: >- + id of the session context that was used to create this record + (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: the address of a smart contract used for this process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, classname or + smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific operation + (method) within a class/contract that was invoked + inputs: type: array items: type: object properties: - denom: + name: type: string - example: vspn - amount: + description: Name value included to link back to the definition spec. + record_id: type: string - example: '5000' - total: - type: array - items: - type: object - properties: - denom: - type: string - example: vspn - amount: - type: string - example: '5000' - BaseReq: + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on chain or + just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on this + record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated for this + record + status: + title: >- + Status of the process execution associated with this + output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED + indicates an unset condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process recorded on + chain + title: >- + output(s) is the results of executing the process on the given + process indicated in this record + title: >- + A record (of fact) is attached to a session or each consideration + output from a contract + title: RecordsByScopeUUIDResponse is the response to a RecordsByScopeUUIDRequest + provenance.metadata.v1.ResultStatus: + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED indicates an unset + condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: ResultStatus indicates the various states of execution of a record + provenance.metadata.v1.Scope: type: object properties: - from: - type: string - example: pb1ytyfcdj0nymx9afx34mvwj6gyrped0hmfd9qyq - description: Sender address or Keybase name to generate a transaction - memo: - type: string - example: Sent via Provenance API - chain_id: - type: string - example: provenance-test-chain - account_number: - type: string - example: '0' - sequence: - type: string - example: '1' - gas: + scope_id: type: string - example: '200000' - gas_adjustment: + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address interface for use + where addresses are required in Cosmos + specification_id: type: string - example: '1.2' - fees: + format: byte + title: >- + the scope specification that contains the specifications for data + elements allowed within this scope + owners: type: array items: type: object properties: - denom: + address: type: string - example: vspn - amount: + title: address of the account (on chain) + role: type: string - example: '5000' - simulate: - type: boolean - example: false + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + A Party is an address with/in a given role associated with a + contract description: >- - Estimate gas for a transaction (cannot be used in conjunction with - generate_only) - TendermintValidator: - type: object - properties: - address: - type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - pub_key: - type: string - example: >- - pbvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf - voting_power: - type: string - example: '1000' - proposer_priority: + These parties represent top level owners of the records within. These + parties must sign any requests that modify + + the data within the scope. These addresses are in union with parties + listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addessses in this list are authorized to recieve off-chain data + associated with this scope. + value_owner_address: type: string - example: '1000' - TextProposal: + description: >- + An address that controls the value associated with this scope. + Standard blockchain accounts and marker accounts + + are supported for this value. This attribute may only be changed by + the entity indicated once it is set. + description: >- + Scope defines a root reference for a collection of records owned by one or + more parties. + provenance.metadata.v1.ScopeResponse: type: object properties: - proposal_id: - type: integer - title: - type: string - description: - type: string - proposal_type: - type: string - proposal_status: - type: string - final_tally_result: + scope: type: object properties: - 'yes': - type: string - example: '0.0000000000' - abstain: + scope_id: type: string - example: '0.0000000000' - 'no': + format: byte + title: >- + Unique ID for this scope. Implements sdk.Address interface for + use where addresses are required in Cosmos + specification_id: type: string - example: '0.0000000000' - no_with_veto: + format: byte + title: >- + the scope specification that contains the specifications for data + elements allowed within this scope + owners: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract may + use + title: >- + A Party is an address with/in a given role associated with a + contract + description: >- + These parties represent top level owners of the records within. + These parties must sign any requests that modify + + the data within the scope. These addresses are in union with + parties listed on the sessions. + data_access: + type: array + items: + type: string + description: >- + Addessses in this list are authorized to recieve off-chain data + associated with this scope. + value_owner_address: type: string - example: '0.0000000000' - submit_time: - type: string - total_deposit: + description: >- + An address that controls the value associated with this scope. + Standard blockchain accounts and marker accounts + + are supported for this value. This attribute may only be changed + by the entity indicated once it is set. + description: >- + Scope defines a root reference for a collection of records owned by + one or more parties. + sessions: type: array items: type: object properties: - denom: + session_id: type: string - example: vspn - amount: + format: byte + specification_id: type: string - example: '5000' - voting_start_time: - type: string - Proposer: - type: object - properties: - proposal_id: - type: string - proposer: - type: string - Deposit: - type: object - properties: - amount: + format: byte + description: >- + unique id of the contract specification that was used to create + this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + A Party is an address with/in a given role associated with a + contract + title: Set of identities that signed this contract + name: + type: string + title: >- + name to associate with this session execution context, typically + classname + audit: + description: >- + Created by, updated by, timestamps, version number, and related + info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with each + update + message: + type: string + title: >- + an optional message associated with the creation/update + event + title: >- + AuditFields capture information about the last account to make + modifications and when they were made + description: >- + The context will have a specification and set of parties involved. + The Session may be updated several + + times so long as the parties listed are signers on the transaction. + NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a specific + specification instance + records: type: array items: type: object properties: - denom: + name: type: string - example: vspn - amount: + title: >- + name/identifier for this record. Value must be unique within + the scope. Also known as a Fact name + session_id: type: string - example: '5000' - proposal_id: - type: string - depositor: - type: string - description: bech32 encoded address - example: pb1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27 - TallyResult: - type: object - properties: - 'yes': - type: string - example: '0.0000000000' - abstain: - type: string - example: '0.0000000000' - 'no': - type: string - example: '0.0000000000' - no_with_veto: - type: string - example: '0.0000000000' - Vote: - type: object - properties: - voter: - type: string - proposal_id: - type: string - option: + format: byte + title: >- + id of the session context that was used to create this record + (use with filtered kvprefix iterator) + process: + title: >- + process contain information used to uniquely identify an + execution on or off chain that generated this record + type: object + properties: + address: + type: string + title: the address of a smart contract used for this process + hash: + type: string + title: the hash of an off-chain process used + name: + type: string + title: >- + a name associated with the process (type_name, classname or + smart contract common name) + method: + type: string + title: >- + method is a name or reference to a specific operation + (method) within a class/contract that was invoked + inputs: + type: array + items: + type: object + properties: + name: + type: string + description: Name value included to link back to the definition spec. + record_id: + type: string + format: byte + title: the address of a record on chain (For Established Records) + hash: + type: string + title: >- + the hash of an off-chain piece of information (For + Proposed Records) + type_name: + type: string + title: from proposed fact structure to unmarshal + status: + title: >- + Indicates if this input was a recorded fact on chain or + just a given hashed input + type: string + enum: + - RECORD_INPUT_STATUS_UNSPECIFIED + - RECORD_INPUT_STATUS_PROPOSED + - RECORD_INPUT_STATUS_RECORD + default: RECORD_INPUT_STATUS_UNSPECIFIED + description: >- + - RECORD_INPUT_STATUS_UNSPECIFIED: + RECORD_INPUT_STATUS_UNSPECIFIED indicates an + invalid/unknown input type + - RECORD_INPUT_STATUS_PROPOSED: RECORD_INPUT_STATUS_PROPOSED indicates this input was an arbitrary piece of data that was hashed + - RECORD_INPUT_STATUS_RECORD: RECORD_INPUT_STATUS_RECORD indicates this input is a reference to a previously recorded fact on blockchain + title: Tracks the inputs used to establish this record + title: >- + inputs used with the process to achieve the output on this + record + outputs: + type: array + items: + type: object + properties: + hash: + type: string + title: >- + Hash of the data output that was output/generated for this + record + status: + title: >- + Status of the process execution associated with this + output indicating success,failure, or pending + type: string + enum: + - RESULT_STATUS_UNSPECIFIED + - RESULT_STATUS_PASS + - RESULT_STATUS_SKIP + - RESULT_STATUS_FAIL + default: RESULT_STATUS_UNSPECIFIED + description: >- + - RESULT_STATUS_UNSPECIFIED: RESULT_STATUS_UNSPECIFIED + indicates an unset condition + - RESULT_STATUS_PASS: RESULT_STATUS_PASS indicates the execution was successfult + - RESULT_STATUS_SKIP: RESULT_STATUS_SKIP indicates condition/consideration was skipped due to missing inputs or delayed execution + - RESULT_STATUS_FAIL: RESULT_STATUS_FAIL indicates the execution of the condition/consideration failed. + title: >- + RecordOutput encapsulates the output of a process recorded on + chain + title: >- + output(s) is the results of executing the process on the given + process indicated in this record + title: >- + A record (of fact) is attached to a session or each consideration + output from a contract + scope_uuid: type: string - Validator: + description: ScopeResponse is the response to a scope request. + provenance.metadata.v1.ScopeSpecification: type: object properties: - operator_address: - type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - consensus_pubkey: - type: string - example: >- - pbvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf - jailed: - type: boolean - status: - type: integer - tokens: - type: string - delegator_shares: + specification_id: type: string + format: byte + title: unique identifier for this specification on chain description: + description: General information about this scope specification. type: object properties: - moniker: - type: string - identity: - type: string - website: - type: string - security_contact: - type: string - details: - type: string - bond_height: - type: string - example: '0' - bond_intra_tx_counter: - type: integer - example: 0 - unbonding_height: - type: string - example: '0' - unbonding_time: - type: string - example: '1970-01-01T00:00:00Z' - commission: - type: object - properties: - rate: - type: string - example: '0' - max_rate: + name: type: string - example: '0' - max_change_rate: + description: A Name for this thing. + description: type: string - example: '0' - update_time: + description: A description of this thing. + website_url: type: string - example: '1970-01-01T00:00:00Z' - Delegation: + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + A list of parties that must be present on a scope (and their + associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte + description: >- + A list of contract specification ids allowed for a scope based on this + specification. + title: >- + ScopeSpecification defines the required parties, resources, conditions, + and consideration outputs for a contract + provenance.metadata.v1.ScopeSpecificationResponse: type: object properties: - delegator_address: - type: string - validator_address: - type: string - shares: - type: string - balance: + scope_specification: type: object properties: - denom: + specification_id: type: string - example: vspn - amount: - type: string - example: '5000' - UnbondingDelegationPair: + format: byte + title: unique identifier for this specification on chain + description: + description: General information about this scope specification. + type: object + properties: + name: + type: string + description: A Name for this thing. + description: + type: string + description: A description of this thing. + website_url: + type: string + description: URL to find even more info. + icon_url: + type: string + description: URL of an icon. + owner_addresses: + type: array + items: + type: string + description: Addresses of the owners of this scope specification. + parties_involved: + type: array + items: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + A list of parties that must be present on a scope (and their + associated roles) + contract_spec_ids: + type: array + items: + type: string + format: byte + description: >- + A list of contract specification ids allowed for a scope based on + this specification. + title: >- + ScopeSpecification defines the required parties, resources, + conditions, and consideration outputs for a contract + specification_uuid: + type: string + description: ScopeSpecification is the response to a scope specification request. + provenance.metadata.v1.Session: type: object properties: - delegator_address: + session_id: type: string - validator_address: + format: byte + specification_id: type: string - entries: + format: byte + description: >- + unique id of the contract specification that was used to create this + session. + parties: type: array items: type: object properties: - initial_balance: - type: string - balance: - type: string - creation_height: + address: type: string - min_time: + title: address of the account (on chain) + role: type: string - UnbondingEntries: - type: object - properties: - initial_balance: + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an error + condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: PartyType are the different roles parties on a contract may use + title: >- + A Party is an address with/in a given role associated with a + contract + title: Set of identities that signed this contract + name: type: string - balance: - type: string - creation_height: - type: string - min_time: - type: string - UnbondingDelegation: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - initial_balance: - type: string - balance: - type: string - creation_height: - type: integer - min_time: - type: integer - Redelegation: + title: >- + name to associate with this session execution context, typically + classname + audit: + description: 'Created by, updated by, timestamps, version number, and related info.' + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: an optional version number that is incremented with each update + message: + type: string + title: an optional message associated with the creation/update event + title: >- + AuditFields capture information about the last account to make + modifications and when they were made + description: >- + The context will have a specification and set of parties involved. The + Session may be updated several + + times so long as the parties listed are signers on the transaction. NOTE: + When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a specific + specification instance + provenance.metadata.v1.SessionContextByIDResponse: type: object properties: - delegator_address: + scope_id: type: string - validator_src_address: - type: string - validator_dst_address: + session_id: type: string - entries: + sessions: type: array items: - $ref: '#/definitions/Redelegation' - RedelegationEntry: + type: object + properties: + session_id: + type: string + format: byte + specification_id: + type: string + format: byte + description: >- + unique id of the contract specification that was used to create + this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + A Party is an address with/in a given role associated with a + contract + title: Set of identities that signed this contract + name: + type: string + title: >- + name to associate with this session execution context, typically + classname + audit: + description: >- + Created by, updated by, timestamps, version number, and related + info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with each + update + message: + type: string + title: >- + an optional message associated with the creation/update + event + title: >- + AuditFields capture information about the last account to make + modifications and when they were made + description: >- + The context will have a specification and set of parties involved. + The Session may be updated several + + times so long as the parties listed are signers on the transaction. + NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a specific + specification instance + title: SessionContextByIDResponse is the response to a SessionContextByIDRequest + provenance.metadata.v1.SessionContextByUUIDResponse: type: object properties: - creation_height: - type: integer - completion_time: - type: integer - initial_balance: - type: string - balance: + scope_id: type: string - shares_dst: - type: string - ValidatorDistInfo: - type: object - properties: - operator_address: + session_id: type: string - description: bech32 encoded address - example: pbvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l - self_bond_rewards: + sessions: type: array items: type: object properties: - denom: - type: string - example: vspn - amount: + session_id: type: string - example: '5000' - val_commission: - type: array - items: - type: object - properties: - denom: + format: byte + specification_id: type: string - example: vspn - amount: + format: byte + description: >- + unique id of the contract specification that was used to create + this session. + parties: + type: array + items: + type: object + properties: + address: + type: string + title: address of the account (on chain) + role: + type: string + enum: + - PARTY_TYPE_UNSPECIFIED + - PARTY_TYPE_ORIGINATOR + - PARTY_TYPE_SERVICER + - PARTY_TYPE_INVESTOR + - PARTY_TYPE_CUSTODIAN + - PARTY_TYPE_OWNER + - PARTY_TYPE_AFFILIATE + - PARTY_TYPE_OMNIBUS + - PARTY_TYPE_PROVENANCE + default: PARTY_TYPE_UNSPECIFIED + description: >- + - PARTY_TYPE_UNSPECIFIED: PARTY_TYPE_UNSPECIFIED is an + error condition + - PARTY_TYPE_ORIGINATOR: PARTY_TYPE_ORIGINATOR is an asset originator + - PARTY_TYPE_SERVICER: PARTY_TYPE_SERVICER provides debt servicing functions + - PARTY_TYPE_INVESTOR: PARTY_TYPE_INVESTOR is a generic investor + - PARTY_TYPE_CUSTODIAN: PARTY_TYPE_CUSTODIAN is an entity that provides custodian services for assets + - PARTY_TYPE_OWNER: PARTY_TYPE_OWNER indicates this party is an owner of the item + - PARTY_TYPE_AFFILIATE: PARTY_TYPE_AFFILIATE is a party with an affiliate agreement + - PARTY_TYPE_OMNIBUS: PARTY_TYPE_OMNIBUS is a special type of party that controls an omnibus bank account + - PARTY_TYPE_PROVENANCE: PARTY_TYPE_PROVENANCE is used to indicate this party represents the blockchain or a smart contract action + title: >- + PartyType are the different roles parties on a contract + may use + title: >- + A Party is an address with/in a given role associated with a + contract + title: Set of identities that signed this contract + name: type: string - example: '5000' - PublicKey: + title: >- + name to associate with this session execution context, typically + classname + audit: + description: >- + Created by, updated by, timestamps, version number, and related + info. + type: object + properties: + created_date: + type: string + format: date-time + title: the date/time when this entry was created + created_by: + type: string + title: the address of the account that created this record + updated_date: + type: string + format: date-time + title: the date/time when this entry was last updated + updated_by: + type: string + title: the address of the account that modified this record + version: + type: integer + format: int64 + title: >- + an optional version number that is incremented with each + update + message: + type: string + title: >- + an optional message associated with the creation/update + event + title: >- + AuditFields capture information about the last account to make + modifications and when they were made + description: >- + The context will have a specification and set of parties involved. + The Session may be updated several + + times so long as the parties listed are signers on the transaction. + NOTE: When there are no Records within a Scope + + that reference a Session it is removed. + title: >- + A Session is created for an execution context against a specific + specification instance + title: >- + SessionContextByUUIDResponse is the response to a + SessionContextByUUIDRequest + provenance.metadata.v1.ValueOwnershipResponse: type: object properties: - type: - type: string - value: - type: string - SigningInfo: + scope_uuids: + type: array + items: + type: string + description: A list of scope ids (uuid) associated with the given address. + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + title: >- + ValueOwnershipResponse is the reponse to the Valueownership request and + includes a list of scope identifiers + provenance.name.v1.Params: type: object properties: - start_height: - type: string - index_offset: - type: string - jailed_until: - type: string - missed_blocks_counter: - type: string - ParamChange: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: `foo.bar.baz` + would be 3 + allow_unrestricted_names: + type: boolean + title: determines if unrestricted name keys are allowed or not + description: Params defines the set of params for the name module. + provenance.name.v1.QueryParamsResponse: type: object properties: - subspace: - type: string - example: staking - key: - type: string - example: MaxValidators - subkey: - type: string - example: '' - value: + params: + description: params defines the parameters of the module. type: object - Supply: - type: object - properties: - total: - type: array - items: - type: object - properties: - denom: - type: string - example: vspn - amount: - type: string - example: '5000' - google.protobuf.Any: + properties: + max_segment_length: + type: integer + format: int64 + title: maximum length of name segment to allow + min_segment_length: + type: integer + format: int64 + title: minimum length of name segment to allow + max_name_levels: + type: integer + format: int64 + title: >- + maximum number of name segments to allow. Example: `foo.bar.baz` + would be 3 + allow_unrestricted_names: + type: boolean + title: determines if unrestricted name keys are allowed or not + description: QueryParamsResponse is the response type for the Query/Params RPC method. + provenance.name.v1.QueryResolveResponse: type: object properties: - type_url: - type: string - value: + address: type: string - format: byte - grpc.gateway.runtime.Error: + title: a string containing the address the name resolves to + description: QueryResolveResponse is the response type for the Query/Resolve method. + provenance.name.v1.QueryReverseLookupResponse: type: object properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + name: type: array items: - type: object - properties: - type_url: - type: string - value: - type: string - format: byte + type: string + title: an array of names bound against a given address + pagination: + description: pagination defines an optional pagination for the request. + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryReverseLookupResponse is the response type for the Query/Resolve + method. diff --git a/contrib/localnet_liveness.sh b/contrib/localnet_liveness.sh new file mode 100755 index 0000000000..477db17339 --- /dev/null +++ b/contrib/localnet_liveness.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +CNT=0 +ITER=$1 +SLEEP=$2 +NUMBLOCKS=$3 +NODEADDR=$4 + +if [ -z "$1" ]; then + echo "Need to input number of iterations to run..." + exit 1 +fi + +if [ -z "$2" ]; then + echo "Need to input number of seconds to sleep between iterations" + exit 1 +fi + +if [ -z "$3" ]; then + echo "Need to input block height to declare completion..." + exit 1 +fi + +if [ -z "$4" ]; then + echo "Need to input node address to poll..." + exit 1 +fi + +docker_containers=( $(docker ps -q -f name=node --format='{{.Names}}') ) + +while [ ${CNT} -lt $ITER ]; do + curr_block=$(curl -s $NODEADDR:26657/status | jq -r '.result.sync_info.latest_block_height') + + if [ ! -z ${curr_block} ] ; then + echo "Number of Blocks: ${curr_block}" + fi + + if [ ! -z ${curr_block} ] && [ ${curr_block} -gt ${NUMBLOCKS} ]; then + echo "Number of blocks reached. Success!" + exit 0 + fi + + # Emulate network chaos: + # + # Every 10 blocks, pick a random container and restart it. + if ! ((${CNT} % 10)); then + rand_container=${docker_containers["$[RANDOM % ${#docker_containers[@]}]"]}; + echo "Restarting random docker container ${rand_container}" + docker restart ${rand_container} &>/dev/null & + fi + let CNT=CNT+1 + sleep $SLEEP +done +echo "Timeout reached. Failure!" +exit 1 diff --git a/scripts/protocgen-any.sh b/scripts/protocgen-any.sh new file mode 100755 index 0000000000..2a094265d3 --- /dev/null +++ b/scripts/protocgen-any.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# This script generates a custom wrapper for google.protobuf.Any in +# codec/types/any.pb.go with a custom generated struct that lives in +# codec/types/any.go + +set -eo pipefail + +go install github.com/gogo/protobuf/protoc-gen-gogotypes + +buf protoc -I "third_party/proto" --gogotypes_out=./codec/types third_party/proto/google/protobuf/any.proto +mv codec/types/google/protobuf/any.pb.go codec/types +rm -rf codec/types/third_party + +# This removes the call to RegisterType in the custom generated Any wrapper +# so that only the Any type provided by gogo protobuf is registered in the +# global gogo protobuf type registry, which we aren't actually using +sed '/proto\.RegisterType/d' codec/types/any.pb.go > tmp && mv tmp codec/types/any.pb.go