Labels are many to many with contracts
Opened this issue · 0 comments
Flipsidecrypto labels are of 10 types like dex
, cex
etc and subtypes like hot_wallet
, deposit_wallet
or swap_contract
, token_contract
.
Dune's labels are also two level but different: a project aave
and a contract AAVEToken
; together with a known abi they make a table like aave.AAVEToken_evt_Transfer
.
MyEtherWallet and other crowd sources mark tokens, their labels are thus one level like AAVEToken
or USDC
but can be made into two level labels by adding the token's standard like erc20.AAVEToken
.
It is likely that the same contract is labeled in many sources:
- FlipsideCrypto contract:
dex.token_contract
, its events are in a table:dex.token_contract_evt_Transfer
- Dune contract:
aave.AAVEToken
, table:aave.AAVEToken_evt_Transfer
- MyEtherWallet contract:
erc20.AAVEToken
, table:erc20.AAVEToken_evt_Transfer
Labels should have a many to many relationship with contracts.
Propose changes to the metadata schema:
category (or label, or project in aave terms or application)
- id primary key
- name (like dex in flipside, aave in dune, erc20, erc721)
- source (like flipside, aave, blockchain_etl, myetherwallet etc.)
- description (like Decentralized Exchange)
label (or name, or address name, or subtype in flipside terms or contract name in dune)
- id primary key
- name (like swap_contract in flipside, AAVEToken in dune or USDC)
- category_id references category
- description (like The contract used by the dex to facilitate token exchanges or jsonb with full token data like in MyEtherWallet)
contract
- address primary key
contract_label
- contract_address references contract
- label_id references label
Open questions:
- should source be the at the top level? Like dune->aave->AAVEToken and flipside->dex->token_contract ? Or keep the top level all in one bag?