Skip to content

Commit

Permalink
feat: deployment of bsc and bnb (#120)
Browse files Browse the repository at this point in the history
  • Loading branch information
gidonkatten authored Aug 7, 2024
1 parent 0f4ecd6 commit 0dbde90
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .changeset/shaggy-roses-rhyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@folks-finance/xchain-sdk": patch
---

deployment of bsc and bnb
8 changes: 6 additions & 2 deletions src/chains/evm/common/constants/chain.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { avalancheFuji, baseSepolia, sepolia } from "viem/chains";
import { avalancheFuji, baseSepolia, bscTestnet, sepolia } from "viem/chains";

import type { EvmChainName, EvmFolksChainId } from "../types/chain.js";
import type { Chain } from "viem";

export const MAINNET_EVM_CHAIN_NAMES = [] as const;
export const TESTNET_EVM_CHAIN_NAMES = ["AVALANCHE_FUJI", "ETHEREUM_SEPOLIA", "BASE_SEPOLIA"] as const;
export const TESTNET_EVM_CHAIN_NAMES = ["AVALANCHE_FUJI", "ETHEREUM_SEPOLIA", "BASE_SEPOLIA", "BSC_TESTNET"] as const;
export const EVM_CHAIN_NAMES = [...MAINNET_EVM_CHAIN_NAMES, ...TESTNET_EVM_CHAIN_NAMES] as const;

export const MAINNET_EVM_CHAIN_ID = {} as const;
Expand All @@ -13,6 +13,7 @@ export const TESTNET_EVM_CHAIN_ID = {
AVALANCHE_FUJI: avalancheFuji.id,
ETHEREUM_SEPOLIA: sepolia.id,
BASE_SEPOLIA: baseSepolia.id,
BSC_TESTNET: bscTestnet.id,
} as const;

export const EVM_CHAIN_ID = {
Expand All @@ -26,6 +27,7 @@ export const TESTNET_EVM_FOLKS_CHAIN_ID = {
AVALANCHE_FUJI: 1,
ETHEREUM_SEPOLIA: 6,
BASE_SEPOLIA: 7,
BSC_TESTNET: 3,
} as const;

export const EVM_FOLKS_CHAIN_ID = {
Expand All @@ -38,6 +40,7 @@ export const TESTNET_CHAIN_VIEM = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE_FUJI]: avalancheFuji,
[EVM_FOLKS_CHAIN_ID.ETHEREUM_SEPOLIA]: sepolia,
[EVM_FOLKS_CHAIN_ID.BASE_SEPOLIA]: baseSepolia,
[EVM_FOLKS_CHAIN_ID.BSC_TESTNET]: bscTestnet,
} as const;
export const CHAIN_VIEM = {
...MAINNET_CHAIN_VIEM,
Expand All @@ -49,6 +52,7 @@ export const TESTNET_CHAIN_NODE = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE_FUJI]: [...avalancheFuji.rpcUrls.default.http],
[EVM_FOLKS_CHAIN_ID.ETHEREUM_SEPOLIA]: [...sepolia.rpcUrls.default.http],
[EVM_FOLKS_CHAIN_ID.BASE_SEPOLIA]: [...baseSepolia.rpcUrls.default.http],
[EVM_FOLKS_CHAIN_ID.BSC_TESTNET]: [...bscTestnet.rpcUrls.default.http],
};
export const CHAIN_NODE = {
...MAINNET_CHAIN_NODE,
Expand Down
10 changes: 10 additions & 0 deletions src/chains/evm/hub/constants/chain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,16 @@ export const HUB_CHAIN: Record<NetworkType, HubChain> = {
poolAddress: convertToGenericAddress("0xf66A38192A953fe22dCA4229d9429219aaeB09d8" as EvmAddress, ChainType.EVM),
supportedLoanTypes: new Set([LoanTypeId.DEPOSIT, LoanTypeId.GENERAL]),
},
[FolksTokenId.BNB]: {
token: {
type: TokenType.NATIVE,
decimals: 18,
},
folksTokenId: FolksTokenId.BNB,
poolId: TESTNET_POOLS[FolksTokenId.BNB],
poolAddress: convertToGenericAddress("0xE6FFe0445716c7498A9E718d12473A110fA1021d" as EvmAddress, ChainType.EVM),
supportedLoanTypes: new Set([LoanTypeId.DEPOSIT, LoanTypeId.GENERAL]),
},
},
},
};
44 changes: 43 additions & 1 deletion src/common/constants/chain.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { avalancheFuji, baseSepolia, sepolia } from "viem/chains";
import { avalancheFuji, baseSepolia, bscTestnet, sepolia } from "viem/chains";

import { MAINNET_EVM_FOLKS_CHAIN_ID, TESTNET_EVM_FOLKS_CHAIN_ID } from "../../chains/evm/common/constants/chain.js";
import { NetworkType, ChainType } from "../types/chain.js";
Expand Down Expand Up @@ -48,6 +48,13 @@ export const FOLKS_CHAIN: Record<NetworkType, Partial<Record<FolksChainId, Folks
chainId: baseSepolia.id,
network: NetworkType.TESTNET,
},
[FOLKS_CHAIN_ID.BSC_TESTNET]: {
chainType: ChainType.EVM,
folksChainId: FOLKS_CHAIN_ID.BSC_TESTNET,
chainName: bscTestnet.name,
chainId: bscTestnet.id,
network: NetworkType.TESTNET,
},
},
} as const;

Expand Down Expand Up @@ -223,5 +230,40 @@ export const SPOKE_CHAIN: Record<NetworkType, Partial<Record<FolksChainId, Spoke
},
},
},
[FOLKS_CHAIN_ID.BSC_TESTNET]: {
folksChainId: FOLKS_CHAIN_ID.BSC_TESTNET,
spokeCommonAddress: convertToGenericAddress(
"0x6Eac0286F42c8C0Cbc9997dB3b01b025EeD794f4" as EvmAddress,
ChainType.EVM,
),
bridgeRouterAddress: convertToGenericAddress(
"0xf1565F622FEd835E55aCEacE0D04A4c9786056D2" as EvmAddress,
ChainType.EVM,
),
adapters: {
[AdapterType.WORMHOLE_DATA]: convertToGenericAddress(
"0x084A113581915b3eF832E5d5bBdc30073001D4B2" as EvmAddress,
ChainType.EVM,
),
[AdapterType.CCIP_DATA]: convertToGenericAddress(
"0x59b5cB2c7413608e00CfFe074F2ac57165eB37e0" as EvmAddress,
ChainType.EVM,
),
},
tokens: {
[FolksTokenId.BNB]: {
token: {
type: TokenType.NATIVE,
decimals: 18,
},
folksTokenId: FolksTokenId.BNB,
poolId: TESTNET_POOLS[FolksTokenId.BNB],
spokeAddress: convertToGenericAddress(
"0x40f7d61365a297eD31BCcEfE9c5B11f594e7CD75" as EvmAddress,
ChainType.EVM,
),
},
},
},
},
};
8 changes: 8 additions & 0 deletions src/common/constants/gmp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ export const WORMHOLE_DATA: Partial<Record<FolksChainId, WormholeData>> = {
wormholeChainId: 10004,
wormholeRelayer: convertToGenericAddress("0x93BAD53DDfB6132b0aC8E37f6029163E63372cEE" as EvmAddress, ChainType.EVM),
},
[FOLKS_CHAIN_ID.BSC_TESTNET]: {
wormholeChainId: 4,
wormholeRelayer: convertToGenericAddress("0x80aC94316391752A193C1c47E27D382b507c93F3" as EvmAddress, ChainType.EVM),
},
};

export const CCIP_DATA: Partial<Record<FolksChainId, CCIPData>> = {
Expand All @@ -35,4 +39,8 @@ export const CCIP_DATA: Partial<Record<FolksChainId, CCIPData>> = {
ccipChainId: BigInt("10344971235874465080"),
ccipRouter: convertToGenericAddress("0xD3b06cEbF099CE7DA4AcCf578aaebFDBd6e88a93" as EvmAddress, ChainType.EVM),
},
[FOLKS_CHAIN_ID.BSC_TESTNET]: {
ccipChainId: BigInt("13264668187771770619"),
ccipRouter: convertToGenericAddress("0xE1053aE1857476f36A3C62580FF9b016E8EE8F6f" as EvmAddress, ChainType.EVM),
},
};
1 change: 1 addition & 0 deletions src/common/constants/pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ export const TESTNET_POOLS = {
[FolksTokenId.ETH_eth_sep]: 130,
[FolksTokenId.ETH_base_sep]: 131,
[FolksTokenId.LINK_eth_sep]: 132,
[FolksTokenId.BNB]: 133,
} as const satisfies Partial<Record<FolksTokenId, number>>;
1 change: 1 addition & 0 deletions src/common/types/token.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export enum FolksTokenId {
ETH_eth_sep = "ETH_eth_sep",
ETH_base_sep = "ETH_base_sep",
LINK_eth_sep = "LINK_eth_sep",
BNB = "BNB",
}

export enum TokenType {
Expand Down

0 comments on commit 0dbde90

Please sign in to comment.