PlaywoPosition Lifecycle
Updated 2024-05-28
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
WITH position_open AS (
SELECT a__contract_address.tx_id, a__contract_address.block_timestamp,
a__contract_address.attribute_value AS contract,
a_pos_owner.attribute_value AS trader,
a_notional_size.attribute_value AS notional_size,
a_deposit_collateral_usd.attribute_value AS collateral_usd,
a_leverage.attribute_value AS leverage,
a_pos_id.attribute_value AS position,
a_trading_fee_usd.attribute_value AS trade_fee_usd
FROM
osmosis.core.fact_msg_attributes AS a__contract_address,
osmosis.core.fact_msg_attributes AS a_pos_owner,
osmosis.core.fact_msg_attributes AS a_notional_size,
osmosis.core.fact_msg_attributes AS a_deposit_collateral_usd,
osmosis.core.fact_msg_attributes AS a_leverage,
osmosis.core.fact_msg_attributes AS a_pos_id,
osmosis.core.fact_msg_attributes AS a_trading_fee_usd
WHERE a__contract_address.msg_type ILIKE 'wasm-position-open%'
AND a__contract_address.attribute_key = '_contract_address'
AND a_pos_owner.attribute_key = 'pos-owner' AND a__contract_address.tx_id = a_pos_owner.tx_id AND a__contract_address.msg_index = a_pos_owner.msg_index AND (a__contract_address.msg_group = a_pos_owner.msg_group OR a__contract_address.msg_group IS NULL AND a_pos_owner.msg_group IS NULL)
AND a_notional_size.attribute_key = 'notional-size' AND a__contract_address.tx_id = a_notional_size.tx_id AND a__contract_address.msg_index = a_notional_size.msg_index AND (a__contract_address.msg_group = a_notional_size.msg_group OR a__contract_address.msg_group IS NULL AND a_notional_size.msg_group IS NULL)
AND a_deposit_collateral_usd.attribute_key = 'deposit-collateral-usd' AND a__contract_address.tx_id = a_deposit_collateral_usd.tx_id AND a__contract_address.msg_index = a_deposit_collateral_usd.msg_index AND (a__contract_address.msg_group = a_deposit_collateral_usd.msg_group OR a__contract_address.msg_group IS NULL AND a_deposit_collateral_usd.msg_group IS NULL)
AND a_leverage.attribute_key = 'leverage' AND a__contract_address.tx_id = a_leverage.tx_id AND a__contract_address.msg_index = a_leverage.msg_index AND (a__contract_address.msg_group = a_leverage.msg_group OR a__contract_address.msg_group IS NULL AND a_leverage.msg_group IS NULL)
AND a_pos_id.attribute_key = 'pos-id' AND a__contract_address.tx_id = a_pos_id.tx_id AND a__contract_address.msg_index = a_pos_id.msg_index AND (a__contract_address.msg_group = a_pos_id.msg_group OR a__contract_address.msg_group IS NULL AND a_pos_id.msg_group IS NULL)
AND a_trading_fee_usd.attribute_key = 'trading-fee-usd' AND a__contract_address.tx_id = a_trading_fee_usd.tx_id AND a__contract_address.msg_index = a_trading_fee_usd.msg_index AND (a__contract_address.msg_group = a_trading_fee_usd.msg_group OR a__contract_address.msg_group IS NULL AND a_trading_fee_usd.msg_group IS NULL)
AND TRY_TO_NUMERIC(leverage) IS NOT NULL AND TRY_TO_NUMERIC(collateral_usd) IS NOT NULL AND TRY_TO_NUMERIC(trade_fee_usd) IS NOT NULL
AND contract = 'osmo1gprafrgxx0tlf4u3dxnxcvvmsg2yl4hgqxc68xmkq07h2n0lk9zqycckgc'
),
position_updates AS (
SELECT a__contract_address.tx_id, a__contract_address.block_timestamp,
a__contract_address.attribute_value AS contract,
a_pos_owner.attribute_value AS trader,
a_notional_size.attribute_value AS notional_size,
a_notional_size_abs_delta_usd.attribute_value AS notional_size_abs_delta_usd,
a_pos_id.attribute_value AS pos_id,
a_trading_fee_delta_usd.attribute_value AS trading_fee_delta_usd
QueryRunArchived: QueryRun has been archived