Skip to content

Commit

Permalink
Merge pull request #46 from OjusWiZard/feat/airdrop
Browse files Browse the repository at this point in the history
Feat (Airdrop): Add index.json
  • Loading branch information
yabirgb authored Feb 12, 2024
2 parents cf76d21 + fc1b272 commit 9602643
Show file tree
Hide file tree
Showing 8 changed files with 434 additions and 1 deletion.
25 changes: 25 additions & 0 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: verify

on: [push, pull_request]

jobs:
verify-files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up python
uses: actions/setup-python@v2
with:
python-version: '3.10.12'
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip setuptools wheel
pip3 install -r requirements.txt
- name: Store python cache
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
- name: Verify changes
run: |
pytest tests
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
env/

/.idea
__pycache__
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
# data

Repo containing various data that can be pulled by the app


## Things to make sure while adding an airdrop
### Airdrops
- It's entry should be added in the `airdrops/index_v1.json` under the `airdrops` field.
- If the token is new and is not expected to exist in the userDB and globalDB then `new_asset_data` should be added in the index.
- It's CSV should be added in `airdrops/` directory, with its raw URI linked in its index entry.
- CSV should have one line header. First column should be `address`, and second column should be the `amount` in the decimal normalised form.
### POAP Airdrops
- It's entry should be added in the `airdrops/index_v1.json` under the `poap_airdrops` field.
- Entry should have three field in the array, first is the JSON URI having addresses and amounts, second is the URL of airdrop, and third is the name.

Note: Ensure that the index is valid using it's schema at `tests/airdrop_index_v1_schema.json`, by running `pytest tests` command.
214 changes: 214 additions & 0 deletions airdrops/index_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
{
"airdrops": {
"uniswap": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/d883cb7187a7c4fcf98c7a62f45568e7/raw/3718c95d572a29b9c3906d7c64726d3bd7524bfd/uniswap.csv",
"asset_identifier": "eip155:1/erc20:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
"url": "https://app.uniswap.org/",
"name": "Uniswap",
"icon": "uniswap.svg"
},
"1inch": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/8f41d1511bf354d7e56810188116a410/raw/87d967e86e1435aa3a9ddb97ce20531e4e52dbad/1inch.csv",
"asset_identifier": "eip155:1/erc20:0x111111111117dC0aa78b770fA6A738034120C302",
"url": "https://1inch.exchange/",
"name": "1inch",
"icon": "1inch.svg"
},
"tornado": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/tornado.csv",
"asset_identifier": "eip155:1/erc20:0x77777FeDdddFfC19Ff86DB637967013e6C6A116C",
"url": "https://tornado.cash/",
"name": "Tornado Cash",
"icon": "tornado.svg"
},
"cornichon": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/5199d8bc6caa3253c343cd5084489088/raw/7e9ca4c4772fc50780bfe9997e1c43525e1b7445/cornichon_airdrop.csv",
"asset_identifier": "eip155:1/erc20:0xa456b515303B2Ce344E9d2601f91270f8c2Fea5E",
"url": "https://cornichon.ape.tax/",
"name": "Cornichon",
"icon": "cornichon.svg"
},
"grain": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/08d7a5b28876741b300c944650c89280/raw/987ab4a92d5363fdbe262f639565732bd1fd3921/grain_iou.csv",
"asset_identifier": "eip155:1/erc20:0x6589fe1271A0F29346796C6bAf0cdF619e25e58e",
"url": "https://claim.harvest.finance/",
"name": "Grain",
"icon": "grain.png"
},
"furucombo": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/69612e155e8063fd6b3422d4efbf22a3/raw/b9023960ab1c478ee2620c456e208e5124115c19/furucombo_airdrop.csv",
"asset_identifier": "eip155:1/erc20:0xfFffFffF2ba8F66D4e51811C5190992176930278",
"url": "https://furucombo.app/",
"name": "Furucombo",
"icon": "furucombo.svg"
},
"lido": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/57a8d65280a482fed6f3e2cc00c0e540/raw/e6ebac56c438cc8a882585c5f5bfba64eb57c424/lido_airdrop.csv",
"asset_identifier": "eip155:1/erc20:0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",
"url": "https://lido.fi/",
"name": "Lido",
"icon": "lido.svg"
},
"curve": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/9a37e5342ddb6219a805a82bcd3d63fe/raw/71e89f0e95ea8ef5503fb1ac569447fea63f1ede/curve_airdrop.csv",
"asset_identifier": "eip155:1/erc20:0xD533a949740bb3306d119CC777fa900bA034cd52",
"url": "https://www.curve.fi/",
"name": "Curve Finance",
"icon": "curve.png"
},
"convex": {
"csv_url": "https://gist.githubusercontent.com/LefterisJP/fd0ebccbc645f7de2b142907bd207363/raw/0613689dd5212b81788ed1a108c751b29b2ce93a/convex_airdrop.csv",
"asset_identifier": "eip155:1/erc20:0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B",
"url": "https://www.convexfinance.com/",
"name": "Convex",
"icon": "convex.jpeg"
},
"shapeshift": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/shapeshift.csv",
"asset_identifier": "eip155:1/erc20:0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d",
"url": "https://shapeshift.com/shapeshift-decentralize-airdrop",
"name": "ShapeShift",
"icon": "shapeshift.svg"
},
"ens": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/ens.csv",
"asset_identifier": "eip155:1/erc20:0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72",
"url": "https://claim.ens.domains/",
"name": "ENS",
"icon": "ens.svg"
},
"psp": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/psp.csv",
"asset_identifier": "eip155:1/erc20:0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5",
"url": "https://paraswap.io/",
"name": "ParaSwap",
"icon": "paraswap.svg"
},
"sdl": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/saddle_finance.csv",
"asset_identifier": "eip155:1/erc20:0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871",
"url": "https://saddle.exchange/#/",
"name": "SaddleFinance",
"icon": "saddle-finance.svg"
},
"cow_mainnet": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/cow_mainnet.csv",
"asset_identifier": "eip155:1/erc20:0xD057B63f5E69CF1B929b356b579Cba08D7688048",
"url": "https://cowswap.exchange/#/claim",
"name": "COW (ethereum)",
"icon": "cow.svg"
},
"cow_gnosis": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/cow_gnosis.csv",
"asset_identifier": "eip155:100/erc20:0xc20C9C13E853fc64d054b73fF21d3636B2d97eaB",
"url": "https://cowswap.exchange/#/claim",
"name": "COW (gnosis chain)",
"icon": "cow.svg"
},
"diva": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/diva.csv",
"asset_identifier": "eip155:1/erc20:0xBFAbdE619ed5C4311811cF422562709710DB587d",
"url": "https://claim.diva.community/",
"name": "DIVA",
"icon": "diva.svg"
},
"shutter": {
"csv_url": "https://raw.githubusercontent.com/rotki/data/main/airdrops/shutter.csv",
"asset_identifier": "eip155:1/erc20:0xe485E2f1bab389C08721B291f6b59780feC83Fd7",
"url": "https://claim.shutter.network/",
"name": "SHU",
"icon": "shutter.png",
"cutoff_time": 1721000000,
"new_asset_data": {
"asset_type": "EVM_TOKEN",
"address": "0xe485E2f1bab389C08721B291f6b59780feC83Fd7",
"name": "Shutter",
"symbol": "SHU",
"chain_id": 1,
"decimals": 18
}
}
},
"poap_airdrops": {
"aave_v2_pioneers": [
"https://gist.githubusercontent.com/LefterisJP/569992ba1536474f97f7c74104e66354/raw/a8c5bfb91c8328f8a9d2b6f853a0a55328458ed7/poap_aave_v2_pioneers.json",
"https://poap.delivery/aave-v2-pioneers",
"AAVE V2 Pioneers"
],
"beacon_chain_first_1024": [
"https://gist.githubusercontent.com/LefterisJP/73469098efe0b12965e5752899be00fe/raw/2ee02c22b68b90333359e2f1d24ff5d460dba092/poap_beacon_chain_first_1024.json",
"https://poap.delivery/beacon-chain-first-1024",
"Beacon Chain First 1024 Depositors and Proposers"
],
"beacon_chain_first_32769": [
"https://gist.githubusercontent.com/LefterisJP/6302f4e6da6c1488427fbb8b6207222e/raw/1e2e6ebc8c29ba75c2189a5780c132da4ed8530c/poap_beacon_chain_first_32769.json",
"https://poap.delivery/beacon-chain-first-32769",
"Beacon Chain First 32,769 Block Validators"
],
"coingecko_yield_farming": [
"https://gist.githubusercontent.com/LefterisJP/58d23332afc6e9fe701ecc80fcc864f6/raw/25ee4153498e9a4c709542d6f541cc9ab76997d8/poap_coingecko_yield_farming.json",
"https://poap.delivery/coin-gecko",
"Coin Gecko Yield Farming"
],
"eth2_genesis": [
"https://gist.githubusercontent.com/LefterisJP/7ce2c343de427c9fe6f54dc9bd6d1a0c/raw/e55baebe6657c11c73b6b808cb269fab31c02da8/poap_eth2_genesis.json",
"https://poap.delivery/eth2-genesis/",
"Beacon Chain Genesis Depositor"
],
"half_rekt": [
"https://gist.githubusercontent.com/LefterisJP/429e9c9b3948499cfe793cea75a3b0d6/raw/a0a09372d5bf01285490108661a7c223c1a7de8d/poap_half_rekt.json",
"https://poap.delivery/half-rekt",
"Half Rekt"
],
"keep_stakers": [
"https://gist.githubusercontent.com/LefterisJP/b794526fb996cb85dfb825ee5f814e4f/raw/69ed0700a9f7432d783148c89872b86f1d0ee3dd/poap_keep_stakers.json",
"https://poap.delivery/keep-stakers",
"KEEP Network Mainnet Stakers"
],
"lumberjackers": [
"https://gist.githubusercontent.com/LefterisJP/802359b6825472ee0081580dbe1a1c82/raw/a456fcd1eb1ddedac1cf4b6dd4bbb2d57371f028/poap_lumberjackers.json",
"https://poap.delivery/lumberjackers",
"False Start Lumberjackers"
],
"medalla": [
"https://gist.githubusercontent.com/LefterisJP/1a293bf46b388f709df84ff98c5c5cc6/raw/196ccb50451d908d71cca4bc43731d6547b2276b/poap_medalla.json",
"https://poap.delivery/medalla",
"Medalla Validator"
],
"muir_glacier": [
"https://gist.githubusercontent.com/LefterisJP/d135745cf9f4f3143555e0f6a8f0d804/raw/d34c93087100168cac0dfd0ab46254b4a82ff0b8/poap_muir_glacier.json",
"https://poap.delivery/muir-glacier",
"Muir Glacier"
],
"proof_of_gucci": [
"https://gist.githubusercontent.com/LefterisJP/43b2c4bb73923d7bb3eaf3b329f7f7a1/raw/e5adb753a3a86f0a50bf93137e2c4adc61548293/poap_proof_of_gucci.json",
"https://poap.delivery/proof-of-gucci",
"YFI - Proof of Gucci"
],
"proof_of_gucci_design_competition": [
"https://gist.githubusercontent.com/LefterisJP/40c6b2a94d4b8d7f442522b099e5e258/raw/a0851ce92ca2f668e17a97c9df982bc3e12f9bb3/poap_proof_of_gucci_design_competition.json",
"https://poap.delivery/proof-of-gucci-design",
"YFI - Proof of Gucci Design Competition"
],
"resuscitators": [
"https://gist.githubusercontent.com/LefterisJP/0ac0216f82f16453b74a40529384a152/raw/f003083090efd834bcee1d0d1fe4e218380aa0cf/poap_resucitators.json",
"https://poap.delivery/medalla-resuscitator",
"Medalla Resuscitators"
],
"yam": [
"https://gist.githubusercontent.com/LefterisJP/d676e1f3db8df96928c2501c6be434ac/raw/fa0a603117f6e3e807a49491924aaaa2bc89179a/poap_yam.json",
"https://poap.delivery/yam",
"Yam Heroes"
],
"ycover": [
"https://gist.githubusercontent.com/LefterisJP/727c05f3a9cab79059258528595c102e/raw/59ff367bd532f632ce94e69900709155a55de82a/poap_ycover.json",
"https://poap.delivery/ycover",
"A New Face For yCover"
],
"yfi_og": [
"https://gist.githubusercontent.com/LefterisJP/58862ec2b398c770d60c24e50e18e50c/raw/3292995f530baedcdacde02526c6b2bd1de0e110/poap_yfi_og.json",
"https://poap.delivery/yfi-og",
"I Played 4 YFI"
]
}
}
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
eth-utils==2.0.0
pysha3==1.0.2
pysha3==1.0.2
pytest==7.4.4
Empty file added tests/__init__.py
Empty file.
Loading

0 comments on commit 9602643

Please sign in to comment.