diff --git a/network/hubble/data-catalog/README.mdx b/network/hubble/data-catalog/README.mdx
new file mode 100644
index 000000000..7e534a096
--- /dev/null
+++ b/network/hubble/data-catalog/README.mdx
@@ -0,0 +1,10 @@
+---
+title: Data Catalog
+sidebar_position: 200
+---
+
+import DocCardList from "@theme/DocCardList";
+
+View all Hubble data catalog information.
+
+
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/README.mdx b/network/hubble/data-catalog/data-dictionary/README.mdx
new file mode 100644
index 000000000..29064d97d
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/README.mdx
@@ -0,0 +1,10 @@
+---
+title: Data Dictionary
+sidebar_position: 20
+---
+
+import DocCardList from "@theme/DocCardList";
+
+View all Hubble data dictionaries.
+
+
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/accounts.mdx b/network/hubble/data-catalog/data-dictionary/accounts.mdx
new file mode 100644
index 000000000..846c1e0fd
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/accounts.mdx
@@ -0,0 +1,31 @@
+---
+title: Accounts
+sidebar_position: 10
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| account_id | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a \`G\` | string | | | Yes | cluster | Yes | |
+| balance | The number of units of XLM held by the account | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. |
+| buying_liabilities | The sum of all buy offers owned by this account for XLM only | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. For buy offers, the account must hold the amount of asset to complete the transaction |
+| selling_liabilities | The sum of all sell offers owned by this account for XLM only | float | | | | | Yes | The \`accounts\` table only reports monetary balances for XLM. Any other asset class is reported in the \`trust_lines\` table. |
+| sequence_number | The account's current sequence number. The sequence number controls operations applied to an account. Operations must submit a unique sequence number that is incremented by 1 in order to apply the operation to the account so that account changes will not collide within a ledger | integer | | | Yes | | Yes | |
+| num_subentries | The total number of ledger entries connected to this account. Ledger entries include: trustlines, offers, signers, and data entries. (Claimable balances are counted under sponsoring entries, not subentries). Any newly created trustline, offer, signer or data entry will increase the number of subentries by 1. Accounts may have up to 1,000 subentries | integer | | | | | Yes | Each entry on a ledger takes up space, which is expensive to store on the blockchain. For each entry, an account is required to hold a [minimum XLM balance](https://developers.stellar.org/docs/glossary/minimum-balance/). The reserve is calculated by (2 + num_subentries - num_sponsoring + num_sponsored) \* 0.5XLM |
+| inflation_destination | Deprecated: The account address to receive an inflation payment when they are disbursed on the network. | string | | | | | Yes | Inflation was discontinued in 2019 by validator vote. |
+| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Auth Required (all trustlines by default are untrusted and require manual trust established) 2 - Auth Revocable (allows trustlines to be revoked if account no longer trusts asset) 4 - Auth Immutable (all auth flags are read only when set) 8 - Auth Clawback Enabled (asset can be clawed back from the user) | | | | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account |
+| home_domain | The domain that hosts this account's stellar.toml file | string | | | | | Yes | Only applies to asset issuer accounts. The stellar.toml file contains metadata about the asset issuer which helps identify who the issuer is and instills trust in the asset |
+| master_weight | The weight of the master key, which is the private key for this account. If a master key is \`0,\` the account is locked and cannot be used. | integer | Integers from 1 to 255 | | | | Yes | |
+| threshold_low | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| threshold_medium | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| threshold_high | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | Yes | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | If an account updates a signer's weight at sequence 1234 and then decides to delete the signer at 2345, the deleted record will still have a modified sequence of 1234. |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`accounts\` |
+| deleted | Indicates whether the ledger entry (account id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| sponsor | The account address of the sponsor who is paying the reserves for this account. | string | | | | | No | |
+| num_sponsored | The number of reserves sponsored for this account (meaning another account is paying for the minimum balance). Sponsored entries do not incur any reserve requirement on the account that owns the entry. | integer | | | | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/glossary/sponsored-reserves/). |
+| num_sponsoring | The number of reserves sponsored by this account. Entries sponsored by this account incur a reserve requirement | integer | | | | | No | Defaults to 0 Accounts, offers, trustlines, data and signers can be optionally sponsored. Claimable Balances must be sponsored. See more information on sponsorship [here](https://developers.stellar.org/docs/glossary/sponsored-reserves/). |
+| sequence_ledger | The unsigned 32-bit ledger number of the sequence number's age | integer | | | | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" |
+| sequence_time | The UNIX timestamp of the sequence number's age | timestamp | | | | | No | Reflects the last time an account touched its sequence number. Note that even if the Bump Sequence operation has no effect, eg it does not increase the sequence number, it still counts as a "touch" |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/claimable-balances.mdx b/network/hubble/data-catalog/data-dictionary/claimable-balances.mdx
new file mode 100644
index 000000000..69828d7e6
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/claimable-balances.mdx
@@ -0,0 +1,28 @@
+---
+title: Claimable Balances
+sidebar_position: 20
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| balance_id | A unique identifier for this claimable balance. The Balance id is a compilation of \`Balance Type\` + \`SHA-256 hash history_operation_id\` | string | | | Yes | | Yes | The Balance Type is fixed at V0, \`00000000\`. If there is a protocol change that materially impacts the mechanics of claimable balances, the balance type would update to V1. |
+| claimants | The list of entries which are eligible to claim the balance and preconditions that must be fulfilled to claim | array[record] | | | | | Yes | Multiple accounts can be specified in the claimants record, including the account of the balance creator. |
+| claimants.destination | The account id who can claim the balance | string | | | | | Yes | |
+| claimants.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | array[record] | | | | | Yes | |
+| claimants.predicate.unconditional | If true it means this clause of the condition is always satisfied | boolean | | | | | No | When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions |
+| claimants.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | | | | | No | |
+| claimants.predicate.rel_before | A relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balance | integer | | | | | No | This condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule. |
+| claimants.predicate.abs_before_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | | | | | No | |
+| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | |
+| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | No | |
+| asset_issuer | The address of the account that created the asset | string | | | | | No | |
+| asset_amount | The amount of the asset that can be claimed | float | | | | | Yes | |
+| sponsor | The account address of the sponsor who is paying the reserves for this claimable balance | string | | | | | No | Sponsors of claimable balances are the creators of the balance. |
+| flags | Denotes the enabling and disabling of certain balance issuer privileges | integer | 0 - None, Default 1 - Auth Clawback Enabled | | | | Yes | Flags are set by the claimable balance accounts for an asset. When user accounts claim a balance, the flags applied to the asset originate from this account |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, and 2 for ledger entries of type \`claimable_balances\`. Once created, a balance cannot be updated. |
+| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | cluster | No | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/contract-code.mdx b/network/hubble/data-catalog/data-dictionary/contract-code.mdx
new file mode 100644
index 000000000..3ef80a849
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/contract-code.mdx
@@ -0,0 +1,28 @@
+---
+title: Contract Code
+sidebar_position: 30
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ------------ | ------------ | --------------------------- | --------- | ----- |
+| contract_code_hash | Soroban contract code hash | string | | | Yes | Cluster | Yes | |
+| contract_code_ext_v | Contract code extention version | integer | | | | | | |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | | Cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | |
+| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | | Partition | Yes | |
+| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | | | Yes | |
+| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | | | Yes | |
+| n_instructions | Number of instrcutions in contract code | integer | | | | | | |
+| n_functions | Number of functions in contract code | integer | | | | | | |
+| n_globals | Number of global variables in contract code | integer | | | | | | |
+| n_table_entries | Number of table entries in contract code | integer | | | | | | |
+| n_types | Number of types in contract code | integer | | | | | | |
+| n_data_segments | Number of data segments in contract code | integer | | | | | | |
+| n_elem_segments | Number of element segments in contract code | integer | | | | | | |
+| n_imports | Number of imports in contract code | integer | | | | | | |
+| n_exports | Number of exports in contract code | integer | | | | | | |
+| n_data_segment_bytes | Number of data segment bytes in contract code | integer | | | | | | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/contract-data.mdx b/network/hubble/data-catalog/data-dictionary/contract-data.mdx
new file mode 100644
index 000000000..42b239a90
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/contract-data.mdx
@@ -0,0 +1,24 @@
+---
+title: Contract Data
+sidebar_position: 40
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ------------ | ------------ | --------------------------- | --------- | ----- |
+| contract_id | Soroban contract id | string | | | Yes | Cluster | Yes | |
+| contract_key_type | Contract key type which is an ScVal that can have the following values | string | | | | | | |
+| contract_durability | Contract can either be temporary or persistent | string | | | | | | |
+| asset_code | The 4 or 12 character code representation of the asset on the network. | string | | | | | | |
+| asset_issuer | The account address of the original asset issuer that created the asset. | string | | | | | | |
+| asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | |
+| balance_holder | The address/account that holds the balance of the asset in contract data | string | | | | | | |
+| balance | The number of units of XLM held by the account | string | | | | | | |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | Cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | |
+| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | | Partition | Yes | |
+| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | Yes | | Yes | |
+| ledger_key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | Yes | | Yes | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx b/network/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx
new file mode 100644
index 000000000..63b5cd1fe
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/enriched-history-operations.mdx
@@ -0,0 +1,151 @@
+---
+title: Enriched History Operations
+sidebar_position: 150
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Source Table | Notes |
+| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | | | | | history_operations | Part of the original \`details\` object in the history_operations table |
+| amount | Float representation of the amount of an asset sent/offered/etc | float | | | | | | history_operations | |
+| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | history_operations | |
+| asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | history_operations | |
+| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | | | | history_operations | |
+| balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the \`claimable_balances\` table to gather more details about the balance | string | | | | | | history_operations | |
+| buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | | | | | history_operations | |
+| buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | | | | | history_operations | |
+| buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| from | The account address from which the payment originates (the sender account) | string | | | | | | history_operations | |
+| funder | When a new account is created, an account address "funds" the new account | string | | | | | | history_operations | |
+| high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| home_domain | The home domain used for the stellar.toml file discovery | string | | | | | | history_operations | |
+| inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | | | | | history_operations | Inflation was retired from the network in 2019. |
+| into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | | | | | history_operations | |
+| limit | The upper bound amount of an asset that an account can hold | float | | | | | | history_operations | |
+| low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| master_key_weight | An accounts private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | | | | | history_operations | |
+| med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | history_operations | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | | | | history_operations | |
+| offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | | | | | history_operations | |
+| path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | array[record] | | | | | | history_operations | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail which means the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. |
+| price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | float | | | | | | history_operations | |
+| d | Precise representation of the buy and sell price of a trade. The \`d\` is the denominator. When taken with n/d you will get the price | integer | | | | | | history_operations | |
+| n | Precise representation of the buy and sell prices of a trade. The \`n\` is the numerator. When taken with n/d you will get the price. | integer | | | | | | history_operations | |
+| selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | | | | | history_operations | |
+| selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | | | | | history_operations | |
+| selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | | | | | history_operations | |
+| set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] | Auth Required Auth Revocable Auth Immutable | | | | | history_operations | |
+| signer_key | The address of the signer which is no longer sponsored | string | | | | | | history_operations | |
+| signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | | | | | | history_operations | |
+| source_amount | The originating amount sent designated in the source asset | float | | | | | | history_operations | |
+| source_asest_code | The 4 or 12 character code representation of the asset that is originally sent | string | | | | | | history_operations | |
+| source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | | | | | history_operations | |
+| source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| source_max | The maxium amount to be sent, designated in the source asset | float | | | | | | history_operations | |
+| starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | | | | | history_operations | |
+| to | The address of the account receiving the payment funds | string | | | | | | history_operations | |
+| trustee | The issuing account address (only present for \`credit\` asset types) | string | | | | | | history_operations | |
+| trustor | The trusting account address, or the account being authorized or unauthorized | string | | | | | | history_operations | |
+| trustline_asset | The asset of the trustline which is no longer sponsored | string | | | | | | history_operations | |
+| value | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The value is the value of a key for a data entry. | string | | | | | | history_operations | |
+| clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | | | | | history_operations | |
+| clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] | Auth Required Auth Revocable Auth Immutable | | | | | history_operations | |
+| destination_min | The minimum amount to be received, designated in the expected destination asset | string | | | | | | history_operations | |
+| bump_to | The new desired value of the source account's sequence number | string | | | | | | history_operations | |
+| sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | | | | | | history_operations | |
+| sponsored_id | The account address of the account which will be sponsored | string | | | | | | history_operations | |
+| begin_sponsor | The account address of the account which initiated the sponsorship | string | | | | | | history_operations | |
+| authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | | | | | history_operations | |
+| clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | | | | | history_operations | |
+| liquidity_pool_id | Unique identifier for a liquidity pool | string | | | | | | history_operations | |
+| reserve_a_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | | history_operations | |
+| reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | | history_operations | |
+| reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool. | float | | | | | | history_operations | |
+| reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | | | | | history_operations | |
+| reserve_b_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | | history_operations | |
+| reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | | history_operations | |
+| reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | | history_operations | |
+| reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool. | float | | | | | | history_operations | |
+| reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool. | float | | | | | | history_operations | |
+| min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | | | | history_operations | |
+| min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | | | | history_operations | |
+| max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | | | | | history_operations | |
+| max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | | | | | history_operations | |
+| shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | | | | | history_operations | |
+| reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool. | float | | | | | | history_operations | |
+| reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool. | float | | | | | | history_operations | |
+| shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b, equal value must be withdrawn from the pool | float | | | | | | history_operations | |
+| reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool. | float | | | | | | history_operations | |
+| reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool. | float | | | | | | history_operations | |
+| op_application_order | The order number in the transaction set in which the operation is executed. The application order and transaction id is a natural key that comprises the (operation) id | integer | | | | | | history_operations | |
+| op_id | Unique identifier for an operation | integer | | | | | | history_operations | |
+| op_source_account | The account address that originates the operation | string | | | | | | history_operations | |
+| op_source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | | | | | history_operations | |
+| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | | | | | history_operations | |
+| type | The number indicating which type of operation this operation executes | integer | 0 - Create Account 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 5 - Set Options 6 - Change Trust 7 - Allow Trust 8 - Account Merge 9 - Inflation 10 - Manage Data 11 - Bump Sequence 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 15 - Claim Claimable Balance 16 - Being Sponsoring Future Reserves 17 - End Sponsoring Future Reserves 18 - Revoke Sponsorship 19 - Clawback 20 - Clawback Claimable Balance 21 - Set Trust Line Flags 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | | history_operations | |
+| transaction_hash | A hex-encoded SHA-256 hash of this transaction's XDR-encoded form | string | | | | | | history_transactions | |
+| ledger_sequence | The sequence number of the ledger that this transaction was included in | integer | | | | | | history_transactions | |
+| txn_application_order | Each transaction within the transaction set for a ledger is executed and applied sequentially to the network. The validator nodes randomly shuffle submitted transactions and assign them an application order number, which corresponds to the order in which they are applied | integer | | | | | | history_transactions | |
+| txn_account | The account address that originates the transaction | string | | | | | | history_transactions | |
+| account_sequence | The source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network. | integer | | | | | | history_transactions | |
+| max_fee | The maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the set | integer | | | | | | history_transactions | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| txn_operation_count | The number of operations contained within this transaction | integer | | | | | | history_transactions | A transaction is permitted to have up to 100 operations |
+| txn_created_at | The date the transaction was created | timestamp | | | | | | history_transactions | |
+| memo_type | The type of memo | string | MemoTypeMemoHash MemoTypeMemoId MemoTypeMemoNone MemoTypeMemoReturn MemoTypeMemoText | | | | | history_transactions | Defaults to \`MemoTypeMemoNone\` |
+| memo | An optional freeform field that attaches a memo to a transaction | string | | | | | | history_transactions | Memos are heavily used by centralized exchanges to help with account management. |
+| time_bounds | A transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will fail | string | | | | | | history_transactions | |
+| successful | Indicates if this transaction was successful or not | boolean | | | | | | history_transactions | A transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state. |
+| fee_charged | The fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations \* base fee. The minimum base fee is 100 stroops | integer | | | | | | history_transactions | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account. | string | | | | | | history_transactions | |
+| new_max_fee | If an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction set | integer | | | | | | history_transactions | |
+| account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accounts | string | | | | | | history_transactions | |
+| fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | string | | | | | | history_transactions | |
+| ledger_hash | The hex-encoded SHA-256 hash that represents the ledger's XDR-encoded form | string | | | | | | history_ledgers | |
+| previous_ledger_hash | The hex-encoded SHA-256 hash of the ledger that immediately precedes this ledger | string | | | | | | history_ledgers | |
+| transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | | history_ledgers | |
+| ledger_operation_count | The total number of successful operations applied to this ledger | integer | | | | | | history_ledgers | |
+| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | MONTH partition | | history_ledgers | |
+| ledger_id | Unique identifier for the ledger | integer | | | | | | history_ledgers | |
+| total_coins | Total number of lumens in circulation | integer | | | | | | history_ledgers | |
+| fee_pool | The sum of all transaction fees | integer | | | | | | history_ledgers | |
+| base_fee | The fee (in stroops) the network charges per operation in a transaction for the given ledger. The minimum base fee is 100, with the ability to increase if transaction demand exceeds ledger capacity. When this occurs, the ledger enters surge pricing | integer | | | | | | history_ledgers | |
+| base_reserve | The reserve (in stroops) the network requires an account to retain as a minimum balance in order to be a valid account on the network. The current minimum reserve is 10 XLM | integer | 5000000 100000000 | | | | | history_ledgers | |
+| max_tx_set_size | The maximum number of operations that Stellar validator nodes have agreed to process in a given ledger. Since Protocol 11, ledger capacity has been measured in operations rather than transactions | integer | 50 - original max 500 1000 - current max | | | | | history_ledgers | |
+| protocol_version | The protocol verstion that the Stellar network was running when this ledger was committed. Protocol versions are released ~every 6 months | integer | integers 1 - 19 (will increment) | | | | | history_ledgers | |
+| successful_transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | | history_ledgers | |
+| failed_transaction_count | The number of failed transactions submitted to the network in this ledger. The transaction was still paid for but contained an error that prevented it from executing | integer | | | | | | history_ledgers | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | history_operations | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | | history_operations | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | current timestamp | |
+| ledger_bounds | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully execute | string | | | | | | history_transactions | |
+| min_account_sequence | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is valid | integer | | | | | | history_transactions | |
+| min_account_sequence_age | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be valid | integer | | | | | | history_transactions | |
+| min_account_sequence_ledger_gap | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be valid | integer | | | | | | history_transactions | |
+| extra_signers | An array of up to two additional signers that must have corresponding signatures for this transaction to be valid | array[string] | | | | | | history_transactions | |
+| asset_id | Unique identifier for asset_code, asset_issuer | | | | | | | history_operations | |
+| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | | | | | | | history_operations | |
+| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | | | | | | | history_operations | |
+| source_asset_id | Unique identifier for source_asset_code, source_asset_issuer | | | | | | | history_operations | |
+| reserve_a_asset_id | Unique identifier for reserve_a_asset_code, reserve_a_asset_issuer | | | | | | | history_operations | |
+| reserve_b_asset_id | Unique identifier for reserve_b_asset_code, reserve_b_asset_issuer | | | | | | | history_operations | |
+| asset_balance_changes | The balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the [SAC](https://soroban.stellar.org/docs/tokens/stellar-asset-contract) to be included. | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab |
+| parameters | The parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of \`type\` + \`value\` pair | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab |
+| parameters_decoded | The decoded human readable parameters passed to a function call for a Soroban contract. The record follows the format of \`type\` + \`value\` pair | record | | | | | | history_operations | More details about the record structure can be found in the \`history_operations\` tab |
+| function | The function type invoked by the host operation | string | HostFunctionTypeHostFunctionTypeInvokeContract HostFunctionTypeHostFunctionTypeCreateContract HostFunctionTypeHostFunctionTypeUploadContractWasm | | | | | history_operations | |
+| address | The wallet address used to create and deploy a Soroban contract instance. | string | | | | | | history_operations | |
+| soroban_operation_type | The type of Soroban operation that is invoked within a host function | string | invoke_contract create_contract upload_wasm extend_footprint_ttl restore_footprint | | | | | history_operations | |
+| extend_to | The number of ledgers in which the Soroban ledger entry is extended | integer | | | | | | history_operations | |
+| contract_id | The unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_id. | string | | | | | | history_operations | |
+| contract_code_hash | The hex-encoded SHA-256 hash that represents the contract code's XDR-encoded form | string | | | | | | history_operations | |
+| resource_fee | The fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction is | integer | | | | | | history_transactions | |
+| soroban_resources_instructions | Number of CPU instructions the Soroban transaction uses | integer | | | | | | history_transactions | |
+| soroban_resources_read_bytes | Number of bytes read by the Soroban transaction | integer | | | | | | history_transactions | |
+| soroban_resources_write_bytes | Number of bytes written by the Soroban transaction | integer | | | | | | history_transactions | |
+| transaction_result_code | The detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found [here](https://pkg.go.dev/github.com/stellar/go/xdr#TransactionResultCode). | string | | | | | | history_transactions | |
+| inclusion_fee_bid | The maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger. | integer | | | | | | history_transactions | |
+| inclusion_fee_charged | The fee charged for the transaction to be included in the ledger. | integer | | | | | | history_transactions | |
+| resource_fee_refund | The amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from teh source account before the transaction is executed and then refunded based on the actual usage. | integer | | | | | | history_transactions | |
+| operation_result_code | The result code returned when the Stellar Network applies an operation. This code is helpful for understanding failed transactions. | string | | | | | | history_operations | |
+| operation_trace_code | The trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding failure types. | string | | | | | | history_operations | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-assets.mdx b/network/hubble/data-catalog/data-dictionary/history-assets.mdx
new file mode 100644
index 000000000..3f186494b
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-assets.mdx
@@ -0,0 +1,15 @@
+---
+title: History Assets
+sidebar_position: 90
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| id | Unique identifier for the asset code, type and issuer combination. This is not a primary key on the table | float | | | Yes | | Yes | |
+| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | Yes | cluster | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| asset_code | The 4 or 12 character code representation of the asset on the network | string | | | Yes | cluster | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset |
+| asset_issuer | The account address of the original asset issuer that created the asset | string | | | Yes | cluster | No | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | Yes | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | | No | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-effects.mdx b/network/hubble/data-catalog/data-dictionary/history-effects.mdx
new file mode 100644
index 000000000..6e04646d4
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-effects.mdx
@@ -0,0 +1,160 @@
+---
+title: History Effects
+sidebar_position: 100
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ------------ | ------------ | --------------------------- | --------- | ----- |
+| address | The address of the account. The address is the account's public key encoded in base32. All account addresses start with a \`G\` | string | | | | cluster | | |
+| address_muxed | Address multiplexed | string | | | | | | |
+| operation_id | Unique identifier for an operation | integer | | | | cluster | | |
+| type | The number indicating which type of effect | integer | | | | cluster | | |
+| type_string | The string indicating which type of effect | string | | | | | | |
+| details | Unstructured JSON object that contains details based on the type of effect. Each effect will return its own relevant details, with the rest of the details as null | record | | | | | | |
+| details.liquidity_pool | Liquidity pools provide a simple, non-interactive way to trade large amounts of capital and enable high volumes of trading | record | | | | | | |
+| details.liquidity_pool.fee_bp | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | | | | | | |
+| details.liquidity_pool.id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | | | | | |
+| details.liquidity_pool.total_shares | Total number of pool shares issued | numeric | | | | | | |
+| details.liquidity_pool.total_trustlines | Number of trustlines for the associated pool shares | integer | | | | | | |
+| details.liquidity_pool.type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool. | string | | | | | | |
+| details.liquidity_pool.reserves | Reserved asset in liquidity pool | record | | | | | | |
+| details.liquidity_pool.reserves.asset | Reserve asset | string | | | | | | |
+| details.liquidity_pool.reserves.amount | Reserve asset amount | numeric | | | | | | |
+| details.reserves_received | Asset amount received for reserves from liquidity pool withdraw | record | | | | | | |
+| details.reserves_received.asset | Recieved asset | string | | | | | | |
+| details.reserves_received.amount | Recieved asset amount | numeric | | | | | | |
+| details.reserves_deposited | Asset amount deposited for reserves from liquidity pool deposit | record | | | | | | |
+| details.reserves_deposited.asset | Deposited asset | string | | | | | | |
+| details.reserves_deposited.amount | Deposited asset amount | numeric | | | | | | |
+| details.reserves_revoked | Asset amount revoked for reserves from liquidity pool revoke | record | | | | | | |
+| details.reserves_revoked.asset | Revoked asset | string | | | | | | |
+| details.reserves_revoked.amount | Revoked asset amount | numeric | | | | | | |
+| details.reserves_revoked.claimable_balance_id | Claimable balance id | string | | | | | | |
+| details.bought | Asset bought from trade | record | | | | | | |
+| details.bought.asset | Asset bought | string | | | | | | |
+| details.bought.amount | Asset amount bought | numeric | | | | | | |
+| details.sold | Asset sold from trade | record | | | | | | |
+| details.sold.asset | Asset sold | string | | | | | | |
+| details.sold.amount | Asset amount sold | numeric | | | | | | |
+| details.shares_revoked | Shares revoked from liquidity pool revoke | numeric | | | | | | |
+| details.shares_received | Shares received from liquidity pool deposit | numeric | | | | | | |
+| details.shares_redeemed | Shares redeemed from liquidity pool withrdaw | numeric | | | | | | |
+| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | | | | | |
+| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. The balance id can be joined back to the \`claimable_balances\` table to gather more details about the balance | string | | | | | | |
+| details.new_seq | New sequence number after bump sequence | integer | | | | | | |
+| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | | | | | |
+| details.value | Value of data from manage data effect | string | | | | | | |
+| details.trustor | Account address of trustor | string | | | | | | |
+| details.limit | The upper bound amount of an asset that an account can hold | numeric | | | | | | |
+| details.inflation_destination | Inflation destination account id | string | | | | | | |
+| details.authorized_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.auth_immutable_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.authorized_to_maintain_liabilites | Auth value for set trustline flags | boolean | | | | | | |
+| details.auth_revocable_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.auth_required_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.auth_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.claimable_balance_clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.clawback_enabled_flag | Auth value for set trustline flags | boolean | | | | | | |
+| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | |
+| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | |
+| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | | | | | |
+| details.home_domain | The home domain used for the stellar.toml file discovery | string | | | | | | |
+| details.asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | |
+| details.asset | Asset on network | string | | | | | | |
+| details.asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | |
+| details.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | |
+| details.signer | The address of the account that is allowed to authorize (sign) transactions for another account. This process is called multi-sig | string | | | | | | |
+| details.sponsor | The account address of the sponsor who is paying the reserves for this signer | string | | | | | | |
+| details.new_sponsor | The new account address of the sponsor who is paying the reserves for this signer | string | | | | | | |
+| details.former_sponsor | The former account address of the sponsor who is paying the reserves for this signer | string | | | | | | |
+| details.weight | Signer weight | integer | | | | | | |
+| details.public_key | Signer public key | string | | | | | | |
+| details.amount | Asset amount | numeric | | | | | | |
+| details.starting_balance | Account asset starting balance | numeric | | | | | | |
+| details.seller | Selling account | string | | | | | | |
+| details.seller_muxed | Account multiplexed | string | | | | | | |
+| details.seller_muxed_id | Account multiplexed id | integer | | | | | | |
+| details.offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | | | | | |
+| details.sold_amount | Amount of asset sold | numeric | | | | | | |
+| details.sold_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | |
+| details.sold_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | |
+| details.sold_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | |
+| details.bought_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | | | | | | |
+| details.bought_asset_code | The 4 or 12 character code representation of the asset on the network | string | | | | | | |
+| details.bought_asset_issuer | The account address of the original asset issuer that created the asset | string | | | | | | |
+| details.bought_amount | Amount of asset bought | numeric | | | | | | |
+| details.data_name | Ledger entry data name | string | | | | | | |
+| details.predicate | The condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic. | record | | | | | | |
+| details.predicate.not | | record | | | | | | |
+| details.predicate.not.abs_before | | string | | | | | | |
+| details.predicate.not.rel_before | | integer | | | | | | |
+| details.predicate.not.unconditional | | boolean | | | | | | |
+| details.predicate.not.and | | record | | | | | | |
+| details.predicate.not.and.abs_before | | string | | | | | | |
+| details.predicate.not.and.rel_before | | integer | | | | | | |
+| details.predicate.not.and.unconditional | | boolean | | | | | | |
+| details.predicate.not.and.abs_before_epoch | | integer | | | | | | |
+| details.predicate.not.or | | record | | | | | | |
+| details.predicate.not.or.abs_before | | string | | | | | | |
+| details.predicate.not.or.rel_before | | integer | | | | | | |
+| details.predicate.not.or.unconditional | | boolean | | | | | | |
+| details.predicate.not.or.abs_before_epoch | | integer | | | | | | |
+| details.predicate.not.not | | record | | | | | | |
+| details.predicate.not.not.abs_before | | string | | | | | | |
+| details.predicate.not.not.rel_before | | integer | | | | | | |
+| details.predicate.not.not.unconditional | | boolean | | | | | | |
+| details.predicate.not.not.abs_before_epoch | | integer | | | | | | |
+| details.predicate.not.abs_before_epoch | | integer | | | | | | |
+| details.predicate.type | | integer | | | | | | |
+| details.predicate.and | | record | | | | | | |
+| details.predicate.and.abs_before | | string | | | | | | |
+| details.predicate.and.rel_before | | integer | | | | | | |
+| details.predicate.and.unconditional | | boolean | | | | | | |
+| details.predicate.and.and | | record | | | | | | |
+| details.predicate.and.and.abs_before | | string | | | | | | |
+| details.predicate.and.and.rel_before | | integer | | | | | | |
+| details.predicate.and.and.unconditional | | boolean | | | | | | |
+| details.predicate.and.and.abs_before_epoch | | integer | | | | | | |
+| details.predicate.and.or | | record | | | | | | |
+| details.predicate.and.or.abs_before | | string | | | | | | |
+| details.predicate.and.or.rel_before | | integer | | | | | | |
+| details.predicate.and.or.unconditional | | boolean | | | | | | |
+| details.predicate.and.or.abs_before_epoch | | integer | | | | | | |
+| details.predicate.and.not | | record | | | | | | |
+| details.predicate.and.not.abs_before | | string | | | | | | |
+| details.predicate.and.not.rel_before | | integer | | | | | | |
+| details.predicate.and.not.unconditional | | boolean | | | | | | |
+| details.predicate.and.not.abs_before_epoch | | integer | | | | | | |
+| details.predicate.and.abs_before_epoch | | integer | | | | | | |
+| details.predicate.or | | record | | | | | | |
+| details.predicate.or.abs_before | | string | | | | | | |
+| details.predicate.or.rel_before | | integer | | | | | | |
+| details.predicate.or.unconditional | | boolean | | | | | | |
+| details.predicate.or.and | | record | | | | | | |
+| details.predicate.or.and.abs_before | | string | | | | | | |
+| details.predicate.or.and.rel_before | | integer | | | | | | |
+| details.predicate.or.and.unconditional | | boolean | | | | | | |
+| details.predicate.or.and.not | | record | | | | | | |
+| details.predicate.or.and.not.abs_before | | string | | | | | | |
+| details.predicate.or.and.not.rel_before | | integer | | | | | | |
+| details.predicate.or.and.not.unconditional | | boolean | | | | | | |
+| details.predicate.or.and.not.abs_before_epoch | | integer | | | | | | |
+| details.predicate.or.and.abs_before_epoch | | integer | | | | | | |
+| details.predicate.or.or | | record | | | | | | |
+| details.predicate.or.or.abs_before | | string | | | | | | |
+| details.predicate.or.or.rel_before | | integer | | | | | | |
+| details.predicate.or.or.unconditional | | boolean | | | | | | |
+| details.predicate.or.or.abs_before_epoch | | integer | | | | | | |
+| details.predicate.or.not | | record | | | | | | |
+| details.predicate.or.not.abs_before | | string | | | | | | |
+| details.predicate.or.not.rel_before | | integer | | | | | | |
+| details.predicate.or.not.unconditional | | boolean | | | | | | |
+| details.predicate.or.not.abs_before_epoch | | integer | | | | | | |
+| details.predicate.or.abs_before_epoch | | integer | | | | | | |
+| details.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | | | | | | |
+| details.predicate.rel_before | A relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balance \#### Notes: This condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule. | integer | | | | | | |
+| details.predicate.unconditional | If true it means this clause of the condition is always satisfied. \#### Notes: When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions | boolean | | | | | | |
+| details.predicate.abs_before_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | | | | | | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | | |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-ledgers.mdx b/network/hubble/data-catalog/data-dictionary/history-ledgers.mdx
new file mode 100644
index 000000000..75bf49fae
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-ledgers.mdx
@@ -0,0 +1,28 @@
+---
+title: History Ledgers
+sidebar_position: 110
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| sequence | The sequence number that corresponds to the individual ledgers. As ledgers are written to the network, the sequence is incremented by 1 | integer | | | Yes | cluster | Yes | |
+| ledger_hash | The hex-encoded SHA-256 hash that represents the ledger's XDR-encoded form | string | | | | | Yes | |
+| previous_ledger_hash | The hex-encoded SHA-256 hash of the ledger that immediately precedes this ledger | string | | | | | No | |
+| transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | Yes | Defaults to 0 |
+| operation_count | The total number of successful operations applied to this ledger | integer | | | | | Yes | Defaults to 0 |
+| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | Yes | cluster, MONTH partition | Yes | |
+| id | Unique identifier for the ledger | integer | | Yes | | | No | |
+| total_coins | Total number of lumens in circulation | integer | | | | | Yes | |
+| fee_pool | The sum of all transaction fees | integer | | | | | Yes | |
+| base_fee | The fee (in stroops) the network charges per operation in a transaction for the given ledger. The minimum base fee is 100, with the ability to increase if transaction demand exceeds ledger capacity. When this occurs, the ledger enters surge pricing | integer | | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| base_reserve | The reserve (in stroops) the network requires an account to retain as a minimum balance in order to be a valid account on the network. The current minimum reserve is 10 XLM | integer | 5000000 100000000 | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| max_tx_set_size | The maximum number of operations that Stellar validator nodes have agreed to process in a given ledger. Since Protocol 11, ledger capacity has been measured in operations rather than transactions | integer | 50 - original max 500 1000 - current max | | | | Yes | |
+| protocol_version | The protocol verstion that the Stellar network was running when this ledger was committed. Protocol versions are released ~every 6 months | integer | integers 1 - 19 (will increment) | | | | Yes | Defaults to 0 |
+| ledger_header | A base64-encoded string of the raw LedgerHeader xdr struct for this ledger | bytes | | | | | No | |
+| successful_transaction_count | The number of successful transactions submitted and completed by the network in this ledger | integer | | | | | No | |
+| failed_transaction_count | The number of failed transactions submitted to the network in this ledger. The transaction was still paid for but contained an error that prevented it from executing | integer | | | | | No | |
+| tx_set_operation_count | The total number of operations in the transaction set for this ledger, including failed transactions. | integer | | | | | No | Transactions on Stellar are atomic. If one of the operations within a transaction set fails, the entire transaction will failed, including any other operations. |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| soroban_fee_write_1kb | Soroban write fee costs | integer | | | | | | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-operations.mdx b/network/hubble/data-catalog/data-dictionary/history-operations.mdx
new file mode 100644
index 000000000..eee0df090
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-operations.mdx
@@ -0,0 +1,137 @@
+---
+title: History Operations
+sidebar_position: 120
+---
+
+| Name | Description | Data Type | Domain Values | Operation Types Supported | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| application_order | The order number in the transaction set in which the operation is executed. The application order and transaction id is a natural key that comprises the (operation) id | integer | | | | | | Yes | |
+| id | Unique identifier for an operation | integer | | | Yes | Yes | | Yes | The operation id is the transaction id + order number |
+| source_account | The account address that originates the operation | string | | | | | cluster | Yes | Defaults to '' |
+| source_account_muxed | If an account is multiplexed (muxed), the virtual account address that originates the operation | string | | | | | | No | |
+| transaction_id | The transaction identifier in which the operation executed. There can be up to 100 operations in a given transaction | integer | | | | | cluster | Yes | |
+| type | The number indicating which type of operation this operation executes | integer | 0 - Create Account 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 5 - Set Options 6 - Change Trust 7 - Allow Trust 8 - Account Merge 9 - Inflation 10 - Manage Data 11 - Bump Sequence 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 15 - Claim Claimable Balance 16 - Being Sponsoring Future Reserves 17 - End Sponsoring Future Reserves 18 - Revoke Sponsorship 19 - Clawback 20 - Clawback Claimable Balance 21 - Set Trust Line Flags 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | cluster | Yes | When new features are rolled out to the network, many times the new feature results in a new operation type, which is added to the type list. |
+| type_string | The string indicating which type of operation this operation executes | string | | | | | | Yes | |
+| details | Unstructured JSON object that contains details based on the type of operation executed. Each operation will return its own relevant details, with the rest of the details as null | blob | | see details below (E10:E108) | | | | No | Bigquery does not have a JSON field type (currently in pre-GA pilot only) so this field is a structured, sparse, record field instead. In the upstream data, this field is a true json blob |
+| details.account | The new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation) | string | | 0 - Create Account 8 - Account Merge | | | | No | |
+| details.account_muxed | The virtual address of the account if the account is multiplexed | string | | 8 - Account Merge | | | | No | |
+| details.account_muxed_id | Integer representation of the virtual address of the account if the account is multiplexed | integer | | 8 - Account Merge | | | | No | |
+| details.account_id | The address of the account which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.amount | Float representation of the amount of an asset sent/offered/etc | float | | 1 - Payment 2 - Path Payment Strict Receive 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer 13 - Path Payment Strict Send 14 - Create Claimable Balance 19 - Clawback | | | | No | |
+| details.asset | The asset available to be claimed in the form of "asset_code:issuing_address". If the claimable balance is in XLM, it is reported as "native" | string | | 14 - Create Claimable Balance | | | | No | |
+| details.asset_code | The 4 or 12 character code representation of the asset on the network | string | | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset |
+| details.asset_issuer | The account address of the original asset issuer that created the asset | string | | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | |
+| details.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 1 - Payment 2 - Path Payment Strict Receive 6 - Change Trust 7 - Allow Trust 13 - Path Payment Strict Send 19 - Clawback 21 - Set Trust Line Flags | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| details.authorize | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | 7 - Allow Trust | | | | No | |
+| details.balance_id | The unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance. | string | | 15 - Claim Claimable Balance 20 - Clawback Claimable Balance | | | | No | |
+| details.buying_asset_code | The 4 or 12 character code representation of the asset that is either bought or offered to buy in a trade | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.buying_asset_issuer | The account address of the original asset issuer that created the asset bought or offered to buy | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| details.claimable_balance_id | The balance id of the claimable balance which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.claimant | The account address of the account which claimed the claimable balance | string | | 15 - Claim Claimable Balance | | | | No | |
+| details.claimant_muxed | If the account is multiplexed, the virtual address of the account which claimed the claimable balance | string | | 15 - Claim Claimable Balance | | | | No | |
+| details.claimant_muxed_id | If the account is multiplexed, an integer representation of the muxed account which claimed the balance | integer | | 15 - Claim Claimable Balance | | | | No | |
+| details.claimants | An unstructured field that lists account addresses eligible to claim a balance and the conditions which must be satisfied to claim the balance (typically time bound conditions) | array[record] | | 14 - Create Claimable Balance | | | | No | |
+| details.data_account_id | The account address of the account whose data entry is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.data_name | The name of the data entry which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.from | The account address from which the payment originates (the sender account) | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | |
+| details.from_muxed | If the account is multiplexed, the virtual address of the sender account | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | |
+| details.from_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the sender account | integer | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send 19 - Clawback | | | | No | |
+| details.funder | When a new account is created, an account address "funds" the new account | string | | 0 - Create Account | | | | No | |
+| details.funder_muxed | If the account is multiplexed, the virtual address of the account funding the new account | string | | 0 - Create Account | | | | No | |
+| details.funder_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the account funding the new acocunt. | string | | 0 - Create Account | | | | No | |
+| details.high_threshold | The sum of the weight of all signatures that sign a transaction for the high threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| details.home_domain | The home domain used for the stellar.toml file discovery | string | | 5 - Set Options | | | | No | |
+| details.inflation_dest | The account address specifying where to send inflation funds. The concept of inflation on the network has been discontinued | string | | 5 - Set Options | | | | No | Inflation was retired from the network in 2019. |
+| details.into | The account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be merged | string | | 8 - Account Merge | | | | No | |
+| details.into_muxed | If the account is multiplexed, the virtual address of the account receive the deleted account's lumens | string | | 8 - Account Merge | | | | No | |
+| details.into_muxed_id | If the account is multipled, the integer representation of the account receiving the deleted account's lumens | integer | | 8 - Account Merge | | | | No | |
+| details.limit | The upper bound amount of an asset that an account can hold | float | | 6 - Change Trust | | | | No | |
+| details.low_threshold | The sum of the weight of all signatures that sign a transaction for the low threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| details.master_key_weight | An accounts private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transaction | integer | Integers from 1 to 255 | 5 - Set Options | | | | No | Defaults to 1 |
+| details.med_threshold | The sum of the weight of all signatures that sign a transaction for the medium threshold operation. The weight must exceed the set threshold for the operation to succeed. | integer | | 5 - Set Options | | | | No | Each operation falls under a specific threshold category: low, medium or high. Thresholds define the level of privilege an operation needs in order to succeed (this is a security measure) Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance Medium Security: Everything Else High Security: Account Merge, Set Options |
+| details.name | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The name is the key for a data entry. | string | | 10 - Manage Data | | | | No | If the name is new, the manage data operation will add the given name/value pair to the account. If the name is already present, the associated value will be modified. |
+| details.offer_id | The unique id for the offer. This id can be joined with the \`offers\` table | integer | | 3 - Manage Sell Offer 12 - Manage Buy Offer 18 - Revoke Sponsorship | | | | No | |
+| details.path | Path payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquid | record | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | Up to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail which means the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure. |
+| details.price | The ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying asset | array[float] | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.price_r | Precise representation of the buy and sell price of the assets on an offer. The n is the numerator, the d is the denominator. By calculating the ratio of n/d you can calculate the price of the bid or ask | record | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.selling_asset_code | The 4 or 12 character code representation of the asset that is either sold or offered to sell in a trade | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.selling_asset_issuer | The account address of the original asset issuer that created the asset sold or offered to sell | string | | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | |
+| details.selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 3 - Manage Sell Offer 4 - Create Passive Sell Offer 12 - Manage Buy Offer | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| details.set_flags | Array of numeric values of the flags set for a given trustline in the operation | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | 21 - Set Trust Line Flags | | | | No | |
+| details.set_flags_s | Array of string values of the flags set for a given trustline in the operation | array[string] | Auth Required Auth Revocable Auth Immutable | 21 - Set Trust Line Flags | | | | No | |
+| details.signer_account_id | The address of the account of the signer no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.signer_key | The address of the signer which is no longer sponsored | string | | 5 - Set Options 18 - Revoke Sponsorship | | | | No | |
+| details.signer_weight | The weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transaction | integer | Integers from 1 to 255 | 5 - Set Options | | | | No | |
+| details.source_amount | The originating amount sent designated in the source asset | float | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.source_asset_code | The 4 or 12 character code representation of the asset that is originally sent | string | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.source_asset_issuer | The account address of the original asset issuer that created the asset sent | string | | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.source_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| details.source_max | The maxium amount to be sent, designated in the source asset | float | | 2 - Path Payment Strict Receive | | | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a maximum amount they are willing to send if the rates between the asset pair are bad. |
+| details.starting_balance | The amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar Network | float | | 0 - Create Account | | | | No | |
+| [details.to](http://details.to/) | The address of the account receiving the payment funds | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.to_muxed | If the account is multiplexed, the virtual address of the account receiving the payment | string | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.to_muxed_id | If the account is multiplexed, the integer representation of the virtual address of the recipient account | integer | | 1 - Payment 2 - Path Payment Strict Receive 13 - Path Payment Strict Send | | | | No | |
+| details.trustee | The issuing account address (only present for \`credit\` asset types) | string | | 6 - Change Trust 7 - Allow Trust | | | | No | |
+| details.trustee_muxed | If the issuing account address is multiplexed, the virtual address | string | | 7 - Allow Trust | | | | No | |
+| details.trustee_muxed_id | If the issuing account address is multiplexed, the integer representation of the virtual address | integer | | 7 - Allow Trust | | | | No | |
+| details.trustline_account_id | The address of the account whose trustline is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | |
+| details.trustline_asset | The asset of the trustline which is no longer sponsored | string | | 18 - Revoke Sponsorship | | | | No | A sponsor can determine they want to revoke sponsorship of certain assets but maintain the sponsorship of other assets |
+| details.trustor | The trusting account address, or the account being authorized or unauthorized | string | | 6 - Change Trust 7 - Allow Trust 21 - Set Trust Line Flags | | | | No | |
+| details.trustor_muxed | If the trusting account is multiplexed, the virtual address of the account | string | | 6 - Change Trust | | | | No | |
+| details.trustor_muxed_id | If the trusting account is multiplexed, the integer representation of the virtual address | integer | | 6 - Change Trust | | | | No | |
+| details.value | The manage data operation allows an account to write and store data directly on the ledger in a key value pair format. The value is the value of a key for a data entry. | string | | 10 - Manage Data | | | | No | |
+| details.clear_flags | Array of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[integer] | 1 - Auth Required 2 - Auth Revocable 4 - Auth Immutable | 21 - Set Trust Line Flags | | | | No | |
+| details.clear_flags_s | Array of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flag | array[string] | Auth Required Auth Revocable Auth Immutable | 21 - Set Trust Line Flags | | | | No | |
+| details.destination_min | The minimum amount to be received, designated in the expected destination asset | string | | 13 - Path Payment Strict Send | | | | No | Exchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a guaranteed minimum amount they want sent to the recipient to ensure they receive a specified value. |
+| details.bump_to | The new desired value of the source account's sequence number | string | | 11 - Bump Sequence | | | | No | |
+| details.authorize_to_maintain_liabilities | Indicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions. | boolean | | 7 - Allow Trust | | | | No | |
+| details.clawback_enabled | Indicates whether the asset can be clawed back by the asset issuer | boolean | | 5 - Set Options 7 - Allow Trust | | | | No | |
+| details.sponsor | The account address of another account that maintains the minimum balance in XLM for the source account to complete operations | string | | Any Type | | | | No | |
+| details.sponsored_id | The account address of the account which will be sponsored | string | | 16 - Begin Sponsoring Future Reserves | | | | No | |
+| details.begin_sponsor | The account address of the account which initiated the sponsorship | string | | 17 - End Sponsoring Future Reserves | | | | No | |
+| details.begin_sponsor_muxed | If the initiating sponsorship account is multiplexed, the virtual address | string | | 17 - End Sponsoring Future Reserves | | | | No | |
+| details.begin_sponsor_muxed_id | If the initiating sponsorship account is multiplexed, the integer representation of the virtual address | integer | | 17 - End Sponsoring Future Reserves | | | | No | |
+| details.liquidity_pool_id | Unique identifier for a liquidity pool | string | | 6 - Change Trust 18 - Revoke Sponsorship 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | Liquidity pools are automated money markets between an asset pair. A given pool will only ever have two assets unless there is a protocol change |
+| details.reserve_a_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_a_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_a_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_a_max_amount | The maximum amount of reserve a that can be deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit |
+| details.reserve_a_deposit_amount | The amount of reserve a that ended up actually deposited into the pool | float | | 22 - Liquidity Pool Deposit | | | | No | |
+| details.reserve_b_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_b_asset_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_b_asset_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | 22 - Liquidity Pool Deposit 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_b_max_amount | The maximum amount of reserve b that can be deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | Deposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit |
+| details.reserve_b_deposit_amount | The amount of reserve b that ended up actually deposited into the pool. | float | | 22 - Liquidity Pool Deposit | | | | No | |
+| details.min_price | The floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | 22 - Liquidity Pool Deposit | | | | No | Market rates fluctuate for pricing and the source account can specify a minimum price they expect to receive as a ratio of the two assets in the pool |
+| details.min_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | 22 - Liquidity Pool Deposit | | | | No | |
+| details.max_price | The floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve B | float | | 22 - Liquidity Pool Deposit | | | | No | Market rates fluctuate for pricing and the source account can specify a maximum price they expect to receive as a ratio of the two assets in the pool |
+| details.max_price_r | A fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b) | array[record] | | 22 - Liquidity Pool Deposit | | | | No | |
+| details.shares_received | A floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a pool | float | | 22 - Liquidity Pool Deposit | | | | No | |
+| details.reserve_a_min_amount | The minimum amount of reserve a that can be withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_a_withdraw_amount | The amount of reserve a that ended up actually withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_b_min_amount | The minimum amount of reserve b that can be withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | |
+| details.reserve_b_withdraw_amount | The amount of reserve b that ended up actually withdrawn from the pool. | float | | 23 - Liquidity Pool Withdraw | | | | No | |
+| details.shares | The number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b, equal value must be withdrawn from the pool | float | | 23 - Liquidity Pool Withdraw | | | | No | |
+| details.asset_balance_changes | The balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the [SAC](https://soroban.stellar.org/docs/tokens/stellar-asset-contract) to be included. | record | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.amount | The amount of token minted, transferred or burned using the SAC contract. | integer | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.asset_code | The 4 or 12 character code representation of the asset transferred using SAC contract | string | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.asset_issuer | The wallet address of the account that issued the asset. This asset is a classic asset even though it is sent through SAC contract. | string | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.from | The originating wallet address or contract id from where the funds were sent | string | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.to | The destination wallet address or contract id where the funds go | string | | 24 - Invoke Host Function | | | | No | |
+| details.asset_balance_changes.type | The specific SAC operation type that indicates the type of value transfer occurring. | string | mint transfer burn | 24 - Invoke Host Function | | | | No | |
+| details.parameters | The parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of \`type\` + \`value\` pair | record | | 24 - Invoke Host Function | | | | No | |
+| details.parameters_decoded | The decoded human readable parameters passed to a function call for a Soroban contract. The record follows the format of \`type\` + \`value\` pair | record | | 24 - Invoke Host Function | | | | No | |
+| details.function | The function type invoked by the host operation | string | HostFunctionTypeHostFunctionTypeInvokeContract HostFunctionTypeHostFunctionTypeCreateContract HostFunctionTypeHostFunctionTypeUploadContractWasm | 24 - Invoke Host Function | | | | No | |
+| details.address | The wallet address used to create and deploy a Soroban contract instance. | string | | 24 - Invoke Host Function | | | | No | |
+| details.type | The type of Soroban operation that is invoked within a host function | string | invoke_contract create_contract upload_wasm extend_footprint_ttl restore_footprint | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | |
+| details.extend_to | The number of ledgers in which the Soroban ledger entry is extended | integer | | 25 - Extend Footprint Ttl | | | | No | |
+| details.contract_id | The unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_id. | string | | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | |
+| details.contract_code_hash | The hex-encoded SHA-256 hash that represents the contract code's XDR-encoded form | string | | 24 - Invoke Host Function 25 - Extend Footprint Ttl 26 - Restore Footprint | | | | No | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | | Yes | |
+| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | | | Yes | We are aiming to repartition this table on closed_at |
+| operation_result_code | The result code returned when an operation is applied. This code is helpful for understanding failed operations. | string | OperationResultCodeOpInner OperationResultCodeOpBadAuth OperationResultCodeOpNoAccount OperationResultCodeOpNotSupported OperationResultCodeOpTooManySubentries OperationResultCodeOpExceededWorkLimit OperationResultCodeOpTooManySponsoring | | | | | Yes | Field will be backfilled at a future date |
+| operation_trace_code | The trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding nuanced failures by operation type. This code provides the lowest level detail regarding why a transaction fails. | string | InvokeHostFunctionResultCodeInvokeHostFunction Success Malformed Trapped ResourceLimitExceeded EntryArchived InsufficientRefundableFee ExtendFootprintTtlResultCodeExtendFootprintTtl Success Malformed ResourceLimitExceeded InsufficientRefundableFee RestoreFootprintResultCodeRestoreFootprint Success Malformed ResourceLimitExceeded InsufficientRefundableFee | All operations, only Soroban Operation types are detailed (see notes for more) | | | | Yes | See the XDR [documentation](https://pkg.go.dev/github.com/stellar/go/xdr#OperationResultTr) for more details |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-trades.mdx b/network/hubble/data-catalog/data-dictionary/history-trades.mdx
new file mode 100644
index 000000000..80bbef078
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-trades.mdx
@@ -0,0 +1,34 @@
+---
+title: History Trades
+sidebar_position: 130
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------ | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| history_operation_id | The operation id associated with the executed trade. The total amount traded in an operation can be broken up into multiple smaller trades spread across multiple orders by multiple parties | integer | | | Yes | | Yes | There is a many to one relationship for history_operation_id with the history_operations table. |
+| order | The sequential number assigned the portion of a trade that is executed within a operation. The history_operation_id and order number together represent a unique trade segment | integer | | | Yes | | Yes | |
+| ledger_closed_at | The timestamp in UTC when the ledger with this trade was closed | timestamp | | | Yes | MONTH partition | Yes | |
+| selling_account_address | The account address of the selling party | string | | | | | No | |
+| selling_asset_code | The 4 or 12 character code of the sold asset within a trade | string | | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset |
+| selling_asset_issuer | The account address of the original asset issuer for the sold asset within a trade | string | | | | | No | |
+| selling_asset_type | The identifier for type of asset code used for the sold asset within the trade | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| selling_amount | The amount of sold asset that was moved from the seller account to the buyer account, reported in terms of the sold amount | float | | | | | Yes | |
+| buying_account_address | The account address of the buying party | string | | | | | No | |
+| buying_asset_code | The 4 or 12 character code of the bought asset within a trade | string | | | | | No | Asset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset |
+| buying_asset_issuer | The account address of the original asset issuer for the bought asset within a trade | string | | | | | No | |
+| buying_asset_type | The identifier for type of asset code used for the bought asset within the trade | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | XLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native' |
+| buying_amount | The amount of purchased asset that was moved from the seller account into the buying account, reported in terms of the bought asset | float | | | | | Yes | |
+| price_n | The price ratio of the sold asset: bought asset. When taken with price_d, the price can be calculated by price_n/price_d | integer | | | | | No | |
+| price_d | The price ratio of the sold asset: bought asset. When taken with price_n, the price can be calculated by price_n/price_d | integer | | | | | No | |
+| selling_offer_id | The offer ID in the orderbook of the selling offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | | | | No | |
+| buying_offer_id | The offer ID in the orderbook of the buying offer. If this offer was immediately and fully consumed, this will be a synthetic ID. | integer | | | | | No | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | No | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | No | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | No | |
+| selling_liquidity_pool_id | The unique identifier for a liquidity pool if the trade was executed against a liquidity pool instead of the orderbook | string | | | | | No | |
+| liquidity_pool_fee | The percentage fee (in basis points) of the total fee collected by the liquidity pool for executing the trade. The fee is pooled and distributed back to liquidity pool shareholders to incentivize users to stake money in the pool. | integer | 30 | | | | No | Liquidity pool fees can only change with protocol changes to the network itself |
+| trade_type | Indicates whether the trade was executed against the orderbook (decentralized exchange) or liquidity pool | integer | 1 - Decentralized Exchange Trade 2 - Liquidity Pool Trade | | | cluster | No | |
+| rounding_slippage | Applies to liquidity pool trades only. With fractional amounts of an asset traded, the network must round a fraction to the nearest whole number. This can cause the trade to "slip" price by a percentage compared with the original offer. Rounding slippage reports the percentage that dust trades slip before executing. | integer | | | | | No | Defaults to 1 Rounding Slippage is always unprofitable for the trader and is not a valid way to try and extract more value from the network. |
+| seller_is_exact | Indicates whether the buying or selling party trade was impacted by rounding slippage. If true, the buyer was impacted. If false, the seller was impacted | boolean | | | | | No | |
+| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | | | cluster | No | |
+| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | | | cluster | No | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/history-transactions.mdx b/network/hubble/data-catalog/data-dictionary/history-transactions.mdx
new file mode 100644
index 000000000..0b950d990
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/history-transactions.mdx
@@ -0,0 +1,51 @@
+---
+title: History Transactions
+sidebar_position: 140
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| id | A unique identifier for a this transaction | integer | | Yes | Yes | | Yes | |
+| transaction_hash | A hex-encoded SHA-256 hash of this transaction's XDR-encoded form | string | | | | | Yes | |
+| ledger_sequence | The sequence number of the ledger that this transaction was included in | integer | | | | cluster | Yes | |
+| application_order | Each transaction within the transaction set for a ledger is executed and applied sequentially to the network. The validator nodes randomly shuffle submitted transactions and assign them an application order number, which corresponds to the order in which they are applied | integer | | | | | Yes | |
+| account | The account address that originates the transaction | string | | | | cluster | Yes | |
+| account_sequence | The source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network. | integer | | | | | Yes | |
+| max_fee | The maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the set | integer | | | | | Yes | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| operation_count | The number of operations contained within this transaction | integer | | | | | Yes | A transaction is permitted to have up to 100 operations |
+| created_at | The date the transaction was created | timestamp | | | | | No | |
+| memo_type | The type of memo | string | MemoTypeMemoHash MemoTypeMemoId MemoTypeMemoNone MemoTypeMemoReturn MemoTypeMemoText | | | | Yes | Defaults to \`MemoTypeMemoNone\` |
+| memo | An optional freeform field that attaches a memo to a transaction | string | | | | | No | Memos are heavily used by centralized exchanges to help with account management. |
+| time_bounds | A transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will fail | string | | | | | No | |
+| successful | Indicates if this transaction was successful or not | boolean | | | | cluster | No | A transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state. |
+| fee_charged | The fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations \* base fee. The minimum base fee is 100 stroops | integer | | | | | No | The stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM. |
+| inner_transaction_hash | A transaction hash of a transaction wrapped with its signatures for fee-bump transactions | string | | | | | No | |
+| fee_account | An account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account. | string | | | | | No | |
+| new_max_fee | If an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction set | integer | | | | | No | |
+| account_muxed | If the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accounts | string | | | | | No | |
+| fee_account_muxed | If the fee account that sponsors fee is a multiplexed account, the virtual address will be listed here | string | | | | | No | |
+| ledger_bounds | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully execute | string | | | | | No | |
+| min_account_sequence | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is valid | integer | | | | | No | |
+| min_account_sequence_age | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be valid | integer | | | | | No | |
+| min_account_sequence_ledger_gap | A transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be valid | integer | | | | | No | |
+| extra_signers | An array of up to two additional signers that must have corresponding signatures for this transaction to be valid | array[string] | | | | | No | |
+| tx_envelope | base-64 encoded XDR blob | string | | | | | No | |
+| tx_result | base-64 encoded XDR blob | string | | | | | No | |
+| tx_meta | base-64 encoded XDR blob | string | | | | | No | |
+| tx_fee_meta | base-64 encoded XDR blob | string | | | | | No | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| resource_fee | The fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction is | integer | | | | | No | |
+| soroban resources_instructions | Number of CPU instructions the Soroban transaction uses | integer | | | | | No | |
+| soroban resources_read_bytes | Number of bytes read by the Soroban transaction | integer | | | | | No | |
+| soroban_resources_write_bytes | Number of bytes written by the Soroban transaction | integer | | | | | No | |
+| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | | | | Yes | We aim to repartition the table by closed_at |
+| transaction_result_code | The detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found [here](https://pkg.go.dev/github.com/stellar/go/xdr#TransactionResultCode) | string | TransactionResultCodeTxFeeBumpInnerSuccess TransactionResultCodeTxSuccess TransactionResultCodeTxFailed TransactionResultCodeTxTooEarly TransactionResultCodeTxTooLate TransactionResultCodeTxMissingOperation TransactionResultCodeTxBadSeq TransactionResultCodeTxBadAuth TransactionResultCodeTxInsufficientBalance TransactionResultCodeTxNoAccount TransactionResultCodeTxInsufficientFee TransactionResultCodeTxBadAuthExtra TransactionResultCodeTxInternalError TransactionResultCodeTxNotSupported TransactionResultCodeTxFeeBumpInnerFailed TransactionResultCodeTxBadSponsorship TransactionResultCodeTxBadMinSeqAgeOrGap TransactionResultCodeTxMalformed TransactionResultCodeTxSorobanInvalid | | | | Yes | |
+| inclusion_fee_bid | The maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger. | integer | | | | | No | |
+| inclusion_fee_charged | The fee charged for the transaction to be included in the ledger. This is a fixed fee for the entire ledger and starts at a minimum of 100 stroops. The fee increases based on demand | integer | | | | | No | |
+| resource_fee_refund | The amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from the source account before the transaction is executed and then refunded based on the actual usage. | integer | | | | | No | |
+| non_refundable_resource_fee_charged | The amount charged for the transaction that is not refundable | integer | | | | | | |
+| refundable_resource_fee_charged | The amount charged for the transaction from the refundable_fee | integer | | | | | | |
+| rent_fee_charged | The rent fee charged to persist the contract or contract code | integer | | | | | | |
+| refundable_fee | The amount of resource fees that are refundable based on the actual usage of resources in the transaction | integer | | | | | | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/liquidity-pools.mdx b/network/hubble/data-catalog/data-dictionary/liquidity-pools.mdx
new file mode 100644
index 000000000..df6039bd4
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/liquidity-pools.mdx
@@ -0,0 +1,28 @@
+---
+title: Liquidity Pools
+sidebar_position: 50
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| liquidity_pool_id | Unique identifier for a liquidity pool. There cannot be duplicate pools for the same asset pair. Once a pool has been created for the asset pair, another cannot be created. | string | | | Yes | cluster | Yes | There is a good primer on AMMs [here](https://developers.stellar.org/docs/glossary/liquidity-pool/) |
+| type | The mechanism that calculates pricing and division of shares for the pool. With the initial AMM rollout, the only type of liquidity pool allowed to be created is a constant product pool | string | constant_product | | | | Yes | For more information regarding pricing and deposit calculations, read [Cap-38.](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0038.md) |
+| fee | The number of basis points charged as a percentage of the trade in order to complete the transaction. The fees earned on all trades are divided amongst pool shareholders and distributed as an incentive to keep money in the pools | integer | 30 | | | | Yes | Fees are distributed immediately to accounts as the transaction completes. There is no schedule for fee distribution |
+| trustline_count | Total number of accounts with trustlines authorized to the pool. To create a trustline, an account must trust both base assets before trusting a pool with the asset pair | integer | | | | | Yes | If the issuer of A or B revokes authorization on the trustline, the account will automatically withdraw from every liquidity pool containing that asset and those pool trustlines will be deleted. |
+| pool_share_count | Participation in a liquidity pool is represented by a pool share. The total number of pool shares is calculated by a constat product formula and is an arbitrary number representing the amount of participation in the pool. | float | | | | | Yes | Shares are not transferable; the only way to increase the number of pool shares held is to deposit into a liquidity pool. Conversely, decreasing pools shares can only be accomplished through a withdraw operation. Shares cannot be sent in payments or sold using offers. |
+| asset_a_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | |
+| asset_a_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | No | |
+| asset_a_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | No | |
+| asset_a_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | | | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. |
+| asset_b_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | |
+| asset_b_code | The 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity pool | string | | | | | No | |
+| asset_b_issuer | The account address of the original asset issuer that created one of the two asset pairs in the liquidity pool | string | | | | | No | |
+| asset_b_amount | The raw number of tokens locked in the pool for one of the two asset pairs in the liquidity pool | float | | | | | Yes | The amount is a better representation of liquidity in the pool over pool share counts. |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`liquidity_pools\`. |
+| deleted | Indicates whether the ledger entry (liquidity pool) has been deleted or not. Once an entry is deleted, it cannot be recovered. Liquidity pools are deleted once all pool shares are withdrawn from the pool | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| asset_a_id | Unique identifier for asset_a_code, asset_a_issuer | integer | | | | cluster | No | |
+| asset_b_id | Unique identifier for asset_b_code, asset_b_issuer | integer | | | | cluster | No |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/offers.mdx b/network/hubble/data-catalog/data-dictionary/offers.mdx
new file mode 100644
index 000000000..eccdd4060
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/offers.mdx
@@ -0,0 +1,29 @@
+---
+title: Offers
+sidebar_position: 60
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| seller_id | The account address that is making this offer | string | | | | | Yes | |
+| offer_id | The unique identifier for this offer | integer | | | | | Yes | |
+| selling_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | |
+| selling_asset_code | The 4 or 12 character code representation of the asset offered to be sold | string | | | | | No | |
+| selling_asset_issuer | The account address of the original asset issuer that minted the asset which will be sold in exchange for another asset. | string | | | | | No | |
+| buying_asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | credit_alphanum4 credit_alphanum12 native | | | | Yes | |
+| buying_asset_code | The 4 or 12 character code representation of the asset desired to be purchased | string | | | | | No | |
+| buying_asset_issuer | The account address of the original asset issuer that minted the asset which will be bought in exchange for a currently held asset | string | | | | | No | |
+| amount | The amount of selling that the account making this offer is willing to sell | float | | | | | Yes | |
+| pricen | The numerator of the precise representation of the buy and sell price of assets on offer (The buy amount desired) | integer | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the numerator will be 1. |
+| priced | The denominator of the precise representation of the buy and sell price of assets on offer (The sell amount offered) | integer | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the denominator will be 10. |
+| price | How many units of buying it takes to get 1 unit of selling. This number is the decimal form of pricen / priced | float | | | | | Yes | If an offer wants to sell 10 XLM in exchange for 1 USD, the price will be 0.1 |
+| flags | Denotes the enabling/disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Passive (offer with this flag will not act on and take a reverse offer of equal price) | | | | Yes | |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`offers\`. |
+| deleted | Indicates whether the ledger entry (offer id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| sponsor | The account address that is sponsoring the base reserves for the offer. | string | | | | | No | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| selling_asset_id | Unique identifier for selling_asset_code, selling_asset_issuer | integer | | | | cluster | No | |
+| buying_asset_id | Unique identifier for buying_asset_code, buying_asset_issuer | integer | | | | cluster | No | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/trustlines.mdx b/network/hubble/data-catalog/data-dictionary/trustlines.mdx
new file mode 100644
index 000000000..dfacdd2e7
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/trustlines.mdx
@@ -0,0 +1,26 @@
+---
+title: Trustlines
+sidebar_position: 70
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------ | --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ledger_key | The unique ledger key when the trust line state last changed | string | | | | | Yes | |
+| account_id | The account address | string | | | Yes | cluster | Yes | |
+| asset_type | The identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | integer | credit_alphanum4 credit_alphanum12 native | | Yes | | Yes | |
+| asset_issuer | The account address of the original asset issuer that created the asset held by this account | string | | | Yes | | No | |
+| asset_code | The 4 or 12 character code representation of the asset held by this account | string | | | Yes | | No | |
+| liquidity_pool_id | If the asset held is part of a liquidity pool share, the unique pool id from which the asset balance originates | string | | | Yes | cluster | No | |
+| balance | The number of units of an asset held by this account | float | | | | | Yes | |
+| trust_line_limits | The maximum amount of this asset that this account is willing to accept. The limit is specified when opening a trust line | integer | | | | | Yes | |
+| buying_liabilities | The sum of all buy offers owned by this account for non-native assets | float | | | | | Yes | |
+| selling_liabilities | The sum of all sell offers owned by this account for non-native assets | float | | | | | Yes | |
+| flags | Denotes the enabling and disabling of certain asset issuer privileges | integer | 0 - None, Default 1 - Authorized (issuer has authorized account to perform transaction with its credit) 2 - Authorized to Maintain Liabilities (issuer has authorized account to maintain and reduce liabilities for its credit) 4 - Clawback Enabled (issuer has specified that it may clawback its credit, including claimable balances) | | | | Yes | Flags are set on the issuer accounts for an asset. When user accounts trust an asset, the flags applied to the asset originate from this account |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | 0 - Ledger Entry Created 1 - Ledger Entry Updated 2 - Ledger Entry Deleted 3 - Ledger Entry State (value of the entry) | | Yes | | Yes | Valid entry change types are 0, 1, and 2 for ledger entries of type \`trust_lines\`. |
+| deleted | Indicates whether the ledger entry (trust line) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | MONTH partition | Yes | The table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost. |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| sponsor | The account address that is sponsoring the base reserves for the trust line. | string | | | | | No | |
+| asset_id | Unique identifier for asset_code, asset_issuer | integer | | | | | No | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-dictionary/ttl.mdx b/network/hubble/data-catalog/data-dictionary/ttl.mdx
new file mode 100644
index 000000000..85ddd5677
--- /dev/null
+++ b/network/hubble/data-catalog/data-dictionary/ttl.mdx
@@ -0,0 +1,17 @@
+---
+title: TTL
+sidebar_position: 80
+---
+
+| Name | Description | Data Type | Domain Values | Primary Key? | Natural Key? | Partition or Cluster Field? | Required? | Notes |
+| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ------------ | ------------ | --------------------------- | --------- | ----- |
+| key_hash | Ledger key hash used to identify expiring contract data or contract code ledger entries | string | | | Yes | Cluster | Yes | |
+| live_until_ledger_seq | Ledger sequence the contract or wasm will live until | integer | | | | | Yes | |
+| last_modified_ledger | The ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence number | integer | | | Yes | Cluster | Yes | |
+| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | | | | | Yes | |
+| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | | | | | Yes | |
+| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__-". Batch ids are unique to the batch and help with monitoring and rerun capabilities | string | | | | | Yes | |
+| batch_run_date | The start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger. | datetime | | | | | Yes | |
+| batch_insert_ts | The timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfill | timestamp | | | | | Yes | |
+| closed_at | The UNIX timestamp of the sequence number's age | timestamp | | | Yes | Parition | Yes | |
+| ledger_sequence | The unsigned 32-bit ledger number of the sequence number's age | integer | | | Yes | | Yes | |
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-lineage.mdx b/network/hubble/data-catalog/data-lineage.mdx
new file mode 100644
index 000000000..dd36ab1b0
--- /dev/null
+++ b/network/hubble/data-catalog/data-lineage.mdx
@@ -0,0 +1,8 @@
+---
+id: data-lineage
+title: Data Lineage
+---
+
+import RedirectPage from '@site/src/components/RedirectPage';
+
+
\ No newline at end of file
diff --git a/network/hubble/data-catalog/data-model-diagram.mdx b/network/hubble/data-catalog/data-model-diagram.mdx
new file mode 100644
index 000000000..7b25a93c7
--- /dev/null
+++ b/network/hubble/data-catalog/data-model-diagram.mdx
@@ -0,0 +1,10 @@
+---
+title: Data Model Diagram
+sidebar_position: 0
+---
+
+The following diagram shows the relationships between the history and state tables within Hubble.
+
+![Hubble Data Model Diagram](/img/hubble/data_model_diagram.png)
+
+For more detailed information see the [Full Hubble Data Model Diagram](https://dbdiagram.io/d/Hubble-Public-Data-Model-66671e056bc9d447b1501801) or the [Compressed Hubble Data Model Diagram](https://dbdiagram.io/d/Hubble-Public-Data-Model-Compressed-666730996bc9d447b151a181).
\ No newline at end of file
diff --git a/sidebarsNetwork.js b/sidebarsNetwork.js
index b293a21ab..4a1b48872 100644
--- a/sidebarsNetwork.js
+++ b/sidebarsNetwork.js
@@ -37,17 +37,6 @@ const sidebars = {
type: "autogenerated",
dirName: "hubble",
},
- {
- type: 'category',
- label: 'Reference',
- items: [
- {
- type: 'link',
- label: 'Data Lineage',
- href: 'http://www.stellar-dbt-docs.com/#!/overview',
- },
- ],
- },
],
collapsible: false,
},
diff --git a/src/components/RedirectPage.js b/src/components/RedirectPage.js
new file mode 100644
index 000000000..3672c5cf2
--- /dev/null
+++ b/src/components/RedirectPage.js
@@ -0,0 +1,16 @@
+import React, { useEffect } from 'react';
+import PropTypes from 'prop-types';
+
+function RedirectPage({ to }) {
+ useEffect(() => {
+ window.location.href = to;
+ }, [to]);
+
+ return null;
+}
+
+RedirectPage.propTypes = {
+ to: PropTypes.string.isRequired,
+};
+
+export default RedirectPage;
\ No newline at end of file
diff --git a/static/img/hubble/data_model_diagram.png b/static/img/hubble/data_model_diagram.png
new file mode 100644
index 000000000..180d6315b
Binary files /dev/null and b/static/img/hubble/data_model_diagram.png differ