Application to export specific on-chain activities for wallets participating in Archway's Drop Camp. The initial list of participating addresses is fetch from the Soulbound NFT token that validates social activity. From, there the application will export multiple CSV files with the raw data for each of the other activity groups.
- Bridged assets: exports all assets currently available on the wallet, with one address / balance per line.
- Stake: current
ARCH
delegations per address. - ArchID: total domains registered on the CW721 contract, with one address per line.
- Astrovault: exports the LPs positions using Astrovault's proprietary API.
- Liquid Finance: exports the
sARCH
balance per address from the CW20 contract.
Clone the repository
git clone https://github.com/archway-network/dropcamp-exporter
cd dropcamp-exporter
Run it using cargo
$ cargo run -- --help
Usage: dropcamp-exporter [OPTIONS] --soulbound-address <SOULBOUND_ADDRESS> --archid-address <ARCHID_ADDRESS> --liquid-finance-address <LIQUID_FINANCE_ADDRESS> --astrovault-url <ASTROVAULT_URL> --output <OUTPUT>
Options:
--rpc-url <RPC_URL>
Url for the RPC endpoint [default: https://rpc.mainnet.archway.io:443]
--rpc-req-second <RPC_REQ_SECOND>
Limits the number of requests per second to the RPC endpoint
--height <HEIGHT>
Runs the operation on a specific block height. Otherwise, it will query the chain to get the latest block height
--soulbound-address <SOULBOUND_ADDRESS>
Address for the soulbound token cw721 smart contract
--archid-address <ARCHID_ADDRESS>
Address for the ArchID registry smart contract
--liquid-finance-address <LIQUID_FINANCE_ADDRESS>
Address for the Liquid Finance cw20 smart contract
--astrovault-url <ASTROVAULT_URL>
Url for the Astrovault liquidity pools API
--astrovault-req-second <ASTROVAULT_REQ_SECOND>
Limits the number of requests per second to the Astrovault API
--astrovault-api-key <ASTROVAULT_API_KEY>
API key for the Astrovault API
-o, --output <OUTPUT>
Directory path to output the CSV files
--log-level <LEVEL>
Sets the log level [default: info]
-h, --help
Print help
-V, --version
Print version
cargo run -- -o ./data \
--rpc-req-second 250 \
--soulbound-address archway1cwypf946sdmhgcaz2tjrqmvnf9rnq8rmy9sfce22d6z84fdwddysx74xh6 \
--archid-address archway1cf5rq0amcl5m2flqrtl4gw2mdl3zdec9vlp5hfa9hgxlwnmrlazsdycu4l \
--liquid-finance-address archway1t2llqsvwwunf98v692nqd5juudcmmlu3zk55utx7xtfvznel030saclvq6 \
--astrovault-url ${AV_URL} \
--astrovault-api-key ${AV_API_KEY} \
--astrovault-req-second 10
All CSV files will be exported to the folder specified in the --output
flag:
📁 output
├── 📄 archid.csv
├── 📄 astrovault.csv
├── 📄 ibc.csv
├── 📄 liquid-finance.csv
├── 📄 socials.csv
└── 📄 staking.csv
address
(string
): wallet addressranking
(float
): ranking percentage for this activitydomains
(integer
): total number of domainsnames
(string
): list of domain names separated by,
address
(string
): wallet addressranking
(float
): ranking percentage for this activityhas_lpd
(bool
): flag if address has provided liquidityhas_traded
(bool
): flag if address has tradedtvl
(float
): total value locked
address
(string
): wallet addressranking
(float
): ranking percentage for this activityusd
(float
): total token balance in USDbalances
(string
): list of balances in the wallet separated by,
address
(string
): wallet addressranking
(float
): ranking percentage for this activitybalance
(float
): totalsARCH
balance rounded to 2 decimals
address
(string
): wallet addressranking
(float
): ranking percentage for this activitypatch_name
(string
): name of the drop camp patch associated with the scoresocial_score
(integer
): score based on user activity in socials
address
(string
): wallet addressranking
(float
): ranking percentage for this activitydelegated
(float
): delegated amount rounded to 2 decimalsvalidators
(string
): validator addresses separated by,