{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "BaseTransaction",
  "description": "Transaction properties that are available from a raw serialized transactions. These are available for transactions in the mempool as well as mined transactions.",
  "type": "object",
  "required": [
    "tx_id",
    "nonce",
    "fee_rate",
    "sender_address",
    "sponsored",
    "post_condition_mode",
    "post_conditions",
    "anchor_mode"
  ],
  "additionalProperties": false,
  "properties": {
    "tx_id": {
      "type": "string",
      "description": "Transaction ID"
    },
    "nonce": {
      "type": "integer",
      "description": "Used for ordering the transactions originating from and paying from an account. The nonce ensures that a transaction is processed at most once. The nonce counts the number of times an account's owner(s) have authorized a transaction. The first transaction from an account will have a nonce value equal to 0, the second will have a nonce value equal to 1, and so on."
    },
    "fee_rate": {
      "type": "string",
      "description": "Transaction fee as Integer string (64-bit unsigned integer)."
    },
    "sender_address": {
      "type": "string",
      "description": "Address of the transaction initiator"
    },
    "sponsored": {
      "type": "boolean",
      "description": "Denotes whether the originating account is the same as the paying account"
    },
    "sponsor_address": {
      "type": "string"
    },
    "post_condition_mode": {
      "$ref": "../post-conditions/post-condition-mode.schema.json"
    },
    "post_conditions": {
      "type": "array",
      "items": {
        "$ref": "../post-conditions/post-condition.schema.json"
      }
    },
    "anchor_mode": {
      "$ref": "./anchor-mode.schema.json"
    }
  }
}
