Skip to content

Commit 0b6a789

Browse files
committed
add abstract chain configs
1 parent 6b155cb commit 0b6a789

File tree

3 files changed

+46
-68
lines changed

3 files changed

+46
-68
lines changed

.changeset/kind-nails-lay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@treasure-dev/tdk-core": patch
3+
---
4+
5+
Added MagicswapV2Router address for Abstract chain

apps/api/src/index.ts

Lines changed: 30 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,20 @@ import { PrismaClient } from "@prisma/client";
44
import * as Sentry from "@sentry/node";
55
import { Engine } from "@thirdweb-dev/engine";
66
import { createAuth } from "@treasure-dev/auth";
7+
import { http, type Transport, createConfig, fallback } from "@wagmi/core";
78
import {
8-
TREASURE_CHAIN_DEFINITION,
9-
TREASURE_TOPAZ_CHAIN_DEFINITION,
10-
} from "@treasure-dev/tdk-core";
11-
import { http, createConfig, fallback } from "@wagmi/core";
12-
import {
9+
abstract,
1310
arbitrum,
1411
arbitrumSepolia,
1512
base,
1613
baseSepolia,
1714
mainnet,
1815
sepolia,
16+
treasure,
17+
treasureTopaz,
1918
} from "@wagmi/core/chains";
2019
import { createThirdwebClient, getUser } from "thirdweb";
2120
import { createAuth as createThirdwebAuth } from "thirdweb/auth";
22-
import { defineChain } from "viem";
2321

2422
import { withAuth } from "./middleware/auth";
2523
import { withChain } from "./middleware/chain";
@@ -35,6 +33,18 @@ import type { TdkApiContext } from "./types";
3533
import { app } from "./utils/app";
3634
import { getEnv } from "./utils/env";
3735

36+
const WAGMI_CONFIG_CHAINS = [
37+
abstract,
38+
arbitrum,
39+
arbitrumSepolia,
40+
base,
41+
baseSepolia,
42+
mainnet,
43+
sepolia,
44+
treasure,
45+
treasureTopaz,
46+
] as const;
47+
3848
const main = async () => {
3949
const env = await getEnv();
4050
const client = createThirdwebClient({ secretKey: env.THIRDWEB_SECRET_KEY });
@@ -62,64 +72,20 @@ const main = async () => {
6272
accessToken: env.THIRDWEB_ENGINE_ACCESS_TOKEN,
6373
}),
6474
wagmiConfig: createConfig({
65-
chains: [
66-
arbitrum,
67-
arbitrumSepolia,
68-
mainnet,
69-
sepolia,
70-
base,
71-
baseSepolia,
72-
defineChain(TREASURE_CHAIN_DEFINITION),
73-
defineChain(TREASURE_TOPAZ_CHAIN_DEFINITION),
74-
],
75-
transports: {
76-
[arbitrum.id]: fallback([
77-
http(
78-
`https://${arbitrum.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
79-
),
80-
http(),
81-
]),
82-
[arbitrumSepolia.id]: fallback([
83-
http(
84-
`https://${arbitrumSepolia.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
85-
),
86-
http(),
87-
]),
88-
[mainnet.id]: fallback([
89-
http(
90-
`https://${mainnet.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
91-
),
92-
http(),
93-
]),
94-
[sepolia.id]: fallback([
95-
http(
96-
`https://${sepolia.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
97-
),
98-
http(),
99-
]),
100-
[base.id]: fallback([
101-
http(`https://${base.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`),
102-
http(),
103-
]),
104-
[baseSepolia.id]: fallback([
105-
http(
106-
`https://${baseSepolia.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
107-
),
108-
http(),
109-
]),
110-
[TREASURE_CHAIN_DEFINITION.id]: fallback([
111-
http(
112-
`https://${TREASURE_CHAIN_DEFINITION.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
113-
),
114-
http(),
115-
]),
116-
[TREASURE_TOPAZ_CHAIN_DEFINITION.id]: fallback([
117-
http(
118-
`https://${TREASURE_TOPAZ_CHAIN_DEFINITION.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
119-
),
120-
http(),
121-
]),
122-
},
75+
chains: WAGMI_CONFIG_CHAINS,
76+
transports: WAGMI_CONFIG_CHAINS.reduce(
77+
(acc, chain) => {
78+
acc[chain.id] = fallback([
79+
http(
80+
`https://${chain.id}.rpc.thirdweb.com/${env.THIRDWEB_CLIENT_ID}`,
81+
{ batch: true },
82+
),
83+
http(undefined, { batch: true }),
84+
]);
85+
return acc;
86+
},
87+
{} as Record<keyof typeof WAGMI_CONFIG_CHAINS, Transport>,
88+
),
12389
}),
12490
getThirdwebUser: async ({ ecosystemWalletAddress }) =>
12591
getUser({

packages/core/src/constants.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { defineChain } from "thirdweb";
22
import {
3+
abstract,
34
arbitrum,
45
arbitrumSepolia,
56
base,
@@ -78,20 +79,22 @@ export const BRIDGEWORLD_API_URL = {
7879
} as const;
7980

8081
export const MAGICSWAPV2_API_URL = {
82+
[abstract.id]:
83+
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-abstract/live/gn",
8184
[arbitrum.id]:
8285
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswapv2/live/gn",
8386
[arbitrumSepolia.id]:
8487
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswapv2-dev/live/gn",
88+
[base.id]:
89+
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-base/live/gn",
90+
[baseSepolia.id]:
91+
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-dev-base-sepolia/live/gn",
8592
[treasure.id]:
8693
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-treasure/live/gn",
8794
[treasureTopaz.id]:
8895
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-dev-topaz/live/gn",
8996
[sepolia.id]:
9097
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-dev-sepolia/live/gn",
91-
[base.id]:
92-
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-base/live/gn",
93-
[baseSepolia.id]:
94-
"https://api.goldsky.com/api/public/project_clrm53zqegpoi01x18coz2fb5/subgraphs/magicswap-dev-base-sepolia/live/gn",
9598
} as const;
9699

97100
// Tokens
@@ -169,6 +172,10 @@ export const CONTRACT_ADDRESSES: Record<
169172
// Magicswap
170173
MagicswapV2Router: "0x4043b1c99838945555341c0d5e101e75f143a660",
171174
},
175+
[abstract.id]: {
176+
// Magicswap
177+
MagicswapV2Router: "0x3193b4e0e6c0417682f5916c26138ee86917efa1",
178+
},
172179
};
173180

174181
export const TREASURE_CONDUIT_KEYS: Record<number, AddressString> = {

0 commit comments

Comments
 (0)