From b584abcb75586758a1ae144c40c96ad5a1b521a3 Mon Sep 17 00:00:00 2001 From: San Yong <22216004+SanYongxie@users.noreply.github.com> Date: Thu, 5 Jun 2025 12:18:27 +0800 Subject: [PATCH] update address logic --- .../silver_bridge__cctp_v2_depositforburn.sql | 82 ++++++------------- 1 file changed, 27 insertions(+), 55 deletions(-) diff --git a/models/silver/defi/bridge/cctp/silver_bridge__cctp_v2_depositforburn.sql b/models/silver/defi/bridge/cctp/silver_bridge__cctp_v2_depositforburn.sql index 5ce4178..0138f91 100644 --- a/models/silver/defi/bridge/cctp/silver_bridge__cctp_v2_depositforburn.sql +++ b/models/silver/defi/bridge/cctp/silver_bridge__cctp_v2_depositforburn.sql @@ -33,83 +33,55 @@ WITH base_evt AS ( decoded_log :destinationDomain :: STRING ) AS destination_domain, CASE - WHEN destination_domain IN ( - 0, - 1, - 2, - 3, - 6, - 7, - 10 - ) THEN CONCAT( + WHEN destination_domain = 5 THEN utils.udf_hex_to_base58( + decoded_log :mintRecipient :: STRING + ) -- solana + WHEN LEFT( + decoded_log :mintRecipient :: STRING, + 26 + ) = '0x000000000000000000000000' THEN CONCAT( '0x', SUBSTR( decoded_log :mintRecipient :: STRING, - 25, + 27, 40 ) ) -- evm - WHEN destination_domain = 5 THEN utils.udf_hex_to_base58(CONCAT('0x', decoded_log :mintRecipient :: STRING)) -- solana - ELSE CONCAT( - '0x', - decoded_log :mintRecipient :: STRING - ) -- other non-evm chains + ELSE decoded_log :mintRecipient :: STRING -- other non-evm chains END AS mint_recipient, CASE - WHEN destination_domain IN ( - 0, - 1, - 2, - 3, - 6, - 7, - 10 - ) THEN CONCAT( + WHEN destination_domain = 5 THEN utils.udf_hex_to_base58( + decoded_log :destinationTokenMessenger :: STRING + ) -- solana + WHEN LEFT( + decoded_log :destinationTokenMessenger :: STRING, + 26 + ) = '0x000000000000000000000000' THEN CONCAT( '0x', SUBSTR( decoded_log :destinationTokenMessenger :: STRING, - 25, + 27, 40 ) ) -- evm - WHEN destination_domain = 5 THEN utils.udf_hex_to_base58( - CONCAT( - '0x', - decoded_log :destinationTokenMessenger :: STRING - ) - ) -- solana - ELSE CONCAT( - '0x', - decoded_log :destinationTokenMessenger :: STRING - ) -- other non-evm chains + ELSE decoded_log :destinationTokenMessenger :: STRING -- other non-evm chains END AS destination_token_messenger, CASE - WHEN destination_domain IN ( - 0, - 1, - 2, - 3, - 6, - 7, - 10 - ) THEN CONCAT( + WHEN destination_domain = 5 THEN utils.udf_hex_to_base58( + decoded_log :destinationCaller :: STRING + ) -- solana + WHEN LEFT( + decoded_log :destinationCaller :: STRING, + 26 + ) = '0x000000000000000000000000' THEN CONCAT( '0x', SUBSTR( decoded_log :destinationCaller :: STRING, - 25, + 27, 40 ) ) -- evm - WHEN destination_domain = 5 THEN utils.udf_hex_to_base58( - CONCAT( - '0x', - decoded_log :destinationCaller :: STRING - ) - ) -- solana - ELSE CONCAT( - '0x', - decoded_log :destinationCaller :: STRING - ) -- other non-evm chains + ELSE decoded_log :destinationCaller :: STRING -- other non-evm chains END AS destination_caller, modified_timestamp, CONCAT(