Skip to content
Draft
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
@@ -1,25 +1,48 @@
{% macro across_v1_withdrawals(blockchain, events) %}

SELECT d.originChainId AS deposit_chain_id
, m.blockchain AS deposit_chain
WITH events AS (
SELECT d.originChainId AS deposit_chain_id
, m.blockchain AS deposit_chain
, d.evt_block_date AS block_date
, d.evt_block_time AS block_time
, d.evt_block_number AS block_number
, d.fillamount AS withdrawal_amount_raw
, depositor AS sender
, recipient AS recipient
, destinationToken AS withdrawal_token_address
, 'erc20' AS deposit_token_standard
, 'erc20' AS withdrawal_token_standard
, d.evt_tx_from AS tx_from
, d.evt_tx_hash AS tx_hash
, d.evt_index
, d.contract_address
, CAST(d.depositId AS varchar) AS bridge_transfer_id
, ROW_NUMBER() OVER (PARTITION BY d.originChainId, d.depositId ORDER BY d.evt_block_number, d.evt_index) AS rn
FROM ({{ events }}) d
LEFT JOIN {{ ref('bridges_across_chain_indexes') }} m ON d.originChainId=m.id
WHERE CAST(d.fillamount AS double) > 0.5*CAST(d.amount AS double)
)

SELECT deposit_chain_id
, deposit_chain
, '{{blockchain}}' AS withdrawal_chain
, 'Across' AS bridge_name
, '1' AS bridge_version
, d.evt_block_date AS block_date
, d.evt_block_time AS block_time
, d.evt_block_number AS block_number
, d.amount AS withdrawal_amount_raw
, depositor AS sender
, recipient AS recipient
, destinationToken AS withdrawal_token_address
, 'erc20' AS deposit_token_standard
, 'erc20' AS withdrawal_token_standard
, d.evt_tx_from AS tx_from
, d.evt_tx_hash AS tx_hash
, d.evt_index
, d.contract_address
, CAST(d.depositId AS varchar) AS bridge_transfer_id
FROM ({{ events }}) d
LEFT JOIN {{ ref('bridges_across_chain_indexes') }} m ON d.originChainId=m.id
, block_date
, block_time
, block_number
, withdrawal_amount_raw
, sender
, recipient
, withdrawal_token_address
, deposit_token_standard
, withdrawal_token_standard
, tx_from
, tx_hash
, evt_index
, contract_address
, bridge_transfer_id
FROM events
WHERE rn = 1

{% endmacro %}
Original file line number Diff line number Diff line change
@@ -1,27 +1,84 @@
{% macro zkbridge_v1_deposits(blockchain) %}

SELECT '{{blockchain}}' AS deposit_chain
, d.dstChainId AS withdrawal_chain_id
, i.blockchain AS withdrawal_chain
, 'zkBridge' AS bridge_name
, '1' AS bridge_version
, d.evt_block_date AS block_date
, d.evt_block_time AS block_time
, d.evt_block_number AS block_number
, d.amount AS deposit_amount_raw
, d.sender
, d.recipient
, t.token_address AS deposit_token_address
, CASE WHEN t.token_address=0x0000000000000000000000000000000000000000 THEN 'native' ELSE 'erc20' END AS deposit_token_standard
, d.evt_tx_from AS tx_from
, d.evt_tx_hash AS tx_hash
, d.evt_index
, d.contract_address
, CAST(d.sequence AS varchar) AS bridge_transfer_id
FROM {{ source('zkbridge_' + blockchain, 'bridge_evt_transfertoken') }} d
LEFT JOIN {{ ref('bridges_zkbridge_chain_indexes') }} i ON i.id=d.dstChainId
LEFT JOIN {{ ref('bridges_zkbridge_token_indexes') }} t ON t.blockchain='{{blockchain}}'
AND t.contract_address=d.contract_address
AND t.pool_id=d.poolId
WITH bridge_transfer_events AS (
SELECT DISTINCT '{{blockchain}}' AS deposit_chain
, d.dstChainId AS withdrawal_chain_id
, i.blockchain AS withdrawal_chain
, 'zkBridge' AS bridge_name
, '1' AS bridge_version
, d.evt_block_date AS block_date
, d.evt_block_time AS block_time
, d.evt_block_number AS block_number
, d.amount AS deposit_amount_raw
, d.sender
, d.recipient
, t.token_address AS deposit_token_address
, CASE WHEN t.token_address=0x0000000000000000000000000000000000000000 THEN 'native' ELSE 'erc20' END AS deposit_token_standard
, d.evt_tx_from AS tx_from
, d.evt_tx_hash AS tx_hash
, d.evt_index
, d.contract_address
, CAST(d.poolId AS varchar) || '-' || CAST(d.sequence AS varchar) AS bridge_transfer_id
, ROW_NUMBER() OVER (PARTITION BY d.dstChainId, d.poolId, d.sequence ORDER BY d.evt_block_number, d.evt_index) AS rn
FROM {{ source('zkbridge_' + blockchain, 'bridge_evt_transfertoken') }} d
LEFT JOIN {{ ref('bridges_zkbridge_chain_indexes') }} i ON i.id=d.dstChainId
LEFT JOIN {{ ref('bridges_zkbridge_token_indexes') }} t ON t.blockchain='{{blockchain}}'
AND t.contract_address=d.contract_address
AND t.pool_id=d.poolId
)

{% if is_incremental() %}
, deduped AS (
SELECT d.deposit_chain
, d.withdrawal_chain_id
, d.withdrawal_chain
, d.bridge_name
, d.bridge_version
, d.block_date
, d.block_time
, d.block_number
, d.deposit_amount_raw
, d.sender
, d.recipient
, d.deposit_token_address
, d.deposit_token_standard
, d.tx_from
, d.tx_hash
, d.evt_index
, d.contract_address
, d.bridge_transfer_id
, d.rn + MAX(CAST(regexp_replace(t.bridge_transfer_id, '.*-', '') AS int)) AS rn
FROM bridge_transfer_events d
INNER JOIN {{this}} t ON t.bridge_name = 'zkBridge'
AND t.bridge_version = '1'
AND t.withdrawal_chain_id = d.dstChainId
AND regexp_replace(t.bridge_transfer_id, '-[^-]*$', '') = CAST(d.poolId AS varchar) || '-' || CAST(d.sequence AS varchar)
GROUP BY d.deposit_chain, d.withdrawal_chain_id, d.withdrawal_chain, d.bridge_name, d.bridge_version, d.block_date, d.block_time, d.block_number, d.deposit_amount_raw, d.sender, d.recipient, d.deposit_token_address, d.deposit_token_standard, d.tx_from, d.tx_hash, d.evt_index, d.contract_address, d.bridge_transfer_id, d.rn
)
{% endif %}

SELECT deposit_chain
, withdrawal_chain_id
, withdrawal_chain
, bridge_name
, bridge_version
, block_date
, block_time
, block_number
, deposit_amount_raw
, sender
, recipient
, deposit_token_address
, deposit_token_standard
, tx_from
, tx_hash
, evt_index
, contract_address
, bridge_transfer_id || '-' || CAST(rn AS varchar) AS bridge_transfer_id
{% if is_incremental() %}
FROM deduped
{% else %}
FROM bridge_transfer_events
{% endif %}

{% endmacro %}
Original file line number Diff line number Diff line change
@@ -1,27 +1,84 @@
{% macro zkbridge_v1_withdrawals(blockchain) %}

SELECT i.blockchain AS deposit_chain
, w.srcChainId AS deposit_chain_id
, '{{blockchain}}' AS withdrawal_chain
, 'zkBridge' AS bridge_name
, '1' AS bridge_version
, w.evt_block_date AS block_date
, w.evt_block_time AS block_time
, w.evt_block_number AS block_number
, w.amount AS withdrawal_amount_raw
, CAST(NULL AS varbinary) AS sender
, w.recipient
, t.token_address AS withdrawal_token_address
, CASE WHEN t.token_address=0x0000000000000000000000000000000000000000 THEN 'native' ELSE 'erc20' END AS withdrawal_token_standard
, w.evt_tx_from AS tx_from
, w.evt_tx_hash AS tx_hash
, w.evt_index
, w.contract_address
, CAST(w.sequence AS varchar) AS bridge_transfer_id
FROM {{ source('zkbridge_' + blockchain, 'bridge_evt_receivetoken') }} w
LEFT JOIN {{ ref('bridges_zkbridge_chain_indexes') }} i ON i.id=w.srcChainId
LEFT JOIN {{ ref('bridges_zkbridge_token_indexes') }} t ON t.blockchain='{{blockchain}}'
AND t.contract_address=w.contract_address
AND t.pool_id=w.poolId
WITH bridge_transfer_events AS (
SELECT i.blockchain AS deposit_chain
, w.srcChainId AS deposit_chain_id
, '{{blockchain}}' AS withdrawal_chain
, 'zkBridge' AS bridge_name
, '1' AS bridge_version
, w.evt_block_date AS block_date
, w.evt_block_time AS block_time
, w.evt_block_number AS block_number
, w.amount AS withdrawal_amount_raw
, CAST(NULL AS varbinary) AS sender
, w.recipient
, t.token_address AS withdrawal_token_address
, CASE WHEN t.token_address=0x0000000000000000000000000000000000000000 THEN 'native' ELSE 'erc20' END AS withdrawal_token_standard
, w.evt_tx_from AS tx_from
, w.evt_tx_hash AS tx_hash
, w.evt_index
, w.contract_address
, CAST(w.poolId AS varchar) || '-' || CAST(w.sequence AS varchar) AS bridge_transfer_id
, ROW_NUMBER() OVER (PARTITION BY w.srcChainId, w.poolId, w.sequence ORDER BY w.evt_block_number, w.evt_index) AS rn
FROM {{ source('zkbridge_' + blockchain, 'bridge_evt_receivetoken') }} w
LEFT JOIN {{ ref('bridges_zkbridge_chain_indexes') }} i ON i.id=w.srcChainId
LEFT JOIN {{ ref('bridges_zkbridge_token_indexes') }} t ON t.blockchain='{{blockchain}}'
AND t.contract_address=w.contract_address
AND t.pool_id=w.poolId
)

{% if is_incremental() %}
, deduped AS (
SELECT w.deposit_chain
, w.deposit_chain_id
, w.withdrawal_chain
, w.bridge_name
, w.bridge_version
, w.block_date
, w.block_time
, w.block_number
, w.withdrawal_amount_raw
, w.sender
, w.recipient
, w.withdrawal_token_address
, w.withdrawal_token_standard
, w.tx_from
, w.tx_hash
, w.evt_index
, w.contract_address
, w.bridge_transfer_id
, w.rn + MAX(CAST(regexp_replace(t.bridge_transfer_id, '.*-', '') AS int)) AS rn
FROM bridge_transfer_events w
INNER JOIN {{this}} t ON t.bridge_name = 'zkBridge'
AND t.bridge_version = '1'
AND t.deposit_chain_id = w.srcChainId
AND regexp_replace(t.bridge_transfer_id, '-[^-]*$', '') = CAST(w.poolId AS varchar) || '-' || CAST(w.sequence AS varchar)
GROUP BY w.deposit_chain, w.deposit_chain_id, w.withdrawal_chain, w.bridge_name, w.bridge_version, w.block_date, w.block_time, w.block_number, w.withdrawal_amount_raw, w.sender, w.recipient, d.withdrawal_token_address, d.withdrawal_token_standard, d.tx_from, d.tx_hash, d.evt_index, d.contract_address, w.bridge_transfer_id, w.rn
)
{% endif %}

SELECT deposit_chain
, deposit_chain_id
, withdrawal_chain
, bridge_name
, bridge_version
, block_date
, block_time
, block_number
, withdrawal_amount_raw
, sender
, recipient
, withdrawal_token_address
, withdrawal_token_standard
, tx_from
, tx_hash
, evt_index
, contract_address
, bridge_transfer_id || '-' || CAST(rn AS varchar) AS bridge_transfer_id
{% if is_incremental() %}
FROM deduped
{% else %}
FROM bridge_transfer_events
{% endif %}

{% endmacro %}
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ SELECT *
, block_date
, block_time
, block_number
, deposit_amount_raw
, deposit_amount
, deposit_amount_raw
, CAST(sender AS VARCHAR) AS sender
, CAST(recipient AS VARCHAR) AS recipient
, deposit_token_standard
Expand All @@ -37,4 +37,27 @@ SELECT *
UNION ALL
{% endif %}
{% endfor %}
)

UINON ALL

SELECT deposit_chain
, withdrawal_chain
, bridge_name
, bridge_version
, block_date
, block_time
, block_number
, deposit_amount
, deposit_amount_raw
, CAST(sender AS VARCHAR) AS sender
, CAST(recipient AS VARCHAR) AS recipient
, deposit_token_standard
, CAST(deposit_token_address AS VARCHAR) AS deposit_token_address
, CAST(tx_from AS VARCHAR) AS tx_from
, CAST(tx_hash AS VARCHAR) AS tx_hash
, evt_index
, CAST(contract_address AS VARCHAR) AS contract_address
, bridge_transfer_id
, duplicate_index
, withdrawal_chain_id
FROM {{ ref('bridges_solana_deposits') }}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ SELECT *
, withdrawal_block_number
, deposit_amount_raw
, deposit_amount
, withdrawal_amount_raw
, withdrawal_amount
, withdrawal_amount_raw
, amount_usd
, CAST(sender AS VARCHAR) AS sender
, CAST(recipient AS VARCHAR) AS recipient
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ SELECT *
, block_date
, block_time
, block_number
, withdrawal_amount_raw
, withdrawal_amount
, withdrawal_amount_raw
, CAST(sender AS VARCHAR) AS sender
, CAST(recipient AS VARCHAR) AS recipient
, withdrawal_token_standard
Expand All @@ -36,4 +36,27 @@ SELECT *
UNION ALL
{% endif %}
{% endfor %}
)
)

UNION ALL

SELECT deposit_chain
, withdrawal_chain
, bridge_name
, bridge_version
, block_date
, block_time
, block_number
, withdrawal_amount
, withdrawal_amount_raw
, CAST(sender AS VARCHAR) AS sender
, CAST(recipient AS VARCHAR) AS recipient
, withdrawal_token_standard
, CAST(withdrawal_token_address AS VARCHAR) AS withdrawal_token_address
, CAST(tx_from AS VARCHAR) AS tx_from
, CAST(tx_hash AS VARCHAR) AS tx_hash
, evt_index
, CAST(contract_address AS VARCHAR) AS contract_address
, bridge_transfer_id
, deposit_chain_id
FROM {{ ref('bridges_solana_withdrawals') }}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
, 'bridges_' + blockchain + '_celer_v1_deposits'
, 'bridges_' + blockchain + '_tether_v1_deposits'
, 'bridges_' + blockchain + '_symbiosis_v1_deposits'
, 'bridges_' + blockchain + '_zkbridge_v1_deposits'
] %}

SELECT *
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

{% set bridges_platforms = [
'bridges_' + blockchain + '_cctp_v1_withdrawals'
, 'bridges_' + blockchain + '_across_v1_withdrawals'
, 'bridges_' + blockchain + '_across_v2_withdrawals'
, 'bridges_' + blockchain + '_across_v3_withdrawals'
, 'bridges_' + blockchain + '_hyperliquid_v1_withdrawals'
Expand Down
Loading
Loading