Skip to content

Commit

Permalink
feat: deploy mainnet (#151)
Browse files Browse the repository at this point in the history
Co-authored-by: Giuseppe Palazzolo <[email protected]>
  • Loading branch information
gidonkatten and palace22 authored Sep 20, 2024
1 parent 8854ef7 commit 965b38e
Show file tree
Hide file tree
Showing 13 changed files with 607 additions and 119 deletions.
5 changes: 5 additions & 0 deletions .changeset/eighty-keys-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@folks-finance/xchain-sdk": patch
---

Fixed BTCb ava spoke token
5 changes: 5 additions & 0 deletions .changeset/mean-ducks-exist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@folks-finance/xchain-sdk": patch
---

deploy mainnet
5 changes: 5 additions & 0 deletions .changeset/tender-chairs-relax.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@folks-finance/xchain-sdk": patch
---

fix precision of price formulae
20 changes: 9 additions & 11 deletions examples/user-loan-info.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import {
FolksLoan,
FolksOracle,
FolksPool,
FolksTokenId,
LoanTypeId,
NetworkType,
TESTNET_FOLKS_TOKEN_ID,
} from "../src/index.js";

import type { AccountId, FolksCoreConfig } from "../src/index.js";
import type { AccountId, FolksCoreConfig, PoolInfo, FolksTokenId } from "../src/index.js";

async function main() {
const folksConfig: FolksCoreConfig = {
Expand All @@ -30,15 +30,13 @@ async function main() {
FolksCore.init(folksConfig);
FolksCore.setNetwork(NetworkType.TESTNET);

const poolsInfo = {
[FolksTokenId.USDC]: await FolksPool.read.poolInfo(FolksTokenId.USDC),
[FolksTokenId.AVAX]: await FolksPool.read.poolInfo(FolksTokenId.AVAX),
[FolksTokenId.ETH_eth_sep]: await FolksPool.read.poolInfo(FolksTokenId.ETH_eth_sep),
[FolksTokenId.ETH_base_sep]: await FolksPool.read.poolInfo(FolksTokenId.ETH_base_sep),
[FolksTokenId.ETH_arb_sep]: await FolksPool.read.poolInfo(FolksTokenId.ETH_arb_sep),
[FolksTokenId.LINK_eth_sep]: await FolksPool.read.poolInfo(FolksTokenId.LINK_eth_sep),
[FolksTokenId.BNB]: await FolksPool.read.poolInfo(FolksTokenId.BNB),
};
const poolsInfo: Partial<Record<FolksTokenId, PoolInfo>> = {};
await Promise.all(
Object.values(TESTNET_FOLKS_TOKEN_ID).map(async (folksTokenId) => {
const poolInfo = await FolksPool.read.poolInfo(folksTokenId);
poolsInfo[folksTokenId] = poolInfo;
}),
);
const loanTypeInfo = {
[LoanTypeId.GENERAL]: await FolksLoan.read.loanTypeInfo(LoanTypeId.GENERAL),
};
Expand Down
37 changes: 31 additions & 6 deletions src/chains/evm/common/constants/chain.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
import { arbitrumSepolia, avalancheFuji, baseSepolia, bscTestnet, sepolia } from "viem/chains";
import {
arbitrumSepolia,
avalanche,
avalancheFuji,
base,
baseSepolia,
bscTestnet,
mainnet,
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 MAINNET_EVM_CHAIN_NAMES = ["AVALANCHE", "ETHEREUM", "BASE"] as const;
export const TESTNET_EVM_CHAIN_NAMES = [
"AVALANCHE_FUJI",
"ETHEREUM_SEPOLIA",
Expand All @@ -13,7 +22,11 @@ export const TESTNET_EVM_CHAIN_NAMES = [
] 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;
export const MAINNET_EVM_CHAIN_ID = {
AVALANCHE: avalanche.id,
ETHEREUM: mainnet.id,
BASE: base.id,
} as const;

export const TESTNET_EVM_CHAIN_ID = {
AVALANCHE_FUJI: avalancheFuji.id,
Expand All @@ -28,7 +41,11 @@ export const EVM_CHAIN_ID = {
...TESTNET_EVM_CHAIN_ID,
} as const satisfies Record<EvmChainName, number>;

export const MAINNET_EVM_FOLKS_CHAIN_ID = {} as const;
export const MAINNET_EVM_FOLKS_CHAIN_ID = {
AVALANCHE: 100,
ETHEREUM: 101,
BASE: 102,
} as const;

export const TESTNET_EVM_FOLKS_CHAIN_ID = {
AVALANCHE_FUJI: 1,
Expand All @@ -43,7 +60,11 @@ export const EVM_FOLKS_CHAIN_ID = {
...TESTNET_EVM_FOLKS_CHAIN_ID,
} as const satisfies Record<EvmChainName, number>;

export const MAINNET_CHAIN_VIEM = {} as const;
export const MAINNET_CHAIN_VIEM = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE]: avalanche,
[EVM_FOLKS_CHAIN_ID.ETHEREUM]: mainnet,
[EVM_FOLKS_CHAIN_ID.BASE]: base,
} as const;
export const TESTNET_CHAIN_VIEM = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE_FUJI]: avalancheFuji,
[EVM_FOLKS_CHAIN_ID.ETHEREUM_SEPOLIA]: sepolia,
Expand All @@ -56,7 +77,11 @@ export const CHAIN_VIEM = {
...TESTNET_CHAIN_VIEM,
} as const satisfies Record<EvmFolksChainId, Chain>;

export const MAINNET_CHAIN_NODE = {};
export const MAINNET_CHAIN_NODE = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE]: [...avalanche.rpcUrls.default.http],
[EVM_FOLKS_CHAIN_ID.ETHEREUM]: [...mainnet.rpcUrls.default.http],
[EVM_FOLKS_CHAIN_ID.BASE]: [...base.rpcUrls.default.http],
};
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],
Expand Down
53 changes: 47 additions & 6 deletions src/chains/evm/common/constants/tokens.ts
Original file line number Diff line number Diff line change
@@ -1,44 +1,85 @@
import { FolksTokenId } from "../../../../common/types/token.js";
import { MAINNET_FOLKS_TOKEN_ID, TESTNET_FOLKS_TOKEN_ID } from "../../../../common/types/token.js";

import { EVM_FOLKS_CHAIN_ID } from "./chain.js";

import type { FolksTokenId } from "../../../../common/types/token.js";
import type { EvmFolksChainId } from "../types/chain.js";
import type { Erc20ContractSlot } from "../types/tokens.js";

export const CONTRACT_SLOT: Partial<
Record<EvmFolksChainId, { erc20: Partial<Record<FolksTokenId, Erc20ContractSlot>> }>
> = {
[EVM_FOLKS_CHAIN_ID.AVALANCHE]: {
erc20: {
[MAINNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
[MAINNET_FOLKS_TOKEN_ID.sAVAX]: {
balanceOf: 203n,
allowance: 204n,
},
[MAINNET_FOLKS_TOKEN_ID.wETH_ava]: {
balanceOf: 0n,
allowance: 1n,
},
[MAINNET_FOLKS_TOKEN_ID.BTCb_ava]: {
balanceOf: 0n,
allowance: 1n,
},
},
},
[EVM_FOLKS_CHAIN_ID.ETHEREUM]: {
erc20: {
[MAINNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
[MAINNET_FOLKS_TOKEN_ID.wBTC_eth]: {
balanceOf: 0n,
allowance: 2n,
},
},
},
[EVM_FOLKS_CHAIN_ID.BASE]: {
erc20: {
[MAINNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
},
},
[EVM_FOLKS_CHAIN_ID.AVALANCHE_FUJI]: {
erc20: {
[FolksTokenId.USDC]: {
[TESTNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
},
},
[EVM_FOLKS_CHAIN_ID.BASE_SEPOLIA]: {
erc20: {
[FolksTokenId.USDC]: {
[TESTNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
},
},
[EVM_FOLKS_CHAIN_ID.ARBITRUM_SEPOLIA]: {
erc20: {
[FolksTokenId.USDC]: {
[TESTNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
},
},
[EVM_FOLKS_CHAIN_ID.ETHEREUM_SEPOLIA]: {
erc20: {
[FolksTokenId.USDC]: {
[TESTNET_FOLKS_TOKEN_ID.USDC]: {
balanceOf: 9n,
allowance: 10n,
},
[FolksTokenId.LINK_eth_sep]: {
[TESTNET_FOLKS_TOKEN_ID.LINK_eth_sep]: {
balanceOf: 0n,
allowance: 1n,
},
Expand Down
Loading

0 comments on commit 965b38e

Please sign in to comment.