{
  "type": "object",
  "properties": {
    "schema_version": {
      "const": "shroom-atlas-v1"
    },
    "snapshot_id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "parent_snapshot_id": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "generated_at": {
      "type": "string"
    },
    "evidence_asof": {
      "type": "string"
    },
    "chain_id": {
      "const": 4663
    },
    "root_asset_id": {
      "type": "string"
    },
    "scope": {
      "type": "object",
      "properties": {
        "discovered_positions": {
          "type": "integer"
        },
        "measured_positions": {
          "type": "integer"
        },
        "unresolved_position_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "type": "string"
        },
        "retention_from": {
          "type": "string"
        },
        "event_retention_truncated": {
          "type": "boolean"
        },
        "event_retention_days": {
          "type": "integer"
        },
        "scope_id": {
          "type": "string"
        }
      },
      "required": [
        "discovered_positions",
        "measured_positions",
        "unresolved_position_ids",
        "description"
      ],
      "additionalProperties": false
    },
    "assets": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/asset"
      }
    },
    "pools": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/pool"
      }
    },
    "positions": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/position"
      }
    },
    "events": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/event"
      }
    },
    "statements": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/statement"
      }
    },
    "paths": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/path"
      }
    },
    "limitations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "executed_routes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "tx_hash": {
            "type": "string"
          },
          "block_number": {
            "type": "integer"
          },
          "block_hash": {
            "type": "string"
          },
          "occurred_at": {
            "type": "string"
          },
          "available_at": {
            "type": "string"
          },
          "status": {
            "enum": [
              "verified",
              "partial"
            ]
          },
          "scope": {
            "type": "string"
          },
          "hops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "pool_id": {
                  "type": "string"
                },
                "log_index": {
                  "type": "integer"
                },
                "input": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string"
                    },
                    "raw_amount": {
                      "type": "string",
                      "pattern": "^[0-9]+$"
                    },
                    "decimals": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 0,
                      "maximum": 36
                    },
                    "amount": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "asset_id",
                    "raw_amount",
                    "decimals",
                    "amount"
                  ],
                  "additionalProperties": false
                },
                "output": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string"
                    },
                    "raw_amount": {
                      "type": "string",
                      "pattern": "^[0-9]+$"
                    },
                    "decimals": {
                      "type": [
                        "integer",
                        "null"
                      ],
                      "minimum": 0,
                      "maximum": 36
                    },
                    "amount": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "asset_id",
                    "raw_amount",
                    "decimals",
                    "amount"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "pool_id",
                "log_index",
                "input",
                "output"
              ],
              "additionalProperties": false
            }
          },
          "paths": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "hop_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "asset_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "kind": {
                  "enum": [
                    "single_swap",
                    "closed_asset_cycle",
                    "through_shroom",
                    "multi_hop"
                  ]
                }
              },
              "required": [
                "id",
                "hop_ids",
                "asset_ids",
                "kind"
              ],
              "additionalProperties": false
            }
          },
          "unresolved_pool_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settlement_status": {
            "enum": [
              "unresolved",
              "sender_native_trace",
              "sender_erc20_receipts",
              "no_sender_shroom_transfer",
              "mixed_liquidity_operations"
            ]
          },
          "sender_direction": {
            "enum": [
              null,
              "buy",
              "sell"
            ]
          },
          "settlement_account_count": {
            "type": "integer"
          },
          "settlement_account_direction": {
            "enum": [
              null,
              "buy",
              "sell"
            ]
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "source_url": {
            "type": "string"
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "tx_hash",
          "block_number",
          "block_hash",
          "occurred_at",
          "available_at",
          "status",
          "scope",
          "hops",
          "paths",
          "unresolved_pool_ids",
          "settlement_status",
          "sender_direction",
          "settlement_account_count",
          "settlement_account_direction",
          "evidence_ids",
          "source_url",
          "limitations"
        ],
        "additionalProperties": false
      }
    },
    "executed_route_scope": {
      "type": "object",
      "properties": {
        "window_start": {
          "type": [
            "string",
            "null"
          ]
        },
        "window_end": {
          "type": [
            "string",
            "null"
          ]
        },
        "candidate_transactions": {
          "type": [
            "integer",
            "null"
          ]
        },
        "decoded_receipts": {
          "type": "integer"
        },
        "published_examples": {
          "type": "integer"
        },
        "example_limit": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "window_start",
        "window_end",
        "candidate_transactions",
        "decoded_receipts",
        "published_examples",
        "example_limit",
        "method",
        "limitations"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "schema_version",
    "snapshot_id",
    "parent_snapshot_id",
    "generated_at",
    "evidence_asof",
    "chain_id",
    "root_asset_id",
    "scope",
    "assets",
    "pools",
    "positions",
    "events",
    "statements",
    "paths",
    "limitations"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "amount": {
      "type": "object",
      "properties": {
        "asset_id": {
          "type": "string"
        },
        "raw_amount": {
          "type": "string",
          "pattern": "^[0-9]+$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 36
        },
        "amount": {
          "type": "string",
          "pattern": "^[0-9]+(?:\\.[0-9]+)?$"
        }
      },
      "required": [
        "asset_id",
        "raw_amount",
        "decimals",
        "amount"
      ],
      "additionalProperties": false
    },
    "asset": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "address": {
          "type": "string",
          "pattern": "^0x[a-f0-9]{40}$"
        },
        "symbol": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "decimals": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 0,
          "maximum": 36
        },
        "kind": {
          "enum": [
            "native",
            "token",
            "unclassified"
          ]
        },
        "metadata_status": {
          "enum": [
            "verified",
            "partial",
            "unavailable"
          ]
        },
        "symbol_source": {
          "enum": [
            "onchain",
            "native",
            "absent"
          ]
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pool_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "first_observed_at": {
          "type": "string"
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "source_urls": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^https://"
          }
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        }
      },
      "required": [
        "id",
        "address",
        "symbol",
        "name",
        "decimals",
        "kind",
        "metadata_status",
        "symbol_source",
        "roles",
        "pool_ids",
        "first_observed_at",
        "limitations",
        "source_urls",
        "evidence_ids"
      ],
      "additionalProperties": false
    },
    "pool": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "pool_id": {
          "type": "string"
        },
        "manager": {
          "type": "string"
        },
        "asset_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 2,
          "maxItems": 2
        },
        "fee_units": {
          "type": "integer"
        },
        "dynamic_fee": {
          "type": "boolean"
        },
        "hook_address": {
          "type": "string"
        },
        "tick_spacing": {
          "type": "integer"
        },
        "current_tick": {
          "type": "integer"
        },
        "position_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pool_status": {
          "enum": [
            "nonzero_attributed",
            "empty_attributed"
          ]
        },
        "nonzero_position_count": {
          "type": "integer"
        },
        "in_range_position_count": {
          "type": "integer"
        },
        "principal": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/amount"
          }
        },
        "first_observed_at": {
          "type": "string"
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "hook_semantics": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "properties": {
            "charge_basis": {
              "type": "string"
            },
            "charged_asset_id": {
              "type": [
                "string",
                "null"
              ]
            },
            "destination_label": {
              "type": "string"
            },
            "session_rule": {
              "type": "string"
            },
            "verified_from": {
              "type": "string"
            },
            "base_fee_units": {
              "type": "integer"
            },
            "regular_surcharge_units": {
              "type": "integer"
            },
            "extended_surcharge_units": {
              "type": "integer"
            },
            "closed_surcharge_units": {
              "type": "integer"
            },
            "current_lp_fee_units": {
              "type": "integer"
            },
            "evidence_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "session_schedule": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "properties": {
                    "method_version": {
                      "type": "string"
                    },
                    "timezone": {
                      "type": "string"
                    },
                    "observed_at": {
                      "type": "string"
                    },
                    "current_session": {
                      "enum": [
                        "closed",
                        "extended",
                        "regular"
                      ]
                    },
                    "next_transition_at": {
                      "type": "string"
                    },
                    "next_session": {
                      "enum": [
                        "closed",
                        "extended",
                        "regular"
                      ]
                    },
                    "weekdays_iso": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    },
                    "segments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "session": {
                            "enum": [
                              "closed",
                              "extended",
                              "regular"
                            ]
                          },
                          "start_local_second": {
                            "type": "integer"
                          },
                          "end_local_second": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "session",
                          "start_local_second",
                          "end_local_second"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "default_session": {
                      "enum": [
                        "closed",
                        "extended",
                        "regular"
                      ]
                    },
                    "dst_rule": {
                      "type": "string"
                    },
                    "holidays_modeled": {
                      "const": false
                    },
                    "early_closes_modeled": {
                      "const": false
                    },
                    "getter_reconciled": {
                      "const": true
                    }
                  },
                  "required": [
                    "method_version",
                    "timezone",
                    "observed_at",
                    "current_session",
                    "next_transition_at",
                    "next_session",
                    "weekdays_iso",
                    "segments",
                    "default_session",
                    "dst_rule",
                    "holidays_modeled",
                    "early_closes_modeled",
                    "getter_reconciled"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          }
        },
        "strategy_statement_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "source_urls": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^https://"
          }
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "role": {
          "type": [
            "string",
            "null"
          ]
        },
        "shroom_volume_all_time": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "properties": {
                "amount": {
                  "$ref": "#/definitions/amount"
                },
                "swaps": {
                  "type": "integer"
                },
                "window_start": {
                  "type": "string"
                },
                "window_end": {
                  "type": "string"
                },
                "block_number": {
                  "type": "integer"
                },
                "block_hash": {
                  "type": "string"
                },
                "available_at": {
                  "type": "string"
                },
                "complete_to_activity_cutoff": {
                  "type": "boolean"
                },
                "evidence_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "amount",
                "swaps",
                "window_start",
                "window_end",
                "block_number",
                "block_hash",
                "available_at",
                "complete_to_activity_cutoff",
                "evidence_ids",
                "limitations"
              ],
              "additionalProperties": false
            }
          ]
        },
        "activity": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "properties": {
            "observed_at": {
              "type": "string"
            },
            "last_swap_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "swaps_24h": {
              "type": "integer"
            },
            "swaps_7d": {
              "type": "integer"
            },
            "volume_24h": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/amount"
              }
            },
            "volume_7d": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/amount"
              }
            },
            "block_number": {
              "type": "integer"
            },
            "block_hash": {
              "type": "string"
            },
            "common_window_member": {
              "type": "boolean"
            },
            "window_start_24h": {
              "type": "string"
            },
            "window_start_7d": {
              "type": "string"
            },
            "evidence_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "principal_usd": {
          "type": [
            "string",
            "null"
          ]
        },
        "valuation_observed_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "route_activity": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "window_start": {
              "type": "string"
            },
            "window_end": {
              "type": "string"
            },
            "observed_at": {
              "type": "string"
            },
            "candidate_receipts": {
              "type": "integer"
            },
            "decoded_receipts": {
              "type": "integer"
            },
            "complete": {
              "type": "boolean"
            },
            "scope_id": {
              "type": "string"
            },
            "status": {
              "enum": [
                "verified",
                "partial",
                "unavailable"
              ]
            },
            "route_categories": {
              "type": "object",
              "properties": {
                "through_shroom": {
                  "type": "integer"
                },
                "closed_asset_cycle": {
                  "type": "integer"
                },
                "single_swap": {
                  "type": "integer"
                },
                "multi_hop": {
                  "type": "integer"
                },
                "mixed": {
                  "type": "integer"
                },
                "unresolved": {
                  "type": "integer"
                }
              },
              "required": [
                "through_shroom",
                "closed_asset_cycle",
                "single_swap",
                "multi_hop",
                "mixed",
                "unresolved"
              ],
              "additionalProperties": false
            },
            "transactions_with_buying_sender": {
              "type": "integer"
            },
            "transactions_with_selling_sender": {
              "type": "integer"
            },
            "transactions_without_supported_sender_direction": {
              "type": "integer"
            },
            "evidence_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "window_start",
            "window_end",
            "observed_at",
            "candidate_receipts",
            "decoded_receipts",
            "complete",
            "scope_id",
            "status",
            "route_categories",
            "transactions_with_buying_sender",
            "transactions_with_selling_sender",
            "transactions_without_supported_sender_direction",
            "evidence_ids",
            "limitations"
          ],
          "additionalProperties": false
        },
        "economic_context": {
          "type": "object",
          "properties": {
            "fee_collection_event_ids": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "destination_path_ids": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "fee_collection_event_ids",
            "destination_path_ids",
            "limitations"
          ],
          "additionalProperties": false
        },
        "fee_collections": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "horizon": {
                "enum": [
                  "24h",
                  "7d",
                  "all_time"
                ]
              },
              "measurement": {
                "const": "zero_principal_erc20_collections"
              },
              "status": {
                "enum": [
                  "verified",
                  "partial",
                  "unavailable"
                ]
              },
              "window_start": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "window_end": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "observed_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "available_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "block_number": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "block_hash": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "position_population_id": {
                "type": "string"
              },
              "position_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "scan_candidate_receipts": {
                "type": "integer",
                "minimum": 0
              },
              "scan_allocated_receipts": {
                "type": "integer",
                "minimum": 0
              },
              "unresolved_receipt_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "window_receipt_count": {
                "type": "integer",
                "minimum": 0
              },
              "complete": {
                "type": "boolean"
              },
              "population_complete": {
                "type": "boolean"
              },
              "amounts": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/amount"
                }
              },
              "receipts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "tx_hash": {
                      "type": "string"
                    },
                    "block_number": {
                      "type": "integer"
                    },
                    "block_hash": {
                      "type": "string"
                    },
                    "occurred_at": {
                      "type": "string"
                    },
                    "available_at": {
                      "type": "string"
                    },
                    "token_ids": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "amounts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/amount"
                      }
                    },
                    "evidence_ids": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-f0-9]{64}$"
                      }
                    },
                    "source_url": {
                      "type": "string",
                      "pattern": "^https://"
                    }
                  },
                  "required": [
                    "tx_hash",
                    "block_number",
                    "block_hash",
                    "occurred_at",
                    "available_at",
                    "token_ids",
                    "amounts",
                    "evidence_ids",
                    "source_url"
                  ],
                  "additionalProperties": false
                }
              },
              "evidence_ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "limitations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "horizon",
              "measurement",
              "status",
              "window_start",
              "window_end",
              "observed_at",
              "available_at",
              "block_number",
              "block_hash",
              "position_population_id",
              "position_ids",
              "scan_candidate_receipts",
              "scan_allocated_receipts",
              "unresolved_receipt_count",
              "window_receipt_count",
              "complete",
              "population_complete",
              "amounts",
              "receipts",
              "evidence_ids",
              "limitations"
            ],
            "additionalProperties": false
          }
        },
        "fee_history": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "enum": [
                  "baseline_observed",
                  "coverage_changed",
                  "lp_fee_change_observed",
                  "hook_policy_change_observed"
                ]
              },
              "window_start": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "window_end": {
                "type": "string"
              },
              "occurred_at": {
                "type": "null"
              },
              "available_at": {
                "type": "string"
              },
              "source_snapshot_id": {
                "type": "string"
              },
              "configuration": {
                "type": "object",
                "properties": {
                  "pool_fee_units": {
                    "type": "integer"
                  },
                  "dynamic_fee": {
                    "type": "boolean"
                  },
                  "hook_address": {
                    "type": "string"
                  },
                  "base_fee_units": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "current_lp_fee_units": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "regular_surcharge_units": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "extended_surcharge_units": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "closed_surcharge_units": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "required": [
                  "pool_fee_units",
                  "dynamic_fee",
                  "hook_address",
                  "base_fee_units",
                  "current_lp_fee_units",
                  "regular_surcharge_units",
                  "extended_surcharge_units",
                  "closed_surcharge_units"
                ],
                "additionalProperties": false
              },
              "evidence_ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "change_basis": {
                "type": "object",
                "properties": {
                  "classification": {
                    "enum": [
                      "unresolved",
                      "scheduled_rule_matches_observations"
                    ]
                  },
                  "method_version": {
                    "type": "string"
                  },
                  "scheduled_transitions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "scheduled_at": {
                          "type": "string"
                        },
                        "from_session": {
                          "enum": [
                            "closed",
                            "extended",
                            "regular"
                          ]
                        },
                        "to_session": {
                          "enum": [
                            "closed",
                            "extended",
                            "regular"
                          ]
                        },
                        "lp_fee_units": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "scheduled_at",
                        "from_session",
                        "to_session",
                        "lp_fee_units"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "execution_time_verified": {
                    "const": false
                  },
                  "limitations": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "classification",
                  "method_version",
                  "scheduled_transitions",
                  "execution_time_verified",
                  "limitations"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "kind",
              "window_start",
              "window_end",
              "occurred_at",
              "available_at",
              "source_snapshot_id",
              "configuration",
              "evidence_ids"
            ],
            "additionalProperties": false
          },
          "maxItems": 96
        },
        "fee_history_truncated": {
          "type": "boolean"
        },
        "related_pair_pool_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "observation_comparison": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "properties": {
                "window_start": {
                  "type": "string"
                },
                "window_end": {
                  "type": "string"
                },
                "opening_snapshot_id": {
                  "type": "string"
                },
                "closing_snapshot_id": {
                  "type": "string"
                },
                "matched_position_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "excluded_position_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "population_id": {
                  "type": "string"
                },
                "principal": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "asset_id": {
                        "type": "string"
                      },
                      "decimals": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 36
                      },
                      "opening_raw": {
                        "type": "string",
                        "pattern": "^(0|[1-9][0-9]*)$"
                      },
                      "closing_raw": {
                        "type": "string",
                        "pattern": "^(0|[1-9][0-9]*)$"
                      },
                      "delta_raw": {
                        "type": "string",
                        "pattern": "^-?(0|[1-9][0-9]*)$"
                      }
                    },
                    "required": [
                      "asset_id",
                      "decimals",
                      "opening_raw",
                      "closing_raw",
                      "delta_raw"
                    ],
                    "additionalProperties": false
                  }
                },
                "opening_in_range": {
                  "type": "integer"
                },
                "closing_in_range": {
                  "type": "integer"
                },
                "turnover": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "horizon": {
                        "enum": [
                          "24h",
                          "7d"
                        ]
                      },
                      "opening_start": {
                        "type": "string"
                      },
                      "opening_end": {
                        "type": "string"
                      },
                      "closing_start": {
                        "type": "string"
                      },
                      "closing_end": {
                        "type": "string"
                      },
                      "overlap_seconds": {
                        "type": "integer"
                      },
                      "assets": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "asset_id": {
                              "type": "string"
                            },
                            "decimals": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 36
                            },
                            "opening_raw": {
                              "type": "string",
                              "pattern": "^(0|[1-9][0-9]*)$"
                            },
                            "closing_raw": {
                              "type": "string",
                              "pattern": "^(0|[1-9][0-9]*)$"
                            },
                            "delta_raw": {
                              "type": "string",
                              "pattern": "^-?(0|[1-9][0-9]*)$"
                            }
                          },
                          "required": [
                            "asset_id",
                            "decimals",
                            "opening_raw",
                            "closing_raw",
                            "delta_raw"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "opening_fees": {
                        "type": "object",
                        "properties": {
                          "window_start": {
                            "type": "string"
                          },
                          "window_end": {
                            "type": "string"
                          },
                          "event_ids": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "amounts": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "asset_id": {
                                  "type": "string"
                                },
                                "decimals": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 36
                                },
                                "raw_amount": {
                                  "type": "string",
                                  "pattern": "^(0|[1-9][0-9]*)$"
                                }
                              },
                              "required": [
                                "asset_id",
                                "decimals",
                                "raw_amount"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "status": {
                            "const": "partial"
                          },
                          "scope": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "window_start",
                          "window_end",
                          "event_ids",
                          "amounts",
                          "status",
                          "scope"
                        ],
                        "additionalProperties": false
                      },
                      "closing_fees": {
                        "type": "object",
                        "properties": {
                          "window_start": {
                            "type": "string"
                          },
                          "window_end": {
                            "type": "string"
                          },
                          "event_ids": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "amounts": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "asset_id": {
                                  "type": "string"
                                },
                                "decimals": {
                                  "type": "integer",
                                  "minimum": 0,
                                  "maximum": 36
                                },
                                "raw_amount": {
                                  "type": "string",
                                  "pattern": "^(0|[1-9][0-9]*)$"
                                }
                              },
                              "required": [
                                "asset_id",
                                "decimals",
                                "raw_amount"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "status": {
                            "const": "partial"
                          },
                          "scope": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "window_start",
                          "window_end",
                          "event_ids",
                          "amounts",
                          "status",
                          "scope"
                        ],
                        "additionalProperties": false
                      },
                      "evidence_ids": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      }
                    },
                    "required": [
                      "horizon",
                      "opening_start",
                      "opening_end",
                      "closing_start",
                      "closing_end",
                      "overlap_seconds",
                      "assets",
                      "opening_fees",
                      "closing_fees",
                      "evidence_ids"
                    ],
                    "additionalProperties": false
                  }
                },
                "evidence_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "window_start",
                "window_end",
                "opening_snapshot_id",
                "closing_snapshot_id",
                "matched_position_ids",
                "excluded_position_ids",
                "population_id",
                "principal",
                "opening_in_range",
                "closing_in_range",
                "turnover",
                "evidence_ids",
                "limitations"
              ],
              "additionalProperties": false
            }
          ]
        },
        "strategy_assignments": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "role": {
                "enum": [
                  "core",
                  "flood"
                ]
              },
              "basis": {
                "const": "developer_supplied_example"
              },
              "status": {
                "const": "project_reported"
              },
              "statement_id": {
                "type": "string"
              },
              "source_url": {
                "type": "string",
                "pattern": "^https://"
              },
              "announced_date": {
                "type": "string"
              },
              "effective_from": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "effective_until": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "limitations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "role",
              "basis",
              "status",
              "statement_id",
              "source_url",
              "announced_date",
              "effective_from",
              "effective_until",
              "limitations"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "id",
        "pool_id",
        "manager",
        "asset_ids",
        "fee_units",
        "dynamic_fee",
        "hook_address",
        "tick_spacing",
        "current_tick",
        "position_ids",
        "pool_status",
        "nonzero_position_count",
        "in_range_position_count",
        "principal",
        "first_observed_at",
        "created_at",
        "hook_semantics",
        "strategy_statement_ids",
        "limitations",
        "source_urls",
        "evidence_ids",
        "role"
      ],
      "additionalProperties": false
    },
    "position": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "token_id": {
          "type": "string"
        },
        "pool_id": {
          "type": "string"
        },
        "attributed_operator": {
          "type": "string"
        },
        "recorded_owner": {
          "type": "string"
        },
        "ownership_status": {
          "enum": [
            "tracked_operator",
            "other_recorded_owner"
          ]
        },
        "liquidity_raw": {
          "type": "string",
          "pattern": "^[0-9]+$"
        },
        "liquidity_state": {
          "enum": [
            "nonzero",
            "empty"
          ]
        },
        "range_status": {
          "enum": [
            "in_range",
            "out_of_range",
            "empty"
          ]
        },
        "lower_tick": {
          "type": "integer"
        },
        "upper_tick": {
          "type": "integer"
        },
        "current_tick": {
          "type": "integer"
        },
        "composition": {
          "enum": [
            "two_sided",
            "asset0_only",
            "asset1_only",
            "empty"
          ]
        },
        "nft_burned": {
          "const": false
        },
        "fee_support_status": {
          "enum": [
            "supported",
            "unavailable"
          ]
        },
        "principal": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/amount"
          }
        },
        "unclaimed": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/amount"
          }
        },
        "valuation_usd": {
          "type": "null"
        },
        "observed_at": {
          "type": "string"
        },
        "first_observed_at": {
          "type": "string"
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_urls": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^https://"
          }
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "token_id",
        "pool_id",
        "attributed_operator",
        "recorded_owner",
        "ownership_status",
        "liquidity_raw",
        "liquidity_state",
        "range_status",
        "lower_tick",
        "upper_tick",
        "current_tick",
        "composition",
        "nft_burned",
        "fee_support_status",
        "principal",
        "unclaimed",
        "valuation_usd",
        "observed_at",
        "first_observed_at",
        "created_at",
        "source_urls",
        "evidence_ids",
        "limitations"
      ],
      "additionalProperties": false
    },
    "event": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "kind": {
          "enum": [
            "discovered",
            "ownership_changed",
            "liquidity_added",
            "liquidity_removed",
            "emptied",
            "reopened",
            "fee_collection",
            "funding",
            "claim",
            "sink_transfer"
          ]
        },
        "entity_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "discovery_kind": {
          "enum": [
            "newly_discovered",
            "not_applicable"
          ]
        },
        "block_number": {
          "type": [
            "integer",
            "null"
          ]
        },
        "log_index": {
          "type": [
            "integer",
            "null"
          ]
        },
        "classification": {
          "type": "string"
        },
        "occurred_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "observed_at": {
          "type": "string"
        },
        "available_at": {
          "type": "string"
        },
        "window_start": {
          "type": [
            "string",
            "null"
          ]
        },
        "window_end": {
          "type": [
            "string",
            "null"
          ]
        },
        "tx_hash": {
          "type": [
            "string",
            "null"
          ]
        },
        "amounts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/amount"
          }
        },
        "from_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "to_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "summary": {
          "type": "string"
        },
        "status": {
          "enum": [
            "verified",
            "partial"
          ]
        },
        "source_urls": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^https://"
          }
        },
        "evidence_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "kind",
        "entity_ids",
        "discovery_kind",
        "block_number",
        "log_index",
        "classification",
        "occurred_at",
        "observed_at",
        "available_at",
        "window_start",
        "window_end",
        "tx_hash",
        "amounts",
        "from_label",
        "to_label",
        "summary",
        "status",
        "source_urls",
        "evidence_ids",
        "limitations"
      ],
      "additionalProperties": false
    },
    "statement": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "source_url": {
          "type": "string"
        },
        "published_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "date_label": {
          "type": "string"
        },
        "verification": {
          "enum": [
            "supplied_statement",
            "issuer_page"
          ]
        },
        "implementation_status": {
          "enum": [
            "announced",
            "not_yet_measured",
            "active_on_observed_pools"
          ]
        },
        "related_entity_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "summary": {
          "type": "string"
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "title",
        "source_url",
        "published_at",
        "date_label",
        "verification",
        "implementation_status",
        "related_entity_ids",
        "summary",
        "limitations"
      ],
      "additionalProperties": false
    },
    "path": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "historical": {
          "type": "boolean"
        },
        "window_start": {
          "type": [
            "string",
            "null"
          ]
        },
        "window_end": {
          "type": [
            "string",
            "null"
          ]
        },
        "event_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "stages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "additionalProperties": false
          }
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              },
              "event_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to",
              "event_ids",
              "label"
            ],
            "additionalProperties": false
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "title",
        "historical",
        "window_start",
        "window_end",
        "event_ids",
        "stages",
        "links",
        "limitations"
      ],
      "additionalProperties": false
    }
  }
}
