diff --git a/.dbt/profiles.yml b/.dbt/profiles.yml new file mode 100644 index 0000000..ad81399 --- /dev/null +++ b/.dbt/profiles.yml @@ -0,0 +1,29 @@ +flow: + target: dev + outputs: + dev: + type: snowflake + account: "{{ env_var('ACCOUNT') }}" + role: "{{ env_var('ROLE') }}" + user: "{{ env_var('USER') }}" + password: "{{ env_var('PASSWORD') }}" + region: "{{ env_var('REGION') }}" + database: "{{ env_var('DATABASE_DEV') }}" + warehouse: "{{ env_var('WAREHOUSE_DEV') }}" + schema: SILVER + threads: 4 + client_session_keep_alive: False + query_tag: gh_actions + prod: + type: snowflake + account: "{{ env_var('ACCOUNT') }}" + role: "{{ env_var('ROLE') }}" + user: "{{ env_var('USER') }}" + password: "{{ env_var('PASSWORD') }}" + region: "{{ env_var('REGION') }}" + database: "{{ env_var('DATABASE_PROD') }}" + warehouse: "{{ env_var('WAREHOUSE_PROD') }}" + schema: silver + threads: 4 + client_session_keep_alive: False + query_tag: gh_actions diff --git a/.github/workflows/docs_update.yml b/.github/workflows/docs_update.yml new file mode 100644 index 0000000..4905f9f --- /dev/null +++ b/.github/workflows/docs_update.yml @@ -0,0 +1,62 @@ +name: docs_update + +on: + push: + branches: + - 'main' + +env: + ACCOUNT: '${{ secrets.ACCOUNT }}' + ROLE: '${{ secrets.ROLE }}' + USER: '${{ secrets.USER }}' + PASSWORD: '${{ secrets.PASSWORD }}' + REGION: '${{ secrets.REGION }}' + DATABASE_DEV: '${{ secrets.DATABASE_DEV }}' + DATABASE_PROD: '${{ secrets.DATABASE_PROD }}' + WAREHOUSE_DEV: '${{ secrets.WAREHOUSE_DEV }}' + WAREHOUSE_PROD: '${{ secrets.WAREHOUSE_PROD }}' + +jobs: + scheduled_run: + name: docs_update + runs-on: ubuntu-latest + + steps: + - name: check out main + uses: actions/checkout@main + + - uses: actions/setup-python@v1 + with: + python-version: "3.7.x" + + - name: install dependencies + run: | + pip install dbt-snowflake + dbt deps + + - name: generate dbt docs + run: dbt docs generate --profiles-dir ./.dbt + + - name: move to docs directory + run: | + mkdir -p ./docs + cp target/{catalog.json,manifest.json,index.html} docs/ + + - name: clean up target directory + run: dbt clean + + - name: check for changes + run: git status + + - name: stage changed files + run: git add . + + - name: commit changed files + run: | + git config user.email "abc@xyz" + git config user.name "github-actions" + git commit -am "Auto-update docs" + + - name: push changes to main + run: git push origin HEAD:main + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6c80533..1a26a2c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,4 @@ logs/ **/.DS_Store .vscode/ -# carve out docs files -!target/index.html -!target/catalog.json -!target/manifest.json \ No newline at end of file +.dbt/.user.yml \ No newline at end of file diff --git a/docs/catalog.json b/docs/catalog.json new file mode 100644 index 0000000..15fd9df --- /dev/null +++ b/docs/catalog.json @@ -0,0 +1 @@ +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.1.0", "generated_at": "2022-05-25T00:31:10.200208Z", "invocation_id": "f78ce17e-461a-4a11-96a2-5710d9b7d2d7", "env": {}}, "nodes": {"model.flow_models.bronze__blocks": {"metadata": {"type": "VIEW", "schema": "BRONZE", "name": "BLOCKS", "database": "FLOW_DEV", "comment": null, "owner": "INTERNAL_DEV"}, "columns": {"RECORD_ID": {"type": "TEXT", "index": 1, "name": "RECORD_ID", "comment": null}, "OFFSET_ID": {"type": "NUMBER", "index": 2, "name": "OFFSET_ID", "comment": null}, "BLOCK_ID": {"type": "NUMBER", "index": 3, "name": "BLOCK_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 4, "name": "BLOCK_TIMESTAMP", "comment": null}, "NETWORK": {"type": "TEXT", "index": 5, "name": "NETWORK", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 6, "name": "CHAIN_ID", "comment": null}, "TX_COUNT": {"type": "NUMBER", "index": 7, "name": "TX_COUNT", "comment": null}, "HEADER": {"type": "VARIANT", "index": 8, "name": "HEADER", "comment": null}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 9, "name": "_INGESTED_AT", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.bronze__blocks"}, "model.flow_models.core__fact_transactions": {"metadata": {"type": "VIEW", "schema": "CORE", "name": "FACT_TRANSACTIONS", "database": "FLOW_DEV", "comment": "This table records all the transactions of the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"TX_ID": {"type": "TEXT", "index": 1, "name": "TX_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": null}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 3, "name": "BLOCK_HEIGHT", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": null}, "TX_INDEX": {"type": "NUMBER", "index": 5, "name": "TX_INDEX", "comment": null}, "PROPOSER": {"type": "TEXT", "index": 6, "name": "PROPOSER", "comment": null}, "PAYER": {"type": "TEXT", "index": 7, "name": "PAYER", "comment": null}, "AUTHORIZERS": {"type": "ARRAY", "index": 8, "name": "AUTHORIZERS", "comment": null}, "COUNT_AUTHORIZERS": {"type": "NUMBER", "index": 9, "name": "COUNT_AUTHORIZERS", "comment": null}, "GAS_LIMIT": {"type": "NUMBER", "index": 10, "name": "GAS_LIMIT", "comment": null}, "TRANSACTION_RESULT": {"type": "VARIANT", "index": 11, "name": "TRANSACTION_RESULT", "comment": null}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 12, "name": "TX_SUCCEEDED", "comment": null}, "ERROR_MSG": {"type": "TEXT", "index": 13, "name": "ERROR_MSG", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.core__fact_transactions"}, "model.flow_models.gold__blocks": {"metadata": {"type": "BASE TABLE", "schema": "GOLD", "name": "BLOCKS", "database": "FLOW_DEV", "comment": "Information about blocks on the FLOW network and corresponding metadata.", "owner": "INTERNAL_DEV"}, "columns": {"BLOCK_HEIGHT": {"type": "NUMBER", "index": 1, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "NETWORK": {"type": "TEXT", "index": 3, "name": "NETWORK", "comment": "The blockchain network the block or transaction occurred on."}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": "The id for the chain of the network on which this block occurred."}, "TX_COUNT": {"type": "NUMBER", "index": 5, "name": "TX_COUNT", "comment": "The number of transactions in the block."}, "ID": {"type": "TEXT", "index": 6, "name": "ID", "comment": "The block hash."}, "PARENT_ID": {"type": "TEXT", "index": 7, "name": "PARENT_ID", "comment": "The block hash for the parent block."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 993752.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 98190336.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:31UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.gold__blocks"}, "model.flow_models.silver__blocks": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "BLOCKS", "database": "FLOW_DEV", "comment": "Information about blocks on the FLOW network and corresponding metadata.", "owner": "INTERNAL_DEV"}, "columns": {"BLOCK_HEIGHT": {"type": "NUMBER", "index": 1, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "NETWORK": {"type": "TEXT", "index": 3, "name": "NETWORK", "comment": "The blockchain network the block or transaction occurred on."}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": "The id for the chain of the network on which this block occurred."}, "TX_COUNT": {"type": "NUMBER", "index": 5, "name": "TX_COUNT", "comment": "The number of transactions in the block."}, "ID": {"type": "TEXT", "index": 6, "name": "ID", "comment": "The block hash."}, "PARENT_ID": {"type": "TEXT", "index": 7, "name": "PARENT_ID", "comment": "The block hash for the parent block."}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 8, "name": "_INGESTED_AT", "comment": "When the record was ingested by the chainwalker."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 3423056.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 357201920.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:31UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(_ingested_at::DATE, block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__blocks"}, "model.flow_models.silver__contract_labels": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "CONTRACT_LABELS", "database": "FLOW_DEV", "comment": "This table extracts all contract labels referenced in the events item of a Flow transaction.", "owner": "INTERNAL_DEV"}, "columns": {"EVENT_CONTRACT": {"type": "TEXT", "index": 1, "name": "EVENT_CONTRACT", "comment": "The contract called for this event. This is equivalent to the Contract column on Flowscan and is a concatenation of the contract's account address and primary name."}, "CONTRACT_NAME": {"type": "TEXT", "index": 2, "name": "CONTRACT_NAME", "comment": "The primary name of the contract, derived from the full contract address."}, "ACCOUNT_ADDRESS": {"type": "TEXT", "index": 3, "name": "ACCOUNT_ADDRESS", "comment": "The account address in 0x form that instantiated the contract called in the event. Note, on the Flow blockchain the account and the contract are separate as the account may have created more than one contract, in rare instances, such as the following FLOW address 0x8624b52f9ddcd04a."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 374.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 16384.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:55UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(event_contract)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__contract_labels"}, "model.flow_models.silver__events": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "EVENTS", "database": "FLOW_DEV", "comment": "This table records events from each transaction on the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"EVENT_ID": {"type": "TEXT", "index": 1, "name": "EVENT_ID", "comment": "The id for the event, which is a concatenation of tx_id-event_index."}, "TX_ID": {"type": "TEXT", "index": 2, "name": "TX_ID", "comment": "ID for the transaction."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 3, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 4, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 5, "name": "TX_SUCCEEDED", "comment": "Transaction status, if it succeeded or failed."}, "EVENT_INDEX": {"type": "NUMBER", "index": 6, "name": "EVENT_INDEX", "comment": "The index of the event within the transaction, i.e. in what order the events occurred."}, "EVENT_CONTRACT": {"type": "TEXT", "index": 7, "name": "EVENT_CONTRACT", "comment": "The contract called for this event. This is equivalent to the Contract column on Flowscan and is a concatenation of the contract's account address and primary name."}, "EVENT_TYPE": {"type": "TEXT", "index": 8, "name": "EVENT_TYPE", "comment": "The type of method called on the event_contract. This is equivalent to the Type column on Flowscan."}, "EVENT_DATA": {"type": "VARIANT", "index": 9, "name": "EVENT_DATA", "comment": "The raw event data from the event."}, "_EVENT_DATA_TYPE": {"type": "VARIANT", "index": 10, "name": "_EVENT_DATA_TYPE", "comment": "The type object from event_data."}, "_EVENT_DATA_FIELDS": {"type": "VARIANT", "index": 11, "name": "_EVENT_DATA_FIELDS", "comment": "The fields object from the event_data."}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 12, "name": "_INGESTED_AT", "comment": "When the record was ingested by the chainwalker."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 129349446.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 10798049792.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:32UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(_ingested_at::DATE, block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__events"}, "model.flow_models.silver__event_attributes": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "EVENT_ATTRIBUTES", "database": "FLOW_DEV", "comment": "This table cleans and transform attributes from each event in the events table.", "owner": "INTERNAL_DEV"}, "columns": {"ATTRIBUTE_ID": {"type": "TEXT", "index": 1, "name": "ATTRIBUTE_ID", "comment": "ID for the attribute, which is a concatenation of tx_id-event_index-attribute_index."}, "EVENT_ID": {"type": "TEXT", "index": 2, "name": "EVENT_ID", "comment": "The id for the event, which is a concatenation of tx_id-event_index."}, "TX_ID": {"type": "TEXT", "index": 3, "name": "TX_ID", "comment": "ID for the transaction."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 4, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "EVENT_INDEX": {"type": "NUMBER", "index": 5, "name": "EVENT_INDEX", "comment": "The index of the event within the transaction, i.e. in what order the events occurred."}, "ATTRIBUTE_INDEX": {"type": "NUMBER", "index": 6, "name": "ATTRIBUTE_INDEX", "comment": "Index of the attribute within the event, corresponds with how the attributes are presented on the explorer."}, "EVENT_CONTRACT": {"type": "TEXT", "index": 7, "name": "EVENT_CONTRACT", "comment": "The contract called for this event. This is equivalent to the Contract column on Flowscan and is a concatenation of the contract's account address and primary name."}, "EVENT_TYPE": {"type": "TEXT", "index": 8, "name": "EVENT_TYPE", "comment": "The type of method called on the event_contract. This is equivalent to the Type column on Flowscan."}, "ATTRIBUTE_KEY": {"type": "TEXT", "index": 9, "name": "ATTRIBUTE_KEY", "comment": "The key of the attribute key-value pair. This is the label while attribute_value is the data."}, "DECODED_ADDRESS": {"type": "TEXT", "index": 10, "name": "DECODED_ADDRESS", "comment": "The decoded address, if applicable, for the attribute_value."}, "ATTRIBUTE_VALUE": {"type": "VARIANT", "index": 11, "name": "ATTRIBUTE_VALUE", "comment": "The value of the attribute key-value pair. This is the data that attribute_key labels."}, "ATTRIBUTE_VALUE_ADJ": {"type": "TEXT", "index": 12, "name": "ATTRIBUTE_VALUE_ADJ", "comment": "The adjusted attribute_value where an address from decoded_address is used in place of the encoded binary string, where applicable."}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 13, "name": "_INGESTED_AT", "comment": "When the record was ingested by the chainwalker."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 292115379.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 30275839488.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:34UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(_ingested_at::DATE, block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__event_attributes"}, "model.flow_models.bronze__labels": {"metadata": {"type": "VIEW", "schema": "BRONZE", "name": "LABELS", "database": "FLOW_DEV", "comment": null, "owner": "INTERNAL_DEV"}, "columns": {"_SYSTEM_CREATED_AT": {"type": "TIMESTAMP_NTZ", "index": 1, "name": "_SYSTEM_CREATED_AT", "comment": null}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "_INGESTED_AT", "comment": null}, "BLOCKCHAIN": {"type": "TEXT", "index": 3, "name": "BLOCKCHAIN", "comment": null}, "ADDRESS": {"type": "TEXT", "index": 4, "name": "ADDRESS", "comment": null}, "CREATOR": {"type": "TEXT", "index": 5, "name": "CREATOR", "comment": null}, "LABEL_TYPE": {"type": "TEXT", "index": 6, "name": "LABEL_TYPE", "comment": null}, "LABEL_SUBTYPE": {"type": "TEXT", "index": 7, "name": "LABEL_SUBTYPE", "comment": null}, "ADDRESS_NAME": {"type": "TEXT", "index": 8, "name": "ADDRESS_NAME", "comment": null}, "PROJECT_NAME": {"type": "TEXT", "index": 9, "name": "PROJECT_NAME", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.bronze__labels"}, "model.flow_models.bronze__transactions": {"metadata": {"type": "VIEW", "schema": "BRONZE", "name": "TRANSACTIONS", "database": "FLOW_DEV", "comment": null, "owner": "INTERNAL_DEV"}, "columns": {"RECORD_ID": {"type": "TEXT", "index": 1, "name": "RECORD_ID", "comment": null}, "TX_ID": {"type": "TEXT", "index": 2, "name": "TX_ID", "comment": null}, "TX_BLOCK_INDEX": {"type": "NUMBER", "index": 3, "name": "TX_BLOCK_INDEX", "comment": null}, "OFFSET_ID": {"type": "NUMBER", "index": 4, "name": "OFFSET_ID", "comment": null}, "BLOCK_ID": {"type": "NUMBER", "index": 5, "name": "BLOCK_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 6, "name": "BLOCK_TIMESTAMP", "comment": null}, "NETWORK": {"type": "TEXT", "index": 7, "name": "NETWORK", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 8, "name": "CHAIN_ID", "comment": null}, "TX": {"type": "VARIANT", "index": 9, "name": "TX", "comment": null}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 10, "name": "_INGESTED_AT", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.bronze__transactions"}, "model.flow_models.core__fact_blocks": {"metadata": {"type": "VIEW", "schema": "CORE", "name": "FACT_BLOCKS", "database": "FLOW_DEV", "comment": "Information about blocks on the FLOW network and corresponding metadata.", "owner": "INTERNAL_DEV"}, "columns": {"BLOCK_HEIGHT": {"type": "NUMBER", "index": 1, "name": "BLOCK_HEIGHT", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": null}, "NETWORK": {"type": "TEXT", "index": 3, "name": "NETWORK", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": null}, "TX_COUNT": {"type": "NUMBER", "index": 5, "name": "TX_COUNT", "comment": null}, "ID": {"type": "TEXT", "index": 6, "name": "ID", "comment": null}, "PARENT_ID": {"type": "TEXT", "index": 7, "name": "PARENT_ID", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.core__fact_blocks"}, "model.flow_models.core__fact_events": {"metadata": {"type": "VIEW", "schema": "CORE", "name": "FACT_EVENTS", "database": "FLOW_DEV", "comment": "This table records events from each transaction on the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"TX_ID": {"type": "TEXT", "index": 1, "name": "TX_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": null}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 3, "name": "BLOCK_HEIGHT", "comment": null}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 4, "name": "TX_SUCCEEDED", "comment": null}, "EVENT_INDEX": {"type": "NUMBER", "index": 5, "name": "EVENT_INDEX", "comment": null}, "EVENT_CONTRACT": {"type": "TEXT", "index": 6, "name": "EVENT_CONTRACT", "comment": null}, "EVENT_TYPE": {"type": "TEXT", "index": 7, "name": "EVENT_TYPE", "comment": null}, "EVENT_DATA": {"type": "OBJECT", "index": 8, "name": "EVENT_DATA", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.core__fact_events"}, "model.flow_models.gold__events": {"metadata": {"type": "BASE TABLE", "schema": "GOLD", "name": "EVENTS", "database": "FLOW_DEV", "comment": "This table records events from each transaction on the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"TX_ID": {"type": "TEXT", "index": 1, "name": "TX_ID", "comment": "ID for the transaction."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 3, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 4, "name": "TX_SUCCEEDED", "comment": "Transaction status, if it succeeded or failed."}, "EVENT_INDEX": {"type": "NUMBER", "index": 5, "name": "EVENT_INDEX", "comment": "The index of the event within the transaction, i.e. in what order the events occurred."}, "EVENT_CONTRACT": {"type": "TEXT", "index": 6, "name": "EVENT_CONTRACT", "comment": "The contract called for this event. This is equivalent to the Contract column on Flowscan and is a concatenation of the contract's account address and primary name."}, "EVENT_TYPE": {"type": "TEXT", "index": 7, "name": "EVENT_TYPE", "comment": "The type of method called on the event_contract. This is equivalent to the Type column on Flowscan."}, "EVENT_DATA": {"type": "OBJECT", "index": 8, "name": "EVENT_DATA", "comment": "The data passed to the event, in the form of key-value pairs."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 54352773.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 3213274624.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:34UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(block_timestamp::date)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.gold__events"}, "model.flow_models.gold__transactions": {"metadata": {"type": "BASE TABLE", "schema": "GOLD", "name": "TRANSACTIONS", "database": "FLOW_DEV", "comment": "This table records all the transactions of the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"TX_ID": {"type": "TEXT", "index": 1, "name": "TX_ID", "comment": "ID for the transaction."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 3, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": "The id for the chain of the network on which this block occurred."}, "TX_INDEX": {"type": "NUMBER", "index": 5, "name": "TX_INDEX", "comment": "tbd"}, "PROPOSER": {"type": "TEXT", "index": 6, "name": "PROPOSER", "comment": "Address of the transaction proposer."}, "PAYER": {"type": "TEXT", "index": 7, "name": "PAYER", "comment": "Address of the wallet paying for the transaction."}, "AUTHORIZERS": {"type": "ARRAY", "index": 8, "name": "AUTHORIZERS", "comment": "Address(es) authorizing the transaction."}, "COUNT_AUTHORIZERS": {"type": "NUMBER", "index": 9, "name": "COUNT_AUTHORIZERS", "comment": "Number of authorizers"}, "GAS_LIMIT": {"type": "NUMBER", "index": 10, "name": "GAS_LIMIT", "comment": "Upper gas limit attached to the transaction."}, "TRANSACTION_RESULT": {"type": "VARIANT", "index": 11, "name": "TRANSACTION_RESULT", "comment": "Outcome of the transaction, including events that were called."}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 12, "name": "TX_SUCCEEDED", "comment": "Transaction status, if it succeeded or failed."}, "ERROR_MSG": {"type": "TEXT", "index": 13, "name": "ERROR_MSG", "comment": "tbd"}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 7929906.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 5399854080.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:32UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.gold__transactions"}, "model.flow_models.silver__labels": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "LABELS", "database": "FLOW_DEV", "comment": "This table provides labels for addresses on the Flow blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 1, "name": "_INGESTED_AT", "comment": "When the record was ingested by the chainwalker."}, "BLOCKCHAIN": {"type": "TEXT", "index": 2, "name": "BLOCKCHAIN", "comment": "The name of the blockchain for this address."}, "ADDRESS": {"type": "TEXT", "index": 3, "name": "ADDRESS", "comment": "The on-chain address."}, "CREATOR": {"type": "TEXT", "index": 4, "name": "CREATOR", "comment": "The source of the labeling information for the address."}, "LABEL_TYPE": {"type": "TEXT", "index": 5, "name": "LABEL_TYPE", "comment": "Predominant label categorization, such as CEX, Operator, NFT, etc."}, "LABEL_SUBTYPE": {"type": "TEXT", "index": 6, "name": "LABEL_SUBTYPE", "comment": "The type of address, within the higher order label_type, such as hot wallet, deposit wallet, validator, etc."}, "ADDRESS_NAME": {"type": "TEXT", "index": 7, "name": "ADDRESS_NAME", "comment": "The name for a specific address, like Kraken or Huobi for CEX, or consensus vs verification for validator."}, "PROJECT_NAME": {"type": "TEXT", "index": 8, "name": "PROJECT_NAME", "comment": "The overarching project name, related to the address name. For example, Kraken (vs. Kraken Deposit Wallet for address_names)."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 6255.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 162816.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:31UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(address)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__labels"}, "model.flow_models.silver__transactions": {"metadata": {"type": "BASE TABLE", "schema": "SILVER", "name": "TRANSACTIONS", "database": "FLOW_DEV", "comment": "This table records all the transactions of the FLOW blockchain.", "owner": "INTERNAL_DEV"}, "columns": {"TX_ID": {"type": "TEXT", "index": 1, "name": "TX_ID", "comment": "ID for the transaction."}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "BLOCK_TIMESTAMP", "comment": "The date and time for when the block was written."}, "BLOCK_HEIGHT": {"type": "NUMBER", "index": 3, "name": "BLOCK_HEIGHT", "comment": "The block height the block was recorded at."}, "CHAIN_ID": {"type": "TEXT", "index": 4, "name": "CHAIN_ID", "comment": "The id for the chain of the network on which this block occurred."}, "TX_INDEX": {"type": "NUMBER", "index": 5, "name": "TX_INDEX", "comment": "tbd"}, "PROPOSER": {"type": "TEXT", "index": 6, "name": "PROPOSER", "comment": "Address of the transaction proposer."}, "PAYER": {"type": "TEXT", "index": 7, "name": "PAYER", "comment": "Address of the wallet paying for the transaction."}, "AUTHORIZERS": {"type": "ARRAY", "index": 8, "name": "AUTHORIZERS", "comment": "Address(es) authorizing the transaction."}, "COUNT_AUTHORIZERS": {"type": "NUMBER", "index": 9, "name": "COUNT_AUTHORIZERS", "comment": "Number of authorizers"}, "GAS_LIMIT": {"type": "NUMBER", "index": 10, "name": "GAS_LIMIT", "comment": "Upper gas limit attached to the transaction."}, "TRANSACTION_RESULT": {"type": "VARIANT", "index": 11, "name": "TRANSACTION_RESULT", "comment": "Outcome of the transaction, including events that were called."}, "TX_SUCCEEDED": {"type": "BOOLEAN", "index": 12, "name": "TX_SUCCEEDED", "comment": "Transaction status, if it succeeded or failed."}, "ERROR_MSG": {"type": "TEXT", "index": 13, "name": "ERROR_MSG", "comment": "tbd"}, "_INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 14, "name": "_INGESTED_AT", "comment": "When the record was ingested by the chainwalker."}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 19065934.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 11508629504.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-24 17:32UTC", "include": true, "description": "The timestamp for last update/change"}, "clustering_key": {"id": "clustering_key", "label": "Clustering Key", "value": "LINEAR(_ingested_at::DATE, block_timestamp::DATE)", "include": true, "description": "The key used to cluster this table"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.flow_models.silver__transactions"}}, "sources": {"source.flow_models.prod.flow_blocks": {"metadata": {"type": "BASE TABLE", "schema": "PROD", "name": "FLOW_BLOCKS", "database": "CHAINWALKERS", "comment": null, "owner": "SYSADMIN"}, "columns": {"RECORD_ID": {"type": "TEXT", "index": 1, "name": "RECORD_ID", "comment": null}, "OFFSET_ID": {"type": "NUMBER", "index": 2, "name": "OFFSET_ID", "comment": null}, "BLOCK_ID": {"type": "NUMBER", "index": 3, "name": "BLOCK_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 4, "name": "BLOCK_TIMESTAMP", "comment": null}, "NETWORK": {"type": "TEXT", "index": 5, "name": "NETWORK", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 6, "name": "CHAIN_ID", "comment": null}, "TX_COUNT": {"type": "NUMBER", "index": 7, "name": "TX_COUNT", "comment": null}, "HEADER": {"type": "VARIANT", "index": 8, "name": "HEADER", "comment": null}, "INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 9, "name": "INGESTED_AT", "comment": null}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 40570095.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 2880666624.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-25 00:30UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.flow_models.prod.flow_blocks"}, "source.flow_models.prod.flow_txs": {"metadata": {"type": "BASE TABLE", "schema": "PROD", "name": "FLOW_TXS", "database": "CHAINWALKERS", "comment": null, "owner": "SYSADMIN"}, "columns": {"RECORD_ID": {"type": "TEXT", "index": 1, "name": "RECORD_ID", "comment": null}, "TX_ID": {"type": "TEXT", "index": 2, "name": "TX_ID", "comment": null}, "TX_BLOCK_INDEX": {"type": "NUMBER", "index": 3, "name": "TX_BLOCK_INDEX", "comment": null}, "OFFSET_ID": {"type": "NUMBER", "index": 4, "name": "OFFSET_ID", "comment": null}, "BLOCK_ID": {"type": "NUMBER", "index": 5, "name": "BLOCK_ID", "comment": null}, "BLOCK_TIMESTAMP": {"type": "TIMESTAMP_NTZ", "index": 6, "name": "BLOCK_TIMESTAMP", "comment": null}, "NETWORK": {"type": "TEXT", "index": 7, "name": "NETWORK", "comment": null}, "CHAIN_ID": {"type": "TEXT", "index": 8, "name": "CHAIN_ID", "comment": null}, "TX": {"type": "VARIANT", "index": 9, "name": "TX", "comment": null}, "INGESTED_AT": {"type": "TIMESTAMP_NTZ", "index": 10, "name": "INGESTED_AT", "comment": null}}, "stats": {"row_count": {"id": "row_count", "label": "Row Count", "value": 200897689.0, "include": true, "description": "An approximate count of rows in this table"}, "bytes": {"id": "bytes", "label": "Approximate Size", "value": 134558660096.0, "include": true, "description": "Approximate size of the table as reported by Snowflake"}, "last_modified": {"id": "last_modified", "label": "Last Modified", "value": "2022-05-25 00:30UTC", "include": true, "description": "The timestamp for last update/change"}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.flow_models.prod.flow_txs"}, "source.flow_models.crosschain.address_labels": {"metadata": {"type": "VIEW", "schema": "CROSSCHAIN", "name": "ADDRESS_LABELS", "database": "FLIPSIDE_PROD_DB", "comment": null, "owner": "ACCOUNTADMIN"}, "columns": {"SYSTEM_CREATED_AT": {"type": "TIMESTAMP_NTZ", "index": 1, "name": "SYSTEM_CREATED_AT", "comment": null}, "INSERT_DATE": {"type": "TIMESTAMP_NTZ", "index": 2, "name": "INSERT_DATE", "comment": "The date the label was inserted in the table"}, "BLOCKCHAIN": {"type": "TEXT", "index": 3, "name": "BLOCKCHAIN", "comment": "The name of the blockchain"}, "ADDRESS": {"type": "TEXT", "index": 4, "name": "ADDRESS", "comment": "Address that the label is for. This is the field that should be used to join other tables with labels."}, "CREATOR": {"type": "TEXT", "index": 5, "name": "CREATOR", "comment": "The name of the creator of the label"}, "LABEL_TYPE": {"type": "TEXT", "index": 6, "name": "LABEL_TYPE", "comment": "A high-level category describing the addresses main function or ownership"}, "LABEL_SUBTYPE": {"type": "TEXT", "index": 7, "name": "LABEL_SUBTYPE", "comment": "A sub-category nested within label type providing further detail"}, "ADDRESS_NAME": {"type": "TEXT", "index": 8, "name": "ADDRESS_NAME", "comment": null}, "PROJECT_NAME": {"type": "TEXT", "index": 9, "name": "PROJECT_NAME", "comment": "Name of the controlling entity of the address"}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.flow_models.crosschain.address_labels"}}, "errors": null} \ No newline at end of file diff --git a/target/index.html b/docs/index.html similarity index 87% rename from target/index.html rename to docs/index.html index 0c4d0ec..7f33f0a 100644 --- a/target/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@
-