Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update and fix sizing for hubble data dicts #1094

Merged
merged 4 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 44 additions & 26 deletions docs/data/hubble/data-catalog/data-dictionary/accounts.mdx

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,28 +1,46 @@
---
title: Claimable Balances
sidebar_position: 20
description: ""
---

| 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_end_date>-\<dag_alias>". 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 | |
<div className="scoped-data-dictionary-table">

## Table Metadata

| Property | Configuration |
| --- | --- |
| Natural Key(s) | balance_id, closed_at |
| Partition Field(s) | batch_run_date (MONTH partition) |
| Clustered Field(s) | asset_id, last_modified_ledger |
| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.claimable_balances) |

## Column Details

| Name | Description | Data Type | Domain Values | 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 | 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 an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string | <ul><li>credit_alphanum4</li><li>credit_alphanum12</li><li>native</li></ul> | 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 | <ul><li>0 - None, Default</li><li>1 - Auth Clawback Enabled</li></ul> | 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 | |
| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer | <ul><li>0 - Ledger Entry Created</li><li>1 - Ledger Entry Updated</li><li>2 - Ledger Entry Deleted</li><li>3 - Ledger Entry State (value of the entry)</li></ul> | 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 | |
| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | |
| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | integer | | Yes | |
| batch_id | String representation of the run id for a given DAG in Airflow. Takes the form of "scheduled\_\_\<batch_end_date>-\<dag_alias>". 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 | |
| asset_id | Unique identifier for asset_code, asset_issuer | integer | | No | |

</div>
62 changes: 39 additions & 23 deletions docs/data/hubble/data-catalog/data-dictionary/contract-code.mdx
Original file line number Diff line number Diff line change
@@ -1,28 +1,44 @@
---
title: Contract Code
sidebar_position: 30
description: ""
---

| 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_end_date>-\<dag_alias>". 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 | | | | | | |
<div className="scoped-data-dictionary-table">

## Table Metadata

| Property | Configuration |
| --- | --- |
| Natural Key(s) | contract_code_hash, closed_at |
| Partition Field(s) | closed_at (MONTH partition) |
| Clustered Field(s) | last_modified_ledger, contract_code_hash |
| Documentation | [dbt docs](http://www.stellar-dbt-docs.com/#!/source/source.stellar_dbt_public.crypto_stellar.contract_code) |

## Column Details

| Name | Description | Data Type | Domain Values | Required? | Notes |
| --- | --- | --- | --- | --- | --- |
| contract_code_hash | Soroban contract code hash | string | | Yes | |
| contract_code_ext_v | Contract code extension 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 | | 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_end_date>-\<dag_alias>". 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 | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | | Yes | |
| ledger_sequence | The sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order. | 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 instructions 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 | | | |

</div>
Loading