Skip to content

Commit 35dcd59

Browse files
authored
join on registered_address (#503)
1 parent 1cdca0f commit 35dcd59

File tree

2 files changed

+90
-0
lines changed
  • rust/processor/src/db/postgres/migrations/2024-09-10-215454_ans_registered_addr

2 files changed

+90
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
-- This file should undo anything in `up.sql`
2+
CREATE OR REPLACE VIEW current_aptos_names AS
3+
SELECT cal.domain,
4+
cal.subdomain,
5+
cal.token_name,
6+
cal.token_standard,
7+
cal.registered_address,
8+
cal.expiration_timestamp,
9+
greatest(
10+
cal.last_transaction_version,
11+
capn.last_transaction_version
12+
) as last_transaction_version,
13+
coalesce(not capn.is_deleted, false) as is_primary,
14+
concat(cal.domain, '.apt') as domain_with_suffix,
15+
c.owner_address as owner_address,
16+
cal.expiration_timestamp >= CURRENT_TIMESTAMP as is_active,
17+
cal2.expiration_timestamp as domain_expiration_timestamp,
18+
b.token_data_id as token_data_id,
19+
cal.subdomain_expiration_policy as subdomain_expiration_policy
20+
FROM current_ans_lookup_v2 cal
21+
LEFT JOIN current_ans_primary_name_v2 capn ON cal.token_name = capn.token_name
22+
AND cal.token_standard = capn.token_standard
23+
JOIN current_token_datas_v2 b ON cal.token_name = b.token_name
24+
AND cal.token_standard = b.token_standard
25+
JOIN current_token_ownerships_v2 c ON b.token_data_id = c.token_data_id
26+
AND b.token_standard = c.token_standard
27+
LEFT JOIN current_ans_lookup_v2 cal2 ON cal.domain = cal2.domain
28+
AND cal2.subdomain = ''
29+
AND cal.token_standard = cal2.token_standard
30+
WHERE cal.is_deleted IS false
31+
AND c.amount > 0
32+
AND b.collection_id IN (
33+
'0x1c380887f0cfcc8a82c0df44b24116985a92c58e686a0ea4a441c9f423a72b47',
34+
-- Testnet ANS v1 domain collection
35+
'0x56654f4bf4e528bfef33094d11a3475f0638e949b0976ec831ca0d66a2efb673',
36+
-- Testnet ANS v2 domain collection
37+
'0x3a2c902067bb4f0e37a2a89675d5cbceb07cf1a27479229b269fb1afffa62230',
38+
-- Testnet ANS v2 subdomain collection
39+
'0x09e63a48047b1c2bc51c0abc4b67ffcd9922e0adc99a6cc36532662172976a4b',
40+
-- Mainnet ANS v1 domain collection
41+
'0x63d26a4e3a8aeececf9b878e46bad78997fb38e50936efeabb2c4453f4d7f746',
42+
-- Mainnet ANS v2 domain collection
43+
'0x30fbc956f0f38db2d314bd9c018d34be3e047a804a71e30a4e5d43d8b7c539eb' -- Mainnet ANS v2 subdomain collection
44+
);
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
-- Your SQL goes here
2+
CREATE OR REPLACE VIEW current_aptos_names AS
3+
SELECT cal.domain,
4+
cal.subdomain,
5+
cal.token_name,
6+
cal.token_standard,
7+
cal.registered_address,
8+
cal.expiration_timestamp,
9+
greatest(
10+
cal.last_transaction_version,
11+
capn.last_transaction_version
12+
) as last_transaction_version,
13+
coalesce(not capn.is_deleted, false) as is_primary,
14+
concat(cal.domain, '.apt') as domain_with_suffix,
15+
c.owner_address as owner_address,
16+
cal.expiration_timestamp >= CURRENT_TIMESTAMP as is_active,
17+
cal2.expiration_timestamp as domain_expiration_timestamp,
18+
b.token_data_id as token_data_id,
19+
cal.subdomain_expiration_policy as subdomain_expiration_policy
20+
FROM current_ans_lookup_v2 cal
21+
LEFT JOIN current_ans_primary_name_v2 capn ON cal.token_name = capn.token_name
22+
AND cal.token_standard = capn.token_standard
23+
AND capn.registered_address = cal.registered_address -- Only this line changed since last migration
24+
JOIN current_token_datas_v2 b ON cal.token_name = b.token_name
25+
AND cal.token_standard = b.token_standard
26+
JOIN current_token_ownerships_v2 c ON b.token_data_id = c.token_data_id
27+
AND b.token_standard = c.token_standard
28+
LEFT JOIN current_ans_lookup_v2 cal2 ON cal.domain = cal2.domain
29+
AND cal2.subdomain = ''
30+
AND cal.token_standard = cal2.token_standard
31+
WHERE cal.is_deleted IS false
32+
AND c.amount > 0
33+
AND b.collection_id IN (
34+
'0x1c380887f0cfcc8a82c0df44b24116985a92c58e686a0ea4a441c9f423a72b47',
35+
-- Testnet ANS v1 domain collection
36+
'0x56654f4bf4e528bfef33094d11a3475f0638e949b0976ec831ca0d66a2efb673',
37+
-- Testnet ANS v2 domain collection
38+
'0x3a2c902067bb4f0e37a2a89675d5cbceb07cf1a27479229b269fb1afffa62230',
39+
-- Testnet ANS v2 subdomain collection
40+
'0x09e63a48047b1c2bc51c0abc4b67ffcd9922e0adc99a6cc36532662172976a4b',
41+
-- Mainnet ANS v1 domain collection
42+
'0x63d26a4e3a8aeececf9b878e46bad78997fb38e50936efeabb2c4453f4d7f746',
43+
-- Mainnet ANS v2 domain collection
44+
'0x30fbc956f0f38db2d314bd9c018d34be3e047a804a71e30a4e5d43d8b7c539eb'
45+
-- Mainnet ANS v2 subdomain collection
46+
);

0 commit comments

Comments
 (0)