XYOracleNetwork/sdk-xyo-client-js

View on GitHub
packages/manifest/src/compilations/schema.json

Summary

Maintainability
Test Coverage
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "definitions": {
    "architecture": {
      "description": "Architecture",
      "enum": [
        "386",
        "amd64",
        "arm",
        "arm64",
        "loong64",
        "mips",
        "mipsle",
        "mips64",
        "mips64le",
        "ppc64",
        "ppc64le",
        "riscv64",
        "s390x",
        "wasm"
      ],
      "type": "string"
    },
    "config": {
      "additionalProperties": true,
      "description": "Config for a module",
      "properties": {
        "accountPath": {
          "description": "HDWallet path to derive account",
          "type": "string"
        },
        "architecture": {
          "$ref": "#/definitions/architecture"
        },
        "description": {
          "type": "string"
        },
        "features": {
          "items": {
            "$ref": "#/definitions/feature"
          },
          "type": "array"
        },
        "language": {
          "$ref": "#/definitions/language"
        },
        "name": {
          "type": "string"
        },
        "os": {
          "$ref": "#/definitions/os"
        },
        "schema": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "schema"
      ],
      "type": "object"
    },
    "external": {
      "additionalProperties": false,
      "definitions": {
        "modules": {
          "description": "A List of module permissions requests",
          "items": {
            "$ref": "#/definitions/external/definitions/moduleRequest"
          },
          "type": "array"
        },
        "moduleRequest": {
          "description": "A module permissions request",
          "additionalProperties": false,
          "properties": {
            "name": {
              "description": "Name of the module the dApp is requesting permission to access",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "properties": {
        "modules": {
          "$ref": "#/definitions/external/definitions/modules"
        }
      },
      "required": [
        "modules"
      ],
      "type": "object"
    },
    "feature": {
      "description": "Framework",
      "enum": [
        "angular",
        "asp.net",
        "browser",
        "cryengine",
        "corona",
        "django",
        "flutter",
        "ionic",
        "jquery",
        "nodejs",
        "phonegap",
        "react",
        "react-native",
        "spring",
        "unity",
        "unreal",
        "vue",
        "xamarin"
      ],
      "type": "string"
    },
    "language": {
      "description": "Language",
      "enum": [
        "c",
        "c++",
        "c#",
        "go",
        "java",
        "javascript",
        "kotlin",
        "lua",
        "python",
        "ruby",
        "rust",
        "scala",
        "solidity",
        "swift"
      ],
      "type": "string"
    },
    "module": {
      "additionalProperties": false,
      "description": "Module Definition",
      "properties": {
        "config": {
          "$ref": "#/definitions/config"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "config"
      ],
      "type": "object"
    },
    "modules": {
      "description": "List of Modules",
      "items": {
        "$ref": "#/definitions/module"
      },
      "nullable": true,
      "type": "array"
    },
    "node": {
      "additionalProperties": false,
      "description": "Node Definition - Generally loaded into an existing or new Node Module",
      "properties": {
        "config": {
          "$ref": "#/definitions/config"
        },
        "description": {
          "type": "string"
        },
        "modules": {
          "additionalProperties": false,
          "description": "Modules in the Node",
          "properties": {
            "private": {
              "$ref": "#/definitions/modules"
            },
            "public": {
              "$ref": "#/definitions/modules"
            }
          },
          "required": [],
          "type": "object"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    },
    "nodes": {
      "description": "List of Node Manifests",
      "items": {
        "$ref": "#/definitions/node"
      },
      "type": "array"
    },
    "os": {
      "description": "Operating System",
      "enum": [
        "aix",
        "android",
        "darwin",
        "dragonfly",
        "freebsd",
        "illumos",
        "ios",
        "linux",
        "netbsd",
        "openbsd",
        "osx",
        "plan9",
        "solaris",
        "windows"
      ],
      "type": "string"
    },
    "payloads": {
      "description": "List of Modules",
      "items": {
        "$ref": "#/definitions/module"
      },
      "nullable": true,
      "type": "array"
    }
  },
  "description": "Describes an XYO Package which is a collection of XYO Modules",
  "properties": {
    "$schema": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "nodes": {
      "$ref": "#/definitions/nodes",
      "description": "The list of Nodes that are defined in the manifest"
    },
    "schema": {
      "pattern": "^network.xyo.manifest$",
      "type": "string"
    }
  },
  "required": [
    "nodes",
    "schema"
  ],
  "title": "XYO Manifest",
  "type": "object"
}