diff --git a/.gitignore b/.gitignore
index 49ee909c..a589be2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,4 +35,7 @@ src/metadata/faucet.json
public/sitemap.xml
public/robots.txt
+
+packages/*/node_modules
+packages/*/dist
tools/*
\ No newline at end of file
diff --git a/build.sh b/build.sh
index 675a818f..2a03cf1e 100644
--- a/build.sh
+++ b/build.sh
@@ -35,5 +35,9 @@ node generate-imports.cjs ./src/assets/validators
bash generate_sitemap.sh
+echo "Building packages..."
+bun run build:packages
+bun i
+
echo "Building..."
-bun run build
+bun run build:portal
diff --git a/bun.lockb b/bun.lockb
index 32bbc234..f831b792 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/config/legacy.ts b/config/legacy.ts
index 0d61d767..75d07b42 100644
--- a/config/legacy.ts
+++ b/config/legacy.ts
@@ -112,6 +112,8 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
},
theme: {
mode: 'dark',
- vibrant: true
- }
+ vibrant: true,
+ primary: '#93B8EC',
+ background: '#000000',
+ },
}
diff --git a/config/mainnet.ts b/config/mainnet.ts
index a2553ece..27d1de56 100644
--- a/config/mainnet.ts
+++ b/config/mainnet.ts
@@ -3,7 +3,9 @@ import { type interfaces } from '@skalenetwork/metaport'
export const METAPORT_CONFIG: interfaces.MetaportConfig = {
theme: {
mode: 'dark',
- vibrant: true
+ vibrant: true,
+ primary: '#93B8EC',
+ background: '#000000',
},
mainnetEndpoint: 'https://cloudflare-eth.com/',
skaleNetwork: "mainnet",
@@ -109,6 +111,9 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
"adorable-quaint-bellatrix": {},
"honorable-steel-rasalhague": {
hub: "elated-tan-skat"
+ },
+ "green-giddy-denebola": {
+ hub: "elated-tan-skat"
}
}
}
@@ -237,6 +242,9 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
},
'honorable-steel-rasalhague': {
wrapper: '0xa5274efA35EbeFF47C1510529D9a8812F95F5735'
+ },
+ 'green-giddy-denebola': {
+ wrapper: '0xa5274efA35EbeFF47C1510529D9a8812F95F5735'
}
}
}
@@ -398,6 +406,10 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
mainnet: {
clone: true,
hub: 'elated-tan-skat'
+ },
+ "green-giddy-denebola": {
+ clone: true,
+ hub: "elated-tan-skat"
}
}
}
@@ -474,6 +486,24 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
}
},
"green-giddy-denebola": { // nebula connections
+ eth: {
+ eth: {
+ address: '0xaB01BAd2C86e24D371A13eD6367bdCa819589C5D',
+ chains: {
+ 'elated-tan-skat': {
+ clone: true
+ },
+ mainnet: {
+ clone: true,
+ hub: 'elated-tan-skat'
+ },
+ "honorable-steel-rasalhague": {
+ clone: true,
+ hub: "elated-tan-skat"
+ }
+ }
+ }
+ },
erc20: {
skl: {
address: "0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d",
diff --git a/config/staging.ts b/config/staging.ts
deleted file mode 100644
index ccfb2e8c..00000000
--- a/config/staging.ts
+++ /dev/null
@@ -1,405 +0,0 @@
-import { type interfaces } from '@skalenetwork/metaport'
-
-export const METAPORT_CONFIG: interfaces.MetaportConfig = {
- skaleNetwork: 'staging',
- openOnLoad: true,
- openButton: true,
- debug: false,
- chains: [
- 'mainnet',
- 'staging-legal-crazy-castor', // Europa
- 'staging-utter-unripe-menkar', // Calypso
- 'staging-faint-slimy-achird', // Nebula
- 'staging-fast-active-bellatrix', // Chaos Testnet
- ],
- tokens: {
- eth: {
- symbol: 'ETH'
- },
- skl: {
- decimals: '18',
- name: 'SKALE',
- symbol: 'SKL'
- },
- usdc: {
- decimals: '6',
- symbol: 'USDC',
- name: 'USD Coin'
- },
- usdt: {
- decimals: '6',
- symbol: 'USDT',
- name: 'Tether USD'
- },
- wbtc: {
- decimals: '8',
- symbol: 'WBTC',
- name: 'WBTC'
- },
- _SPACE_1: {
- name: 'SKALE Space',
- symbol: 'SPACE',
- iconUrl:
- 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Rocket/3D/rocket_3d.png'
- },
- _SKALIENS_1: {
- name: 'SKALIENS Collection',
- symbol: 'SKALIENS',
- iconUrl:
- 'https://raw.githubusercontent.com/microsoft/fluentui-emoji/main/assets/Alien/3D/alien_3d.png'
- },
- ruby: {
- name: 'Ruby Token',
- iconUrl: 'https://ruby.exchange/images/tokens/ruby-square.png',
- symbol: 'RUBY'
- },
- dai: {
- name: 'DAI Stablecoin',
- symbol: 'DAI'
- },
- usdp: {
- name: 'Pax Dollar',
- symbol: 'USDP',
- iconUrl: 'https://ruby.exchange/images/tokens/usdp-square.png'
- },
- hmt: {
- name: 'Human Token',
- symbol: 'HMT',
- iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/10347.png'
- },
- ubxs: {
- name: 'UBXS Token',
- symbol: 'UBXS',
- decimals: '6',
- iconUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/17242.png'
- }
- },
- connections: {
- mainnet: {
- eth: {
- eth: {
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-utter-unripe-menkar': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- }
- },
- erc20: {
- skl: {
- address: '0x493D4442013717189C9963a2e275Ad33bfAFcE11',
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-utter-unripe-menkar': {
- hub: 'staging-legal-crazy-castor'
- },
- 'staging-faint-slimy-achird': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- },
- ruby: {
- address: '0xd66641E25E9D36A995682572eaD74E24C11Bb422',
- chains: {
- 'staging-legal-crazy-castor': {}
- }
- },
- dai: {
- address: '0x83B38f79cFFB47CF74f7eC8a5F8D7DD69349fBf7',
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-fast-active-bellatrix': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- },
- usdp: {
- address: '0x66259E472f8d09083ecB51D42F9F872A61001426',
- chains: {
- 'staging-legal-crazy-castor': {}
- }
- },
- usdt: {
- address: '0xD1E44e3afd6d3F155e7704c67705E3bAC2e491b6',
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-fast-active-bellatrix': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- },
- usdc: {
- address: '0x85dedAA65D33210E15911Da5E9dc29F5C93a50A9',
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-utter-unripe-menkar': {
- hub: 'staging-legal-crazy-castor'
- },
- 'staging-faint-slimy-achird': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- },
- wbtc: {
- address: '0xd80BC0126A38c9F7b915e1B2B9f78280639cadb3',
- chains: {
- 'staging-legal-crazy-castor': {}
- }
- },
- hmt: {
- address: '0x4058d058ff62ED347dB8a69c43Ae9C67268B50b0',
- chains: {}
- },
- ubxs: {
- address: '0x5A4957cc54B21e1fa72BA549392f213030d34804',
- chains: {
- 'staging-legal-crazy-castor': {},
- 'staging-fast-active-bellatrix': {
- hub: 'staging-legal-crazy-castor'
- }
- }
- }
- },
- erc721meta: {
- _SPACE_1: {
- address: '0x1b7729d7E1025A031aF9D6E68598b57f4C2adfF6',
- chains: {}
- }
- },
- erc1155: {
- _SKALIENS_1: {
- address: '0x6cb73D413970ae9379560aA45c769b417Fbf33D6',
- chains: {}
- }
- }
- },
- 'staging-utter-unripe-menkar': {
- // Calypso connections
- eth: {
- eth: {
- address: '0xECabAE592Eb56D96115FcF4c7F772ADB7BF573d0',
- chains: {
- 'staging-legal-crazy-castor': {
- clone: true
- },
- mainnet: {
- clone: true,
- hub: 'staging-legal-crazy-castor'
- }
- }
- }
- },
- erc20: {
- skl: {
- address: '0x7E1B8750C21AebC3bb2a0bDf40be104C609a9852',
- chains: {
- 'staging-legal-crazy-castor': {
- clone: true
- },
- 'staging-faint-slimy-achird': {
- hub: 'staging-legal-crazy-castor',
- clone: true
- },
- mainnet: {
- hub: 'staging-legal-crazy-castor',
- clone: true
- }
- }
- },
- usdc: {
- address: '0x49c37d0Bb6238933eEe2157e9Df417fd62723fF6',
- chains: {
- 'staging-legal-crazy-castor': {
- clone: true
- },
- mainnet: {
- hub: 'staging-legal-crazy-castor',
- clone: true
- }
- }
- }
- }
- },
- 'staging-fast-active-bellatrix': {
- // Chaos connections
- erc20: {
- ubxs: {
- address: '0xB430a748Af4Ed4E07BA53454a8247f4FA0da7484',
- chains: {
- mainnet: {
- clone: true,
- hub: 'staging-legal-crazy-castor'
- },
- 'staging-legal-crazy-castor': {
- clone: true
- }
- }
- },
- usdt: {
- address: '0x082081c8e607ca6c1c53ac093cab3847ed59c0b0',
- chains: {
- mainnet: {
- clone: true,
- hub: 'staging-legal-crazy-castor'
- },
- 'staging-legal-crazy-castor': {
- clone: true
- }
- }
- },
- dai: {
- address: '0x08f98Af60eb83C18184231591A8F89577E46A4B9',
- chains: {
- mainnet: {
- clone: true,
- hub: 'staging-legal-crazy-castor'
- },
- 'staging-legal-crazy-castor': {
- clone: true
- }
- }
- }
- }
- },
- 'staging-faint-slimy-achird': { // nebula connections
- erc20: {
- skl: {
- address: '0x7F73B66d4e6e67bCdeaF277b9962addcDabBFC4d',
- chains: {
- 'staging-legal-crazy-castor': {
- clone: true
- },
- mainnet: {
- hub: 'staging-legal-crazy-castor',
- clone: true
- },
- 'staging-utter-unripe-menkar': {
- hub: 'staging-legal-crazy-castor',
- clone: true
- }
- }
- },
- usdc: {
- address: '0x717d43399ab3a8aada669CDC9560a6BAfdeA9796',
- chains: {
- 'staging-legal-crazy-castor': {
- clone: true
- },
- mainnet: {
- hub: 'staging-legal-crazy-castor',
- clone: true
- }
- }
- }
- }
- },
- 'staging-legal-crazy-castor': {
- // Europa connections
- eth: {
- eth: {
- address: '0xD2Aaa00700000000000000000000000000000000',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-utter-unripe-menkar': {
- wrapper: '0xa270484784f043e159f74C03B691F80B6F6e3c24'
- }
- }
- }
- },
- erc20: {
- skl: {
- address: '0xbA1E9BA7CDd4815Da6a51586bE56e8643d1bEAb6',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-utter-unripe-menkar': {
- wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6'
- },
- 'staging-faint-slimy-achird': {
- wrapper: '0x6a679eF80aF3fE01A646F858Ca1e26D58b5430B6'
- }
- }
- },
- ruby: {
- address: '0xf06De9214B1Db39fFE9db2AebFA74E52f1e46e39',
- chains: {
- mainnet: {
- clone: true
- }
- }
- },
- dai: {
- address: '0x3595E2f313780cb2f23e197B8e297066fd410d30',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-fast-active-bellatrix': {
- wrapper: '0x6075f63de307DC2280b7b1b98948885200B03093'
- }
- }
- },
- usdp: {
- address: '0xe0E2cb3A5d6f94a5bc2D00FAa3e64460A9D241E1',
- chains: {
- mainnet: {
- clone: true
- }
- }
- },
- usdt: {
- address: '0xa388F9783d8E5B0502548061c3b06bf4300Fc0E1',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-fast-active-bellatrix': {
- wrapper: '0xf8179aD86A964f2E856d11Dd7f4a280dCd721Aa3'
- }
- }
- },
- usdc: {
- address: '0x5d42495D417fcd9ECf42F3EA8a55FcEf44eD9B33',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-utter-unripe-menkar': {
- wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0'
- },
- 'staging-faint-slimy-achird': {
- wrapper: '0x4f250cCE5b8B39caA96D1144b9A32E1c6a9f97b0'
- }
- }
- },
- wbtc: {
- address: '0xf5E880E1066DDc90471B9BAE6f183D5344fd289F',
- chains: {
- mainnet: {
- clone: true
- }
- }
- },
- ubxs: {
- address: '0xaB5149362daCcC086bC4ABDde80aB6b09cBc118E',
- chains: {
- mainnet: {
- clone: true
- },
- 'staging-fast-active-bellatrix': {
- wrapper: '0x8e55e1Cc37ecA9636F4eF35874468876d52d623F'
- }
- }
- }
- }
- }
- },
- theme: {
- mode: 'dark',
- vibrant: true
- }
-}
diff --git a/config/testnet.ts b/config/testnet.ts
index 7951de62..b7ebe616 100644
--- a/config/testnet.ts
+++ b/config/testnet.ts
@@ -301,6 +301,8 @@ export const METAPORT_CONFIG: interfaces.MetaportConfig = {
},
theme: {
mode: 'dark',
- vibrant: true
- }
+ vibrant: true,
+ primary: '#93B8EC',
+ background: '#000000',
+ },
}
diff --git a/package.json b/package.json
index c9993f0a..051334fe 100644
--- a/package.json
+++ b/package.json
@@ -1,23 +1,26 @@
{
"name": "portal",
"private": true,
- "version": "2.3.0",
+ "version": "3.0.0",
"type": "module",
"scripts": {
- "build-testnet": "NETWORK_NAME=testnet bash build.sh",
- "build-mainnet": "NETWORK_NAME=mainnet bash build.sh",
+ "build:testnet": "NETWORK_NAME=testnet bash build.sh",
+ "build:mainnet": "NETWORK_NAME=mainnet bash build.sh",
+ "build:portal": "tsc && vite build",
+ "build:packages": "bun run build:core",
+ "build:core": "cd packages/core && bun install && bun run build",
"dev": "vite",
- "build": "tsc && vite build",
"lint": "eslint ./src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview",
"prettier": "prettier --write \"src/**/*.{ts,tsx,js,mdx}\"",
"version": "node -e \"console.log(require('./package.json').version);\""
},
"dependencies": {
+ "@/core": "file:packages/core",
"@mdx-js/rollup": "^2.3.0",
"@mui/icons-material": "^5.15.14",
"@mui/material": "^5.15.14",
- "@skalenetwork/metaport": "3.0.0-develop.0",
+ "@skalenetwork/metaport": "3.0.0-develop.3",
"@skalenetwork/skale-contracts-ethers-v6": "1.0.1",
"@transak/transak-sdk": "^3.1.1",
"@types/react-copy-to-clipboard": "^5.0.4",
@@ -31,7 +34,9 @@
"react-helmet": "^6.1.0",
"react-jazzicon": "^1.0.4",
"react-router-dom": "^6.15.0",
- "react-transition-group": "^4.4.5"
+ "react-social-icons": "^6.17.0",
+ "react-transition-group": "^4.4.5",
+ "siwe": "^2.3.2"
},
"devDependencies": {
"@types/react": "^18.2.15",
@@ -53,4 +58,4 @@
"vite": "^4.4.9",
"vite-plugin-vercel": "^0.2.1"
}
-}
+}
\ No newline at end of file
diff --git a/packages/core/bun.lockb b/packages/core/bun.lockb
new file mode 100755
index 00000000..c8746163
Binary files /dev/null and b/packages/core/bun.lockb differ
diff --git a/packages/core/package.json b/packages/core/package.json
new file mode 100644
index 00000000..c3f65fe2
--- /dev/null
+++ b/packages/core/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@/core",
+ "version": "1.0.0",
+ "description": "Core package for SKALE portal",
+ "main": "dist/index.js",
+ "types": "dist/index.d.ts",
+ "type": "module",
+ "scripts": {
+ "build": "tsc && bun build ./src/index.ts --outdir ./dist --target node",
+ "type-check": "tsc --noEmit"
+ },
+ "author": "SKALE Labs",
+ "devDependencies": {
+ "ethers": "*.*.*",
+ "typescript": "^4.9.5"
+ }
+}
\ No newline at end of file
diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts
new file mode 100644
index 00000000..32fd0401
--- /dev/null
+++ b/packages/core/src/index.ts
@@ -0,0 +1,25 @@
+/**
+ * @license
+ * SKALE portal
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see
NEW
- Apps and games hosted on dedicated SKALE Chains -
-+ {label} +
+Show {isExpanded ? 'less' : 'more'}
diff --git a/src/components/ConnectWallet.tsx b/src/components/ConnectWallet.tsx index ed9c7565..59a920d8 100644 --- a/src/components/ConnectWallet.tsx +++ b/src/components/ConnectWallet.tsx @@ -15,21 +15,47 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see{props.text}
+