Skip to content

Commit 0e5f72b

Browse files
authored
add sonic (#85)
* add sonic * changeset
1 parent 1ae0ea8 commit 0e5f72b

File tree

10 files changed

+163
-68
lines changed

10 files changed

+163
-68
lines changed

.changeset/honest-worms-explode.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@traderjoe-xyz/sdk-core': patch
3+
'@traderjoe-xyz/sdk': patch
4+
'@traderjoe-xyz/sdk-v2': patch
5+
---
6+
7+
add sonic

packages/core/src/constants.ts

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export enum ChainId {
1515
BERACHAIN = 80094,
1616
BASE = 8453,
1717
MONAD_TESTNET = 10143,
18+
SONIC = 146,
1819
SOLANA = 1399811149
1920
}
2021

packages/core/src/entities/currency.ts

+4
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ export class CNATIVE extends NativeCurrency {
8585
name = 'Solana'
8686
decimals = 9
8787
break
88+
case 146:
89+
symbol = 'S'
90+
name = 'Sonic'
91+
break
8892
default:
8993
symbol = ''
9094
name = ''

packages/core/src/entities/token.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,13 @@ export const WNATIVE = {
160160
9,
161161
'WSOL',
162162
'Wrapped SOL'
163+
),
164+
[ChainId.SONIC]: new Token(
165+
ChainId.SONIC,
166+
'0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38',
167+
18,
168+
'wS',
169+
'Wrapped Sonic'
163170
)
164171
}
165-
166172
export const WAVAX = WNATIVE

packages/v1/src/constants.ts

+62-31
Large diffs are not rendered by default.

packages/v1/src/fetcher.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export abstract class Fetcher {
2626
* @param name optional name of the token
2727
*/
2828
public static async fetchTokenData(
29-
chainId: ChainId,
29+
chainId: Exclude<ChainId, ChainId.SOLANA>,
3030
address: string,
3131
client: PublicClient = getDefaultPublicClient(chainId),
3232
symbol?: string,

packages/v1/src/subgraphs.ts

+26-13
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ export const EXCHANGE_SUBGRAPH: { [chainId in ChainId]: string } = {
1818
[ChainId.BERACHAIN]: '',
1919
[ChainId.BASE]: '',
2020
[ChainId.MONAD_TESTNET]: '',
21-
[ChainId.SOLANA]: ''
21+
[ChainId.SOLANA]: '',
22+
[ChainId.SONIC]: ''
2223
}
2324

2425
export const MASTERCHEF_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -35,7 +36,8 @@ export const MASTERCHEF_SUBGRAPH: { [chainId in ChainId]: string } = {
3536
[ChainId.BERACHAIN]: '',
3637
[ChainId.BASE]: '',
3738
[ChainId.MONAD_TESTNET]: '',
38-
[ChainId.SOLANA]: ''
39+
[ChainId.SOLANA]: '',
40+
[ChainId.SONIC]: ''
3941
}
4042

4143
export const DEXCANDLES_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -52,7 +54,8 @@ export const DEXCANDLES_SUBGRAPH: { [chainId in ChainId]: string } = {
5254
[ChainId.BERACHAIN]: '',
5355
[ChainId.BASE]: '',
5456
[ChainId.MONAD_TESTNET]: '',
55-
[ChainId.SOLANA]: ''
57+
[ChainId.SOLANA]: '',
58+
[ChainId.SONIC]: ''
5659
}
5760

5861
export const BAR_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -68,7 +71,8 @@ export const BAR_SUBGRAPH: { [chainId in ChainId]: string } = {
6871
[ChainId.BERACHAIN]: '',
6972
[ChainId.BASE]: '',
7073
[ChainId.MONAD_TESTNET]: '',
71-
[ChainId.SOLANA]: ''
74+
[ChainId.SOLANA]: '',
75+
[ChainId.SONIC]: ''
7276
}
7377

7478
export const LENDING_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -85,7 +89,8 @@ export const LENDING_SUBGRAPH: { [chainId in ChainId]: string } = {
8589
[ChainId.BERACHAIN]: '',
8690
[ChainId.BASE]: '',
8791
[ChainId.MONAD_TESTNET]: '',
88-
[ChainId.SOLANA]: ''
92+
[ChainId.SOLANA]: '',
93+
[ChainId.SONIC]: ''
8994
}
9095

9196
export const ROCKET_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -102,7 +107,8 @@ export const ROCKET_SUBGRAPH: { [chainId in ChainId]: string } = {
102107
[ChainId.BERACHAIN]: '',
103108
[ChainId.BASE]: '',
104109
[ChainId.MONAD_TESTNET]: '',
105-
[ChainId.SOLANA]: ''
110+
[ChainId.SOLANA]: '',
111+
[ChainId.SONIC]: ''
106112
}
107113

108114
export const SJOE_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -120,7 +126,8 @@ export const SJOE_SUBGRAPH: { [chainId in ChainId]: string } = {
120126
[ChainId.BERACHAIN]: '',
121127
[ChainId.BASE]: '',
122128
[ChainId.MONAD_TESTNET]: '',
123-
[ChainId.SOLANA]: ''
129+
[ChainId.SOLANA]: '',
130+
[ChainId.SONIC]: ''
124131
}
125132

126133
export const MONEY_MAKER_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -137,7 +144,8 @@ export const MONEY_MAKER_SUBGRAPH: { [chainId in ChainId]: string } = {
137144
[ChainId.BERACHAIN]: '',
138145
[ChainId.BASE]: '',
139146
[ChainId.MONAD_TESTNET]: '',
140-
[ChainId.SOLANA]: ''
147+
[ChainId.SOLANA]: '',
148+
[ChainId.SONIC]: ''
141149
}
142150

143151
export const VEJOE_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -154,7 +162,8 @@ export const VEJOE_SUBGRAPH: { [chainId in ChainId]: string } = {
154162
[ChainId.BERACHAIN]: '',
155163
[ChainId.BASE]: '',
156164
[ChainId.MONAD_TESTNET]: '',
157-
[ChainId.SOLANA]: ''
165+
[ChainId.SOLANA]: '',
166+
[ChainId.SONIC]: ''
158167
}
159168

160169
export const BOOSTED_MASTERCHEF_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -171,7 +180,8 @@ export const BOOSTED_MASTERCHEF_SUBGRAPH: { [chainId in ChainId]: string } = {
171180
[ChainId.BERACHAIN]: '',
172181
[ChainId.BASE]: '',
173182
[ChainId.MONAD_TESTNET]: '',
174-
[ChainId.SOLANA]: ''
183+
[ChainId.SOLANA]: '',
184+
[ChainId.SONIC]: ''
175185
}
176186

177187
export const NFT_CONTRACTS_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -188,7 +198,8 @@ export const NFT_CONTRACTS_SUBGRAPH: { [chainId in ChainId]: string } = {
188198
[ChainId.BERACHAIN]: '',
189199
[ChainId.BASE]: '',
190200
[ChainId.MONAD_TESTNET]: '',
191-
[ChainId.SOLANA]: ''
201+
[ChainId.SOLANA]: '',
202+
[ChainId.SONIC]: ''
192203
}
193204

194205
export const JOEPEG_MARKPLACE_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -205,7 +216,8 @@ export const JOEPEG_MARKPLACE_SUBGRAPH: { [chainId in ChainId]: string } = {
205216
[ChainId.BERACHAIN]: '',
206217
[ChainId.BASE]: '',
207218
[ChainId.MONAD_TESTNET]: '',
208-
[ChainId.SOLANA]: ''
219+
[ChainId.SOLANA]: '',
220+
[ChainId.SONIC]: ''
209221
}
210222

211223
export const FEE_COLLECTOR_SUBGRAPH: { [chainId in ChainId]: string } = {
@@ -222,5 +234,6 @@ export const FEE_COLLECTOR_SUBGRAPH: { [chainId in ChainId]: string } = {
222234
[ChainId.BERACHAIN]: '',
223235
[ChainId.BASE]: '',
224236
[ChainId.MONAD_TESTNET]: '',
225-
[ChainId.SOLANA]: ''
237+
[ChainId.SOLANA]: '',
238+
[ChainId.SONIC]: ''
226239
}

packages/v1/src/utils.ts

+15-2
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,30 @@ import {
55
avalanche,
66
avalancheFuji,
77
base,
8+
berachain,
89
bsc,
910
bscTestnet,
1011
mainnet,
11-
mantle
12+
mantle,
13+
monadTestnet,
14+
sonic
1215
} from 'viem/chains'
1316

1417
import { ChainId } from '@traderjoe-xyz/sdk-core'
1518

1619
export const getDefaultPublicClient = (chainId: ChainId): PublicClient => {
20+
if (chainId === ChainId.SOLANA) {
21+
throw new Error('SOLANA is not supported')
22+
}
23+
1724
const chain = getChain(chainId)
1825
return createPublicClient({
1926
chain,
2027
transport: http()
2128
})
2229
}
2330

24-
export const getChain = (chainId: ChainId) => {
31+
export const getChain = (chainId: Exclude<ChainId, ChainId.SOLANA>) => {
2532
switch (chainId) {
2633
case ChainId.ARBITRUM_ONE:
2734
return arbitrum
@@ -41,5 +48,11 @@ export const getChain = (chainId: ChainId) => {
4148
return base
4249
case ChainId.MANTLE:
4350
return mantle
51+
case ChainId.SONIC:
52+
return sonic
53+
case ChainId.MONAD_TESTNET:
54+
return monadTestnet
55+
case ChainId.BERACHAIN:
56+
return berachain
4457
}
4558
}

packages/v2/src/constants/subgraphs.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ export const DEX_V2_SUBGRAPH: { [chainId in ChainId]: string } = {
1818
[ChainId.BERACHAIN]: '',
1919
[ChainId.BASE]: '',
2020
[ChainId.MONAD_TESTNET]: '',
21-
[ChainId.SOLANA]: ''
21+
[ChainId.SOLANA]: '',
22+
[ChainId.SONIC]: ''
2223
}
2324

2425
export const DEXCANDLES_SUBGRAPH_V2: { [chainId in ChainId]: string } = {
@@ -40,5 +41,6 @@ export const DEXCANDLES_SUBGRAPH_V2: { [chainId in ChainId]: string } = {
4041
[ChainId.BERACHAIN]: '',
4142
[ChainId.BASE]: '',
4243
[ChainId.MONAD_TESTNET]: '',
43-
[ChainId.SOLANA]: ''
44+
[ChainId.SOLANA]: '',
45+
[ChainId.SONIC]: ''
4446
}

0 commit comments

Comments
 (0)