with resps as
(select defillama.get('/protocols', {}) as resp),
positive as (
select
value:category::string as category,
value:name::string as name,
value:change_1d as one_day,
value:tvl::number as tvl,
value:description::string as description
from resps,
lateral flatten (input => resp:data)
where category = 'Liquid Staking'
and tvl != 0
and one_day > 0),
negative as (
select
value:category::string as category,
value:name::string as name,
value:change_1d as one_day,
value:tvl::number as tvl,
value:description::string as description
from resps,
lateral flatten (input => resp:data)
where category = 'Liquid Staking'
and tvl != 0
and one_day < 0),
positive_ as (
select
name,
one_day,
cast(one_day as decimal(38,2)) as one_day_change,
description,
'Positive' as category