diff --git a/Makefile b/Makefile index 2429b5db..d4cb4492 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,9 @@ extract: docker compose run extractors python main.py configs/arbitrum_mainnet.yaml docker compose run extractors python main.py configs/arbitrum_sepolia.yaml +synths: + docker compose run transformer python scripts/get_synths.py + wrap: docker compose run transformer python scripts/wrap_tables.py diff --git a/docker-compose.yml b/docker-compose.yml index 1c6c3fd4..55256244 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -170,6 +170,8 @@ services: context: ./transformers depends_on: - db + env_file: + - .env environment: PG_PASSWORD: $PG_PASSWORD volumes: diff --git a/transformers/requirements.txt b/transformers/requirements.txt index 0f44ee95..9fda24fe 100644 --- a/transformers/requirements.txt +++ b/transformers/requirements.txt @@ -3,3 +3,4 @@ pyarrow psycopg2-binary dbt-postgres sqlfluff +synthetix==0.1.21 \ No newline at end of file diff --git a/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_balances_arbitrum_mainnet.sql b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_balances_arbitrum_mainnet.sql new file mode 100644 index 00000000..3386949c --- /dev/null +++ b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_balances_arbitrum_mainnet.sql @@ -0,0 +1,129 @@ +with synths as ( + select + synth_market_id as collateral_id, + synth_token_address + from + {{ ref('spot_synth_registered_arbitrum_mainnet') }} +), + +transfers as ( + select + cm.block_number, + cm.block_timestamp as ts, + cm.transaction_hash, + cm.collateral_id, + synths.synth_token_address, + CAST(cm.account_id as text) as account_id, + {{ convert_wei('cm.amount_delta') }} as amount_delta + from + {{ ref('perp_collateral_modified_arbitrum_mainnet') }} as cm + inner join synths + on cm.collateral_id = synths.collateral_id +), + +liq_tx as ( + select distinct + transaction_hash, + CAST(account_id as text) as account_id + from + {{ ref('perp_account_liquidation_attempt_arbitrum_mainnet') }} +), + +distributors as ( + select + CAST(rd.distributor_address as text) as distributor_address, + CAST(rd.token_symbol as text) as token_symbol, + rd.synth_token_address, + synths.collateral_id + from + {{ ref('arbitrum_mainnet_reward_distributors') }} as rd + inner join synths + on rd.synth_token_address = synths.synth_token_address +), + +liquidations as ( + select + rd.block_number, + rd.block_timestamp as ts, + -rd.amount / 1e18 as amount_delta, + liq_tx.transaction_hash, + rd.collateral_type, + distributors.token_symbol, + distributors.synth_token_address, + CAST(liq_tx.account_id as text) as account_id, + distributors.collateral_id + from + {{ ref('core_rewards_distributed_arbitrum_mainnet') }} as rd + inner join liq_tx + on rd.transaction_hash = liq_tx.transaction_hash + inner join distributors + on rd.distributor = distributors.distributor_address +), + +net_transfers as ( + select + events.ts, + events.transaction_hash, + events.event_type, + events.collateral_id, + events.synth_token_address, + synths.synth_symbol, + events.account_id, + prices.price, + events.amount_delta, + SUM(events.amount_delta) over ( + partition by events.account_id, events.collateral_id + order by events.ts + ) as account_balance, + SUM(events.amount_delta) over ( + partition by events.collateral_id + order by events.ts + ) as total_balance + from ( + select + transfers.ts, + transfers.transaction_hash, + transfers.collateral_id, + transfers.synth_token_address, + transfers.account_id, + transfers.amount_delta, + 'transfer' as event_type + from + transfers + union all + select + liquidations.ts, + liquidations.transaction_hash, + liquidations.collateral_id, + liquidations.synth_token_address, + liquidations.account_id, + liquidations.amount_delta, + 'liquidation' as event_type + from + liquidations + ) as events + inner join {{ ref('arbitrum_mainnet_synths') }} as synths + on events.collateral_id = synths.synth_market_id + left join {{ ref('fct_prices_hourly_arbitrum_mainnet') }} as prices + on + synths.token_symbol = prices.market_symbol + and DATE_TRUNC('hour', events.ts) = prices.ts +) + +select + net_transfers.ts, + net_transfers.transaction_hash, + net_transfers.event_type, + net_transfers.collateral_id, + net_transfers.synth_token_address, + net_transfers.synth_symbol, + net_transfers.account_id, + net_transfers.price, + net_transfers.amount_delta, + net_transfers.amount_delta * net_transfers.price as amount_delta_usd, + net_transfers.account_balance, + net_transfers.account_balance * net_transfers.price as account_balance_usd, + net_transfers.total_balance, + net_transfers.total_balance * net_transfers.price as total_balance_usd +from + net_transfers diff --git a/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_modified_arbitrum_mainnet.sql b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_modified_arbitrum_mainnet.sql index 53f594a5..686154ca 100644 --- a/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_modified_arbitrum_mainnet.sql +++ b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/fct_perp_collateral_modified_arbitrum_mainnet.sql @@ -1,13 +1,18 @@ select - id, - block_timestamp, - account_id, - block_number, - transaction_hash, - contract, - event_name, - collateral_id as synth_market_id, - sender, - {{ convert_wei("amount_delta") }} as amount_delta + cm.id, + cm.block_timestamp, + cm.account_id, + cm.block_number, + cm.transaction_hash, + cm.contract, + cm.event_name, + synths.synth_symbol, + cm.collateral_id as synth_market_id, + synths.synth_token_address, + cm.sender, + {{ convert_wei("cm.amount_delta") }} as amount_delta from {{ ref("perp_collateral_modified_arbitrum_mainnet") }} + as cm +inner join {{ ref('arbitrum_mainnet_synths') }} as synths + on cm.collateral_id = synths.synth_market_id diff --git a/transformers/synthetix/models/marts/arbitrum/mainnet/perp/schema.yml b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/schema.yml index 634c382f..da65de85 100644 --- a/transformers/synthetix/models/marts/arbitrum/mainnet/perp/schema.yml +++ b/transformers/synthetix/models/marts/arbitrum/mainnet/perp/schema.yml @@ -662,3 +662,71 @@ models: data_type: text tests: - not_null + - name: fct_perp_collateral_balances_arbitrum_mainnet + columns: + - name: ts + description: "Block timestamp" + data_type: timestamp with time zone + tests: + - not_null + - name: transaction_hash + description: "Transaction hash" + data_type: text + tests: + - not_null + - name: collateral_id + description: "Market ID of the collateral, from the spot market" + data_type: integer + tests: + - not_null + - name: synth_token_address + description: "Address of the synth token" + data_type: text + tests: + - not_null + - name: synth_symbol + description: "Symbol of the synth token" + data_type: text + tests: + - not_null + - name: event_type + description: "Description of the event, e.g. 'transfer' or 'liquidation'" + data_type: text + tests: + - not_null + - name: amount_delta + description: "Amount of the collateral token that was transferred" + data_type: numeric + tests: + - not_null + - name: account_balance + description: "Balance of the collateral token in the account after the transfer" + data_type: numeric + tests: + - not_null + - dbt_utils.accepted_range: + min_value: 0 + inclusive: true + - name: total_balance + description: "Total balance of the collateral token in the perps system after the transfer" + data_type: numeric + tests: + - not_null + - dbt_utils.accepted_range: + min_value: 0 + inclusive: true + - name: amount_delta_usd + description: "USD value of the collateral token that was transferred" + data_type: numeric + tests: + - not_null + - name: account_balance_usd + description: "USD value of the collateral token in the account after the transfer" + data_type: numeric + tests: + - not_null + - name: total_balance_usd + description: "Total USD value of the collateral token in the perps system after the transfer" + data_type: numeric + tests: + - not_null diff --git a/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_balances_arbitrum_sepolia.sql b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_balances_arbitrum_sepolia.sql new file mode 100644 index 00000000..2cfca30c --- /dev/null +++ b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_balances_arbitrum_sepolia.sql @@ -0,0 +1,129 @@ +with synths as ( + select + synth_market_id as collateral_id, + synth_token_address + from + {{ ref('spot_synth_registered_arbitrum_sepolia') }} +), + +transfers as ( + select + cm.block_number, + cm.block_timestamp as ts, + cm.transaction_hash, + cm.collateral_id, + synths.synth_token_address, + CAST(cm.account_id as text) as account_id, + {{ convert_wei('cm.amount_delta') }} as amount_delta + from + {{ ref('perp_collateral_modified_arbitrum_sepolia') }} as cm + inner join synths + on cm.collateral_id = synths.collateral_id +), + +liq_tx as ( + select distinct + transaction_hash, + CAST(account_id as text) as account_id + from + {{ ref('perp_account_liquidation_attempt_arbitrum_sepolia') }} +), + +distributors as ( + select + CAST(rd.distributor_address as text) as distributor_address, + CAST(rd.token_symbol as text) as token_symbol, + rd.synth_token_address, + synths.collateral_id + from + {{ ref('arbitrum_sepolia_reward_distributors') }} as rd + inner join synths + on rd.synth_token_address = synths.synth_token_address +), + +liquidations as ( + select + rd.block_number, + rd.block_timestamp as ts, + -rd.amount / 1e18 as amount_delta, + liq_tx.transaction_hash, + rd.collateral_type, + distributors.token_symbol, + distributors.synth_token_address, + CAST(liq_tx.account_id as text) as account_id, + distributors.collateral_id + from + {{ ref('core_rewards_distributed_arbitrum_sepolia') }} as rd + inner join liq_tx + on rd.transaction_hash = liq_tx.transaction_hash + inner join distributors + on rd.distributor = distributors.distributor_address +), + +net_transfers as ( + select + events.ts, + events.transaction_hash, + events.event_type, + events.collateral_id, + events.synth_token_address, + synths.synth_symbol, + events.account_id, + prices.price, + events.amount_delta, + SUM(events.amount_delta) over ( + partition by events.account_id, events.collateral_id + order by events.ts + ) as account_balance, + SUM(events.amount_delta) over ( + partition by events.collateral_id + order by events.ts + ) as total_balance + from ( + select + transfers.ts, + transfers.transaction_hash, + transfers.collateral_id, + transfers.synth_token_address, + transfers.account_id, + transfers.amount_delta, + 'transfer' as event_type + from + transfers + union all + select + liquidations.ts, + liquidations.transaction_hash, + liquidations.collateral_id, + liquidations.synth_token_address, + liquidations.account_id, + liquidations.amount_delta, + 'liquidation' as event_type + from + liquidations + ) as events + inner join {{ ref('arbitrum_sepolia_synths') }} as synths + on events.collateral_id = synths.synth_market_id + left join {{ ref('fct_prices_hourly_arbitrum_sepolia') }} as prices + on + synths.token_symbol = prices.market_symbol + and DATE_TRUNC('hour', events.ts) = prices.ts +) + +select + net_transfers.ts, + net_transfers.transaction_hash, + net_transfers.event_type, + net_transfers.collateral_id, + net_transfers.synth_token_address, + net_transfers.synth_symbol, + net_transfers.account_id, + net_transfers.price, + net_transfers.amount_delta, + net_transfers.amount_delta * net_transfers.price as amount_delta_usd, + net_transfers.account_balance, + net_transfers.account_balance * net_transfers.price as account_balance_usd, + net_transfers.total_balance, + net_transfers.total_balance * net_transfers.price as total_balance_usd +from + net_transfers diff --git a/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_modified_arbitrum_sepolia.sql b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_modified_arbitrum_sepolia.sql index 7aa2b683..997db7a0 100644 --- a/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_modified_arbitrum_sepolia.sql +++ b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/fct_perp_collateral_modified_arbitrum_sepolia.sql @@ -1,13 +1,18 @@ select - id, - block_timestamp, - account_id, - block_number, - transaction_hash, - contract, - event_name, - collateral_id as synth_market_id, - sender, - {{ convert_wei("amount_delta") }} as amount_delta + cm.id, + cm.block_timestamp, + cm.account_id, + cm.block_number, + cm.transaction_hash, + cm.contract, + cm.event_name, + synths.synth_symbol, + cm.collateral_id as synth_market_id, + synths.synth_token_address, + cm.sender, + {{ convert_wei("cm.amount_delta") }} as amount_delta from {{ ref("perp_collateral_modified_arbitrum_sepolia") }} + as cm +inner join {{ ref('arbitrum_sepolia_synths') }} as synths + on cm.collateral_id = synths.synth_market_id diff --git a/transformers/synthetix/models/marts/arbitrum/sepolia/perp/schema.yml b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/schema.yml index 1b624a35..3b2e83ee 100644 --- a/transformers/synthetix/models/marts/arbitrum/sepolia/perp/schema.yml +++ b/transformers/synthetix/models/marts/arbitrum/sepolia/perp/schema.yml @@ -662,3 +662,71 @@ models: data_type: text tests: - not_null + - name: fct_perp_collateral_balances_arbitrum_sepolia + columns: + - name: ts + description: "Block timestamp" + data_type: timestamp with time zone + tests: + - not_null + - name: transaction_hash + description: "Transaction hash" + data_type: text + tests: + - not_null + - name: collateral_id + description: "Market ID of the collateral, from the spot market" + data_type: integer + tests: + - not_null + - name: synth_token_address + description: "Address of the synth token" + data_type: text + tests: + - not_null + - name: synth_symbol + description: "Symbol of the synth token" + data_type: text + tests: + - not_null + - name: event_type + description: "Description of the event, e.g. 'transfer' or 'liquidation'" + data_type: text + tests: + - not_null + - name: amount_delta + description: "Amount of the collateral token that was transferred" + data_type: numeric + tests: + - not_null + - name: account_balance + description: "Balance of the collateral token in the account after the transfer" + data_type: numeric + tests: + - not_null + - dbt_utils.accepted_range: + min_value: 0 + inclusive: true + - name: total_balance + description: "Total balance of the collateral token in the perps system after the transfer" + data_type: numeric + tests: + - not_null + - dbt_utils.accepted_range: + min_value: 0 + inclusive: true + - name: amount_delta_usd + description: "USD value of the collateral token that was transferred" + data_type: numeric + tests: + - not_null + - name: account_balance_usd + description: "USD value of the collateral token in the account after the transfer" + data_type: numeric + tests: + - not_null + - name: total_balance_usd + description: "Total USD value of the collateral token in the perps system after the transfer" + data_type: numeric + tests: + - not_null diff --git a/transformers/synthetix/models/marts/base/mainnet/perp/fct_perp_collateral_modified_base_mainnet.sql b/transformers/synthetix/models/marts/base/mainnet/perp/fct_perp_collateral_modified_base_mainnet.sql index 056b4c9a..05ac42e1 100644 --- a/transformers/synthetix/models/marts/base/mainnet/perp/fct_perp_collateral_modified_base_mainnet.sql +++ b/transformers/synthetix/models/marts/base/mainnet/perp/fct_perp_collateral_modified_base_mainnet.sql @@ -1,13 +1,18 @@ select - id, - block_timestamp, - account_id, - block_number, - transaction_hash, - contract, - event_name, - synth_market_id, - sender, - {{ convert_wei("amount_delta") }} as amount_delta + cm.id, + cm.block_timestamp, + cm.account_id, + cm.block_number, + cm.transaction_hash, + cm.contract, + cm.event_name, + synths.synth_symbol, + cm.collateral_id as synth_market_id, + synths.synth_token_address, + cm.sender, + {{ convert_wei("cm.amount_delta") }} as amount_delta from {{ ref("perp_collateral_modified_base_mainnet") }} + as cm +inner join {{ ref('base_mainnet_synths') }} as synths + on cm.collateral_id = synths.synth_market_id diff --git a/transformers/synthetix/models/marts/base/sepolia/perp/fct_perp_collateral_modified_base_sepolia.sql b/transformers/synthetix/models/marts/base/sepolia/perp/fct_perp_collateral_modified_base_sepolia.sql index 807167d1..629183e8 100644 --- a/transformers/synthetix/models/marts/base/sepolia/perp/fct_perp_collateral_modified_base_sepolia.sql +++ b/transformers/synthetix/models/marts/base/sepolia/perp/fct_perp_collateral_modified_base_sepolia.sql @@ -1,13 +1,18 @@ select - id, - block_timestamp, - account_id, - block_number, - transaction_hash, - contract, - event_name, - synth_market_id, - sender, - {{ convert_wei("amount_delta") }} as amount_delta + cm.id, + cm.block_timestamp, + cm.account_id, + cm.block_number, + cm.transaction_hash, + cm.contract, + cm.event_name, + synths.synth_symbol, + cm.collateral_id as synth_market_id, + synths.synth_token_address, + cm.sender, + {{ convert_wei("cm.amount_delta") }} as amount_delta from {{ ref("perp_collateral_modified_base_sepolia") }} + as cm +inner join {{ ref('base_sepolia_synths') }} as synths + on cm.collateral_id = synths.synth_market_id diff --git a/transformers/synthetix/scripts/get_synths.py b/transformers/synthetix/scripts/get_synths.py new file mode 100644 index 00000000..fa0b941e --- /dev/null +++ b/transformers/synthetix/scripts/get_synths.py @@ -0,0 +1,46 @@ +import os +import pandas as pd +from synthetix import Synthetix + +NETWORK_IDS = { + 1: "eth_mainnet", + # 11155111: "eth_sepolia", + 8453: "base_mainnet", + 84532: "base_sepolia", + 42161: "arbitrum_mainnet", + 421614: "arbitrum_sepolia", +} + + +def get_synths(network_id): + network_name = NETWORK_IDS[network_id] + + # start the sdk + snx = Synthetix(provider_rpc=os.getenv(f"NETWORK_{network_id}_RPC")) + + # get the synths + synths = [] + for idx in snx.spot.markets_by_id: + market = snx.spot.markets_by_id[idx] + contract = market["contract"] + + synth_name = contract.functions.name().call() + token_symbol = market["symbol"] if idx != 0 else "sUSD" + synths.append( + { + "synth_market_id": idx, + "synth_token_address": contract.address, + "synth_name": synth_name, + "synth_symbol": market["market_name"], + "token_symbol": token_symbol, + } + ) + + # write it out + df_synths = pd.DataFrame(synths) + df_synths.to_csv(f"./seeds/synths/{network_name}_synths.csv", index=False) + + +if __name__ == "__main__": + for network_id in NETWORK_IDS: + get_synths(network_id) diff --git a/transformers/synthetix/seeds/reward_distributors/arbitrum_mainnet_reward_distributors.csv b/transformers/synthetix/seeds/reward_distributors/arbitrum_mainnet_reward_distributors.csv index 0c337580..aaffcdbb 100644 --- a/transformers/synthetix/seeds/reward_distributors/arbitrum_mainnet_reward_distributors.csv +++ b/transformers/synthetix/seeds/reward_distributors/arbitrum_mainnet_reward_distributors.csv @@ -1,9 +1,9 @@ -distributor_address,token_symbol -0x9Ac841f5716FDe2AbD5e966695B8BBCC29d7CeE5,ARB -0x8B6D6416017de3d1dCac4158Fe8a401C6B951fA8,ARB -0x806b9D4b0a56b6D1d9CaCb60AEe95E8d885BD55A,ARB -0x5eff594E10aCb20919a577794C4e9B4bb1221F17,ARB -0x28B69C6a5DDd5e370114B164E7A9CaBf051B6B87,BTC -0xD237F237356e456214Ad5b57e0A962d632F1F3C5,WETH -0xB363932c7C56f2B6b684abbD63cc4515f015416a,SOL -0x8CB5d51099933E04BAa1a32dE3AdED3DaC35f13B,USDe \ No newline at end of file +distributor_address,token_symbol,synth_token_address +0x9Ac841f5716FDe2AbD5e966695B8BBCC29d7CeE5,ARB, +0x8B6D6416017de3d1dCac4158Fe8a401C6B951fA8,ARB, +0x806b9D4b0a56b6D1d9CaCb60AEe95E8d885BD55A,ARB, +0x5eff594E10aCb20919a577794C4e9B4bb1221F17,ARB, +0x28B69C6a5DDd5e370114B164E7A9CaBf051B6B87,BTC,0xFA86aB03412Ab63Fea238d43D1E839c4F7A80232 +0xD237F237356e456214Ad5b57e0A962d632F1F3C5,WETH,0x3Ec3FedA50b718b5A9ff387F93EeA7841D795B1E +0xB363932c7C56f2B6b684abbD63cc4515f015416a,SOL,0xb74Da9FE2F96B9E0a5f4A3cf0b92dd2bEC617124 +0x8CB5d51099933E04BAa1a32dE3AdED3DaC35f13B,USDe,0xE3eE09c200584228F7C45d50E12BcC3fb65c19Ca \ No newline at end of file diff --git a/transformers/synthetix/seeds/reward_distributors/arbitrum_sepolia_reward_distributors.csv b/transformers/synthetix/seeds/reward_distributors/arbitrum_sepolia_reward_distributors.csv index b09f7b75..2f6f666c 100644 --- a/transformers/synthetix/seeds/reward_distributors/arbitrum_sepolia_reward_distributors.csv +++ b/transformers/synthetix/seeds/reward_distributors/arbitrum_sepolia_reward_distributors.csv @@ -1,8 +1,8 @@ -distributor_address,token_symbol +distributor_address,token_symbol,synth_token_address 0x8Db7E7E3f00c2Fd011Bb715935d33BfA0570cDB6,ARB 0x26c9B83fA781e93Ec4cA5fBAC07AC82135872512,ARB 0x4aFF595044Ac6844151481B031D9A2E291aE37fD,ARB 0x3974935755a50295b727Ab40ae144BE29391d818,ARB 0xc555AfdCa6FbeF64fbE9feD62E27Bd98F8a686D3,ARB -0xb1dCa5430db838C1D43e349AAe8b04Bc54a1416d,BTC -0xeCbCb88bff2f5f24173793cf86DF08f852eD4f2A,WETH +0xb1dCa5430db838C1D43e349AAe8b04Bc54a1416d,BTC,0x726cFb7f07231D8dBfE993c3A8b09D933CaeE78b +0xeCbCb88bff2f5f24173793cf86DF08f852eD4f2A,WETH,0x711d4F22CC39223a7273E45537c9d371E66A8a40 diff --git a/transformers/synthetix/seeds/synths/arbitrum_mainnet_synths.csv b/transformers/synthetix/seeds/synths/arbitrum_mainnet_synths.csv new file mode 100644 index 00000000..77724a7d --- /dev/null +++ b/transformers/synthetix/seeds/synths/arbitrum_mainnet_synths.csv @@ -0,0 +1,7 @@ +synth_market_id,synth_token_address,synth_name,synth_symbol,token_symbol +0,0xb2F30A7C980f052f02563fb518dcc39e6bf38175,Synthetix USD,sUSD,sUSD +2,0xE81Be4495f138FAE5846d21AC2cA822BEf452365,Synthetic USD Coin,sUSDC,USDC +3,0xFA86aB03412Ab63Fea238d43D1E839c4F7A80232,Synthetic Bitcoin,stBTC,BTC +4,0x3Ec3FedA50b718b5A9ff387F93EeA7841D795B1E,Synthetic Ether,sETH,ETH +5,0xE3eE09c200584228F7C45d50E12BcC3fb65c19Ca,Synthetic USDe,sUSDe,USDe +6,0x7301a8DBd293b85A06726aE12E433a829ba3B871,Synthetic Wormhole SOL,swSOL,SOL diff --git a/transformers/synthetix/seeds/synths/arbitrum_sepolia_synths.csv b/transformers/synthetix/seeds/synths/arbitrum_sepolia_synths.csv new file mode 100644 index 00000000..6b0a3891 --- /dev/null +++ b/transformers/synthetix/seeds/synths/arbitrum_sepolia_synths.csv @@ -0,0 +1,8 @@ +synth_market_id,synth_token_address,synth_name,synth_symbol,token_symbol +0,0xe487Ad4291019b33e2230F8E2FB1fb6490325260,Synthetix USD,sUSD,sUSD +1,0x88DCcaae7872377f80c59cf3c04865741fDbaffF,Synthetic DAI,sDAI,DAI +2,0xB3A0E9e0699b82b1F33A03fFf38e72513c2Dc933,Synthetic USD Coin,sUSDC,USDC +4,0x726cFb7f07231D8dBfE993c3A8b09D933CaeE78b,Synthetic Bitcoin,sBTC,BTC +5,0x711d4F22CC39223a7273E45537c9d371E66A8a40,Synthetic Ether,sETH,ETH +7,0xD58A253022fE19693abC61e041C88F32b51C7Cbf,Synthetic USDe,sUSDe,USDe +8,0xDE0a47cf02bd6c4cf5Dc30A059656c26A10D01B8,Synthetic SOL,sSOL,SOL diff --git a/transformers/synthetix/seeds/synths/base_mainnet_synths.csv b/transformers/synthetix/seeds/synths/base_mainnet_synths.csv new file mode 100644 index 00000000..3e72add4 --- /dev/null +++ b/transformers/synthetix/seeds/synths/base_mainnet_synths.csv @@ -0,0 +1,4 @@ +synth_market_id,synth_token_address,synth_name,synth_symbol,token_symbol +0,0x09d51516F38980035153a554c26Df3C6f51a23C3,Synthetic USD Token v3,sUSD,sUSD +1,0xC74eA762cF06c9151cE074E6a569a5945b6302E7,Synthetic USD Coin,sUSDC,USDC +3,0x729Ef31D86d31440ecBF49f27F7cD7c16c6616d2,Synthetic Static aUSDC,sStataUSDC,StataUSDC diff --git a/transformers/synthetix/seeds/synths/base_sepolia_synths.csv b/transformers/synthetix/seeds/synths/base_sepolia_synths.csv new file mode 100644 index 00000000..da6d9596 --- /dev/null +++ b/transformers/synthetix/seeds/synths/base_sepolia_synths.csv @@ -0,0 +1,8 @@ +synth_market_id,synth_token_address,synth_name,synth_symbol,token_symbol +0,0x682f0d17feDC62b2a0B91f8992243Bf44cAfeaaE,Synthetic USD Token v3,sUSD,sUSD +1,0x8069c44244e72443722cfb22DcE5492cba239d39,Synthetic USD Coin,sUSDC,USDC +4,0xB94c6E4f5162717c6fAb1Eeab8f0296307F91528,Synthetic Static aUSDC,sStataUSDC,StataUSDC +7,0x410EecB4b4CF7175352a472572492C1c9997a5e8,Synthetic Coinbase Wrapped BTC,scbBTC,cbBTC +8,0x1c6dfe3205334Fece6a9169c88bF698Ed4370107,Synthetic Coinbase Wrapped Staked ETH,scbETH,cbETH +9,0x86B35F1b900B15C98049f68f4248815518e71985,Synthetic Wrapped ETH,sWETH,WETH +10,0x5dc2592d23f72833c559ACB35c7122995EA80486,Synthetic Lido Wrapped Staked ETH,swstETH,wstETH diff --git a/transformers/synthetix/seeds/synths/eth_mainnet_synths.csv b/transformers/synthetix/seeds/synths/eth_mainnet_synths.csv new file mode 100644 index 00000000..a5e47db0 --- /dev/null +++ b/transformers/synthetix/seeds/synths/eth_mainnet_synths.csv @@ -0,0 +1,3 @@ +synth_market_id,synth_token_address,synth_name,synth_symbol,token_symbol +0,0xb2F30A7C980f052f02563fb518dcc39e6bf38175,Synthetic USD Token v3,sUSD,sUSD +2,0x3f3eD1002F55121b8213182f09d4BE544E08B9F9,Synthetic Ethena USD,snxUSDe,nxUSDe