From 62723c3054fafac0891b151fd916f22d6db2d49c Mon Sep 17 00:00:00 2001 From: Teimur Gasanov Date: Wed, 11 Dec 2024 13:45:13 +0600 Subject: [PATCH] feat: add form mainnet --- .changeset/bright-cheetahs-boil.md | 5 +++ .../example-web-oauth-client/src/index.css | 22 ++++++------ examples/example-web3-client/src/index.css | 22 ++++++------ packages/web3/src/connectors/connectors.tsx | 2 ++ .../src/providers/web3ProviderWagmi/chains.ts | 36 ++++++++++++++++--- .../src/providers/web3ProviderWagmi/utils.ts | 13 +++++-- 6 files changed, 72 insertions(+), 28 deletions(-) create mode 100644 .changeset/bright-cheetahs-boil.md diff --git a/.changeset/bright-cheetahs-boil.md b/.changeset/bright-cheetahs-boil.md new file mode 100644 index 00000000..4bf4b3c9 --- /dev/null +++ b/.changeset/bright-cheetahs-boil.md @@ -0,0 +1,5 @@ +--- +'@roll-network/web3': major +--- + +Added form mainnet diff --git a/examples/example-web-oauth-client/src/index.css b/examples/example-web-oauth-client/src/index.css index 48ac6167..c4b2a890 100644 --- a/examples/example-web-oauth-client/src/index.css +++ b/examples/example-web-oauth-client/src/index.css @@ -32,66 +32,66 @@ /* V1 */ @font-face { src: local('OpenSans-Regular'), - url('@roll-network/design-system/dist/fonts/OpenSans-Regular.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Regular.ttf'); font-family: 'OpenSans-Regular'; } @font-face { src: local('OpenSans-Bold'), - url('@roll-network/design-system/dist/fonts/OpenSans-Bold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Bold.ttf'); font-family: 'OpenSans-Bold'; } @font-face { src: local('OpenSans-BoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-BoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-BoldItalic.ttf'); font-family: 'OpenSans-BoldItalic'; } @font-face { src: local('OpenSans-ExtraBold'), - url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBold.ttf'); font-family: 'OpenSans-ExtraBold'; } @font-face { src: local('OpenSans-ExtraBoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBoldItalic.ttf'); font-family: 'OpenSans-ExtraBoldItalic'; } @font-face { src: local('OpenSans-Italic'), - url('@roll-network/design-system/dist/fonts/OpenSans-Italic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Italic.ttf'); font-family: 'OpenSans-Italic'; } @font-face { src: local('OpenSans-Light'), - url('@roll-network/design-system/dist/fonts/OpenSans-Light.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Light.ttf'); font-family: 'OpenSans-Light'; } @font-face { src: local('OpenSans-LightItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-LightItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-LightItalic.ttf'); font-family: 'OpenSans-LightItalic'; } @font-face { src: local('OpenSans-SemiBold'), - url('@roll-network/design-system/dist/fonts/OpenSans-SemiBold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-SemiBold.ttf'); font-family: 'OpenSans-SemiBold'; } @font-face { src: local('OpenSans-SemiBoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-SemiBoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-SemiBoldItalic.ttf'); font-family: 'OpenSans-SemiBoldItalic'; } @font-face { src: local('SourceCodePro-Regular'), - url('@roll-network/design-system/dist/fonts/SourceCodePro-Regular.tts'); + url('@roll-network/design-system/dist/fonts/SourceCodePro-Regular.ttf'); font-family: 'SourceCodePro-Regular'; } diff --git a/examples/example-web3-client/src/index.css b/examples/example-web3-client/src/index.css index 48ac6167..c4b2a890 100644 --- a/examples/example-web3-client/src/index.css +++ b/examples/example-web3-client/src/index.css @@ -32,66 +32,66 @@ /* V1 */ @font-face { src: local('OpenSans-Regular'), - url('@roll-network/design-system/dist/fonts/OpenSans-Regular.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Regular.ttf'); font-family: 'OpenSans-Regular'; } @font-face { src: local('OpenSans-Bold'), - url('@roll-network/design-system/dist/fonts/OpenSans-Bold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Bold.ttf'); font-family: 'OpenSans-Bold'; } @font-face { src: local('OpenSans-BoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-BoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-BoldItalic.ttf'); font-family: 'OpenSans-BoldItalic'; } @font-face { src: local('OpenSans-ExtraBold'), - url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBold.ttf'); font-family: 'OpenSans-ExtraBold'; } @font-face { src: local('OpenSans-ExtraBoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-ExtraBoldItalic.ttf'); font-family: 'OpenSans-ExtraBoldItalic'; } @font-face { src: local('OpenSans-Italic'), - url('@roll-network/design-system/dist/fonts/OpenSans-Italic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Italic.ttf'); font-family: 'OpenSans-Italic'; } @font-face { src: local('OpenSans-Light'), - url('@roll-network/design-system/dist/fonts/OpenSans-Light.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-Light.ttf'); font-family: 'OpenSans-Light'; } @font-face { src: local('OpenSans-LightItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-LightItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-LightItalic.ttf'); font-family: 'OpenSans-LightItalic'; } @font-face { src: local('OpenSans-SemiBold'), - url('@roll-network/design-system/dist/fonts/OpenSans-SemiBold.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-SemiBold.ttf'); font-family: 'OpenSans-SemiBold'; } @font-face { src: local('OpenSans-SemiBoldItalic'), - url('@roll-network/design-system/dist/fonts/OpenSans-SemiBoldItalic.tts'); + url('@roll-network/design-system/dist/fonts/OpenSans-SemiBoldItalic.ttf'); font-family: 'OpenSans-SemiBoldItalic'; } @font-face { src: local('SourceCodePro-Regular'), - url('@roll-network/design-system/dist/fonts/SourceCodePro-Regular.tts'); + url('@roll-network/design-system/dist/fonts/SourceCodePro-Regular.ttf'); font-family: 'SourceCodePro-Regular'; } diff --git a/packages/web3/src/connectors/connectors.tsx b/packages/web3/src/connectors/connectors.tsx index d5006f70..9b92240f 100644 --- a/packages/web3/src/connectors/connectors.tsx +++ b/packages/web3/src/connectors/connectors.tsx @@ -9,6 +9,7 @@ export const CHAIN_ID_GOERLI = 5 export const CHAIN_ID_MUMBAI = 80001 export const CHAIN_ID_HARDHAT = 31337 export const CHAIN_ID_FORM_TESTNET = 132902 +export const CHAIN_ID_FORM = 478 export const CHAIN_ID_SEPOLIA = 11155111 export const SUPPORTED_CHAIN_IDS = [ @@ -19,6 +20,7 @@ export const SUPPORTED_CHAIN_IDS = [ CHAIN_ID_MUMBAI, CHAIN_ID_HARDHAT, CHAIN_ID_FORM_TESTNET, + CHAIN_ID_FORM, ] export class Web3Connectors { diff --git a/packages/web3/src/providers/web3ProviderWagmi/chains.ts b/packages/web3/src/providers/web3ProviderWagmi/chains.ts index 89fba7cf..776df855 100644 --- a/packages/web3/src/providers/web3ProviderWagmi/chains.ts +++ b/packages/web3/src/providers/web3ProviderWagmi/chains.ts @@ -1,8 +1,8 @@ import { Chain } from 'wagmi' import { CHAIN_ID_FORM_TESTNET } from '../../connectors' -const rpcUrl = 'https://testnet-rpc.form.network/http' -const explorerUrl = 'https://testnet-explorer.form.network/' +const testnetRpcUrl = 'https://sepolia-rpc.form.network/http' +const testnetExplorerUrl = 'https://sepolia-explorer.form.network/' export const formTestnet = { id: CHAIN_ID_FORM_TESTNET, @@ -13,17 +13,45 @@ export const formTestnet = { name: 'Ethereum', symbol: 'ETH', }, + rpcUrls: { + public: { http: [testnetRpcUrl] }, + default: { http: [testnetRpcUrl] }, + }, + blockExplorers: { + etherscan: { + name: 'FormTestnetExplorer', + url: testnetExplorerUrl, + }, + default: { + name: 'FormTestnetExplorer', + url: testnetExplorerUrl, + }, + }, +} as const satisfies Chain + +const rpcUrl = 'https://rpc.form.network/http' +const explorerUrl = 'https://explorer.form.network/' + +export const form = { + id: 478, + name: 'Form', + network: 'form', + nativeCurrency: { + decimals: 18, + name: 'Ethereum', + symbol: 'ETH', + }, rpcUrls: { public: { http: [rpcUrl] }, default: { http: [rpcUrl] }, }, blockExplorers: { etherscan: { - name: 'FormTestnetExplorer', + name: 'FormExplorer', url: explorerUrl, }, default: { - name: 'FormTestnetExplorer', + name: 'FormExplorer', url: explorerUrl, }, }, diff --git a/packages/web3/src/providers/web3ProviderWagmi/utils.ts b/packages/web3/src/providers/web3ProviderWagmi/utils.ts index edd9c671..75ad9296 100644 --- a/packages/web3/src/providers/web3ProviderWagmi/utils.ts +++ b/packages/web3/src/providers/web3ProviderWagmi/utils.ts @@ -1,7 +1,15 @@ import { Chain } from 'wagmi' -import { sepolia, hardhat, polygon, polygonMumbai, goerli, mainnet } from 'wagmi/chains' +import { + sepolia, + hardhat, + polygon, + polygonMumbai, + goerli, + mainnet, +} from 'wagmi/chains' import { CHAIN_ID_FORM_TESTNET, + CHAIN_ID_FORM, CHAIN_ID_GOERLI, CHAIN_ID_HARDHAT, CHAIN_ID_MAIN_NET, @@ -9,7 +17,7 @@ import { CHAIN_ID_POLYGON, CHAIN_ID_SEPOLIA, } from '../../connectors' -import { formTestnet } from './chains' +import { form, formTestnet } from './chains' const MAP_CHAINS: Record = { [CHAIN_ID_MAIN_NET]: mainnet, @@ -19,6 +27,7 @@ const MAP_CHAINS: Record = { [CHAIN_ID_HARDHAT]: hardhat, [CHAIN_ID_MUMBAI]: polygonMumbai, [CHAIN_ID_FORM_TESTNET]: formTestnet, + [CHAIN_ID_FORM]: form, } export const getChainsById = (chains: number[]) => {