Skip to content

Commit a4ac520

Browse files
committed
refactor: shorter name for resolvers
chore: more comments chore: remove unneeded fields in tsconfig
1 parent 738a0d4 commit a4ac520

File tree

10 files changed

+102
-102
lines changed

10 files changed

+102
-102
lines changed

TODOs.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Priority 1
2+
3+
- [ ] Add instructions in the README
4+
- [ ] Consider what to do with `admin` and `fee`
5+
- [ ] Refactor `data` broadcasts to get rid of `mainnets` and `testnets` dichotomy
6+
7+
# Priority 2
8+
9+
- [ ] Test to ensure that all indexed contracts have a deployment block
10+
- [ ] Check why Sophon tests don't work
11+
- [ ] Add just script for printing available chain names
12+
- [ ] Add `@unimplemented` tag for `compilerSettings`

justfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ full-check: biome-check prettier-check tsc-check
2828
full-write: biome-write prettier-write
2929

3030
# Install dependencies
31-
install *ARGS:
32-
bun install {{ ARGS }}
31+
install *args:
32+
bun install {{ args }}
3333

3434
# Check markdown and yaml files with Prettier
3535
prettier-check:

src/chains/config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ export const config = {
1111
[viem.zksyncSepoliaTestnet.id]: "zksync-sepolia",
1212
} as ConfigString,
1313
ui: {
14+
// By default, testnets are not supported by the UI.
1415
supportedTestnets: {
1516
[viem.baseSepolia.id]: true,
1617
[viem.sepolia.id]: true,
1718
} as ConfigBool,
19+
// By default, mainnets are supported by the UI.
1820
unsupportedMainnets: {
1921
[viem.meld.id]: true,
2022
[viem.ronin.id]: true,
2123
[viem.taiko.id]: true,
2224
} as ConfigBool,
2325
},
26+
// These chains have the artifacts under the `artifacts-zk` directory
2427
zk: {
2528
[viem.abstract.id]: true,
2629
[viem.sophon.id]: true,

src/chains/mainnets.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ export const unichain = fill("unichain", viem.unichain);
3333
export const xdc = fill("xdc", viem.xdc);
3434
export const zksync = fill("zksync", viem.zksync);
3535

36+
/* -------------------------------------------------------------------------- */
37+
/* CUSTOM CHAINS */
38+
/* -------------------------------------------------------------------------- */
39+
3640
export const tangle: Sablier.Chain = fill(
3741
"tangle",
3842
defineChain({

src/indexers/airdrops/graph.ts

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,56 +4,48 @@ import type { Sablier } from "@src/types";
44
import type { TheGraphCustomChainId } from "../config";
55
import { resolveCustomSubgraph, resolveOfficialSubgraph } from "../helpers";
66

7-
function resolveCustom(chainId: TheGraphCustomChainId, name: string): Sablier.Indexer.TheGraph {
7+
function custom(chainId: TheGraphCustomChainId, name: string): Sablier.Indexer.TheGraph {
88
return resolveCustomSubgraph(Protocol.Airdrops, chainId, name);
99
}
1010

11-
function resolveOfficial(chainId: number, name: string, id: string): Sablier.Indexer.TheGraph {
11+
function official(chainId: number, name: string, id: string): Sablier.Indexer.TheGraph {
1212
return resolveOfficialSubgraph(Protocol.Airdrops, chainId, name, id);
1313
}
1414

1515
const graph = [
1616
/* -------------------------------------------------------------------------- */
1717
/* MAINNETS */
1818
/* -------------------------------------------------------------------------- */
19-
resolveOfficial(chains.ethereum.id, "sablier-airdrops-ethereum", "DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs"),
20-
resolveOfficial(chains.abstract.id, "sablier-airdrops-abstract", "DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx"),
21-
resolveOfficial(chains.arbitrum.id, "sablier-airdrops-arbitrum", "HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr"),
22-
resolveOfficial(chains.avalanche.id, "sablier-airdrops-avalanche", "CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA"),
23-
resolveOfficial(chains.base.id, "sablier-airdrops-base", "4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe"),
24-
resolveOfficial(chains.berachain.id, "sablier-airdrops-berachain", "CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE"),
25-
resolveOfficial(chains.blast.id, "sablier-airdrops-blast", "657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK"),
26-
resolveOfficial(chains.bsc.id, "sablier-airdrops-bsc", "FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL"),
27-
resolveOfficial(chains.chiliz.id, "sablier-airdrops-chiliz", "6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU"),
28-
resolveOfficial(chains.gnosis.id, "sablier-airdrops-gnosis", "kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn"),
29-
resolveOfficial(chains.iotex.id, "sablier-airdrops-iotex", "G39uCzr1FDY7pBFe8DwShAxhMeC6dbZetutVg6wjtks3"),
30-
resolveCustom(chains.lightlink.id, "sablier-airdrops-lightlink"),
31-
resolveOfficial(chains.linea.id, "sablier-airdrops-linea", "6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN"),
32-
resolveOfficial(chains.mode.id, "sablier-airdrops-mode", "HZMkVX5c2qf7BqbidwpcQMsHGWTDdEKwVjnwenzo9s6m"),
33-
resolveOfficial(chains.optimism.id, "sablier-airdrops-optimism", "CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7"),
34-
resolveOfficial(chains.polygon.id, "sablier-airdrops-polygon", "FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE"),
35-
resolveOfficial(chains.scroll.id, "sablier-airdrops-scroll", "Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9"),
36-
resolveCustom(chains.xdc.id, "sablier-airdrops-xdc"),
37-
resolveOfficial(chains.zksync.id, "sablier-airdrops-zksync", "64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN"),
19+
official(chains.ethereum.id, "sablier-airdrops-ethereum", "DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs"),
20+
official(chains.abstract.id, "sablier-airdrops-abstract", "DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx"),
21+
official(chains.arbitrum.id, "sablier-airdrops-arbitrum", "HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr"),
22+
official(chains.avalanche.id, "sablier-airdrops-avalanche", "CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA"),
23+
official(chains.base.id, "sablier-airdrops-base", "4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe"),
24+
official(chains.berachain.id, "sablier-airdrops-berachain", "CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE"),
25+
official(chains.blast.id, "sablier-airdrops-blast", "657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK"),
26+
official(chains.bsc.id, "sablier-airdrops-bsc", "FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL"),
27+
official(chains.chiliz.id, "sablier-airdrops-chiliz", "6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU"),
28+
official(chains.gnosis.id, "sablier-airdrops-gnosis", "kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn"),
29+
official(chains.iotex.id, "sablier-airdrops-iotex", "G39uCzr1FDY7pBFe8DwShAxhMeC6dbZetutVg6wjtks3"),
30+
custom(chains.lightlink.id, "sablier-airdrops-lightlink"),
31+
official(chains.linea.id, "sablier-airdrops-linea", "6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN"),
32+
official(chains.mode.id, "sablier-airdrops-mode", "HZMkVX5c2qf7BqbidwpcQMsHGWTDdEKwVjnwenzo9s6m"),
33+
official(chains.optimism.id, "sablier-airdrops-optimism", "CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7"),
34+
official(chains.polygon.id, "sablier-airdrops-polygon", "FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE"),
35+
official(chains.scroll.id, "sablier-airdrops-scroll", "Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9"),
36+
custom(chains.xdc.id, "sablier-airdrops-xdc"),
37+
official(chains.zksync.id, "sablier-airdrops-zksync", "64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN"),
3838
/* -------------------------------------------------------------------------- */
3939
/* TESTNETS */
4040
/* -------------------------------------------------------------------------- */
41-
resolveOfficial(
41+
official(
4242
chains.arbitrumSepolia.id,
4343
"sablier-airdrops-arbitrum-sepolia",
4444
"3S7v3VkDq8XMBd8EFVhKur2Vk44xScaW8a4BRjoPuYWk",
4545
),
46-
resolveOfficial(
47-
chains.baseSepolia.id,
48-
"sablier-airdrops-base-sepolia",
49-
"4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt",
50-
),
51-
resolveOfficial(
52-
chains.ethereumSepolia.id,
53-
"sablier-airdrops-sepolia",
54-
"8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh",
55-
),
56-
resolveOfficial(
46+
official(chains.baseSepolia.id, "sablier-airdrops-base-sepolia", "4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt"),
47+
official(chains.ethereumSepolia.id, "sablier-airdrops-sepolia", "8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh"),
48+
official(
5749
chains.optimismSepolia.id,
5850
"sablier-airdrops-optimism-sepolia",
5951
"3kp1eR2T1XpvvLkSZ7Wtt45DbDaiykTes478RZ7zwTz",

src/indexers/flow/graph.ts

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,44 @@ import type { Sablier } from "@src/types";
44
import type { TheGraphCustomChainId } from "../config";
55
import { resolveCustomSubgraph, resolveOfficialSubgraph } from "../helpers";
66

7-
function resolveCustom(chainId: TheGraphCustomChainId, name: string): Sablier.Indexer.TheGraph {
7+
function custom(chainId: TheGraphCustomChainId, name: string): Sablier.Indexer.TheGraph {
88
return resolveCustomSubgraph(Protocol.Flow, chainId, name);
99
}
1010

11-
function resolveOfficial(chainId: number, name: string, id: string): Sablier.Indexer.TheGraph {
11+
function official(chainId: number, name: string, id: string): Sablier.Indexer.TheGraph {
1212
return resolveOfficialSubgraph(Protocol.Flow, chainId, name, id);
1313
}
1414

1515
const graph = [
1616
// ────────────────────────────────────────────────────────────────────────────────
1717
// Mainnets
1818
// ────────────────────────────────────────────────────────────────────────────────
19-
resolveOfficial(chains.ethereum.id, "sablier-flow-ethereum", "ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod"),
20-
resolveOfficial(chains.abstract.id, "sablier-flow-abstract", "Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG"),
21-
resolveOfficial(chains.arbitrum.id, "sablier-flow-arbitrum", "C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW"),
22-
resolveOfficial(chains.avalanche.id, "sablier-flow-avalanche", "6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh"),
23-
resolveOfficial(chains.base.id, "sablier-flow-base", "4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W"),
24-
resolveOfficial(chains.berachain.id, "sablier-flow-berachain", "J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh"),
25-
resolveOfficial(chains.blast.id, "sablier-flow-blast", "8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia"),
26-
resolveOfficial(chains.bsc.id, "sablier-flow-bsc", "2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb"),
27-
resolveOfficial(chains.chiliz.id, "sablier-flow-chiliz", "7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6"),
28-
resolveOfficial(chains.gnosis.id, "sablier-flow-gnosis", "4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL"),
29-
resolveOfficial(chains.iotex.id, "sablier-flow-iotex", "6No3QmRiC8HXLEerDFoBpF47jUPRjhntmv28HHEMxcA2"),
30-
resolveCustom(chains.lightlink.id, "sablier-flow-lightlink"),
31-
resolveOfficial(chains.linea.id, "sablier-flow-linea", "DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6"),
32-
resolveOfficial(chains.mode.id, "sablier-flow-mode", "9TwfoUZoxYUyxzDgspCPyxW6uMUKetWQDaTGsZjY1qJZ"),
33-
resolveOfficial(chains.optimism.id, "sablier-flow-optimism", "AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf"),
34-
resolveOfficial(chains.polygon.id, "sablier-flow-polygon", "ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8"),
35-
resolveOfficial(chains.scroll.id, "sablier-flow-scroll", "HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF"),
36-
resolveCustom(chains.xdc.id, "sablier-flow-xdc"),
37-
resolveOfficial(chains.zksync.id, "sablier-flow-zksync", "9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx"),
19+
official(chains.ethereum.id, "sablier-flow-ethereum", "ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod"),
20+
official(chains.abstract.id, "sablier-flow-abstract", "Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG"),
21+
official(chains.arbitrum.id, "sablier-flow-arbitrum", "C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW"),
22+
official(chains.avalanche.id, "sablier-flow-avalanche", "6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh"),
23+
official(chains.base.id, "sablier-flow-base", "4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W"),
24+
official(chains.berachain.id, "sablier-flow-berachain", "J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh"),
25+
official(chains.blast.id, "sablier-flow-blast", "8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia"),
26+
official(chains.bsc.id, "sablier-flow-bsc", "2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb"),
27+
official(chains.chiliz.id, "sablier-flow-chiliz", "7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6"),
28+
official(chains.gnosis.id, "sablier-flow-gnosis", "4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL"),
29+
official(chains.iotex.id, "sablier-flow-iotex", "6No3QmRiC8HXLEerDFoBpF47jUPRjhntmv28HHEMxcA2"),
30+
custom(chains.lightlink.id, "sablier-flow-lightlink"),
31+
official(chains.linea.id, "sablier-flow-linea", "DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6"),
32+
official(chains.mode.id, "sablier-flow-mode", "9TwfoUZoxYUyxzDgspCPyxW6uMUKetWQDaTGsZjY1qJZ"),
33+
official(chains.optimism.id, "sablier-flow-optimism", "AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf"),
34+
official(chains.polygon.id, "sablier-flow-polygon", "ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8"),
35+
official(chains.scroll.id, "sablier-flow-scroll", "HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF"),
36+
custom(chains.xdc.id, "sablier-flow-xdc"),
37+
official(chains.zksync.id, "sablier-flow-zksync", "9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx"),
3838
// ────────────────────────────────────────────────────────────────────────────────
3939
// Testnets
4040
// ────────────────────────────────────────────────────────────────────────────────
41-
resolveOfficial(
42-
chains.arbitrumSepolia.id,
43-
"sablier-flow-arbitrum-sepolia",
44-
"2uWnxpYiDMkEMu1urxqt925mLfuax9XbvfcBoD97AU6d",
45-
),
46-
resolveOfficial(chains.baseSepolia.id, "sablier-flow-base-sepolia", "AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh"),
47-
resolveOfficial(chains.ethereumSepolia.id, "sablier-flow-sepolia", "EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm"),
48-
resolveOfficial(
49-
chains.optimismSepolia.id,
50-
"sablier-flow-optimism-sepolia",
51-
"EFKqBB6TeH6etGuHCffnbMbETEgDZ6U29Lgpc4gpYvdB",
52-
),
41+
official(chains.arbitrumSepolia.id, "sablier-flow-arbitrum-sepolia", "2uWnxpYiDMkEMu1urxqt925mLfuax9XbvfcBoD97AU6d"),
42+
official(chains.baseSepolia.id, "sablier-flow-base-sepolia", "AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh"),
43+
official(chains.ethereumSepolia.id, "sablier-flow-sepolia", "EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm"),
44+
official(chains.optimismSepolia.id, "sablier-flow-optimism-sepolia", "EFKqBB6TeH6etGuHCffnbMbETEgDZ6U29Lgpc4gpYvdB"),
5345
];
5446

5547
export default graph;

0 commit comments

Comments
 (0)