Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
c4353f0
draft
MSilb7 Dec 12, 2024
5ff10a9
adds
MSilb7 Dec 12, 2024
a2eade6
fix func names
MSilb7 Dec 12, 2024
ee2d62d
init push
MSilb7 Dec 12, 2024
ebeb470
push example aggregation
MSilb7 Dec 12, 2024
cc12c72
mod
MSilb7 Dec 13, 2024
443e6c4
mods
MSilb7 Dec 13, 2024
b33ee03
juice it up
MSilb7 Dec 13, 2024
dd03a2a
resolve sources
MSilb7 Dec 13, 2024
ccc8ed9
migrate to existing transaction_fees and rename
MSilb7 Dec 13, 2024
563ad68
update names
MSilb7 Dec 13, 2024
365ee57
checkpoint
MSilb7 Dec 13, 2024
ae2f95c
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 13, 2024
6503ab7
check
MSilb7 Dec 13, 2024
e4a2c77
check
MSilb7 Dec 13, 2024
a785060
undo
MSilb7 Dec 13, 2024
7905ab0
fix eet
MSilb7 Dec 13, 2024
6592682
simplify views
MSilb7 Dec 13, 2024
1617cba
mod nb
MSilb7 Dec 13, 2024
09cfe79
push latest - through refined transactions
MSilb7 Dec 13, 2024
012bed3
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 13, 2024
379100c
clean
MSilb7 Dec 13, 2024
9d09853
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 13, 2024
a185a85
push updates to models
MSilb7 Dec 13, 2024
0fc755f
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 13, 2024
e705cac
checkpoint, base models DONE
MSilb7 Dec 13, 2024
28d7b5f
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 14, 2024
61cab69
separate l1 fee scalar versions
MSilb7 Dec 14, 2024
ae7b7db
fixes and create aggregate trace models
MSilb7 Dec 14, 2024
dd00b26
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 14, 2024
b11df41
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 15, 2024
7112e82
split txs and traces - push tx aggregates
MSilb7 Dec 15, 2024
8164f9a
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 15, 2024
6e03596
Merge branch 'main' into traces-txs-models-v0
MSilb7 Dec 16, 2024
45ed343
rename traces & include all types
MSilb7 Dec 16, 2024
9f147e2
push dev notebook
MSilb7 Dec 16, 2024
afeb39d
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 16, 2024
f6da4d4
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 16, 2024
0633750
Undo changes to example_daily_data.ipynb
lithium323 Dec 16, 2024
e2e57ae
Apply sqlfluff to refined_transactions_fees.sql.j2
lithium323 Dec 16, 2024
d634da1
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 16, 2024
70b34f5
Make diff wih main smaller
lithium323 Dec 16, 2024
2190036
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 17, 2024
a49845e
Make diff wih main smaller
lithium323 Dec 17, 2024
0489465
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 17, 2024
9226dde
Format sql
lithium323 Dec 18, 2024
cbea965
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 18, 2024
f28161c
Merge branch 'main' into traces-txs-models-v0
lithium323 Dec 20, 2024
f3ed2b5
Save progress
lithium323 Dec 30, 2024
462673e
Merge branch 'main' into traces-txs-models-v0
lithium323 Jan 2, 2025
0f37a23
Merge branch 'main' into traces-txs-models-v0
lithium323 Jan 6, 2025
0ca4b6f
Merge branch 'main' into traces-txs-models-v0
lithium323 Jan 6, 2025
66268a1
Undo chainge to chain metadata load
lithium323 Jan 6, 2025
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
1,187 changes: 1,187 additions & 0 deletions notebooks/adhoc/refined_traces_models_dev.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion notebooks/adhoc/refined_traces_models_dev_v2.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare data reader and up model execution context"
"## Prepare data reader and model execution context"
]
},
{
Expand Down
453 changes: 453 additions & 0 deletions notebooks/adhoc/refined_transactions_address_models_dev.ipynb

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# import duckdb

# from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
# from op_analytics.datapipeline.models.compute.registry import register_model
# from op_analytics.datapipeline.models.compute.types import NamedRelations


# @register_model(
# input_datasets=["intermediate/refined_transactions_fees_v1"],
# expected_outputs=["summary_v1"],
# auxiliary_views=[
# TemplatedSQLQuery(
# template_name="daily_address_summary",
# context={},
# ),
# ],
# )
# def daily_address_summary_old(duckdb_client: duckdb.DuckDBPyConnection) -> NamedRelations:
# return {
# "summary_v1": duckdb_client.view("daily_address_summary"),
# }
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import duckdb

from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
from op_analytics.datapipeline.models.compute.registry import register_model
from op_analytics.datapipeline.models.compute.types import NamedRelations


@register_model(
input_datasets=["intermediate/enriched_transactions_v1"],
expected_outputs=["daily_transactions_fees_by_to_v1"],
# TODO: Uncomment if we do this as a view (or some element as a view)
# auxiliary_views=[
# TemplatedSQLQuery(
# template_name="daily_transactions_fees_by_to",
# context={},
# ),
# ],
)
def daily_transactions_fees_by_to(duckdb_client: duckdb.DuckDBPyConnection) -> NamedRelations:
return {
"daily_transactions_fees_by_to_v1": duckdb_client.view(
"""
TODO: AGGREGATION CODE
"""
),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# # TO DEPRECATE?

# import duckdb

# from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
# from op_analytics.datapipeline.models.compute.registry import register_model
# from op_analytics.datapipeline.models.compute.types import NamedRelations


# @register_model(
# input_datasets=["ingestion/logs_v1", "ingestion/transactions_v1", "ingestion/blocks_v1"],
# expected_outputs=["event_emitting_transactions_v1"],
# auxiliary_views=[
# TemplatedSQLQuery(
# template_name="refined_transactions_fees",
# context={},
# ),
# TemplatedSQLQuery(
# template_name="logs_topic0_filters",
# context={},
# ),
# TemplatedSQLQuery(
# template_name="event_emitting_transactions",
# context={},
# ),
# ],
# )
# def event_emitting_transactions(duckdb_client: duckdb.DuckDBPyConnection) -> NamedRelations:
# return {
# "event_emitting_transactions_v1": duckdb_client.view("event_emitting_transactions"),
# }
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# import duckdb

# from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
# from op_analytics.datapipeline.models.compute.registry import register_model
# from op_analytics.datapipeline.models.compute.types import NamedRelations


# @register_model(
# input_datasets=["ingestion/traces_v1", "refined_transactions_fees_v1"],
# expected_outputs=["refined_trace_calls_v1"],
# auxiliary_views=[
# TemplatedSQLQuery(
# template_name="refined_trace_calls",
# context={},
# ),
# ],
# )
# def refined_trace_calls(duckdb_client: duckdb.DuckDBPyConnection) -> NamedRelations:
# return {
# "refined_trace_calls_v1": duckdb_client.view("refined_trace_calls"),
# }
61 changes: 53 additions & 8 deletions src/op_analytics/datapipeline/models/code/refined_traces.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from op_analytics.coreutils.duckdb_inmem.client import DuckDBContext
from op_analytics.datapipeline.models.compute.model import AuxiliaryView, ParquetData
from op_analytics.coreutils.duckdb_inmem.client import DuckDBContext, ParquetData
from op_analytics.datapipeline.models.compute.model import AuxiliaryView
from op_analytics.datapipeline.models.compute.registry import register_model
from op_analytics.datapipeline.models.compute.types import NamedRelations

Expand All @@ -10,18 +10,63 @@
"ingestion/traces_v1",
"ingestion/transactions_v1",
],
expected_outputs=[
"create_traces_v1",
],
auxiliary_views=[
"refined_transactions_fees",
"refined_traces_fees",
"refined_traces/traces_projection",
"refined_traces/traces_amortized",
"refined_traces/traces_txs_join",
],
expected_outputs=[
"refined_transactions_fees_v1",
"refined_traces_fees_v1",
],
)
def refined_traces(
ctx: DuckDBContext,
input_datasets: dict[str, ParquetData],
auxiliary_views: dict[str, AuxiliaryView],
) -> NamedRelations:
# Not implemented yet.
return {}
refined_txs = auxiliary_views["refined_transactions_fees"].create_table(
duckdb_context=ctx,
template_parameters={
"raw_blocks": input_datasets["ingestion/blocks_v1"].as_subquery(),
"raw_transactions": input_datasets["ingestion/transactions_v1"].as_subquery(),
},
)

refined_traces_projection = auxiliary_views["refined_traces/traces_projection"].create_table(
duckdb_context=ctx,
template_parameters={
"raw_traces": input_datasets["ingestion/traces_v1"].as_subquery(),
},
)

traces_amortized = auxiliary_views["refined_traces/traces_amortized"].create_table(
duckdb_context=ctx,
template_parameters={
"refined_traces_projection": refined_traces_projection,
},
)

traces_txs_join = auxiliary_views["refined_traces/traces_txs_join"].create_table(
duckdb_context=ctx,
template_parameters={
"traces_amortized": traces_amortized,
"refined_transactions_fees": refined_txs,
},
)

ctx.client.sql(f"DROP TABLE {refined_traces_projection}")
ctx.client.sql(f"DROP TABLE {traces_amortized}")

return {
"refined_transactions_fees_v1": refined_txs,
"refined_traces_fees_v1": traces_txs_join,
# Also included in Michael's original implementation.
# "aggregated_traces_tr_from_tr_to_hash_v1": duckdb_client.view(
# "aggregated_traces_tr_from_tr_to_hash"
# ),
# "aggregated_traces_tr_to_hash_v1": duckdb_client.view("aggregated_traces_tr_to_hash"),
# "daily_traces_tr_to_tx_to_v1": duckdb_client.view("daily_traces_tr_to_tx_to"),
# "daily_traces_tr_to_v1": duckdb_client.view("daily_traces_tr_to"),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import duckdb

from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
from op_analytics.datapipeline.models.compute.registry import register_model
from op_analytics.datapipeline.models.compute.types import NamedRelations


@register_model(
input_datasets=[
"ingestion/transactions_v1",
"ingestion/blocks_v1",
"ingestion/traces_v1",
],
expected_outputs=[
"refined_traces_fees_v1",
"refined_traces_fees_tr_from_tr_to_hash_v1",
"daily_traces_tr_to_tx_to_v1",
"daily_traces_to_v1",
],
auxiliary_views=[
TemplatedSQLQuery(
template_name="refined_transactions_fees",
context={},
),
TemplatedSQLQuery(
template_name="refined_traces_fees",
context={},
),
TemplatedSQLQuery(
template_name="aggregated_traces_tr_from_tr_to_hash",
context={},
),
TemplatedSQLQuery(
template_name="aggregated_traces_tr_to_hash",
context={},
),
TemplatedSQLQuery(
template_name="daily_traces_tr_to_tx_to",
context={},
),
TemplatedSQLQuery(
template_name="daily_traces_tr_to",
context={},
),
],
)
def refined_traces_models(
duckdb_client: duckdb.DuckDBPyConnection,
) -> NamedRelations:
return {
"refined_traces_fees_v1": duckdb_client.view("refined_traces_fees"),
"aggregated_traces_tr_from_tr_to_hash_v1": duckdb_client.view(
"aggregated_traces_tr_from_tr_to_hash"
),
"aggregated_traces_tr_to_hash_v1": duckdb_client.view("aggregated_traces_tr_to_hash"),
"daily_traces_tr_to_tx_to_v1": duckdb_client.view("daily_traces_tr_to_tx_to"),
"daily_traces_tr_to_v1": duckdb_client.view("daily_traces_tr_to"),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import duckdb

from op_analytics.datapipeline.models.compute.querybuilder import TemplatedSQLQuery
from op_analytics.datapipeline.models.compute.registry import register_model
from op_analytics.datapipeline.models.compute.types import NamedRelations


@register_model(
input_datasets=[
"ingestion/transactions_v1",
"ingestion/blocks_v1",
"ingestion/logs_v1",
],
expected_outputs=[
"refined_transactions_fees_v1",
"event_emitting_transactions_v1",
"summary_v1",
"daily_transactions_tx_from_tx_to_method_v1",
"daily_transactions_tx_to_method_v1",
"daily_transactions_tx_to_v1",
],
auxiliary_views=[
TemplatedSQLQuery(
template_name="refined_transactions_fees",
context={},
),
TemplatedSQLQuery(
template_name="logs_topic0_filters",
context={},
),
TemplatedSQLQuery(
template_name="event_emitting_transactions",
context={},
),
TemplatedSQLQuery(
template_name="daily_address_summary",
context={},
),
TemplatedSQLQuery(
template_name="daily_transactions_tx_from_tx_to_method",
context={},
),
TemplatedSQLQuery(
template_name="daily_transactions_tx_to_method",
context={},
),
TemplatedSQLQuery(
template_name="daily_transactions_tx_to",
context={},
),
],
)
def refined_transactions_addresses_models(
duckdb_client: duckdb.DuckDBPyConnection,
) -> NamedRelations:
return {
"refined_transactions_fees_v1": duckdb_client.view("refined_transactions_fees"),
"event_emitting_transactions_v1": duckdb_client.view("event_emitting_transactions"),
"summary_v1": duckdb_client.view("daily_address_summary"),
"daily_transactions_tx_from_tx_to_method_v1": duckdb_client.view(
"daily_transactions_tx_from_tx_to_method"
),
"daily_transactions_tx_to_method_v1": duckdb_client.view("daily_transactions_tx_to_method"),
"daily_transactions_tx_to_v1": duckdb_client.view("daily_transactions_tx_to"),
}
Loading
Loading